afterhours-shift-manager/docs/portal-module-spec.md
Adam Moussa 969ebf90de
Some checks are pending
Deploy / Deploy to prod (push) Waiting to run
feat(portal-api): add Cognito shift API for the employee portal (DEV-287) (#255)
* feat(portal-api): add Cognito shift API for the employee portal (DEV-287)

Employees and admins can pick, drop, swap, and manage coverage through
GET/POST/DELETE /api/shifts. Roster PUT accepts optional email for portal
identity. Slack slash commands and App Home admin modals stay in place.

Co-authored-by: adam <adam@seahavenind.com>

* fix(portal-api): preserve shift and deployment invariants (DEV-287)

Co-authored-by: adam <adam@seahavenind.com>

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2026-09-21 17:50:57 +00:00

12 lines
567 B
Markdown

# Locked 2026-09-21 against Adam's answers.
Employee self-service plus admin After Hours in `internal-portal`. Slack stays.
Decisions:
- After Hours is a primary nav item (`/shifts`, `/shifts/admin`).
- Identity is roster `email` from Paychex `PUT /roster` (optional for backward compatibility; portal mapping needs it). Admin remains `get_admin_users()` Slack IDs after that lookup.
- Swap and late-pickup are in-portal pending actions and still DM on Slack.
- Slack App Home admin modals stay as-is.
Tickets: DEV-286 (epic), DEV-287 (API), DEV-288 (portal UI).