MerginMaps / MerginMaps/python-api-client
Check project ID when doing sync
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 23
- Forks
- 12
- Avg merge
- 2d 13h
- Merged PRs (30d)
- 7
Description
When doing project pull/push, we should check project info based on project's ID instead of project name, to make sure that we're do the right thing even if something happened to the project:
- project got renamed (or project was transferred to other workspace and we still have access to it) - we sync as usual, using the new project name when doing upload/download API calls
- project was deleted - if project info returns 404, we know it got deleted
- project access permission was removed from our user - if project info returns 403, we know there's permission problem
Note: some projects created/updated with an old version of MM plugin will not have project ID stored in the metadata - it would be good if we could handle those correctly as well (just hope that the project was not renamed / transferred).
Once #190 is implemented, it should be possible to add auto tests that will exercise that check.
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
Start by tracing the project pull/push flow and how project metadata currently stores the project name. Review the project-info API calls and issue #190, then add checks for ID-based lookup, rename or transfer handling, 404 deletion, and 403 permission errors while preserving behavior for metadata without an ID. Completion should include the auto tests described in the issue.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- api
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100