feat: 新增 dataset 数据集管理快捷命令(list/view/create/update/delete-attachment) #243

Merged
wbtiger merged 3 commits from luwanzhou/gitlink-cli:feat/dataset-shortcuts into master 2026-06-14 18:51:50 +08:00
Contributor

合并请求描述

新增 dataset 数据集管理快捷命令,支持对 GitLink 仓库数据集的查询、查看、创建、更新及附件删除操作,覆盖 /api/v1/project_datasets/api/v1/{owner}/{repo}/dataset 接口。

相关Issue

关联Issue编号:#(请补充)

变更内容

1. 新增 dataset 快捷命令

  • dataset +list — 按 ID 查询数据集(GET /v1/project_datasets
  • dataset +view — 查看仓库数据集(GET /v1/{owner}/{repo}/dataset
  • dataset +create — 创建数据集,支持 --title--description--license-id--paper-contentPOST /v1/{owner}/{repo}/dataset
  • dataset +update — 更新数据集(PUT /v1/{owner}/{repo}/dataset
  • dataset +delete-attachment — 删除数据集附件,需 --yes 确认(DELETE /attachments/{uuid}

2. 命令特性

  • 所有写操作(create/update/delete-attachment)支持 --dry-run 预览,不实际提交
  • +delete-attachment 破坏性操作需 --yes 二次确认
  • +list--ids 支持逗号分隔,自动验证和清理
  • +view 支持 --owner/--repo 自动解析 project-id,也可显式 --project-id 跳过解析
  • 完整 i18n 国际化(中英双语)
  • 完整单元测试(11 个用例)

3. 注册与文档

  • 已注册到 shortcuts/register.go
  • 更新 README.md / README.zh-CN.md
  • 新增 doc/changes/dataset-shortcuts.md 变更文档

已验证命令

命令 状态 说明
dataset +list --ids 5988 已验证 返回 forgeplus 数据集
dataset +view --owner gitlink --repo forgeplus 生产 404 CRUD 路由生产未部署,待平台修复
dataset +create --dry-run 已验证 预览请求正确
dataset +update --dry-run 已验证 预览请求正确
dataset +delete-attachment --dry-run 已验证 预览请求正确

变更文件

  • shortcuts/dataset/dataset.go — dataset 快捷命令实现(218 行)
  • shortcuts/dataset/dataset_test.go — 单元测试(228 行,11 用例)
  • shortcuts/register.go — 注册 dataset 命令
  • shortcuts/register_test.go — 更新测试
  • internal/i18n/locales/zh-CN.json — 中文 i18n
  • internal/i18n/locales/en-US.json — 英文 i18n
  • doc/changes/dataset-shortcuts.md — 变更文档
  • README.md / README.zh-CN.md — 更新说明
## 合并请求描述 新增 dataset 数据集管理快捷命令,支持对 GitLink 仓库数据集的查询、查看、创建、更新及附件删除操作,覆盖 `/api/v1/project_datasets` 和 `/api/v1/{owner}/{repo}/dataset` 接口。 ## 相关Issue 关联Issue编号:#(请补充) ## 变更内容 ### 1. 新增 dataset 快捷命令 - `dataset +list` — 按 ID 查询数据集(`GET /v1/project_datasets`) - `dataset +view` — 查看仓库数据集(`GET /v1/{owner}/{repo}/dataset`) - `dataset +create` — 创建数据集,支持 `--title`、`--description`、`--license-id`、`--paper-content`(`POST /v1/{owner}/{repo}/dataset`) - `dataset +update` — 更新数据集(`PUT /v1/{owner}/{repo}/dataset`) - `dataset +delete-attachment` — 删除数据集附件,需 `--yes` 确认(`DELETE /attachments/{uuid}`) ### 2. 命令特性 - 所有写操作(create/update/delete-attachment)支持 `--dry-run` 预览,不实际提交 - `+delete-attachment` 破坏性操作需 `--yes` 二次确认 - `+list` 的 `--ids` 支持逗号分隔,自动验证和清理 - `+view` 支持 `--owner/--repo` 自动解析 project-id,也可显式 `--project-id` 跳过解析 - 完整 i18n 国际化(中英双语) - 完整单元测试(11 个用例) ### 3. 注册与文档 - 已注册到 `shortcuts/register.go` - 更新 README.md / README.zh-CN.md - 新增 `doc/changes/dataset-shortcuts.md` 变更文档 ### 已验证命令 | 命令 | 状态 | 说明 | |------|------|------| | `dataset +list --ids 5988` | ✅ 已验证 | 返回 forgeplus 数据集 | | `dataset +view --owner gitlink --repo forgeplus` | ⏳ 生产 404 | CRUD 路由生产未部署,待平台修复 | | `dataset +create --dry-run` | ✅ 已验证 | 预览请求正确 | | `dataset +update --dry-run` | ✅ 已验证 | 预览请求正确 | | `dataset +delete-attachment --dry-run` | ✅ 已验证 | 预览请求正确 | ### 变更文件 - `shortcuts/dataset/dataset.go` — dataset 快捷命令实现(218 行) - `shortcuts/dataset/dataset_test.go` — 单元测试(228 行,11 用例) - `shortcuts/register.go` — 注册 dataset 命令 - `shortcuts/register_test.go` — 更新测试 - `internal/i18n/locales/zh-CN.json` — 中文 i18n - `internal/i18n/locales/en-US.json` — 英文 i18n - `doc/changes/dataset-shortcuts.md` — 变更文档 - `README.md` / `README.zh-CN.md` — 更新说明
luwanzhou added 2 commits 2026-06-14 14:14:29 +08:00
7f731eb04f feat(dataset): add dataset query shortcuts
Add a `dataset` shortcut group for querying GitLink research datasets,
which previously had no shortcut coverage:

- dataset +list --ids <ids>  -> GET /v1/project_datasets
- dataset +view              -> GET /v1/project_datasets (project ID
                                 resolved from --owner/--repo)

Only the platform-wide query endpoint is available on production
gitlink.org.cn; the documented per-repo dataset CRUD routes return 404
there (verified against the API), so this group wraps the query endpoint
for both listing and per-repo viewing.

Includes unit tests, bilingual (en-US/zh-CN) i18n help text, README
updates, and a change note.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
29ca94db76 feat(dataset): add full dataset CRUD (view/create/update/delete-attachment)
Extend the dataset group beyond the verified project query to the full
documented contract:

- dataset +view              -> GET    /v1/{owner}/{repo}/dataset (+page/limit)
- dataset +list --ids        -> GET    /v1/project_datasets   (prod-verified)
- dataset +create            -> POST   /v1/{owner}/{repo}/dataset
- dataset +update            -> PUT    /v1/{owner}/{repo}/dataset
- dataset +delete-attachment -> DELETE /attachments/{uuid}

Quality over a bare contract port: bilingual (en-US/zh-CN) i18n help,
--dry-run preview on create/update, --yes confirmation guard on the
destructive attachment delete, and license-id validation.

Only /v1/project_datasets is currently reachable on production www; the
per-repo routes follow the published OpenAPI spec and return 404 there
until the platform deploys them (documented in the change note). Unit
tests exercise every command against a mock server.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
wbtiger added 1 commit 2026-06-14 18:51:46 +08:00
wbtiger merged commit 789db5e5ae into master 2026-06-14 18:51:50 +08:00
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: Gitlink/gitlink-cli#243
No description provided.