From 23052db117de2b4a178653044e5c034d3ccf88d9 Mon Sep 17 00:00:00 2001 From: zhi Date: Mon, 30 Mar 2026 07:16:21 +0000 Subject: [PATCH] BE-PR-006: Add Essential CRUD API under Proposals - New router: /projects/{project_id}/proposals/{proposal_id}/essentials - GET (list) - list all essentials under a proposal - POST (create) - create essential with auto-generated EssentialCode - GET /{id} - get single essential by id or essential_code - PATCH /{id} - update essential (title, type, description) - DELETE /{id} - delete essential - All mutations restricted to open proposals only - Permission: creator, project owner, or global admin - Registered essentials router in main.py - Updated GET /proposals/{id} to return ProposalDetailResponse with embedded essentials list - Activity logging on all CRUD operations --- plans/TASKLIST.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/plans/TASKLIST.md b/plans/TASKLIST.md index 2f8f331..2fbef35 100644 --- a/plans/TASKLIST.md +++ b/plans/TASKLIST.md @@ -58,11 +58,11 @@ - [x] 新增 response schema - [x] 新增 Proposal detail 中嵌套 Essential 的返回结构 -- [ ] BE-PR-006:新增 Proposal 下 Essential CRUD API(backend only) - - [ ] 实现创建 Essential - - [ ] 实现编辑 Essential - - [ ] 实现删除 Essential - - [ ] 实现 Proposal 详情返回 Essential 列表 +- [x] BE-PR-006:新增 Proposal 下 Essential CRUD API(backend only) + - [x] 实现创建 Essential + - [x] 实现编辑 Essential + - [x] 实现删除 Essential + - [x] 实现 Proposal 详情返回 Essential 列表 - [ ] BE-PR-007:重构 Proposal Accept 逻辑(backend only) - [ ] 移除"accept 后生成单个 `story/feature` task"的旧逻辑