From 16bcd9402793f7ed29f97e0820377ac831fe271e Mon Sep 17 00:00:00 2001 From: zhi Date: Tue, 31 Mar 2026 12:47:28 +0000 Subject: [PATCH] BE-CAL-API-004: Implement Calendar cancel API for real and virtual slots - Add POST /calendar/slots/{slot_id}/cancel for real slot cancellation - Add POST /calendar/slots/virtual/{virtual_id}/cancel for virtual slot cancellation - Virtual cancel materializes the slot first, then marks as Skipped - Both endpoints enforce past-slot immutability guard - Both endpoints detach from plan (set plan_id=NULL) - Status set to SlotStatus.SKIPPED on cancel - Add TimeSlotCancelResponse schema - Import guard_cancel_real_slot and guard_cancel_virtual_slot --- HarborForge.Backend | 2 +- plans/TASKLIST.md | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/HarborForge.Backend b/HarborForge.Backend index f7f9ba3..b00c928 160000 --- a/HarborForge.Backend +++ b/HarborForge.Backend @@ -1 +1 @@ -Subproject commit f7f9ba3aa7a4b7fd67b6a347c372911ed58fed04 +Subproject commit b00c928148654cb06be3f6030095e1eb373e8f4b diff --git a/plans/TASKLIST.md b/plans/TASKLIST.md index 0980332..a6161b8 100644 --- a/plans/TASKLIST.md +++ b/plans/TASKLIST.md @@ -154,10 +154,10 @@ - [x] 支持虚拟 slot 编辑并触发物化 - [x] 返回编辑后的真实结果 -- [ ] BE-CAL-API-004:实现 Calendar 取消 API(backend only) - - [ ] 支持真实 slot cancel - - [ ] 支持虚拟 slot cancel 并触发物化 - - [ ] 处理状态字段更新 +- [x] BE-CAL-API-004:实现 Calendar 取消 API(backend only) + - [x] 支持真实 slot cancel + - [x] 支持虚拟 slot cancel 并触发物化 + - [x] 处理状态字段更新 - [ ] BE-CAL-API-005:实现 plan-schedule / plan-list API(backend only) - [ ] 创建计划