feat: add Reachability Center and Why Drawer components with tests
- Implemented ReachabilityCenterComponent for displaying asset reachability status with summary and filtering options. - Added ReachabilityWhyDrawerComponent to show detailed reachability evidence and call paths. - Created unit tests for both components to ensure functionality and correctness. - Updated accessibility test results for the new components.
This commit is contained in:
@@ -1,20 +1,38 @@
|
||||
# Console Exceptions API Schema (draft placeholder)
|
||||
# Console Exceptions API Schema (Web I)
|
||||
|
||||
**Status:** TODO · awaiting Policy Guild + Platform Events
|
||||
**Status:** Interim contract shipped by Web I to unblock SDK/UI work. Align to the authoritative Policy/Events schema when published.
|
||||
|
||||
## Scope
|
||||
- `/exceptions` CRUD/workflow (create, propose, approve, revoke, list, history) proxied by Web gateway.
|
||||
- Audit logging, pagination, notification hooks, rate limits, RBAC scopes.
|
||||
- `/exceptions` CRUD/workflow (create, propose, approve/reject, revoke, list, history) proxied by the gateway.
|
||||
- Deterministic pagination (`continuationToken`), stable sorting, and explicit audit trails.
|
||||
|
||||
## Needed from owners
|
||||
- JSON schema for exception entity and workflow transitions; validation rules.
|
||||
- Required scopes/roles; audit fields; pagination/sorting defaults; max durations/guardrails.
|
||||
- Notification hook contract (`exception.*` events) and rate-limit policy.
|
||||
- Sample payloads for each state and error cases.
|
||||
## Headers
|
||||
- `X-StellaOps-Tenant` (required)
|
||||
- `X-Stella-Project` (optional)
|
||||
- `X-Stella-Trace-Id` (required)
|
||||
- `X-Stella-Request-Id` (required; defaults to trace ID)
|
||||
|
||||
## Draft sample (placeholder)
|
||||
- See `docs/api/console/samples/exception-schema-sample.json` for a skeleton payload covering `pending_review` state.
|
||||
- Replace with authoritative samples once schema is published.
|
||||
## Scopes
|
||||
- Read: `exception:read`
|
||||
- Create/edit: `exception:write`
|
||||
- Approve/reject/revoke: `exception:approve`
|
||||
|
||||
## TODO
|
||||
- Replace with ratified schema + samples; log hash/date; link from Web I/II sprint logs.
|
||||
## Endpoints
|
||||
- `GET /exceptions?status=&severity=&search=&sortBy=&sortOrder=&limit=&continuationToken=`
|
||||
- `GET /exceptions/{exceptionId}`
|
||||
- `POST /exceptions`
|
||||
- `PATCH /exceptions/{exceptionId}`
|
||||
- `DELETE /exceptions/{exceptionId}`
|
||||
- `POST /exceptions/{exceptionId}/transition`
|
||||
- `GET /exceptions/stats`
|
||||
|
||||
## Entity shape
|
||||
This doc mirrors the web contract used by the Angular SDK (`src/Web/StellaOps.Web/src/app/core/api/exception.contract.models.ts`).
|
||||
|
||||
- Sample exception: `docs/api/console/samples/exception-schema-sample.json`
|
||||
|
||||
## Status transitions (baseline)
|
||||
- `draft` → `pending_review` (submit)
|
||||
- `pending_review` → `approved` | `rejected`
|
||||
- `approved` → `revoked`
|
||||
- `approved` → `expired` (timebox lapse; system-driven)
|
||||
|
||||
Reference in New Issue
Block a user