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
This commit is contained in:
@@ -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)
|
||||
- [ ] 创建计划
|
||||
|
||||
Reference in New Issue
Block a user