1.9 KiB
1.9 KiB
Implementation Plan
1. Schema And Migration
- Add care enums and
care_taskstable tomodules/core/server/schema.ts. - Add indexes for queue and schedule queries.
- Run
pnpm db:generate. - Review generated SQL.
2. Types And Permissions
- Add
care:readandcare:managetomodules/core/types.ts. - Add permission definitions and default role grants in
modules/core/server/permissions.ts. - Move navigation
/carepermission tocare:read. - Add care DTOs, labels, and validators in
modules/care/types.ts.
3. TDD API Tests
- Add
app/api/care/care-routes.test.tsbefore implementation. - Cover:
- list care tasks
- permission denial
- missing active organization
- start task
- complete task with notes
- invalid status
- missing/cross-organization task
4. Server Operations And API Routes
- Add
modules/care/server/operations.ts. - Add
GET /api/care/tasks. - Add
PATCH /api/care/tasks/[id]. - Use
requirePermission, structured failures, organization scoping, and audit logs.
5. Workspace UI
- Replace
app/(app)/app/care/page.tsxplaceholder with real Server Component. - Keep scoped route delegating to the unscoped route.
- Add
modules/care/components/CareWorkspaceClient.tsx. - Implement metrics, filters, table, and start/complete actions.
6. Default Workspace Data
- Extend
modules/core/server/default-workspace-data.tswith care task examples tied to seeded elders. - Keep seed insertion inside the first-run default workspace transaction.
7. Verification
pnpm testpnpm lintpnpm type-checkpnpm db:generate- Review generated SQL.
pnpm build
Rollback Points
- Before migration generation: remove schema and care module files.
- After migration generation: remove generated care migration plus schema changes.
- After UI/API: remove care API routes,
modules/care, page changes, permissions, nav permission change, and seed rows.