feat(team): admin invitations management UI (PMS-247) #115
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/mapps-247-invitations-ui"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What
The SPA surface for the PMS-244/246 invitations API (mokosh-apps phase of the Mokosh-owned org membership work). Admins can grow an org from the app instead of raw API calls.
How
New admin page at
/admin/team(sidebar: Admin -> Team), gated on theadmin/super_adminrole like the other admin surfaces:POST /invitations.GET /invitations.DELETE /invitations/{id}.Each mutation restarts the resource so the list reflects the change; server errors (e.g. a rejected role) surface inline. Non-admins see a "need an admin role" notice. Acceptance stays login-driven server-side (PMS-244) - the page only issues invites; the invitee joins on their next sign-in.
Verification
cargo check --target wasm32-unknown-unknown,cargo clippy --target wasm32-unknown-unknown,cargo fmt --checkall clean. (A pre-existingmanual checked divisionwarning inprojects.rsis a host-only rust-1.95 lint, unrelated.)🤖 Generated with Claude Code
Adds the SPA surface for the PMS-244/246 invitations API so admins can grow an org from the app instead of raw API calls. New admin page at `/admin/team` (nav: Admin -> Team, gated on the admin/super_admin role like the other admin surfaces): an invite form (email + role) that POSTs `/invitations`, a table of pending invitations from `GET /invitations`, and a per-row Revoke that DELETEs `/invitations/{id}`. Each mutation restarts the resource so the list reflects the change, and the form surfaces server errors (e.g. a rejected role) inline. Non-admins get a "need an admin role" notice rather than the management UI. Acceptance stays login-driven server-side (PMS-244): the page just issues invites; the invitee joins on their next sign-in. Verification: `cargo check --target wasm32-unknown-unknown`, `cargo clippy --target wasm32-unknown-unknown`, and `cargo fmt --check` all clean. (A pre-existing `manual checked division` warning in projects.rs is a host-only rust-1.95 lint, unrelated.) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>