[Sessions: create / edit / cancel] Cancel through status-only update
还没有人认领这个 Issue。
评估
调研方向
Start with cancelSession in lib/sessions/session_repository.dart, and read the server guard at supabase/schemas/private/functions/sessions_guard_update.sql to see how cancellation timestamps are set. Read issue #29 first, since this issue builds on it. Done means the cancel call sends only a status update filtered by id and hostId, an already-cancelled session is treated as success on retry, and missing or unauthorized sessions raise a readable error. Verify with test/sessions/session_repository_dp_s09_test.dart, flutter test on that file, and flutter analyze.
由索引模型根据 Issue 内容生成。
描述
What to build
Cancel a hosted meeting by changing its status, not deleting it. The server supplies the cancellation timestamp, and retrying an already-completed cancellation should be handled safely.
Files
lib/sessions/session_repository.dart(extend the prerequisite’s file)- Starting example: supabase/schemas/private/functions/sessions_guard_update.sql
Code to add or extend:Future<void> cancelSession(client,userId,sessionId).
Steps
- Update {"status":"cancelled"} only, filtered by id and hostId.
- Do not delete row or set cancelledAt; server guard supplies timestamp. For session_cancelled, re-read own row and treat an already-cancelled state as satisfied.
- Unknown/missing/permission errors fail with a readable cancellation error.
Example
Request body contains only status; already cancelled row does not become a second update/delete.
Check it works
In test/sessions/session_repository_dp_s09_test.dart, check the example above and the failure or limit described in the steps. Run flutter test test/sessions/session_repository_dp_s09_test.dart and flutter analyze.
Before starting
- #29 — Read caller hosted sessions
References
Assign yourself before starting, or comment to claim the issue. Project setup.
- 主要语言
- PLpgSQL
- 星标
- 0
- 派生
- 0
- PR 合并指标
- 30 天内没有已合并 PR
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
DevDogsUGA/DogPack 的其他 Issue
-
polish
难度 2/5 1-3 小时 新手友好度 72/100
DevDogsUGA/DogPack#131 ·
-
polish
难度 2/5 1-3 小时 新手友好度 65/100
DevDogsUGA/DogPack#130 ·
-
moderation
难度 2/5 1-3 小时 新手友好度 75/100
DevDogsUGA/DogPack#119 ·
-
moderation
难度 2/5 1-3 小时 新手友好度 85/100
DevDogsUGA/DogPack#113 ·
-
discover
难度 2/5 1-3 小时 新手友好度 74/100
DevDogsUGA/DogPack#106 ·
查看 DevDogsUGA/DogPack 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 80/100
peasant-labs/village#293 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 72/100
维护者通常 3 天内回复
-
bug
难度 2/5 1-3 小时 新手友好度 78/100
major/MySQLTuner-perl#1007 ·
维护者通常 1 天内回复
-
status: waiting-for-triage
难度 2/5 1-3 小时 新手友好度 72/100
-
format.sort does not sort the Parents column (ParentRelations are sorted by the child table name)未关闭
难度 2/5 1-3 小时 新手友好度 74/100