Commit Graph

96 Commits

Author SHA1 Message Date
zhi
589b1cc8de feat(P5.1-P5.6): task state-machine validation — enforce legal transitions in transition/batch/update endpoints 2026-03-17 08:02:37 +00:00
zhi
7d8c448cb8 feat(P3.1): milestone action endpoints — freeze/start/close + auto-complete hook
- New milestone_actions router with POST freeze/start/close endpoints
- freeze: validates exactly 1 release maintenance task exists
- start: validates all milestone/task dependencies completed, records started_at
- close: allows from open/freeze/undergoing with reason
- try_auto_complete_milestone helper: auto-completes milestone when sole release task finishes
- Wired auto-complete into task transition and update endpoints
- Added freeze enforcement: no new feature story tasks after freeze
- Added started_at to milestone serializer
- All actions write activity logs
2026-03-17 04:03:05 +00:00
zhi
75ccbcb362 feat: propose CRUD router + accept/reject/reopen actions (P6.1-P6.4) 2026-03-17 03:01:49 +00:00
zhi
9e22c97ae8 refactor: update milestone/task status enums to new state machine values
Milestone: open/freeze/undergoing/completed/closed (was open/pending/deferred/progressing/closed)
Task: open/pending/undergoing/completed/closed (was open/pending/progressing/closed)

- Add MilestoneStatusEnum to schemas with typed validation
- Add started_at field to Milestone model
- Update all router/CLI references from progressing->undergoing
- Add completed status handling in task transition logic
2026-03-17 00:04:29 +00:00
zhi
9e14df921e feat: add modal-edit permissions for projects milestones and tasks 2026-03-16 18:13:54 +00:00
zhi
214a9b109d refactor: replace issues backend with milestone tasks 2026-03-16 13:22:14 +00:00
61e3349ca4 feat: add role/permission system with tests support
- Add Role model with 17 default permissions
- Add init_wizard to create admin/guest roles on first startup
- Protect admin role from modification/deletion via API
- Fix MilestoneCreate schema (project_id optional)
- Fix delete role to clean up role_permissions first
- Add check_project_role RBAC function
2026-03-15 12:25:59 +00:00
Zhi
fee2320cee fix: handle None project_code and serialize list fields 2026-03-12 23:33:10 +00:00
Zhi
39da27301a fix: generate milestone_code in milestones.py 2026-03-12 23:26:20 +00:00
Zhi
41d92c5e68 fix: properly generate milestone_code and task/support/meeting codes 2026-03-12 23:18:20 +00:00
Zhi
a1a99bb838 feat: add code fields - milestoneCode, taskCode, supportCode, meetingCode 2026-03-12 22:48:04 +00:00
Zhi
5297711c77 refactor: split tasks/supports/meetings into separate tables 2026-03-12 22:26:24 +00:00
Zhi
724be87a04 feat: add tasks/supports/meetings endpoints with project_code paths 2026-03-12 22:09:39 +00:00
Zhi
5a76f61692 fix: remove leftover code in get_issue 2026-03-12 22:01:55 +00:00
Zhi
6fe5e5ddb3 feat: add task fields - task_code, estimated_effort, etc 2026-03-12 21:54:16 +00:00
Zhi
dbcb92a9c3 fix: add POST endpoints for tasks/supports/meatings 2026-03-12 21:32:57 +00:00
Zhi
1b1ca0e0d3 fix: add /milestones/{id}/items and update progress endpoint 2026-03-12 21:29:18 +00:00
Zhi
d76328923c feat: milestone enhancements - new fields, task/support/meeting endpoints, progress 2026-03-12 14:25:51 +00:00
Zhi
7b2ac29f2c fix: cascade delete milestones/issues, clean references 2026-03-12 12:55:14 +00:00
Zhi
50f5e360e4 fix: prevent deleting project owner 2026-03-12 12:47:15 +00:00
Zhi
d1f9129922 fix: import check_permission 2026-03-12 12:42:50 +00:00
Zhi
2e14077668 fix: milestones router use Milestone model correctly 2026-03-12 12:33:41 +00:00
Zhi
dac2de62f6 fix: import Milestone model in milestones router 2026-03-12 12:26:38 +00:00
Zhi
9254723f2c fix: import Role model 2026-03-12 12:19:14 +00:00
Zhi
afd769bc12 fix: create_project auto-add member use role_id 2026-03-12 12:16:39 +00:00
Zhi
818dbf12b9 fix: add member.remove permission check 2026-03-12 12:13:14 +00:00
Zhi
c695ef903f fix: rbac ProjectMember reference, add repo field to Project 2026-03-12 12:04:51 +00:00
Zhi
ace0707394 fix: member/milestone endpoints - role_id column, schema fixes 2026-03-12 12:00:37 +00:00
Zhi
74177915df feat: add configurable role/permission system 2026-03-12 11:41:55 +00:00
Zhi
2f659e1430 feat: add project creation permission (admin only), add milestones API with RBAC 2026-03-12 11:04:04 +00:00
Zhi
1eb90cd61c fix: project create schema - owner_name auto-fill from owner_id, sub/related projects as list 2026-03-12 10:52:46 +00:00
zhi
d5bf47f4fc fix: quote enum values and csv export subtype 2026-03-12 09:37:19 +00:00
zhi
e5775bb9c8 feat: add project code generation + remove issues/milestones from nav 2026-03-12 09:25:26 +00:00
zhi
6b3e42195d feat: add task type hierarchy with subtypes (issue/meeting/support/maintenance/research/review/story/test) 2026-03-11 23:55:52 +00:00
zhi
9fb13f4906 feat: add RSA public-key handshake support for monitor server websocket 2026-03-11 12:51:54 +00:00
zhi
464bccafd8 feat: add 10m server challenge flow and websocket telemetry channel 2026-03-11 12:41:32 +00:00
zhi
d299428d35 feat: add public monitor API + admin provider/server management scaffold 2026-03-11 11:59:53 +00:00
zhi
95a4702e1e fix: remove user_id query requirement from notifications count/read-all 2026-03-11 10:49:03 +00:00
zhi
7218aabc59 fix: notifications endpoints use current user auth instead of required user_id query
- /notifications and /notifications/count no longer require user_id param
- return both count and unread fields for compatibility
- /notifications/read-all marks current user notifications
- /notifications/{id}/read enforces ownership (or admin)
2026-03-11 10:46:48 +00:00
zhi
a21026ac09 fix: enforce missing RBAC checks on issue/comment updates and deletes 2026-03-11 10:43:31 +00:00
Zhi
3cf2b1bc49 feat: auto activity logging on issue create/delete, fix schema db.add bug 2026-02-27 09:39:39 +00:00
Zhi
622112c02f feat: comments RBAC + notification on new comment 2026-02-24 04:22:42 +00:00
Zhi
26ee18a4a4 feat: RBAC on issues (create/update/delete require dev+/mgr+) 2026-02-24 04:20:43 +00:00
Zhi
6d58ee779c feat: RBAC module + project endpoints protected (admin/mgr roles) 2026-02-24 04:16:32 +00:00
Zhi
f60dc68b22 refactor: split monolithic main.py into FastAPI routers (v0.2.0)
- app/api/deps.py: shared auth dependencies
- app/api/routers/auth.py: login, me
- app/api/routers/issues.py: CRUD, transition, assign, relations, tags, batch, search
- app/api/routers/projects.py: CRUD, members, worklog summary
- app/api/routers/users.py: CRUD, worklogs
- app/api/routers/comments.py: CRUD
- app/api/routers/webhooks.py: CRUD, logs, retry
- app/api/routers/misc.py: API keys, activity, milestones, notifications, worklogs, export, dashboard
- main.py: 1165 lines → 51 lines
- Version bump to 0.2.0
2026-02-23 15:14:46 +00:00
root
fd980c0344 refactor: move all files to root (no nested backend/) 2026-02-21 08:25:37 +00:00