Files
mercadodevida/work/current.md
2026-08-22 22:23:50 +02:00

2.0 KiB

F-187 — Admin can deactivate and delete POS cashiers

Allow administrators to safely remove cashier access without breaking historical POS attribution.

Scope

  • Add an explicit active/deactivated/deleted lifecycle for backoffice POS cashier accounts.
  • Show POS cashiers and their status in the TPV administration page.
  • Let admins create cashiers, deactivate/reactivate them, and delete them with explicit confirmation.
  • Treat delete as an irreversible soft deletion: preserve the backoffice user row and its ID so sessions, sales, receipts, reporting and audit history keep their cashier attribution.
  • Revoke every live backoffice session when a cashier is deactivated or deleted.
  • Reject login and existing-session authentication for inactive or deleted accounts.
  • Reject deactivation/deletion while the cashier owns an open cash session; require the cash session to be closed first.
  • Keep all lifecycle mutations admin-only and cashier-role-only.

Out of scope

  • Removing or changing administrators, editors or POS managers.
  • Reassigning historical sales or cash sessions to another cashier.
  • Forcing or automating cash-session closure.
  • Bulk cashier operations.

Acceptance

  1. Admin TPV lists POS cashiers with active, inactive or deleted status.
  2. Admin can create a cashier and the account is active by default.
  3. Admin can deactivate an active cashier and reactivate an inactive non-deleted cashier.
  4. Deactivation immediately revokes existing sessions and blocks future login/authentication.
  5. Admin can delete a cashier only after explicit confirmation; deleted cashiers cannot be reactivated or authenticate.
  6. Deactivation or deletion is rejected while the cashier has an open cash session.
  7. Deletion preserves the cashier row/ID and all historical session, sale, receipt and reporting attribution.
  8. Non-admin users cannot list or mutate cashier lifecycle, and non-cashier roles cannot be targeted.
  9. Migration is reversible and existing backoffice accounts remain active.
  10. Tests, typecheck, affected builds and verify.sh are green.