@checkstack/dashboard-frontend 0.0.4 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,116 @@
1
1
  # @checkstack/dashboard-frontend
2
2
 
3
+ ## 0.1.1
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [9faec1f]
8
+ - Updated dependencies [95eeec7]
9
+ - Updated dependencies [f533141]
10
+ - @checkstack/auth-frontend@0.2.0
11
+ - @checkstack/catalog-common@1.1.0
12
+ - @checkstack/catalog-frontend@0.2.0
13
+ - @checkstack/command-common@0.1.0
14
+ - @checkstack/command-frontend@0.1.0
15
+ - @checkstack/common@0.2.0
16
+ - @checkstack/frontend-api@0.1.0
17
+ - @checkstack/healthcheck-common@0.3.0
18
+ - @checkstack/incident-common@0.2.0
19
+ - @checkstack/maintenance-common@0.2.0
20
+ - @checkstack/notification-common@0.1.0
21
+ - @checkstack/ui@0.2.0
22
+ - @checkstack/signal-frontend@0.0.6
23
+
24
+ ## 0.1.0
25
+
26
+ ### Minor Changes
27
+
28
+ - 8e43507: # Teams and Resource-Level Access Control
29
+
30
+ This release introduces a comprehensive Teams system for organizing users and controlling access to resources at a granular level.
31
+
32
+ ## Features
33
+
34
+ ### Team Management
35
+
36
+ - Create, update, and delete teams with name and description
37
+ - Add/remove users from teams
38
+ - Designate team managers with elevated privileges
39
+ - View team membership and manager status
40
+
41
+ ### Resource-Level Access Control
42
+
43
+ - Grant teams access to specific resources (systems, health checks, incidents, maintenances)
44
+ - Configure read-only or manage permissions per team
45
+ - Resource-level "Team Only" mode that restricts access exclusively to team members
46
+ - Separate `resourceAccessSettings` table for resource-level settings (not per-grant)
47
+ - Automatic cleanup of grants when teams are deleted (database cascade)
48
+
49
+ ### Middleware Integration
50
+
51
+ - Extended `autoAuthMiddleware` to support resource access checks
52
+ - Single-resource pre-handler validation for detail endpoints
53
+ - Automatic list filtering for collection endpoints
54
+ - S2S endpoints for access verification
55
+
56
+ ### Frontend Components
57
+
58
+ - `TeamsTab` component for managing teams in Auth Settings
59
+ - `TeamAccessEditor` component for assigning team access to resources
60
+ - Resource-level "Team Only" toggle in `TeamAccessEditor`
61
+ - Integration into System, Health Check, Incident, and Maintenance editors
62
+
63
+ ## Breaking Changes
64
+
65
+ ### API Response Format Changes
66
+
67
+ List endpoints now return objects with named keys instead of arrays directly:
68
+
69
+ ```typescript
70
+ // Before
71
+ const systems = await catalogApi.getSystems();
72
+
73
+ // After
74
+ const { systems } = await catalogApi.getSystems();
75
+ ```
76
+
77
+ Affected endpoints:
78
+
79
+ - `catalog.getSystems` → `{ systems: [...] }`
80
+ - `healthcheck.getConfigurations` → `{ configurations: [...] }`
81
+ - `incident.listIncidents` → `{ incidents: [...] }`
82
+ - `maintenance.listMaintenances` → `{ maintenances: [...] }`
83
+
84
+ ### User Identity Enrichment
85
+
86
+ `RealUser` and `ApplicationUser` types now include `teamIds: string[]` field with team memberships.
87
+
88
+ ## Documentation
89
+
90
+ See `docs/backend/teams.md` for complete API reference and integration guide.
91
+
92
+ ### Patch Changes
93
+
94
+ - Updated dependencies [8e43507]
95
+ - Updated dependencies [97c5a6b]
96
+ - Updated dependencies [97c5a6b]
97
+ - Updated dependencies [8e43507]
98
+ - Updated dependencies [8e43507]
99
+ - Updated dependencies [97c5a6b]
100
+ - @checkstack/ui@0.1.0
101
+ - @checkstack/catalog-frontend@0.1.0
102
+ - @checkstack/auth-frontend@0.1.0
103
+ - @checkstack/command-frontend@0.0.5
104
+ - @checkstack/catalog-common@1.0.0
105
+ - @checkstack/common@0.1.0
106
+ - @checkstack/healthcheck-common@0.2.0
107
+ - @checkstack/incident-common@0.1.0
108
+ - @checkstack/maintenance-common@0.1.0
109
+ - @checkstack/command-common@0.0.4
110
+ - @checkstack/frontend-api@0.0.4
111
+ - @checkstack/notification-common@0.0.4
112
+ - @checkstack/signal-frontend@0.0.5
113
+
3
114
  ## 0.0.4
4
115
 
5
116
  ### Patch Changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@checkstack/dashboard-frontend",
3
- "version": "0.0.4",
3
+ "version": "0.1.1",
4
4
  "type": "module",
5
5
  "main": "src/index.tsx",
6
6
  "scripts": {
package/src/Dashboard.tsx CHANGED
@@ -1,10 +1,6 @@
1
1
  import React, { useEffect, useState, useCallback } from "react";
2
2
  import { useNavigate } from "react-router-dom";
3
- import {
4
- useApi,
5
- rpcApiRef,
6
- ExtensionSlot,
7
- } from "@checkstack/frontend-api";
3
+ import { useApi, rpcApiRef, ExtensionSlot } from "@checkstack/frontend-api";
8
4
  import { catalogApiRef } from "@checkstack/catalog-frontend";
9
5
  import {
10
6
  catalogRoutes,
@@ -136,7 +132,7 @@ export const Dashboard: React.FC = () => {
136
132
  incidentApi.listIncidents({ includeResolved: false }),
137
133
  maintenanceApi.listMaintenances({ status: "in_progress" }),
138
134
  ])
139
- .then(([groups, systems, incidents, maintenances]) => {
135
+ .then(([groups, { systems }, { incidents }, { maintenances }]) => {
140
136
  // Set overview statistics
141
137
  setSystemsCount(systems.length);
142
138
  setActiveIncidentsCount(incidents.length);