@checkstack/healthcheck-backend 0.2.0 → 0.3.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,100 @@
1
1
  # @checkstack/healthcheck-backend
2
2
 
3
+ ## 0.3.1
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [9a27800]
8
+ - @checkstack/queue-api@0.0.6
9
+ - @checkstack/backend-api@0.3.1
10
+ - @checkstack/integration-backend@0.1.1
11
+ - @checkstack/catalog-backend@0.2.1
12
+ - @checkstack/command-backend@0.1.1
13
+
14
+ ## 0.3.0
15
+
16
+ ### Minor Changes
17
+
18
+ - 9faec1f: # Unified AccessRule Terminology Refactoring
19
+
20
+ This release completes a comprehensive terminology refactoring from "permission" to "accessRule" across the entire codebase, establishing a consistent and modern access control vocabulary.
21
+
22
+ ## Changes
23
+
24
+ ### Core Infrastructure (`@checkstack/common`)
25
+
26
+ - Introduced `AccessRule` interface as the primary access control type
27
+ - Added `accessPair()` helper for creating read/manage access rule pairs
28
+ - Added `access()` builder for individual access rules
29
+ - Replaced `Permission` type with `AccessRule` throughout
30
+
31
+ ### API Changes
32
+
33
+ - `env.registerPermissions()` → `env.registerAccessRules()`
34
+ - `meta.permissions` → `meta.access` in RPC contracts
35
+ - `usePermission()` → `useAccess()` in frontend hooks
36
+ - Route `permission:` field → `accessRule:` field
37
+
38
+ ### UI Changes
39
+
40
+ - "Roles & Permissions" tab → "Roles & Access Rules"
41
+ - "You don't have permission..." → "You don't have access..."
42
+ - All permission-related UI text updated
43
+
44
+ ### Documentation & Templates
45
+
46
+ - Updated 18 documentation files with AccessRule terminology
47
+ - Updated 7 scaffolding templates with `accessPair()` pattern
48
+ - All code examples use new AccessRule API
49
+
50
+ ## Migration Guide
51
+
52
+ ### Backend Plugins
53
+
54
+ ```diff
55
+ - import { permissionList } from "./permissions";
56
+ - env.registerPermissions(permissionList);
57
+ + import { accessRules } from "./access";
58
+ + env.registerAccessRules(accessRules);
59
+ ```
60
+
61
+ ### RPC Contracts
62
+
63
+ ```diff
64
+ - .meta({ userType: "user", permissions: [permissions.read.id] })
65
+ + .meta({ userType: "user", access: [access.read] })
66
+ ```
67
+
68
+ ### Frontend Hooks
69
+
70
+ ```diff
71
+ - const canRead = accessApi.usePermission(permissions.read.id);
72
+ + const canRead = accessApi.useAccess(access.read);
73
+ ```
74
+
75
+ ### Routes
76
+
77
+ ```diff
78
+ - permission: permissions.entityRead.id,
79
+ + accessRule: access.read,
80
+ ```
81
+
82
+ ### Patch Changes
83
+
84
+ - Updated dependencies [9faec1f]
85
+ - Updated dependencies [827b286]
86
+ - Updated dependencies [f533141]
87
+ - Updated dependencies [aa4a8ab]
88
+ - @checkstack/backend-api@0.3.0
89
+ - @checkstack/catalog-backend@0.2.0
90
+ - @checkstack/catalog-common@1.1.0
91
+ - @checkstack/command-backend@0.1.0
92
+ - @checkstack/common@0.2.0
93
+ - @checkstack/healthcheck-common@0.3.0
94
+ - @checkstack/integration-backend@0.1.0
95
+ - @checkstack/signal-common@0.1.0
96
+ - @checkstack/queue-api@0.0.5
97
+
3
98
  ## 0.2.0
4
99
 
5
100
  ### Minor Changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@checkstack/healthcheck-backend",
3
- "version": "0.2.0",
3
+ "version": "0.3.1",
4
4
  "type": "module",
5
5
  "main": "src/index.ts",
6
6
  "scripts": {
package/src/index.ts CHANGED
@@ -5,11 +5,11 @@ import {
5
5
  import * as schema from "./schema";
6
6
  import { NodePgDatabase } from "drizzle-orm/node-postgres";
7
7
  import {
8
- permissionList,
8
+ healthCheckAccessRules,
9
+ healthCheckAccess,
9
10
  pluginMetadata,
10
11
  healthCheckContract,
11
12
  healthcheckRoutes,
12
- permissions,
13
13
  } from "@checkstack/healthcheck-common";
14
14
  import {
15
15
  createBackendPlugin,
@@ -55,7 +55,7 @@ let storedEmitHook: EmitHookFn | undefined;
55
55
  export default createBackendPlugin({
56
56
  metadata: pluginMetadata,
57
57
  register(env) {
58
- env.registerPermissions(permissionList);
58
+ env.registerAccessRules(healthCheckAccessRules);
59
59
 
60
60
  // Register hooks as integration events
61
61
  const integrationEvents = env.getExtensionPoint(
@@ -142,7 +142,7 @@ export default createBackendPlugin({
142
142
  route:
143
143
  resolveRoute(healthcheckRoutes.routes.config) +
144
144
  "?action=create",
145
- requiredPermissions: [permissions.healthCheckManage],
145
+ requiredAccessRules: [healthCheckAccess.configuration.manage],
146
146
  },
147
147
  {
148
148
  id: "manage",
@@ -151,7 +151,7 @@ export default createBackendPlugin({
151
151
  iconName: "HeartPulse",
152
152
  shortcuts: ["meta+shift+h", "ctrl+shift+h"],
153
153
  route: resolveRoute(healthcheckRoutes.routes.config),
154
- requiredPermissions: [permissions.healthCheckManage],
154
+ requiredAccessRules: [healthCheckAccess.configuration.manage],
155
155
  },
156
156
  ],
157
157
  });
@@ -8,7 +8,7 @@ describe("HealthCheck Router", () => {
8
8
  const mockUser = {
9
9
  type: "user" as const,
10
10
  id: "test-user",
11
- permissions: ["*"],
11
+ accessRules: ["*"],
12
12
  roles: ["admin"],
13
13
  };
14
14
 
package/src/router.ts CHANGED
@@ -14,8 +14,8 @@ import { toJsonSchemaWithChartMeta } from "./schema-utils";
14
14
  /**
15
15
  * Creates the healthcheck router using contract-based implementation.
16
16
  *
17
- * Auth and permissions are automatically enforced via autoAuthMiddleware
18
- * based on the contract's meta.userType and meta.permissions.
17
+ * Auth and access rules are automatically enforced via autoAuthMiddleware
18
+ * based on the contract's meta.userType and meta.access.
19
19
  */
20
20
  export const createHealthCheckRouter = (
21
21
  database: NodePgDatabase<typeof schema>,
package/src/service.ts CHANGED
@@ -491,7 +491,7 @@ export class HealthCheckService {
491
491
 
492
492
  /**
493
493
  * Get detailed health check run history with full result data.
494
- * Restricted to users with manage permission.
494
+ * Restricted to users with manage access.
495
495
  */
496
496
  async getDetailedHistory(props: {
497
497
  systemId?: string;
@@ -530,7 +530,7 @@ export class HealthCheckService {
530
530
  .limit(limit)
531
531
  .offset(offset);
532
532
 
533
- // Return with full result data for manage permission
533
+ // Return with full result data for manage access
534
534
  return {
535
535
  runs: runs.map((run) => ({
536
536
  id: run.id,