Mark Workstream J as complete in docs
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -2315,12 +2315,18 @@ _Can run parallel to H after F1 is done_
|
|||||||
|
|
||||||
_Depends on: D1 (auth middleware)_
|
_Depends on: D1 (auth middleware)_
|
||||||
|
|
||||||
- [ ] **J1**: Implement org middleware (slug lookup, membership check)
|
- [x] **J1**: Implement org middleware (slug lookup, membership check)
|
||||||
- [ ] **J2**: Implement `orgs.list`, `orgs.create`, `orgs.get`
|
- [x] **J2**: Implement `orgs.list`, `orgs.create`, `orgs.get`
|
||||||
- [ ] **J3**: Implement `orgs.update`, `orgs.delete`, `orgs.leave`
|
- [x] **J3**: Implement `orgs.update`, `orgs.delete`, `orgs.leave`
|
||||||
- [ ] **J4**: Implement `orgs.members.list`, `orgs.members.updateRole`, `orgs.members.remove`
|
- [x] **J4**: Implement `orgs.members.list`, `orgs.members.updateRole`, `orgs.members.remove`
|
||||||
- [ ] **J5**: Implement `orgs.invites.list`, `orgs.invites.create`, `orgs.invites.cancel`, `orgs.invites.accept`
|
- [x] **J5**: Implement `orgs.invites.list`, `orgs.invites.create`, `orgs.invites.cancel`, `orgs.invites.accept`
|
||||||
- [ ] **J6**: Implement `orgs.sites.list`
|
- [x] **J6**: Implement `orgs.sites.list`
|
||||||
|
|
||||||
|
_Implementation notes:_
|
||||||
|
- Files in `procedures/orgs/` with `index.ts` for consolidated exports
|
||||||
|
- Helper functions in `helpers.ts`: `lookupOrgBySlug`, `getMembership`, `requireRole`, `countOwners`
|
||||||
|
- Race conditions prevented via Kysely transactions for owner count checks
|
||||||
|
- Privilege escalation prevented: only owners can invite new owners
|
||||||
|
|
||||||
#### Workstream K: Admin Procedures (Backend)
|
#### Workstream K: Admin Procedures (Backend)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user