parse-community / parse-community/Parse-SDK-dotNET
Specify custom objectId when creating objects
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 335
- Forks
- 258
- PR merge metrics
- No merged PRs in 30d
Description
As implemented in Parse server:
https://github.com/parse-community/parse-server/pull/6177
and in the Parse JS client:
https://github.com/parse-community/Parse-SDK-JS/pull/1309
It is possible to create ParseObject(s) with a predefined ObjectId. This allows for use cases where Parse is not the system of record of the IDs of entities are defined in some external system.
This is done by calling the standard POST /classes/{className} API but specifying the "objectId" as a parameter of the object being submitted NOT by calling the PUT /classes/{className}/{objectId}
The Parse-SDK-dotNET does not allow this. If you specify an ObjectId on an object, it will attempt to use the PUT API and update the object failing to create the object.
The ParseJS SDK uses the presence of the "createdAt" property to know if it was ever retrieved instead of using the ObjectId to determine if PUT or POST should be used.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Compare the Parse-SDK-dotNET object-save request path with the linked Parse Server and Parse JS SDK changes, focusing on how the SDK chooses POST versus PUT when an objectId is present. The work is done when a predefined objectId is sent through POST for creation while retrieved objects still use PUT for updates, with matching coverage added in the SDK tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- api
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100