@powerhousedao/reactor-api 6.0.0-dev.9 → 6.0.0-dev.91
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/dist/codegen.js +1 -1
- package/dist/codegen.js.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/src/config.d.ts +1 -2
- package/dist/src/config.d.ts.map +1 -1
- package/dist/src/config.js +1 -5
- package/dist/src/config.js.map +1 -1
- package/dist/src/graphql/auth/resolvers.d.ts +17 -0
- package/dist/src/graphql/auth/resolvers.d.ts.map +1 -1
- package/dist/src/graphql/auth/resolvers.js +54 -0
- package/dist/src/graphql/auth/resolvers.js.map +1 -1
- package/dist/src/graphql/auth/schema.graphql +27 -5
- package/dist/src/graphql/auth/subgraph.d.ts +25 -0
- package/dist/src/graphql/auth/subgraph.d.ts.map +1 -1
- package/dist/src/graphql/auth/subgraph.js +45 -1
- package/dist/src/graphql/auth/subgraph.js.map +1 -1
- package/dist/src/graphql/base-subgraph.d.ts +12 -4
- package/dist/src/graphql/base-subgraph.d.ts.map +1 -1
- package/dist/src/graphql/base-subgraph.js +94 -2
- package/dist/src/graphql/base-subgraph.js.map +1 -1
- package/dist/src/graphql/document-model-subgraph.d.ts +16 -44
- package/dist/src/graphql/document-model-subgraph.d.ts.map +1 -1
- package/dist/src/graphql/document-model-subgraph.js +290 -88
- package/dist/src/graphql/document-model-subgraph.js.map +1 -1
- package/dist/src/graphql/graphql-manager.d.ts +28 -6
- package/dist/src/graphql/graphql-manager.d.ts.map +1 -1
- package/dist/src/graphql/graphql-manager.js +266 -161
- package/dist/src/graphql/graphql-manager.js.map +1 -1
- package/dist/src/graphql/index.d.ts +2 -1
- package/dist/src/graphql/index.d.ts.map +1 -1
- package/dist/src/graphql/index.js +2 -1
- package/dist/src/graphql/index.js.map +1 -1
- package/dist/src/graphql/packages/index.d.ts +2 -0
- package/dist/src/graphql/packages/index.d.ts.map +1 -0
- package/dist/src/graphql/packages/index.js +2 -0
- package/dist/src/graphql/packages/index.js.map +1 -0
- package/dist/src/graphql/packages/resolvers.d.ts +31 -0
- package/dist/src/graphql/packages/resolvers.d.ts.map +1 -0
- package/dist/src/graphql/packages/resolvers.js +37 -0
- package/dist/src/graphql/packages/resolvers.js.map +1 -0
- package/dist/src/graphql/packages/schema.graphql +50 -0
- package/dist/src/graphql/packages/subgraph.d.ts +55 -0
- package/dist/src/graphql/packages/subgraph.d.ts.map +1 -0
- package/dist/src/graphql/packages/subgraph.js +73 -0
- package/dist/src/graphql/packages/subgraph.js.map +1 -0
- package/dist/src/graphql/reactor/adapters.d.ts +10 -2
- package/dist/src/graphql/reactor/adapters.d.ts.map +1 -1
- package/dist/src/graphql/reactor/adapters.js +35 -1
- package/dist/src/graphql/reactor/adapters.js.map +1 -1
- package/dist/src/graphql/reactor/factory.d.ts +22 -1
- package/dist/src/graphql/reactor/factory.d.ts.map +1 -1
- package/dist/src/graphql/reactor/factory.js +1 -1
- package/dist/src/graphql/reactor/factory.js.map +1 -1
- package/dist/src/graphql/reactor/gen/graphql.d.ts +353 -76
- package/dist/src/graphql/reactor/gen/graphql.d.ts.map +1 -1
- package/dist/src/graphql/reactor/gen/graphql.js +245 -10
- package/dist/src/graphql/reactor/gen/graphql.js.map +1 -1
- package/dist/src/graphql/reactor/index.d.ts +1 -1
- package/dist/src/graphql/reactor/index.d.ts.map +1 -1
- package/dist/src/graphql/reactor/index.js +1 -1
- package/dist/src/graphql/reactor/index.js.map +1 -1
- package/dist/src/graphql/reactor/operations.graphql +191 -1
- package/dist/src/graphql/reactor/requester.with-zod.d.ts.map +1 -1
- package/dist/src/graphql/reactor/requester.with-zod.js +114 -38
- package/dist/src/graphql/reactor/requester.with-zod.js.map +1 -1
- package/dist/src/graphql/reactor/resolvers.d.ts +89 -26
- package/dist/src/graphql/reactor/resolvers.d.ts.map +1 -1
- package/dist/src/graphql/reactor/resolvers.js +271 -77
- package/dist/src/graphql/reactor/resolvers.js.map +1 -1
- package/dist/src/graphql/reactor/schema.graphql +75 -30
- package/dist/src/graphql/reactor/subgraph.d.ts +2 -31
- package/dist/src/graphql/reactor/subgraph.d.ts.map +1 -1
- package/dist/src/graphql/reactor/subgraph.js +132 -209
- package/dist/src/graphql/reactor/subgraph.js.map +1 -1
- package/dist/src/graphql/reactor/validation.d.ts +266 -20
- package/dist/src/graphql/reactor/validation.d.ts.map +1 -1
- package/dist/src/graphql/reactor/validation.js +98 -4
- package/dist/src/graphql/reactor/validation.js.map +1 -1
- package/dist/src/graphql/system/index.d.ts +0 -1
- package/dist/src/graphql/system/index.d.ts.map +1 -1
- package/dist/src/graphql/system/index.js +0 -1
- package/dist/src/graphql/system/index.js.map +1 -1
- package/dist/src/graphql/types.d.ts +6 -8
- package/dist/src/graphql/types.d.ts.map +1 -1
- package/dist/src/graphql/utils.d.ts +1 -18
- package/dist/src/graphql/utils.d.ts.map +1 -1
- package/dist/src/graphql/utils.js +7 -35
- package/dist/src/graphql/utils.js.map +1 -1
- package/dist/src/migrations/002_add_document_protection.d.ts +4 -0
- package/dist/src/migrations/002_add_document_protection.d.ts.map +1 -0
- package/dist/src/migrations/002_add_document_protection.js +18 -0
- package/dist/src/migrations/002_add_document_protection.js.map +1 -0
- package/dist/src/migrations/index.d.ts.map +1 -1
- package/dist/src/migrations/index.js +2 -0
- package/dist/src/migrations/index.js.map +1 -1
- package/dist/src/packages/http-loader.d.ts +68 -0
- package/dist/src/packages/http-loader.d.ts.map +1 -0
- package/dist/src/packages/http-loader.js +176 -0
- package/dist/src/packages/http-loader.js.map +1 -0
- package/dist/src/packages/https-hooks.d.mts +23 -0
- package/dist/src/packages/https-hooks.d.mts.map +1 -0
- package/dist/src/packages/https-hooks.mjs +59 -0
- package/dist/src/packages/https-hooks.mjs.map +1 -0
- package/dist/src/packages/import-loader.d.ts +5 -3
- package/dist/src/packages/import-loader.d.ts.map +1 -1
- package/dist/src/packages/import-loader.js +19 -10
- package/dist/src/packages/import-loader.js.map +1 -1
- package/dist/src/packages/package-manager.d.ts +2 -2
- package/dist/src/packages/package-manager.d.ts.map +1 -1
- package/dist/src/packages/package-manager.js.map +1 -1
- package/dist/src/packages/types.d.ts +9 -4
- package/dist/src/packages/types.d.ts.map +1 -1
- package/dist/src/packages/util.d.ts +3 -2
- package/dist/src/packages/util.d.ts.map +1 -1
- package/dist/src/packages/util.js +1 -1
- package/dist/src/packages/util.js.map +1 -1
- package/dist/src/packages/vite-loader.d.ts +10 -8
- package/dist/src/packages/vite-loader.d.ts.map +1 -1
- package/dist/src/packages/vite-loader.js +33 -10
- package/dist/src/packages/vite-loader.js.map +1 -1
- package/dist/src/server.d.ts +14 -11
- package/dist/src/server.d.ts.map +1 -1
- package/dist/src/server.js +153 -92
- package/dist/src/server.js.map +1 -1
- package/dist/src/services/auth.service.d.ts +0 -12
- package/dist/src/services/auth.service.d.ts.map +1 -1
- package/dist/src/services/auth.service.js +13 -40
- package/dist/src/services/auth.service.js.map +1 -1
- package/dist/src/services/authorization.service.d.ts +70 -0
- package/dist/src/services/authorization.service.d.ts.map +1 -0
- package/dist/src/services/authorization.service.js +155 -0
- package/dist/src/services/authorization.service.js.map +1 -0
- package/dist/src/services/document-permission.service.d.ts +47 -7
- package/dist/src/services/document-permission.service.d.ts.map +1 -1
- package/dist/src/services/document-permission.service.js +162 -7
- package/dist/src/services/document-permission.service.js.map +1 -1
- package/dist/src/services/package-management.service.d.ts +32 -0
- package/dist/src/services/package-management.service.d.ts.map +1 -0
- package/dist/src/services/package-management.service.js +95 -0
- package/dist/src/services/package-management.service.js.map +1 -0
- package/dist/src/services/package-storage.d.ts +23 -0
- package/dist/src/services/package-storage.d.ts.map +1 -0
- package/dist/src/services/package-storage.js +19 -0
- package/dist/src/services/package-storage.js.map +1 -0
- package/dist/src/tracing.d.ts.map +1 -1
- package/dist/src/tracing.js +19 -1
- package/dist/src/tracing.js.map +1 -1
- package/dist/src/types.d.ts +5 -5
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/utils/auth.d.ts +1 -1
- package/dist/src/utils/auth.d.ts.map +1 -1
- package/dist/src/utils/auth.js +5 -12
- package/dist/src/utils/auth.js.map +1 -1
- package/dist/src/utils/create-schema.d.ts +25 -6
- package/dist/src/utils/create-schema.d.ts.map +1 -1
- package/dist/src/utils/create-schema.js +458 -23
- package/dist/src/utils/create-schema.js.map +1 -1
- package/dist/src/utils/db.d.ts +8 -0
- package/dist/src/utils/db.d.ts.map +1 -1
- package/dist/src/utils/db.js.map +1 -1
- package/dist/src/utils/drive-url.d.ts +2 -0
- package/dist/src/utils/drive-url.d.ts.map +1 -0
- package/dist/src/utils/drive-url.js +3 -0
- package/dist/src/utils/drive-url.js.map +1 -0
- package/dist/src/utils/index.d.ts +1 -0
- package/dist/src/utils/index.d.ts.map +1 -1
- package/dist/src/utils/index.js +1 -0
- package/dist/src/utils/index.js.map +1 -1
- package/dist/test/authorization.service.test.d.ts +2 -0
- package/dist/test/authorization.service.test.d.ts.map +1 -0
- package/dist/test/authorization.service.test.js +252 -0
- package/dist/test/authorization.service.test.js.map +1 -0
- package/dist/test/connect-switchboard-reshuffle-convergence.test.d.ts +2 -0
- package/dist/test/connect-switchboard-reshuffle-convergence.test.d.ts.map +1 -0
- package/dist/test/connect-switchboard-reshuffle-convergence.test.js +203 -0
- package/dist/test/connect-switchboard-reshuffle-convergence.test.js.map +1 -0
- package/dist/test/connect-switchboard-sync.test.d.ts +2 -0
- package/dist/test/connect-switchboard-sync.test.d.ts.map +1 -0
- package/dist/test/connect-switchboard-sync.test.js +581 -0
- package/dist/test/connect-switchboard-sync.test.js.map +1 -0
- package/dist/test/document-drive-subgraph.test.d.ts +2 -0
- package/dist/test/document-drive-subgraph.test.d.ts.map +1 -0
- package/dist/test/document-drive-subgraph.test.js +186 -0
- package/dist/test/document-drive-subgraph.test.js.map +1 -0
- package/dist/test/document-model-subgraph-permissions.test.d.ts +2 -0
- package/dist/test/document-model-subgraph-permissions.test.d.ts.map +1 -0
- package/dist/test/document-model-subgraph-permissions.test.js +563 -0
- package/dist/test/document-model-subgraph-permissions.test.js.map +1 -0
- package/dist/test/drive-info-endpoint.test.d.ts +2 -0
- package/dist/test/drive-info-endpoint.test.d.ts.map +1 -0
- package/dist/test/drive-info-endpoint.test.js +123 -0
- package/dist/test/drive-info-endpoint.test.js.map +1 -0
- package/dist/test/fault-injection-sync.test.d.ts +2 -0
- package/dist/test/fault-injection-sync.test.d.ts.map +1 -0
- package/dist/test/fault-injection-sync.test.js +196 -0
- package/dist/test/fault-injection-sync.test.js.map +1 -0
- package/dist/test/index.d.ts +0 -1
- package/dist/test/index.d.ts.map +1 -1
- package/dist/test/index.js +0 -1
- package/dist/test/index.js.map +1 -1
- package/dist/test/permissions-integration.test.js +6 -20
- package/dist/test/permissions-integration.test.js.map +1 -1
- package/dist/test/push-backfill.test.d.ts +2 -0
- package/dist/test/push-backfill.test.d.ts.map +1 -0
- package/dist/test/push-backfill.test.js +298 -0
- package/dist/test/push-backfill.test.js.map +1 -0
- package/dist/test/reactor-client.test.js +172 -13
- package/dist/test/reactor-client.test.js.map +1 -1
- package/dist/test/reactor-resolvers.test.js +8 -11
- package/dist/test/reactor-resolvers.test.js.map +1 -1
- package/dist/test/reactor-subgraph-permissions.test.js +7 -36
- package/dist/test/reactor-subgraph-permissions.test.js.map +1 -1
- package/dist/test/subscriptions.test.js +2 -0
- package/dist/test/subscriptions.test.js.map +1 -1
- package/dist/test/utils/gql-resolver-bridge.d.ts +4 -1
- package/dist/test/utils/gql-resolver-bridge.d.ts.map +1 -1
- package/dist/test/utils/gql-resolver-bridge.js +36 -7
- package/dist/test/utils/gql-resolver-bridge.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +46 -55
- package/dist/src/graphql/drive-subgraph.d.ts +0 -25
- package/dist/src/graphql/drive-subgraph.d.ts.map +0 -1
- package/dist/src/graphql/drive-subgraph.js +0 -487
- package/dist/src/graphql/drive-subgraph.js.map +0 -1
- package/dist/src/graphql/system/system-subgraph.d.ts +0 -49
- package/dist/src/graphql/system/system-subgraph.d.ts.map +0 -1
- package/dist/src/graphql/system/system-subgraph.js +0 -130
- package/dist/src/graphql/system/system-subgraph.js.map +0 -1
- package/dist/src/sync/types.d.ts +0 -10
- package/dist/src/sync/types.d.ts.map +0 -1
- package/dist/src/sync/types.js +0 -2
- package/dist/src/sync/types.js.map +0 -1
- package/dist/src/sync/utils.d.ts +0 -7
- package/dist/src/sync/utils.d.ts.map +0 -1
- package/dist/src/sync/utils.js +0 -78
- package/dist/src/sync/utils.js.map +0 -1
- package/dist/test/drive-handlers.d.ts +0 -4
- package/dist/test/drive-handlers.d.ts.map +0 -1
- package/dist/test/drive-handlers.js +0 -39
- package/dist/test/drive-handlers.js.map +0 -1
- package/dist/test/drive-subgraph-permissions.test.d.ts +0 -2
- package/dist/test/drive-subgraph-permissions.test.d.ts.map +0 -1
- package/dist/test/drive-subgraph-permissions.test.js +0 -195
- package/dist/test/drive-subgraph-permissions.test.js.map +0 -1
- package/dist/test/drive.test.d.ts +0 -2
- package/dist/test/drive.test.d.ts.map +0 -1
- package/dist/test/drive.test.js +0 -142
- package/dist/test/drive.test.js.map +0 -1
- package/dist/test/pull-responder-transmitter.test.d.ts +0 -2
- package/dist/test/pull-responder-transmitter.test.d.ts.map +0 -1
- package/dist/test/pull-responder-transmitter.test.js +0 -220
- package/dist/test/pull-responder-transmitter.test.js.map +0 -1
- package/dist/test/push-transmitter.test.d.ts +0 -2
- package/dist/test/push-transmitter.test.d.ts.map +0 -1
- package/dist/test/push-transmitter.test.js +0 -179
- package/dist/test/push-transmitter.test.js.map +0 -1
- package/dist/test/system.test.d.ts +0 -2
- package/dist/test/system.test.d.ts.map +0 -1
- package/dist/test/system.test.js +0 -211
- package/dist/test/system.test.js.map +0 -1
- package/dist/test/three-reactor-gql-sync.test.d.ts +0 -2
- package/dist/test/three-reactor-gql-sync.test.d.ts.map +0 -1
- package/dist/test/three-reactor-gql-sync.test.js +0 -368
- package/dist/test/three-reactor-gql-sync.test.js.map +0 -1
- package/dist/test/two-reactor-gql-sync.test.d.ts +0 -2
- package/dist/test/two-reactor-gql-sync.test.d.ts.map +0 -1
- package/dist/test/two-reactor-gql-sync.test.js +0 -348
- package/dist/test/two-reactor-gql-sync.test.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.service.js","sourceRoot":"","sources":["../../../src/services/auth.service.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"auth.service.js","sourceRoot":"","sources":["../../../src/services/auth.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import type { DocumentPermissionService, GetParentIdsFn } from "./document-permission.service.js";
|
|
2
|
+
export interface AuthorizationConfig {
|
|
3
|
+
admins: string[];
|
|
4
|
+
defaultProtection: boolean;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Central authorization service — single source of truth for all permission checks.
|
|
8
|
+
*
|
|
9
|
+
* Authorization model:
|
|
10
|
+
* 1. Supreme admin (ADMINS env) → ALLOW ALL
|
|
11
|
+
* 2. Is document protected?
|
|
12
|
+
* a. NOT protected:
|
|
13
|
+
* - READ: anyone (even anonymous) → ALLOW
|
|
14
|
+
* - WRITE: authenticated user → ALLOW
|
|
15
|
+
* b. PROTECTED:
|
|
16
|
+
* - READ: requires explicit READ/WRITE/ADMIN grant (direct or via group/parent)
|
|
17
|
+
* - WRITE: requires explicit WRITE/ADMIN grant (direct or via group/parent)
|
|
18
|
+
* 3. Operation restricted? → Check OperationUserPermission
|
|
19
|
+
* 4. Document owner = implicit ADMIN
|
|
20
|
+
* 5. Drive protected = all children effectively protected
|
|
21
|
+
*/
|
|
22
|
+
export declare class AuthorizationService {
|
|
23
|
+
private readonly documentPermissionService;
|
|
24
|
+
readonly config: AuthorizationConfig;
|
|
25
|
+
constructor(documentPermissionService: DocumentPermissionService, config: AuthorizationConfig);
|
|
26
|
+
/**
|
|
27
|
+
* Check if a user is a supreme admin (from ADMINS env var).
|
|
28
|
+
*/
|
|
29
|
+
isSupremeAdmin(userAddress?: string): boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Check if a user can read a document.
|
|
32
|
+
*
|
|
33
|
+
* - Supreme admin → yes
|
|
34
|
+
* - Not protected → anyone can read (even anonymous)
|
|
35
|
+
* - Protected → requires READ/WRITE/ADMIN grant (direct, group, or parent inheritance)
|
|
36
|
+
* - Owner → yes (implicit ADMIN)
|
|
37
|
+
*/
|
|
38
|
+
canRead(documentId: string, userAddress?: string, getParentIds?: GetParentIdsFn): Promise<boolean>;
|
|
39
|
+
/**
|
|
40
|
+
* Check if a user can write to a document.
|
|
41
|
+
*
|
|
42
|
+
* - Supreme admin → yes
|
|
43
|
+
* - Not protected → anyone can write (even anonymous)
|
|
44
|
+
* - Protected → requires authentication + WRITE/ADMIN grant
|
|
45
|
+
* - Owner → yes (implicit ADMIN)
|
|
46
|
+
*/
|
|
47
|
+
canWrite(documentId: string, userAddress?: string, getParentIds?: GetParentIdsFn): Promise<boolean>;
|
|
48
|
+
/**
|
|
49
|
+
* Check if a user can manage a document (change permissions, protection, transfer ownership).
|
|
50
|
+
*
|
|
51
|
+
* - Supreme admin → yes
|
|
52
|
+
* - Owner → yes
|
|
53
|
+
* - Has ADMIN grant → yes
|
|
54
|
+
*/
|
|
55
|
+
canManage(documentId: string, userAddress?: string, getParentIds?: GetParentIdsFn): Promise<boolean>;
|
|
56
|
+
/**
|
|
57
|
+
* Check if a user can execute a specific operation.
|
|
58
|
+
* If the operation is not restricted, falls through to the standard write check.
|
|
59
|
+
* If the operation is restricted, requires an explicit OperationUserPermission grant.
|
|
60
|
+
*/
|
|
61
|
+
canExecuteOperation(documentId: string, operationType: string, userAddress?: string, getParentIds?: GetParentIdsFn): Promise<boolean>;
|
|
62
|
+
/**
|
|
63
|
+
* Combined check for mutations: can the user write + execute the operation?
|
|
64
|
+
* This enables READ-only users with operation grants to execute specific operations.
|
|
65
|
+
* For restricted operations, only the operation grant is checked (bypasses write check),
|
|
66
|
+
* allowing READ-only users with an explicit operation grant to execute that operation.
|
|
67
|
+
*/
|
|
68
|
+
canMutate(documentId: string, operationType: string, userAddress?: string, getParentIds?: GetParentIdsFn): Promise<boolean>;
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=authorization.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authorization.service.d.ts","sourceRoot":"","sources":["../../../src/services/authorization.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,yBAAyB,EACzB,cAAc,EACf,MAAM,kCAAkC,CAAC;AAE1C,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,oBAAoB;IAI7B,OAAO,CAAC,QAAQ,CAAC,yBAAyB;IAH5C,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;gBAGlB,yBAAyB,EAAE,yBAAyB,EACrE,MAAM,EAAE,mBAAmB;IAK7B;;OAEG;IACH,cAAc,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO;IAK7C;;;;;;;OAOG;IACG,OAAO,CACX,UAAU,EAAE,MAAM,EAClB,WAAW,CAAC,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,cAAc,GAC5B,OAAO,CAAC,OAAO,CAAC;IAqCnB;;;;;;;OAOG;IACG,QAAQ,CACZ,UAAU,EAAE,MAAM,EAClB,WAAW,CAAC,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,cAAc,GAC5B,OAAO,CAAC,OAAO,CAAC;IAqCnB;;;;;;OAMG;IACG,SAAS,CACb,UAAU,EAAE,MAAM,EAClB,WAAW,CAAC,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,cAAc,GAC5B,OAAO,CAAC,OAAO,CAAC;IAkBnB;;;;OAIG;IACG,mBAAmB,CACvB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,WAAW,CAAC,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,cAAc,GAC5B,OAAO,CAAC,OAAO,CAAC;IAwBnB;;;;;OAKG;IACG,SAAS,CACb,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,WAAW,CAAC,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,cAAc,GAC5B,OAAO,CAAC,OAAO,CAAC;CAwBpB"}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Central authorization service — single source of truth for all permission checks.
|
|
3
|
+
*
|
|
4
|
+
* Authorization model:
|
|
5
|
+
* 1. Supreme admin (ADMINS env) → ALLOW ALL
|
|
6
|
+
* 2. Is document protected?
|
|
7
|
+
* a. NOT protected:
|
|
8
|
+
* - READ: anyone (even anonymous) → ALLOW
|
|
9
|
+
* - WRITE: authenticated user → ALLOW
|
|
10
|
+
* b. PROTECTED:
|
|
11
|
+
* - READ: requires explicit READ/WRITE/ADMIN grant (direct or via group/parent)
|
|
12
|
+
* - WRITE: requires explicit WRITE/ADMIN grant (direct or via group/parent)
|
|
13
|
+
* 3. Operation restricted? → Check OperationUserPermission
|
|
14
|
+
* 4. Document owner = implicit ADMIN
|
|
15
|
+
* 5. Drive protected = all children effectively protected
|
|
16
|
+
*/
|
|
17
|
+
export class AuthorizationService {
|
|
18
|
+
documentPermissionService;
|
|
19
|
+
config;
|
|
20
|
+
constructor(documentPermissionService, config) {
|
|
21
|
+
this.documentPermissionService = documentPermissionService;
|
|
22
|
+
this.config = config;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Check if a user is a supreme admin (from ADMINS env var).
|
|
26
|
+
*/
|
|
27
|
+
isSupremeAdmin(userAddress) {
|
|
28
|
+
if (!userAddress)
|
|
29
|
+
return false;
|
|
30
|
+
return this.config.admins.includes(userAddress.toLowerCase());
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Check if a user can read a document.
|
|
34
|
+
*
|
|
35
|
+
* - Supreme admin → yes
|
|
36
|
+
* - Not protected → anyone can read (even anonymous)
|
|
37
|
+
* - Protected → requires READ/WRITE/ADMIN grant (direct, group, or parent inheritance)
|
|
38
|
+
* - Owner → yes (implicit ADMIN)
|
|
39
|
+
*/
|
|
40
|
+
async canRead(documentId, userAddress, getParentIds) {
|
|
41
|
+
// Supreme admin bypasses all
|
|
42
|
+
if (this.isSupremeAdmin(userAddress))
|
|
43
|
+
return true;
|
|
44
|
+
// Check protection status (walks parent chain if getParentIds provided)
|
|
45
|
+
const isProtected = getParentIds
|
|
46
|
+
? await this.documentPermissionService.isProtectedWithAncestors(documentId, getParentIds)
|
|
47
|
+
: await this.documentPermissionService.isDocumentProtected(documentId);
|
|
48
|
+
// Unprotected documents are readable by anyone
|
|
49
|
+
if (!isProtected)
|
|
50
|
+
return true;
|
|
51
|
+
// Protected document — requires authentication
|
|
52
|
+
if (!userAddress)
|
|
53
|
+
return false;
|
|
54
|
+
// Owner has implicit ADMIN
|
|
55
|
+
const owner = await this.documentPermissionService.getDocumentOwner(documentId);
|
|
56
|
+
if (owner && owner === userAddress.toLowerCase())
|
|
57
|
+
return true;
|
|
58
|
+
// Check grant (READ/WRITE/ADMIN all allow reading)
|
|
59
|
+
if (getParentIds) {
|
|
60
|
+
return this.documentPermissionService.canRead(documentId, userAddress, getParentIds);
|
|
61
|
+
}
|
|
62
|
+
return this.documentPermissionService.canReadDocument(documentId, userAddress);
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Check if a user can write to a document.
|
|
66
|
+
*
|
|
67
|
+
* - Supreme admin → yes
|
|
68
|
+
* - Not protected → anyone can write (even anonymous)
|
|
69
|
+
* - Protected → requires authentication + WRITE/ADMIN grant
|
|
70
|
+
* - Owner → yes (implicit ADMIN)
|
|
71
|
+
*/
|
|
72
|
+
async canWrite(documentId, userAddress, getParentIds) {
|
|
73
|
+
// Supreme admin bypasses all
|
|
74
|
+
if (this.isSupremeAdmin(userAddress))
|
|
75
|
+
return true;
|
|
76
|
+
// Check protection status
|
|
77
|
+
const isProtected = getParentIds
|
|
78
|
+
? await this.documentPermissionService.isProtectedWithAncestors(documentId, getParentIds)
|
|
79
|
+
: await this.documentPermissionService.isDocumentProtected(documentId);
|
|
80
|
+
// Unprotected documents are writable by anyone (even anonymous)
|
|
81
|
+
if (!isProtected)
|
|
82
|
+
return true;
|
|
83
|
+
// Protected document — requires authentication
|
|
84
|
+
if (!userAddress)
|
|
85
|
+
return false;
|
|
86
|
+
// Owner has implicit ADMIN
|
|
87
|
+
const owner = await this.documentPermissionService.getDocumentOwner(documentId);
|
|
88
|
+
if (owner && owner === userAddress.toLowerCase())
|
|
89
|
+
return true;
|
|
90
|
+
// Check grant (WRITE/ADMIN allow writing)
|
|
91
|
+
if (getParentIds) {
|
|
92
|
+
return this.documentPermissionService.canWrite(documentId, userAddress, getParentIds);
|
|
93
|
+
}
|
|
94
|
+
return this.documentPermissionService.canWriteDocument(documentId, userAddress);
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Check if a user can manage a document (change permissions, protection, transfer ownership).
|
|
98
|
+
*
|
|
99
|
+
* - Supreme admin → yes
|
|
100
|
+
* - Owner → yes
|
|
101
|
+
* - Has ADMIN grant → yes
|
|
102
|
+
*/
|
|
103
|
+
async canManage(documentId, userAddress, getParentIds) {
|
|
104
|
+
// Supreme admin bypasses all
|
|
105
|
+
if (this.isSupremeAdmin(userAddress))
|
|
106
|
+
return true;
|
|
107
|
+
if (!userAddress)
|
|
108
|
+
return false;
|
|
109
|
+
// Owner has implicit ADMIN
|
|
110
|
+
const owner = await this.documentPermissionService.getDocumentOwner(documentId);
|
|
111
|
+
if (owner && owner === userAddress.toLowerCase())
|
|
112
|
+
return true;
|
|
113
|
+
// Check ADMIN grant
|
|
114
|
+
return this.documentPermissionService.canManageDocument(documentId, userAddress);
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Check if a user can execute a specific operation.
|
|
118
|
+
* If the operation is not restricted, falls through to the standard write check.
|
|
119
|
+
* If the operation is restricted, requires an explicit OperationUserPermission grant.
|
|
120
|
+
*/
|
|
121
|
+
async canExecuteOperation(documentId, operationType, userAddress, getParentIds) {
|
|
122
|
+
// Supreme admin bypasses all
|
|
123
|
+
if (this.isSupremeAdmin(userAddress))
|
|
124
|
+
return true;
|
|
125
|
+
// Check if operation is restricted
|
|
126
|
+
const isRestricted = await this.documentPermissionService.isOperationRestricted(documentId, operationType);
|
|
127
|
+
if (!isRestricted) {
|
|
128
|
+
// Operation not restricted — standard write check applies
|
|
129
|
+
return this.canWrite(documentId, userAddress, getParentIds);
|
|
130
|
+
}
|
|
131
|
+
// Operation is restricted — user needs explicit operation grant
|
|
132
|
+
return this.documentPermissionService.canExecuteOperation(documentId, operationType, userAddress?.toLowerCase());
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Combined check for mutations: can the user write + execute the operation?
|
|
136
|
+
* This enables READ-only users with operation grants to execute specific operations.
|
|
137
|
+
* For restricted operations, only the operation grant is checked (bypasses write check),
|
|
138
|
+
* allowing READ-only users with an explicit operation grant to execute that operation.
|
|
139
|
+
*/
|
|
140
|
+
async canMutate(documentId, operationType, userAddress, getParentIds) {
|
|
141
|
+
// Supreme admin bypasses all
|
|
142
|
+
if (this.isSupremeAdmin(userAddress))
|
|
143
|
+
return true;
|
|
144
|
+
// Check if the operation is restricted
|
|
145
|
+
const isRestricted = await this.documentPermissionService.isOperationRestricted(documentId, operationType);
|
|
146
|
+
if (isRestricted) {
|
|
147
|
+
// For restricted operations, only the operation grant matters
|
|
148
|
+
// This allows READ-only users with operation grants to execute
|
|
149
|
+
return this.documentPermissionService.canExecuteOperation(documentId, operationType, userAddress?.toLowerCase());
|
|
150
|
+
}
|
|
151
|
+
// For unrestricted operations, standard write check applies
|
|
152
|
+
return this.canWrite(documentId, userAddress, getParentIds);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
//# sourceMappingURL=authorization.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authorization.service.js","sourceRoot":"","sources":["../../../src/services/authorization.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -42,6 +42,12 @@ export interface OperationGroupPermissionEntry {
|
|
|
42
42
|
* This is injected to avoid circular dependencies with the reactor client
|
|
43
43
|
*/
|
|
44
44
|
export type GetParentIdsFn = (documentId: string) => Promise<string[]>;
|
|
45
|
+
/**
|
|
46
|
+
* Configuration for the DocumentPermissionService
|
|
47
|
+
*/
|
|
48
|
+
export interface DocumentPermissionConfig {
|
|
49
|
+
defaultProtection: boolean;
|
|
50
|
+
}
|
|
45
51
|
/**
|
|
46
52
|
* Service for managing document-level permissions.
|
|
47
53
|
*
|
|
@@ -52,16 +58,11 @@ export type GetParentIdsFn = (documentId: string) => Promise<string[]>;
|
|
|
52
58
|
*
|
|
53
59
|
* Operation permissions:
|
|
54
60
|
* - Users and groups can be granted permission to execute specific operations
|
|
55
|
-
*
|
|
56
|
-
* Global roles (via environment variables):
|
|
57
|
-
* - AUTH_ENABLED: Enables authorization checks
|
|
58
|
-
* - ADMINS: Comma-separated list of admin addresses (full access)
|
|
59
|
-
* - USERS: Comma-separated list of user addresses (read/write access)
|
|
60
|
-
* - GUESTS: Comma-separated list of guest addresses (read access)
|
|
61
61
|
*/
|
|
62
62
|
export declare class DocumentPermissionService {
|
|
63
63
|
private readonly db;
|
|
64
|
-
|
|
64
|
+
readonly config: DocumentPermissionConfig;
|
|
65
|
+
constructor(db: Kysely<DocumentPermissionDatabase>, config?: DocumentPermissionConfig);
|
|
65
66
|
/**
|
|
66
67
|
* Get the permission level for a user on a specific document.
|
|
67
68
|
* Returns null if no permission is set.
|
|
@@ -197,5 +198,44 @@ export declare class DocumentPermissionService {
|
|
|
197
198
|
* Check if an operation has any permissions set (is restricted)
|
|
198
199
|
*/
|
|
199
200
|
isOperationRestricted(documentId: string, operationType: string): Promise<boolean>;
|
|
201
|
+
/**
|
|
202
|
+
* Check if a specific document has a protection row set to true.
|
|
203
|
+
* Falls back to `config.defaultProtection` if no row exists.
|
|
204
|
+
*/
|
|
205
|
+
isDocumentProtected(documentId: string): Promise<boolean>;
|
|
206
|
+
/**
|
|
207
|
+
* Walk the parent chain: if the document itself or any ancestor is protected, return true.
|
|
208
|
+
* Collects all ancestor IDs first (with cycle detection), then batch-checks protection.
|
|
209
|
+
*/
|
|
210
|
+
isProtectedWithAncestors(documentId: string, getParentIds: GetParentIdsFn): Promise<boolean>;
|
|
211
|
+
/**
|
|
212
|
+
* Collect all ancestor IDs (including the document itself) with cycle detection.
|
|
213
|
+
*/
|
|
214
|
+
private collectAncestorIds;
|
|
215
|
+
/**
|
|
216
|
+
* Upsert protection status for a document.
|
|
217
|
+
*/
|
|
218
|
+
setDocumentProtection(documentId: string, isProtected: boolean): Promise<void>;
|
|
219
|
+
/**
|
|
220
|
+
* Get the owner address for a document, or null if not set.
|
|
221
|
+
*/
|
|
222
|
+
getDocumentOwner(documentId: string): Promise<string | null>;
|
|
223
|
+
/**
|
|
224
|
+
* Upsert owner address for a document.
|
|
225
|
+
*/
|
|
226
|
+
setDocumentOwner(documentId: string, ownerAddress: string): Promise<void>;
|
|
227
|
+
/**
|
|
228
|
+
* Initialize protection for a newly created document.
|
|
229
|
+
* Sets protection status and grants ADMIN to the owner.
|
|
230
|
+
*/
|
|
231
|
+
initializeDocumentProtection(documentId: string, ownerAddress: string, defaultProtection?: boolean): Promise<void>;
|
|
232
|
+
/**
|
|
233
|
+
* Get the full protection info for a document.
|
|
234
|
+
*/
|
|
235
|
+
getDocumentProtection(documentId: string): Promise<{
|
|
236
|
+
documentId: string;
|
|
237
|
+
protected: boolean;
|
|
238
|
+
ownerAddress: string | null;
|
|
239
|
+
}>;
|
|
200
240
|
}
|
|
201
241
|
//# sourceMappingURL=document-permission.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-permission.service.d.ts","sourceRoot":"","sources":["../../../src/services/document-permission.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,KAAK,EACV,0BAA0B,EAC1B,uBAAuB,EACxB,MAAM,gBAAgB,CAAC;AAExB,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,uBAAuB,CAAC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,4BAA4B;IAC3C,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,uBAAuB,CAAC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,4BAA4B;IAC3C,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,6BAA6B;IAC5C,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AAEvE
|
|
1
|
+
{"version":3,"file":"document-permission.service.d.ts","sourceRoot":"","sources":["../../../src/services/document-permission.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,17 +9,13 @@ import { sql } from "kysely";
|
|
|
9
9
|
*
|
|
10
10
|
* Operation permissions:
|
|
11
11
|
* - Users and groups can be granted permission to execute specific operations
|
|
12
|
-
*
|
|
13
|
-
* Global roles (via environment variables):
|
|
14
|
-
* - AUTH_ENABLED: Enables authorization checks
|
|
15
|
-
* - ADMINS: Comma-separated list of admin addresses (full access)
|
|
16
|
-
* - USERS: Comma-separated list of user addresses (read/write access)
|
|
17
|
-
* - GUESTS: Comma-separated list of guest addresses (read access)
|
|
18
12
|
*/
|
|
19
13
|
export class DocumentPermissionService {
|
|
20
14
|
db;
|
|
21
|
-
|
|
15
|
+
config;
|
|
16
|
+
constructor(db, config = { defaultProtection: false }) {
|
|
22
17
|
this.db = db;
|
|
18
|
+
this.config = config;
|
|
23
19
|
}
|
|
24
20
|
// ============================================
|
|
25
21
|
// User Permission Operations
|
|
@@ -632,5 +628,164 @@ export class DocumentPermissionService {
|
|
|
632
628
|
.executeTakeFirst();
|
|
633
629
|
return groupPermCount !== undefined && Number(groupPermCount.count) > 0;
|
|
634
630
|
}
|
|
631
|
+
// ============================================
|
|
632
|
+
// Document Protection
|
|
633
|
+
// ============================================
|
|
634
|
+
/**
|
|
635
|
+
* Check if a specific document has a protection row set to true.
|
|
636
|
+
* Falls back to `config.defaultProtection` if no row exists.
|
|
637
|
+
*/
|
|
638
|
+
async isDocumentProtected(documentId) {
|
|
639
|
+
const row = await this.db
|
|
640
|
+
.selectFrom("DocumentProtection")
|
|
641
|
+
.select("protected")
|
|
642
|
+
.where("documentId", "=", documentId)
|
|
643
|
+
.executeTakeFirst();
|
|
644
|
+
if (row === undefined) {
|
|
645
|
+
return this.config.defaultProtection;
|
|
646
|
+
}
|
|
647
|
+
return row.protected;
|
|
648
|
+
}
|
|
649
|
+
/**
|
|
650
|
+
* Walk the parent chain: if the document itself or any ancestor is protected, return true.
|
|
651
|
+
* Collects all ancestor IDs first (with cycle detection), then batch-checks protection.
|
|
652
|
+
*/
|
|
653
|
+
async isProtectedWithAncestors(documentId, getParentIds) {
|
|
654
|
+
// Collect all IDs in the hierarchy (document + all ancestors)
|
|
655
|
+
const allIds = await this.collectAncestorIds(documentId, getParentIds);
|
|
656
|
+
// Batch-check protection for all IDs at once
|
|
657
|
+
if (allIds.length === 0) {
|
|
658
|
+
return this.config.defaultProtection;
|
|
659
|
+
}
|
|
660
|
+
const rows = await this.db
|
|
661
|
+
.selectFrom("DocumentProtection")
|
|
662
|
+
.select(["documentId", "protected"])
|
|
663
|
+
.where("documentId", "in", allIds)
|
|
664
|
+
.execute();
|
|
665
|
+
const protectionMap = new Map(rows.map((r) => [r.documentId, r.protected]));
|
|
666
|
+
for (const id of allIds) {
|
|
667
|
+
const isProtected = protectionMap.get(id);
|
|
668
|
+
// If no row exists, fall back to defaultProtection
|
|
669
|
+
if (isProtected ?? this.config.defaultProtection) {
|
|
670
|
+
return true;
|
|
671
|
+
}
|
|
672
|
+
}
|
|
673
|
+
return false;
|
|
674
|
+
}
|
|
675
|
+
/**
|
|
676
|
+
* Collect all ancestor IDs (including the document itself) with cycle detection.
|
|
677
|
+
*/
|
|
678
|
+
async collectAncestorIds(documentId, getParentIds) {
|
|
679
|
+
const visited = new Set();
|
|
680
|
+
const queue = [documentId];
|
|
681
|
+
while (queue.length > 0) {
|
|
682
|
+
const current = queue.shift();
|
|
683
|
+
if (visited.has(current))
|
|
684
|
+
continue;
|
|
685
|
+
visited.add(current);
|
|
686
|
+
const parentIds = await getParentIds(current);
|
|
687
|
+
for (const parentId of parentIds) {
|
|
688
|
+
if (!visited.has(parentId)) {
|
|
689
|
+
queue.push(parentId);
|
|
690
|
+
}
|
|
691
|
+
}
|
|
692
|
+
}
|
|
693
|
+
return Array.from(visited);
|
|
694
|
+
}
|
|
695
|
+
/**
|
|
696
|
+
* Upsert protection status for a document.
|
|
697
|
+
*/
|
|
698
|
+
async setDocumentProtection(documentId, isProtected) {
|
|
699
|
+
const now = new Date();
|
|
700
|
+
await this.db
|
|
701
|
+
.insertInto("DocumentProtection")
|
|
702
|
+
.values({
|
|
703
|
+
documentId,
|
|
704
|
+
protected: isProtected,
|
|
705
|
+
ownerAddress: null,
|
|
706
|
+
createdAt: now,
|
|
707
|
+
updatedAt: now,
|
|
708
|
+
})
|
|
709
|
+
.onConflict((oc) => oc.column("documentId").doUpdateSet({
|
|
710
|
+
protected: isProtected,
|
|
711
|
+
updatedAt: now,
|
|
712
|
+
}))
|
|
713
|
+
.execute();
|
|
714
|
+
}
|
|
715
|
+
/**
|
|
716
|
+
* Get the owner address for a document, or null if not set.
|
|
717
|
+
*/
|
|
718
|
+
async getDocumentOwner(documentId) {
|
|
719
|
+
const row = await this.db
|
|
720
|
+
.selectFrom("DocumentProtection")
|
|
721
|
+
.select("ownerAddress")
|
|
722
|
+
.where("documentId", "=", documentId)
|
|
723
|
+
.executeTakeFirst();
|
|
724
|
+
return row?.ownerAddress ?? null;
|
|
725
|
+
}
|
|
726
|
+
/**
|
|
727
|
+
* Upsert owner address for a document.
|
|
728
|
+
*/
|
|
729
|
+
async setDocumentOwner(documentId, ownerAddress) {
|
|
730
|
+
const now = new Date();
|
|
731
|
+
const normalizedAddress = ownerAddress.toLowerCase();
|
|
732
|
+
await this.db
|
|
733
|
+
.insertInto("DocumentProtection")
|
|
734
|
+
.values({
|
|
735
|
+
documentId,
|
|
736
|
+
protected: this.config.defaultProtection,
|
|
737
|
+
ownerAddress: normalizedAddress,
|
|
738
|
+
createdAt: now,
|
|
739
|
+
updatedAt: now,
|
|
740
|
+
})
|
|
741
|
+
.onConflict((oc) => oc.column("documentId").doUpdateSet({
|
|
742
|
+
ownerAddress: normalizedAddress,
|
|
743
|
+
updatedAt: now,
|
|
744
|
+
}))
|
|
745
|
+
.execute();
|
|
746
|
+
}
|
|
747
|
+
/**
|
|
748
|
+
* Initialize protection for a newly created document.
|
|
749
|
+
* Sets protection status and grants ADMIN to the owner.
|
|
750
|
+
*/
|
|
751
|
+
async initializeDocumentProtection(documentId, ownerAddress, defaultProtection) {
|
|
752
|
+
const now = new Date();
|
|
753
|
+
const normalizedAddress = ownerAddress.toLowerCase();
|
|
754
|
+
const isProtected = defaultProtection ?? this.config.defaultProtection;
|
|
755
|
+
await this.db
|
|
756
|
+
.insertInto("DocumentProtection")
|
|
757
|
+
.values({
|
|
758
|
+
documentId,
|
|
759
|
+
protected: isProtected,
|
|
760
|
+
ownerAddress: normalizedAddress,
|
|
761
|
+
createdAt: now,
|
|
762
|
+
updatedAt: now,
|
|
763
|
+
})
|
|
764
|
+
.onConflict((oc) => oc.column("documentId").doUpdateSet({
|
|
765
|
+
ownerAddress: normalizedAddress,
|
|
766
|
+
updatedAt: now,
|
|
767
|
+
}))
|
|
768
|
+
.execute();
|
|
769
|
+
// Grant ADMIN permission to the owner
|
|
770
|
+
await this.grantPermission(documentId, normalizedAddress, "ADMIN", normalizedAddress);
|
|
771
|
+
}
|
|
772
|
+
/**
|
|
773
|
+
* Get the full protection info for a document.
|
|
774
|
+
*/
|
|
775
|
+
async getDocumentProtection(documentId) {
|
|
776
|
+
const row = await this.db
|
|
777
|
+
.selectFrom("DocumentProtection")
|
|
778
|
+
.select(["documentId", "protected", "ownerAddress"])
|
|
779
|
+
.where("documentId", "=", documentId)
|
|
780
|
+
.executeTakeFirst();
|
|
781
|
+
if (!row) {
|
|
782
|
+
return {
|
|
783
|
+
documentId,
|
|
784
|
+
protected: this.config.defaultProtection,
|
|
785
|
+
ownerAddress: null,
|
|
786
|
+
};
|
|
787
|
+
}
|
|
788
|
+
return row;
|
|
789
|
+
}
|
|
635
790
|
}
|
|
636
791
|
//# sourceMappingURL=document-permission.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-permission.service.js","sourceRoot":"","sources":["../../../src/services/document-permission.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"document-permission.service.js","sourceRoot":"","sources":["../../../src/services/document-permission.service.ts"],"names":[],"mappings":"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"}
|