Commit Graph

1 Commits (8380be0d8a83499591ce60758b751b4ec222a183)

Author SHA1 Message Date
Talha Ahmed b3483d9a6e Tasks domain: real backend + live screen with DB users/roles as assignees
- New backend/tasks/ package (offer/ house style): tasks table
  (title/status/priority/due_date/assignee_id -> users.id, optional
  inbox_id/job_post_id links, soft delete), routes /tasks/fetch|create|
  update|delete guarded by new tasks.* permission tags
- Assignees validated against users+roles: must exist, not deleted, not
  candidate-role; omitted assignee defaults to the caller; responses carry
  assignee_name/assignee_role from one batched join
- TASKS permission module (104 -> 112 tags); manual/004_tasks_rbac.sql
  seeds the tags + tasks_management bundle onto 6 staff roles (auto-applies
  at startup)
- Tasks.jsx cut over from seed to live: real create/complete/reopen with
  optimistic flip, two-click delete in the detail modal, assignee picker
  listing real users with roles; live sidebar badge (open-task total);
  route now requires tasks.view

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-13 16:27:19 +05:00