MerginMaps / MerginMaps/python-api-client

Check project ID when doing sync

未關閉
#191 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視

還沒有人認領這個 Issue。

enhancement
主要語言
Python
星號
23
分支
12
平均合併
2 天 13 小時
30 天內合併 PR
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. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 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 摘要。