diff --git a/docs/openapi.json b/docs/openapi.json index b43fc9e2..b72ab67c 100644 --- a/docs/openapi.json +++ b/docs/openapi.json @@ -10820,6 +10820,57 @@ ] } }, + "/api/computers/asset/{asset_id}/policypanel": { + "get": { + "tags": [ + "plugin-computers" + ], + "summary": "Asset-detail panel: which policy governs this endpoint, how many configuration policies folded into it, and how many...", + "description": "Asset-detail panel: which policy governs this endpoint, how many configuration policies folded into it, and how many actions it allows or drives to a desired state. Provenance rather than a control - the effective policy narrows the command allowlist, so this is the answer to why an action is unavailable on a given PC. Returns an empty field list (not the feature-gate 404) when the policy feature is off, so the card self-hides instead of erroring on every site that has not enabled it\n\n**Auth:** computers.view\n\n**Params:** path: asset_id\n\n**Example:**\n```\ncurl -H \"Authorization: Bearer $TOKEN\" http://localhost:5001/api/computers/asset/1/policypanel\n```", + "security": [ + { + "bearerAuth": [] + } + ], + "responses": { + "200": { + "description": "Success. Body is the success_response envelope: {status, data, meta}.", + "content": { + "application/json": { + "$ref": "#/components/schemas/SuccessEnvelope" + } + } + }, + "default": { + "description": "Error. Body is the error envelope; the code and message are nested under data.error.", + "content": { + "application/json": { + "$ref": "#/components/schemas/ErrorEnvelope" + } + } + }, + "401": { + "description": "Missing or invalid credentials." + }, + "403": { + "description": "Authenticated, but not permitted." + }, + "404": { + "description": "No such record." + } + }, + "parameters": [ + { + "name": "asset_id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ] + } + }, "/api/measuringtools/types": { "get": { "tags": [ diff --git a/frontend/src/api/index.js b/frontend/src/api/index.js index 4ad32277..bc38bba6 100644 --- a/frontend/src/api/index.js +++ b/frontend/src/api/index.js @@ -159,6 +159,9 @@ export const endpointsApi = { dashboardSummary() { return api.get('/endpoints/dashboard/summary') }, + dashboardStability() { + return api.get('/endpoints/dashboard/stability') + }, list(params = {}) { return api.get('/endpoints', { params }) }, diff --git a/frontend/src/components/AssetTriageBand.vue b/frontend/src/components/AssetTriageBand.vue index 1e85040e..270fc1c4 100644 --- a/frontend/src/components/AssetTriageBand.vue +++ b/frontend/src/components/AssetTriageBand.vue @@ -36,6 +36,15 @@ Location {{ locationname }} + + +