MerginMaps / MerginMaps/python-api-client

Check project ID when doing sync

オープン
#191 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

enhancement
主要言語
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.

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

まず、プロジェクトの pull/push フローと、現在プロジェクトメタデータにプロジェクト名がどのように保存されているかを追跡します。project-info API の呼び出しと issue #190 を確認し、ID ベースの検索、名前変更または移管の処理、404 の削除、403 の権限エラーに対するチェックを追加します。その際、ID のないメタデータに対する動作は維持します。完了時には、issue に記載されている自動テストを含める必要があります。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
python
領域
api
issue の種類
機能追加
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
42/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。