gitlink-cli/doc/changes/label-update-pagination.md

1.1 KiB
Raw Permalink Blame History

label +update 分页取值修复

修复 label +update 在标签数量超过一页时静默覆盖服务端数据的问题。

+update 需要先取标签当前的 name/description/color(更新接口要求三者同时提交),此前 fetchLabel 只对列表接口做单次 GET,没有翻页;虽然注释声称“分页匹配 id”实际当目标标签落在第二页及以后时返回“未找到”。随后 +update 用空描述与缺省颜色 #1E90FF 回填PATCH 便把服务端真实的描述与颜色抹掉,造成数据丢失。

变更:

  • fetchLabel 改为真正翻页(按 page/limit=50 循环,页内条数少于一页即视为末页),与仓库其他列表接口的翻页方式一致。
  • 只有用户显式传入的字段才会覆盖,未传字段一律保留服务端现值,不再用缺省值静默重置。
  • 全量翻页后仍找不到该 id 时直接返回明确错误,不再带缺省值发起 PATCH。
  • 单元测试新增“目标标签在第二页”用例,断言 PATCH 报文保留原描述与颜色;并补充“标签不存在时报错、不 PATCH”用例。