@powerhousedao/reactor-api 6.0.0-dev.22 → 6.0.0-dev.24

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.
@@ -1,51 +1,45 @@
1
- import { type IDocumentDriveServer } from "document-drive";
2
1
  import { type DocumentModelModule } from "document-model";
3
2
  import { BaseSubgraph } from "./base-subgraph.js";
4
3
  import type { SubgraphArgs } from "./types.js";
5
- export declare function generateDocumentModelResolversLegacy(documentModel: DocumentModelModule, reactor: IDocumentDriveServer): {
6
- Query: {
7
- [x: string]: () => {
8
- getDocument: (args: {
9
- docId: string;
10
- driveId: string;
11
- }) => Promise<{
12
- __typename?: string;
13
- id: string;
14
- name: string;
15
- documentType: string;
16
- revision: number;
17
- createdAtUtcIso: string;
18
- lastModifiedAtUtcIso: string;
19
- operations: import("./types.js").GqlOperation[];
20
- stateJSON: JSON;
21
- state: unknown;
22
- initialState: unknown;
23
- driveId: string;
24
- }>;
25
- getDocuments: (args: {
26
- driveId: string;
27
- }) => Promise<{
28
- __typename?: string;
29
- id: string;
30
- name: string;
31
- documentType: string;
32
- revision: number;
33
- createdAtUtcIso: string;
34
- lastModifiedAtUtcIso: string;
35
- operations: import("./types.js").GqlOperation[];
36
- stateJSON: JSON;
37
- state: unknown;
38
- initialState: unknown;
39
- driveId: string;
40
- }[]>;
41
- };
42
- };
43
- Mutation: {
44
- [x: string]: any;
45
- };
46
- };
47
4
  export declare class DocumentModelSubgraphLegacy extends BaseSubgraph {
48
5
  private documentModel;
49
6
  constructor(documentModel: DocumentModelModule, args: SubgraphArgs);
7
+ /**
8
+ * Check if user has global read access (admin, user, or guest)
9
+ */
10
+ private hasGlobalReadAccess;
11
+ /**
12
+ * Check if user has global write access (admin or user, not guest)
13
+ */
14
+ private hasGlobalWriteAccess;
15
+ /**
16
+ * Get the parent IDs function for hierarchical permission checks
17
+ */
18
+ private getParentIdsFn;
19
+ /**
20
+ * Check if user can read a document (with hierarchy)
21
+ */
22
+ private canReadDocument;
23
+ /**
24
+ * Check if user can write to a document (with hierarchy)
25
+ */
26
+ private canWriteDocument;
27
+ /**
28
+ * Throw an error if user cannot read the document
29
+ */
30
+ private assertCanRead;
31
+ /**
32
+ * Throw an error if user cannot write to the document
33
+ */
34
+ private assertCanWrite;
35
+ /**
36
+ * Check if user can execute a specific operation on a document.
37
+ * Throws an error if the operation is restricted and user lacks permission.
38
+ */
39
+ private assertCanExecuteOperation;
40
+ /**
41
+ * Generate resolvers for this document model with permission checks
42
+ */
43
+ private generateResolvers;
50
44
  }
51
45
  //# sourceMappingURL=document-model-subgraph.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"document-model-subgraph.d.ts","sourceRoot":"","sources":["../../../src/graphql/document-model-subgraph.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,KAAK,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAW,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAKnE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG/C,wBAAgB,oCAAoC,CAClD,aAAa,EAAE,mBAAmB,EAClC,OAAO,EAAE,oBAAoB;;;gCAiBK;gBAAE,KAAK,EAAE,MAAM,CAAC;gBAAC,OAAO,EAAE,MAAM,CAAA;aAAE;;;;;;;;;;;;;;iCA4BjC;gBAAE,OAAO,EAAE,MAAM,CAAA;aAAE;;;;;;;;;;;;;;;;;;;EA+EvD;AAED,qBAAa,2BAA4B,SAAQ,YAAY;IAC3D,OAAO,CAAC,aAAa,CAAsB;gBAE/B,aAAa,EAAE,mBAAmB,EAAE,IAAI,EAAE,YAAY;CAYnE"}
1
+ {"version":3,"file":"document-model-subgraph.d.ts","sourceRoot":"","sources":["../../../src/graphql/document-model-subgraph.ts"],"names":[],"mappings":"AAEA,OAAO,EAAW,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAOnE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAW,YAAY,EAAE,MAAM,YAAY,CAAC;AAGxD,qBAAa,2BAA4B,SAAQ,YAAY;IAC3D,OAAO,CAAC,aAAa,CAAsB;gBAE/B,aAAa,EAAE,mBAAmB,EAAE,IAAI,EAAE,YAAY;IAUlE;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAS3B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAM5B;;OAEG;IACH,OAAO,CAAC,cAAc;IAWtB;;OAEG;YACW,eAAe;IAqB7B;;OAEG;YACW,gBAAgB;IAqB9B;;OAEG;YACW,aAAa;IAS3B;;OAEG;YACW,cAAc;IAY5B;;;OAGG;YACW,yBAAyB;IAuCvC;;OAEG;IACH,OAAO,CAAC,iBAAiB;CA2K1B"}
@@ -1,104 +1,237 @@
1
1
  import { camelCase, kebabCase } from "change-case";
2
2
  import { addFile } from "document-drive";
3
3
  import { setName } from "document-model";
4
+ import { GraphQLError } from "graphql";
4
5
  import { generateDocumentModelSchemaLegacy, getDocumentModelSchemaName, } from "../utils/create-schema.js";
5
6
  import { BaseSubgraph } from "./base-subgraph.js";
6
7
  import { buildGraphQlDocument } from "./utils.js";
7
- export function generateDocumentModelResolversLegacy(documentModel, reactor) {
8
- const documentType = documentModel.documentModel.global.id;
9
- const documentName = getDocumentModelSchemaName(documentModel.documentModel.global);
10
- const operations = documentModel.documentModel.global.specifications
11
- .at(-1)
12
- ?.modules.flatMap((module) => module.operations.filter((op) => op.name)) ?? [];
13
- return {
14
- Query: {
15
- [documentName]: () => {
16
- return {
17
- getDocument: async (args) => {
18
- const { docId, driveId } = args;
19
- if (!docId) {
20
- throw new Error("Document id is required");
21
- }
22
- if (driveId) {
23
- const docIds = await reactor.getDocuments(driveId);
24
- if (!docIds.includes(docId)) {
25
- throw new Error(`Document with id ${docId} is not part of ${driveId}`);
8
+ export class DocumentModelSubgraphLegacy extends BaseSubgraph {
9
+ documentModel;
10
+ constructor(documentModel, args) {
11
+ super(args);
12
+ this.documentModel = documentModel;
13
+ this.name = kebabCase(documentModel.documentModel.global.name);
14
+ this.typeDefs = generateDocumentModelSchemaLegacy(this.documentModel.documentModel.global);
15
+ this.resolvers = this.generateResolvers();
16
+ }
17
+ /**
18
+ * Check if user has global read access (admin, user, or guest)
19
+ */
20
+ hasGlobalReadAccess(ctx) {
21
+ const isGlobalAdmin = ctx.isAdmin?.(ctx.user?.address ?? "");
22
+ const isGlobalUser = ctx.isUser?.(ctx.user?.address ?? "");
23
+ const isGlobalGuest = ctx.isGuest?.(ctx.user?.address ?? "") ||
24
+ process.env.FREE_ENTRY === "true";
25
+ return !!(isGlobalAdmin || isGlobalUser || isGlobalGuest);
26
+ }
27
+ /**
28
+ * Check if user has global write access (admin or user, not guest)
29
+ */
30
+ hasGlobalWriteAccess(ctx) {
31
+ const isGlobalAdmin = ctx.isAdmin?.(ctx.user?.address ?? "");
32
+ const isGlobalUser = ctx.isUser?.(ctx.user?.address ?? "");
33
+ return !!(isGlobalAdmin || isGlobalUser);
34
+ }
35
+ /**
36
+ * Get the parent IDs function for hierarchical permission checks
37
+ */
38
+ getParentIdsFn() {
39
+ return async (documentId) => {
40
+ try {
41
+ const result = await this.reactorClient.getParents(documentId);
42
+ return result.results.map((doc) => doc.header.id);
43
+ }
44
+ catch {
45
+ return [];
46
+ }
47
+ };
48
+ }
49
+ /**
50
+ * Check if user can read a document (with hierarchy)
51
+ */
52
+ async canReadDocument(documentId, ctx) {
53
+ // Global access allows reading
54
+ if (this.hasGlobalReadAccess(ctx)) {
55
+ return true;
56
+ }
57
+ // Check document-level permissions with hierarchy
58
+ if (this.documentPermissionService) {
59
+ return this.documentPermissionService.canRead(documentId, ctx.user?.address, this.getParentIdsFn());
60
+ }
61
+ return false;
62
+ }
63
+ /**
64
+ * Check if user can write to a document (with hierarchy)
65
+ */
66
+ async canWriteDocument(documentId, ctx) {
67
+ // Global write access allows writing
68
+ if (this.hasGlobalWriteAccess(ctx)) {
69
+ return true;
70
+ }
71
+ // Check document-level permissions with hierarchy
72
+ if (this.documentPermissionService) {
73
+ return this.documentPermissionService.canWrite(documentId, ctx.user?.address, this.getParentIdsFn());
74
+ }
75
+ return false;
76
+ }
77
+ /**
78
+ * Throw an error if user cannot read the document
79
+ */
80
+ async assertCanRead(documentId, ctx) {
81
+ const canRead = await this.canReadDocument(documentId, ctx);
82
+ if (!canRead) {
83
+ throw new GraphQLError("Forbidden: insufficient permissions to read this document");
84
+ }
85
+ }
86
+ /**
87
+ * Throw an error if user cannot write to the document
88
+ */
89
+ async assertCanWrite(documentId, ctx) {
90
+ const canWrite = await this.canWriteDocument(documentId, ctx);
91
+ if (!canWrite) {
92
+ throw new GraphQLError("Forbidden: insufficient permissions to write to this document");
93
+ }
94
+ }
95
+ /**
96
+ * Check if user can execute a specific operation on a document.
97
+ * Throws an error if the operation is restricted and user lacks permission.
98
+ */
99
+ async assertCanExecuteOperation(documentId, operationType, ctx) {
100
+ // Skip if no permission service
101
+ if (!this.documentPermissionService) {
102
+ return;
103
+ }
104
+ // Global admins bypass operation-level restrictions
105
+ if (ctx.isAdmin?.(ctx.user?.address ?? "")) {
106
+ return;
107
+ }
108
+ // Check if this operation has any restrictions set
109
+ const isRestricted = await this.documentPermissionService.isOperationRestricted(documentId, operationType);
110
+ if (isRestricted) {
111
+ // Operation is restricted, check if user has permission
112
+ const canExecute = await this.documentPermissionService.canExecuteOperation(documentId, operationType, ctx.user?.address);
113
+ if (!canExecute) {
114
+ throw new GraphQLError(`Forbidden: insufficient permissions to execute operation "${operationType}" on this document`);
115
+ }
116
+ }
117
+ }
118
+ /**
119
+ * Generate resolvers for this document model with permission checks
120
+ */
121
+ generateResolvers() {
122
+ const documentType = this.documentModel.documentModel.global.id;
123
+ const documentName = getDocumentModelSchemaName(this.documentModel.documentModel.global);
124
+ const operations = this.documentModel.documentModel.global.specifications
125
+ .at(-1)
126
+ ?.modules.flatMap((module) => module.operations.filter((op) => op.name)) ?? [];
127
+ return {
128
+ Query: {
129
+ [documentName]: (_, __, ctx) => {
130
+ return {
131
+ getDocument: async (args) => {
132
+ const { docId, driveId } = args;
133
+ if (!docId) {
134
+ throw new Error("Document id is required");
135
+ }
136
+ // Check read permission before accessing document
137
+ await this.assertCanRead(docId, ctx);
138
+ if (driveId) {
139
+ const docIds = await this.reactor.getDocuments(driveId);
140
+ if (!docIds.includes(docId)) {
141
+ throw new Error(`Document with id ${docId} is not part of ${driveId}`);
142
+ }
143
+ }
144
+ const doc = await this.reactor.getDocument(docId);
145
+ if (doc.header.documentType !== documentType) {
146
+ throw new Error(`Document with id ${docId} is not of type ${documentType}`);
26
147
  }
27
- }
28
- const doc = await reactor.getDocument(docId);
29
- if (doc.header.documentType !== documentType) {
30
- throw new Error(`Document with id ${docId} is not of type ${documentType}`);
31
- }
32
- return {
33
- driveId: driveId,
34
- ...buildGraphQlDocument(doc),
35
- };
36
- },
37
- getDocuments: async (args) => {
38
- const { driveId } = args;
39
- const docsIds = await reactor.getDocuments(driveId);
40
- const docs = await Promise.all(docsIds.map(async (docId) => {
41
- const doc = await reactor.getDocument(docId);
42
148
  return {
43
149
  driveId: driveId,
44
150
  ...buildGraphQlDocument(doc),
45
151
  };
46
- }));
47
- return docs.filter((doc) => doc.documentType === documentType);
48
- },
49
- };
50
- },
51
- },
52
- Mutation: {
53
- [`${documentName}_createDocument`]: async (_, args) => {
54
- const { driveId, name } = args;
55
- const document = await reactor.addDocument(documentType);
56
- if (driveId) {
57
- await reactor.addAction(driveId, addFile({
58
- name,
59
- id: document.header.id,
60
- documentType: documentType,
61
- }));
62
- }
63
- if (name) {
64
- await reactor.addAction(document.header.id, setName(name));
65
- }
66
- return document.header.id;
152
+ },
153
+ getDocuments: async (args) => {
154
+ const { driveId } = args;
155
+ // Check read permission on drive before listing documents
156
+ await this.assertCanRead(driveId, ctx);
157
+ const docsIds = await this.reactor.getDocuments(driveId);
158
+ const docs = await Promise.all(docsIds.map(async (docId) => {
159
+ const doc = await this.reactor.getDocument(docId);
160
+ return {
161
+ driveId: driveId,
162
+ ...buildGraphQlDocument(doc),
163
+ };
164
+ }));
165
+ const filteredByType = docs.filter((doc) => doc.documentType === documentType);
166
+ // If user doesn't have global read access, filter by document-level permissions
167
+ if (!this.hasGlobalReadAccess(ctx) &&
168
+ this.documentPermissionService) {
169
+ const filteredDocs = [];
170
+ for (const doc of filteredByType) {
171
+ const canRead = await this.canReadDocument(doc.id, ctx);
172
+ if (canRead) {
173
+ filteredDocs.push(doc);
174
+ }
175
+ }
176
+ return filteredDocs;
177
+ }
178
+ return filteredByType;
179
+ },
180
+ };
181
+ },
67
182
  },
68
- ...operations.reduce((mutations, op) => {
69
- mutations[`${documentName}_${camelCase(op.name)}`] = async (_, args) => {
70
- const { docId, input } = args;
71
- const doc = await reactor.getDocument(docId);
72
- if (!doc) {
73
- throw new Error("Document not found");
183
+ Mutation: {
184
+ [`${documentName}_createDocument`]: async (_, args, ctx) => {
185
+ const { driveId, name } = args;
186
+ // If creating under a drive, check write permission on drive
187
+ if (driveId) {
188
+ await this.assertCanWrite(driveId, ctx);
74
189
  }
75
- const action = documentModel.actions[camelCase(op.name)];
76
- if (!action) {
77
- throw new Error(`Action ${op.name} not found`);
190
+ else if (!this.hasGlobalWriteAccess(ctx)) {
191
+ throw new GraphQLError("Forbidden: insufficient permissions to create documents");
78
192
  }
79
- const result = await reactor.addAction(docId, action(input));
80
- if (result.status !== "SUCCESS") {
81
- throw new Error(result.error?.message ?? `Failed to ${op.name}`);
193
+ const document = await this.reactor.addDocument(documentType);
194
+ if (driveId) {
195
+ await this.reactor.addAction(driveId, addFile({
196
+ name,
197
+ id: document.header.id,
198
+ documentType: documentType,
199
+ }));
82
200
  }
83
- const errorOp = result.operations.find((op) => op.error);
84
- if (errorOp) {
85
- throw new Error(errorOp.error);
201
+ if (name) {
202
+ await this.reactor.addAction(document.header.id, setName(name));
86
203
  }
87
- return result.operations.at(-1)?.index ?? -1;
88
- };
89
- return mutations;
90
- }, {}),
91
- },
92
- };
93
- }
94
- export class DocumentModelSubgraphLegacy extends BaseSubgraph {
95
- documentModel;
96
- constructor(documentModel, args) {
97
- super(args);
98
- this.documentModel = documentModel;
99
- this.name = kebabCase(documentModel.documentModel.global.name);
100
- this.typeDefs = generateDocumentModelSchemaLegacy(this.documentModel.documentModel.global);
101
- this.resolvers = generateDocumentModelResolversLegacy(this.documentModel, args.reactor);
204
+ return document.header.id;
205
+ },
206
+ ...operations.reduce((mutations, op) => {
207
+ mutations[`${documentName}_${camelCase(op.name)}`] = async (_, args, ctx) => {
208
+ const { docId, input } = args;
209
+ // Check write permission before mutating document
210
+ await this.assertCanWrite(docId, ctx);
211
+ // Check operation-level permissions
212
+ await this.assertCanExecuteOperation(docId, op.name, ctx);
213
+ const doc = await this.reactor.getDocument(docId);
214
+ if (!doc) {
215
+ throw new Error("Document not found");
216
+ }
217
+ const action = this.documentModel.actions[camelCase(op.name)];
218
+ if (!action) {
219
+ throw new Error(`Action ${op.name} not found`);
220
+ }
221
+ const result = await this.reactor.addAction(docId, action(input));
222
+ if (result.status !== "SUCCESS") {
223
+ throw new Error(result.error?.message ?? `Failed to ${op.name}`);
224
+ }
225
+ const errorOp = result.operations.find((op) => op.error);
226
+ if (errorOp) {
227
+ throw new Error(errorOp.error);
228
+ }
229
+ return result.operations.at(-1)?.index ?? -1;
230
+ };
231
+ return mutations;
232
+ }, {}),
233
+ },
234
+ };
102
235
  }
103
236
  }
104
237
  //# sourceMappingURL=document-model-subgraph.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"document-model-subgraph.js","sourceRoot":"","sources":["../../../src/graphql/document-model-subgraph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"document-model-subgraph.js","sourceRoot":"","sources":["../../../src/graphql/document-model-subgraph.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=document-model-subgraph-legacy-permissions.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-model-subgraph-legacy-permissions.test.d.ts","sourceRoot":"","sources":["../../test/document-model-subgraph-legacy-permissions.test.ts"],"names":[],"mappings":""}