MCM-06 — Nexus Admin Review, Approve, and Reject Requests
A Nexus Admin reviews all incoming Nexus requests in one queue and approves or rejects them.
MCM-06 — Nexus Admin Review, Approve, and Reject Requests
As a Nexus Admin,
I want to review all incoming requests (signup leads, demo requests, purchase, extension) in one queue and approve or reject them,
so that I control who gets access and under what terms without any request being missed.
Acceptance Criteria
- The Nexus Admin console lists all requests, filterable by status and by type, newest-first by default.
- Each request shows organization details, requester contact info, request type, and type-specific context — including, on Hosted Enterprise Demo requests, whether the Demo Instance's billing plans are configured yet (approval is blocked until they are — see MCM-03).
- Approving a request requires setting the license validity window (and role/mode where applicable) and triggers the Subscription Activation Flow (see MCM-07).
- Rejecting a request requires a reason, which is stored and shown to the customer.
- The Nexus Admin can see, for each organization, the richer signup context (use-case, preferred callback time) to help prioritise outreach.
- All approve/reject actions are attributed to the acting Nexus Admin and timestamped.
Technical Design
Backed by AdminRequestController and RequestService.approve(...)/reject(...) in mcm-nexus/backend, which already supports listAll(status, type) filtering; this story adds a required rejection-reason field and captures approvedBy/rejectedBy plus a timestamp on every action. Approving requires setting the license validity window (and role/mode for demo request types) and hands off directly into MCM-07 — Subscription Activation and Secure Credential Delivery. mcm-nexus/frontend's (admin)/admin/requests queue adds type-specific context per request, including — for Hosted Enterprise Demo — a check against the Demo Instance's configured billing plans, blocking Approve until at least those are set (see MCM-03, which also owns the actual tenant-creation call and its failure/retry handling).
UI / Frontend Changes
(admin)/admin/requests: request queue list with status/type filters, newest-first by default.- Request detail panel shows organization details, requester contact info, type-specific context, and (for Hosted Enterprise Demo) whether the Demo Instance's billing plans are configured, with Approve disabled and a link to Demo Instance settings until they are.
- Approve action opens a form requiring the validity window (and role/mode for demo types) before it can be confirmed.
- Reject action requires a reason field before it can be confirmed; the reason is later shown to the customer.
- Nexus Admin-facing organization view surfaces richer signup context (use-case, preferred callback time) to help prioritise outreach.
- Every approve/reject action displays the acting Nexus Admin and timestamp in the request's history/audit trail.