MerginMaps / MerginMaps/python-api-client
Check project ID when doing sync
まだ誰も着手していません。
- 主要言語
- Python
- スター
- 23
- フォーク
- 12
- 平均マージ
- 2日 13時間
- マージ済み PR(30日)
- 7
説明
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.
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
まず、プロジェクトの pull/push フローと、現在プロジェクトメタデータにプロジェクト名がどのように保存されているかを追跡します。project-info API の呼び出しと issue #190 を確認し、ID ベースの検索、名前変更または移管の処理、404 の削除、403 の権限エラーに対するチェックを追加します。その際、ID のないメタデータに対する動作は維持します。完了時には、issue に記載されている自動テストを含める必要があります。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- python
- 領域
- api
- issue の種類
- 機能追加
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 42/100