HR-ATS-Portal/frontend
Talha Ahmed 6eefaa2fad Tasks: recruiter-only assignees, role-gated creation, assignees API
- Assignees restricted to recruiter-role users (role id resolved from the
  roles table per request, not hardcoded); server 422s any other role on
  create and update
- New GET /tasks/assignees/fetch: active recruiter users for the picker,
  separate from /users/fetch so assigning never needs rbac_users.view
- Creation gated to system_administrator / hr_administrator / recruiter:
  allowed role ids searched from the DB and compared to the callers
  role_id, on top of the tasks.create permission tag
- manual/005_tasks_rbac_restrict.sql: permission DB follows suit -
  hiring_manager / department_head / ceo swap tasks_management for a
  view-only tasks_viewer bundle (idempotent, auto-applies at boot)
- UI: assignee dropdown lists recruiters from the new endpoint with
  required-field validation; recruiters get an assign-to-me default; the
  New Task button honours the creator roles

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-13 17:54:50 +05:00
..
.vite/deps update 2026-08-12 13:57:53 +05:00
dist pipline code done 2026-08-13 13:13:19 +05:00
node_modules Dashboard seems to work 2026-08-12 16:11:36 +05:00
src Tasks: recruiter-only assignees, role-gated creation, assignees API 2026-08-13 17:54:50 +05:00
.env.development Candidate 2026-08-05 18:25:34 +05:00
.env.production REACTJS STACK WITH RBAC TESTED 2026-08-05 17:41:46 +05:00
index.html REACTJS STACK WITH RBAC TESTED 2026-08-05 17:41:46 +05:00
package-lock.json REACTJS STACK WITH RBAC TESTED 2026-08-05 17:41:46 +05:00
package.json REACTJS STACK WITH RBAC TESTED 2026-08-05 17:41:46 +05:00
smoke.test.mjs REACTJS STACK WITH RBAC TESTED 2026-08-05 17:41:46 +05:00
token.test.mjs REACTJS STACK WITH RBAC TESTED 2026-08-05 17:41:46 +05:00
vite.config.js REACTJS STACK WITH RBAC TESTED 2026-08-05 17:41:46 +05:00