27 lines
988 B
Markdown
27 lines
988 B
Markdown
|
|
# Task ID: 134
|
||
|
|
|
||
|
|
**Title:** RBAC wiring for new resources
|
||
|
|
|
||
|
|
**Status:** pending
|
||
|
|
|
||
|
|
**Dependencies:** 115, 126, 128, 131, 133
|
||
|
|
|
||
|
|
**Priority:** medium
|
||
|
|
|
||
|
|
**Description:** Update mapUrlToPermission and nameResolvers in main.ts for epics, epictasks, tasks, repos, sessions
|
||
|
|
|
||
|
|
**Details:**
|
||
|
|
|
||
|
|
In src/mcpd/src/main.ts:
|
||
|
|
1. Add to mapUrlToPermission cases: epics, epictasks, tasks, repos, sessions
|
||
|
|
2. Map /api/v1/inference-tasks to 'inference-tasks' resource
|
||
|
|
3. Add non-CRUD verb cases above the map:
|
||
|
|
- POST /tasks/:id/accept|reject|transition → run:tasks:<name>
|
||
|
|
- POST /sessions/:id/exec, GET /sessions/:id/attach → run:sessions:<name>
|
||
|
|
4. Add nameResolvers for epics, epictasks, tasks, repos, sessions (fetch by id, return name for scoped grants)
|
||
|
|
5. Follow existing patterns for permission mapping
|
||
|
|
|
||
|
|
**Test Strategy:**
|
||
|
|
|
||
|
|
Unit tests: verify mapUrlToPermission returns correct permission strings for all new routes, test nameResolvers resolve id→name correctly, test non-CRUD verbs get run: prefix.
|