@powerhousedao/reactor-api 5.1.0-dev.2 → 5.1.0-dev.21
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 +2 -2
- package/dist/codegen.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/src/graphql/auth/index.d.ts +2 -0
- package/dist/src/graphql/auth/index.d.ts.map +1 -0
- package/dist/src/graphql/auth/index.js +2 -0
- package/dist/src/graphql/auth/index.js.map +1 -0
- package/dist/src/graphql/auth/resolvers.d.ts +149 -0
- package/dist/src/graphql/auth/resolvers.d.ts.map +1 -0
- package/dist/src/graphql/auth/resolvers.js +173 -0
- package/dist/src/graphql/auth/resolvers.js.map +1 -0
- package/dist/src/graphql/auth/schema.graphql +173 -0
- package/dist/src/graphql/auth/subgraph.d.ts +177 -0
- package/dist/src/graphql/auth/subgraph.d.ts.map +1 -0
- package/dist/src/graphql/auth/subgraph.js +340 -0
- package/dist/src/graphql/auth/subgraph.js.map +1 -0
- package/dist/src/graphql/base-subgraph.d.ts +3 -1
- package/dist/src/graphql/base-subgraph.d.ts.map +1 -1
- package/dist/src/graphql/base-subgraph.js +2 -0
- package/dist/src/graphql/base-subgraph.js.map +1 -1
- package/dist/src/graphql/drive-subgraph.d.ts.map +1 -1
- package/dist/src/graphql/drive-subgraph.js +51 -10
- package/dist/src/graphql/drive-subgraph.js.map +1 -1
- package/dist/src/graphql/graphql-manager.d.ts +5 -2
- package/dist/src/graphql/graphql-manager.d.ts.map +1 -1
- package/dist/src/graphql/graphql-manager.js +7 -2
- package/dist/src/graphql/graphql-manager.js.map +1 -1
- package/dist/src/graphql/index.d.ts +1 -0
- package/dist/src/graphql/index.d.ts.map +1 -1
- package/dist/src/graphql/index.js +1 -0
- package/dist/src/graphql/index.js.map +1 -1
- package/dist/src/graphql/reactor/adapters.js +1 -1
- package/dist/src/graphql/reactor/adapters.js.map +1 -1
- package/dist/src/graphql/reactor/factory.d.ts +4 -4
- package/dist/src/graphql/reactor/factory.d.ts.map +1 -1
- package/dist/src/graphql/reactor/gen/graphql.d.ts +295 -64
- package/dist/src/graphql/reactor/gen/graphql.d.ts.map +1 -1
- package/dist/src/graphql/reactor/gen/graphql.js +121 -8
- package/dist/src/graphql/reactor/gen/graphql.js.map +1 -1
- package/dist/src/graphql/reactor/operations.graphql +253 -0
- package/dist/src/graphql/reactor/pubsub.d.ts +2 -2
- package/dist/src/graphql/reactor/pubsub.d.ts.map +1 -1
- package/dist/src/graphql/reactor/pubsub.js +2 -1
- package/dist/src/graphql/reactor/pubsub.js.map +1 -1
- package/dist/src/graphql/reactor/resolvers.d.ts +10 -17
- package/dist/src/graphql/reactor/resolvers.d.ts.map +1 -1
- package/dist/src/graphql/reactor/resolvers.js +27 -36
- package/dist/src/graphql/reactor/resolvers.js.map +1 -1
- package/dist/src/graphql/reactor/schema.graphql +429 -0
- package/dist/src/graphql/reactor/subgraph.d.ts +34 -0
- package/dist/src/graphql/reactor/subgraph.d.ts.map +1 -1
- package/dist/src/graphql/reactor/subgraph.js +289 -26
- package/dist/src/graphql/reactor/subgraph.js.map +1 -1
- package/dist/src/graphql/reactor/validation.d.ts +44 -44
- package/dist/src/graphql/types.d.ts +4 -1
- package/dist/src/graphql/types.d.ts.map +1 -1
- package/dist/src/migrations/001_create_document_permissions.d.ts +4 -0
- package/dist/src/migrations/001_create_document_permissions.d.ts.map +1 -0
- package/dist/src/migrations/001_create_document_permissions.js +91 -0
- package/dist/src/migrations/001_create_document_permissions.js.map +1 -0
- package/dist/src/migrations/index.d.ts +10 -0
- package/dist/src/migrations/index.d.ts.map +1 -0
- package/dist/src/migrations/index.js +59 -0
- package/dist/src/migrations/index.js.map +1 -0
- package/dist/src/packages/util.js +1 -1
- package/dist/src/packages/util.js.map +1 -1
- package/dist/src/server.d.ts +16 -7
- package/dist/src/server.d.ts.map +1 -1
- package/dist/src/server.js +44 -18
- package/dist/src/server.js.map +1 -1
- package/dist/src/services/auth.service.d.ts +1 -0
- package/dist/src/services/auth.service.d.ts.map +1 -1
- package/dist/src/services/auth.service.js +31 -17
- package/dist/src/services/auth.service.js.map +1 -1
- package/dist/src/services/document-permission.service.d.ts +201 -0
- package/dist/src/services/document-permission.service.d.ts.map +1 -0
- package/dist/src/services/document-permission.service.js +636 -0
- package/dist/src/services/document-permission.service.js.map +1 -0
- package/dist/src/utils/create-schema.d.ts +1 -1
- package/dist/src/utils/create-schema.d.ts.map +1 -1
- package/dist/src/utils/create-schema.js +10 -1
- package/dist/src/utils/create-schema.js.map +1 -1
- package/dist/src/utils/db.d.ts +65 -1
- package/dist/src/utils/db.d.ts.map +1 -1
- package/dist/src/utils/db.js.map +1 -1
- package/dist/test/document-permission.service.test.d.ts +2 -0
- package/dist/test/document-permission.service.test.d.ts.map +1 -0
- package/dist/test/document-permission.service.test.js +480 -0
- package/dist/test/document-permission.service.test.js.map +1 -0
- package/dist/test/drive-subgraph-permissions.test.d.ts +2 -0
- package/dist/test/drive-subgraph-permissions.test.d.ts.map +1 -0
- package/dist/test/drive-subgraph-permissions.test.js +195 -0
- package/dist/test/drive-subgraph-permissions.test.js.map +1 -0
- package/dist/test/identity-integration.test.d.ts +2 -0
- package/dist/test/identity-integration.test.d.ts.map +1 -0
- package/dist/test/identity-integration.test.js +349 -0
- package/dist/test/identity-integration.test.js.map +1 -0
- package/dist/test/permissions-integration.test.d.ts +2 -0
- package/dist/test/permissions-integration.test.d.ts.map +1 -0
- package/dist/test/permissions-integration.test.js +421 -0
- package/dist/test/permissions-integration.test.js.map +1 -0
- package/dist/test/reactor-adapters.test.js +2 -2
- package/dist/test/reactor-adapters.test.js.map +1 -1
- package/dist/test/reactor-resolvers.test.js +24 -24
- package/dist/test/reactor-resolvers.test.js.map +1 -1
- package/dist/test/reactor-subgraph-permissions.test.d.ts +2 -0
- package/dist/test/reactor-subgraph-permissions.test.d.ts.map +1 -0
- package/dist/test/reactor-subgraph-permissions.test.js +400 -0
- package/dist/test/reactor-subgraph-permissions.test.js.map +1 -0
- package/dist/test/two-reactor-gql-sync.test.js +19 -17
- package/dist/test/two-reactor-gql-sync.test.js.map +1 -1
- package/dist/test/utils/gql-resolver-bridge.js +4 -4
- package/dist/test/utils/gql-resolver-bridge.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +10 -8
|
@@ -10,14 +10,14 @@ export declare const DocumentModelStateDTO: z.ZodObject<{
|
|
|
10
10
|
}, "strip", z.ZodTypeAny, {
|
|
11
11
|
id: string;
|
|
12
12
|
name: string;
|
|
13
|
-
namespace?: string | null | undefined;
|
|
14
13
|
version?: string | null | undefined;
|
|
14
|
+
namespace?: string | null | undefined;
|
|
15
15
|
specification?: unknown;
|
|
16
16
|
}, {
|
|
17
17
|
id: string;
|
|
18
18
|
name: string;
|
|
19
|
-
namespace?: string | null | undefined;
|
|
20
19
|
version?: string | null | undefined;
|
|
20
|
+
namespace?: string | null | undefined;
|
|
21
21
|
specification?: unknown;
|
|
22
22
|
}>;
|
|
23
23
|
export declare const DocumentModelResultPageDTO: z.ZodObject<{
|
|
@@ -30,14 +30,14 @@ export declare const DocumentModelResultPageDTO: z.ZodObject<{
|
|
|
30
30
|
}, "strip", z.ZodTypeAny, {
|
|
31
31
|
id: string;
|
|
32
32
|
name: string;
|
|
33
|
-
namespace?: string | null | undefined;
|
|
34
33
|
version?: string | null | undefined;
|
|
34
|
+
namespace?: string | null | undefined;
|
|
35
35
|
specification?: unknown;
|
|
36
36
|
}, {
|
|
37
37
|
id: string;
|
|
38
38
|
name: string;
|
|
39
|
-
namespace?: string | null | undefined;
|
|
40
39
|
version?: string | null | undefined;
|
|
40
|
+
namespace?: string | null | undefined;
|
|
41
41
|
specification?: unknown;
|
|
42
42
|
}>, "many">;
|
|
43
43
|
totalCount: z.ZodNumber;
|
|
@@ -48,8 +48,8 @@ export declare const DocumentModelResultPageDTO: z.ZodObject<{
|
|
|
48
48
|
items: {
|
|
49
49
|
id: string;
|
|
50
50
|
name: string;
|
|
51
|
-
namespace?: string | null | undefined;
|
|
52
51
|
version?: string | null | undefined;
|
|
52
|
+
namespace?: string | null | undefined;
|
|
53
53
|
specification?: unknown;
|
|
54
54
|
}[];
|
|
55
55
|
totalCount: number;
|
|
@@ -60,8 +60,8 @@ export declare const DocumentModelResultPageDTO: z.ZodObject<{
|
|
|
60
60
|
items: {
|
|
61
61
|
id: string;
|
|
62
62
|
name: string;
|
|
63
|
-
namespace?: string | null | undefined;
|
|
64
63
|
version?: string | null | undefined;
|
|
64
|
+
namespace?: string | null | undefined;
|
|
65
65
|
specification?: unknown;
|
|
66
66
|
}[];
|
|
67
67
|
totalCount: number;
|
|
@@ -80,20 +80,20 @@ export declare const PHDocumentDTO: z.ZodObject<{
|
|
|
80
80
|
lastModified: z.ZodUnion<[z.ZodString, z.ZodDate]>;
|
|
81
81
|
parentId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
82
82
|
}, "strip", z.ZodTypeAny, {
|
|
83
|
-
documentType: string;
|
|
84
|
-
revision: number;
|
|
85
83
|
id: string;
|
|
86
84
|
name: string;
|
|
85
|
+
documentType: string;
|
|
86
|
+
revision: number;
|
|
87
87
|
created: string | Date;
|
|
88
88
|
lastModified: string | Date;
|
|
89
89
|
slug?: string | null | undefined;
|
|
90
90
|
parentId?: string | null | undefined;
|
|
91
91
|
state?: unknown;
|
|
92
92
|
}, {
|
|
93
|
-
documentType: string;
|
|
94
|
-
revision: number;
|
|
95
93
|
id: string;
|
|
96
94
|
name: string;
|
|
95
|
+
documentType: string;
|
|
96
|
+
revision: number;
|
|
97
97
|
created: string | Date;
|
|
98
98
|
lastModified: string | Date;
|
|
99
99
|
slug?: string | null | undefined;
|
|
@@ -112,20 +112,20 @@ export declare const PHDocumentResultPageDTO: z.ZodObject<{
|
|
|
112
112
|
lastModified: z.ZodUnion<[z.ZodString, z.ZodDate]>;
|
|
113
113
|
parentId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
114
114
|
}, "strip", z.ZodTypeAny, {
|
|
115
|
-
documentType: string;
|
|
116
|
-
revision: number;
|
|
117
115
|
id: string;
|
|
118
116
|
name: string;
|
|
117
|
+
documentType: string;
|
|
118
|
+
revision: number;
|
|
119
119
|
created: string | Date;
|
|
120
120
|
lastModified: string | Date;
|
|
121
121
|
slug?: string | null | undefined;
|
|
122
122
|
parentId?: string | null | undefined;
|
|
123
123
|
state?: unknown;
|
|
124
124
|
}, {
|
|
125
|
-
documentType: string;
|
|
126
|
-
revision: number;
|
|
127
125
|
id: string;
|
|
128
126
|
name: string;
|
|
127
|
+
documentType: string;
|
|
128
|
+
revision: number;
|
|
129
129
|
created: string | Date;
|
|
130
130
|
lastModified: string | Date;
|
|
131
131
|
slug?: string | null | undefined;
|
|
@@ -138,10 +138,10 @@ export declare const PHDocumentResultPageDTO: z.ZodObject<{
|
|
|
138
138
|
cursor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
139
139
|
}, "strip", z.ZodTypeAny, {
|
|
140
140
|
items: {
|
|
141
|
-
documentType: string;
|
|
142
|
-
revision: number;
|
|
143
141
|
id: string;
|
|
144
142
|
name: string;
|
|
143
|
+
documentType: string;
|
|
144
|
+
revision: number;
|
|
145
145
|
created: string | Date;
|
|
146
146
|
lastModified: string | Date;
|
|
147
147
|
slug?: string | null | undefined;
|
|
@@ -154,10 +154,10 @@ export declare const PHDocumentResultPageDTO: z.ZodObject<{
|
|
|
154
154
|
cursor?: string | null | undefined;
|
|
155
155
|
}, {
|
|
156
156
|
items: {
|
|
157
|
-
documentType: string;
|
|
158
|
-
revision: number;
|
|
159
157
|
id: string;
|
|
160
158
|
name: string;
|
|
159
|
+
documentType: string;
|
|
160
|
+
revision: number;
|
|
161
161
|
created: string | Date;
|
|
162
162
|
lastModified: string | Date;
|
|
163
163
|
slug?: string | null | undefined;
|
|
@@ -181,20 +181,20 @@ export declare const DocumentWithChildrenDTO: z.ZodObject<{
|
|
|
181
181
|
lastModified: z.ZodUnion<[z.ZodString, z.ZodDate]>;
|
|
182
182
|
parentId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
183
183
|
}, "strip", z.ZodTypeAny, {
|
|
184
|
-
documentType: string;
|
|
185
|
-
revision: number;
|
|
186
184
|
id: string;
|
|
187
185
|
name: string;
|
|
186
|
+
documentType: string;
|
|
187
|
+
revision: number;
|
|
188
188
|
created: string | Date;
|
|
189
189
|
lastModified: string | Date;
|
|
190
190
|
slug?: string | null | undefined;
|
|
191
191
|
parentId?: string | null | undefined;
|
|
192
192
|
state?: unknown;
|
|
193
193
|
}, {
|
|
194
|
-
documentType: string;
|
|
195
|
-
revision: number;
|
|
196
194
|
id: string;
|
|
197
195
|
name: string;
|
|
196
|
+
documentType: string;
|
|
197
|
+
revision: number;
|
|
198
198
|
created: string | Date;
|
|
199
199
|
lastModified: string | Date;
|
|
200
200
|
slug?: string | null | undefined;
|
|
@@ -204,10 +204,10 @@ export declare const DocumentWithChildrenDTO: z.ZodObject<{
|
|
|
204
204
|
childIds: z.ZodArray<z.ZodString, "many">;
|
|
205
205
|
}, "strip", z.ZodTypeAny, {
|
|
206
206
|
document: {
|
|
207
|
-
documentType: string;
|
|
208
|
-
revision: number;
|
|
209
207
|
id: string;
|
|
210
208
|
name: string;
|
|
209
|
+
documentType: string;
|
|
210
|
+
revision: number;
|
|
211
211
|
created: string | Date;
|
|
212
212
|
lastModified: string | Date;
|
|
213
213
|
slug?: string | null | undefined;
|
|
@@ -217,10 +217,10 @@ export declare const DocumentWithChildrenDTO: z.ZodObject<{
|
|
|
217
217
|
childIds: string[];
|
|
218
218
|
}, {
|
|
219
219
|
document: {
|
|
220
|
-
documentType: string;
|
|
221
|
-
revision: number;
|
|
222
220
|
id: string;
|
|
223
221
|
name: string;
|
|
222
|
+
documentType: string;
|
|
223
|
+
revision: number;
|
|
224
224
|
created: string | Date;
|
|
225
225
|
lastModified: string | Date;
|
|
226
226
|
slug?: string | null | undefined;
|
|
@@ -241,20 +241,20 @@ export declare const MoveChildrenResultDTO: z.ZodObject<{
|
|
|
241
241
|
lastModified: z.ZodUnion<[z.ZodString, z.ZodDate]>;
|
|
242
242
|
parentId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
243
243
|
}, "strip", z.ZodTypeAny, {
|
|
244
|
-
documentType: string;
|
|
245
|
-
revision: number;
|
|
246
244
|
id: string;
|
|
247
245
|
name: string;
|
|
246
|
+
documentType: string;
|
|
247
|
+
revision: number;
|
|
248
248
|
created: string | Date;
|
|
249
249
|
lastModified: string | Date;
|
|
250
250
|
slug?: string | null | undefined;
|
|
251
251
|
parentId?: string | null | undefined;
|
|
252
252
|
state?: unknown;
|
|
253
253
|
}, {
|
|
254
|
-
documentType: string;
|
|
255
|
-
revision: number;
|
|
256
254
|
id: string;
|
|
257
255
|
name: string;
|
|
256
|
+
documentType: string;
|
|
257
|
+
revision: number;
|
|
258
258
|
created: string | Date;
|
|
259
259
|
lastModified: string | Date;
|
|
260
260
|
slug?: string | null | undefined;
|
|
@@ -272,20 +272,20 @@ export declare const MoveChildrenResultDTO: z.ZodObject<{
|
|
|
272
272
|
lastModified: z.ZodUnion<[z.ZodString, z.ZodDate]>;
|
|
273
273
|
parentId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
274
274
|
}, "strip", z.ZodTypeAny, {
|
|
275
|
-
documentType: string;
|
|
276
|
-
revision: number;
|
|
277
275
|
id: string;
|
|
278
276
|
name: string;
|
|
277
|
+
documentType: string;
|
|
278
|
+
revision: number;
|
|
279
279
|
created: string | Date;
|
|
280
280
|
lastModified: string | Date;
|
|
281
281
|
slug?: string | null | undefined;
|
|
282
282
|
parentId?: string | null | undefined;
|
|
283
283
|
state?: unknown;
|
|
284
284
|
}, {
|
|
285
|
-
documentType: string;
|
|
286
|
-
revision: number;
|
|
287
285
|
id: string;
|
|
288
286
|
name: string;
|
|
287
|
+
documentType: string;
|
|
288
|
+
revision: number;
|
|
289
289
|
created: string | Date;
|
|
290
290
|
lastModified: string | Date;
|
|
291
291
|
slug?: string | null | undefined;
|
|
@@ -294,10 +294,10 @@ export declare const MoveChildrenResultDTO: z.ZodObject<{
|
|
|
294
294
|
}>;
|
|
295
295
|
}, "strip", z.ZodTypeAny, {
|
|
296
296
|
target: {
|
|
297
|
-
documentType: string;
|
|
298
|
-
revision: number;
|
|
299
297
|
id: string;
|
|
300
298
|
name: string;
|
|
299
|
+
documentType: string;
|
|
300
|
+
revision: number;
|
|
301
301
|
created: string | Date;
|
|
302
302
|
lastModified: string | Date;
|
|
303
303
|
slug?: string | null | undefined;
|
|
@@ -305,10 +305,10 @@ export declare const MoveChildrenResultDTO: z.ZodObject<{
|
|
|
305
305
|
state?: unknown;
|
|
306
306
|
};
|
|
307
307
|
source: {
|
|
308
|
-
documentType: string;
|
|
309
|
-
revision: number;
|
|
310
308
|
id: string;
|
|
311
309
|
name: string;
|
|
310
|
+
documentType: string;
|
|
311
|
+
revision: number;
|
|
312
312
|
created: string | Date;
|
|
313
313
|
lastModified: string | Date;
|
|
314
314
|
slug?: string | null | undefined;
|
|
@@ -317,10 +317,10 @@ export declare const MoveChildrenResultDTO: z.ZodObject<{
|
|
|
317
317
|
};
|
|
318
318
|
}, {
|
|
319
319
|
target: {
|
|
320
|
-
documentType: string;
|
|
321
|
-
revision: number;
|
|
322
320
|
id: string;
|
|
323
321
|
name: string;
|
|
322
|
+
documentType: string;
|
|
323
|
+
revision: number;
|
|
324
324
|
created: string | Date;
|
|
325
325
|
lastModified: string | Date;
|
|
326
326
|
slug?: string | null | undefined;
|
|
@@ -328,10 +328,10 @@ export declare const MoveChildrenResultDTO: z.ZodObject<{
|
|
|
328
328
|
state?: unknown;
|
|
329
329
|
};
|
|
330
330
|
source: {
|
|
331
|
-
documentType: string;
|
|
332
|
-
revision: number;
|
|
333
331
|
id: string;
|
|
334
332
|
name: string;
|
|
333
|
+
documentType: string;
|
|
334
|
+
revision: number;
|
|
335
335
|
created: string | Date;
|
|
336
336
|
lastModified: string | Date;
|
|
337
337
|
slug?: string | null | undefined;
|
|
@@ -347,16 +347,16 @@ export declare const JobInfoDTO: z.ZodObject<{
|
|
|
347
347
|
createdAt: z.ZodUnion<[z.ZodString, z.ZodDate]>;
|
|
348
348
|
completedAt: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodDate]>>>;
|
|
349
349
|
}, "strip", z.ZodTypeAny, {
|
|
350
|
-
status: string;
|
|
351
350
|
id: string;
|
|
352
351
|
createdAt: string | Date;
|
|
352
|
+
status: string;
|
|
353
353
|
error?: string | null | undefined;
|
|
354
354
|
result?: unknown;
|
|
355
355
|
completedAt?: string | Date | null | undefined;
|
|
356
356
|
}, {
|
|
357
|
-
status: string;
|
|
358
357
|
id: string;
|
|
359
358
|
createdAt: string | Date;
|
|
359
|
+
status: string;
|
|
360
360
|
error?: string | null | undefined;
|
|
361
361
|
result?: unknown;
|
|
362
362
|
completedAt?: string | Date | null | undefined;
|
|
@@ -5,6 +5,7 @@ import type { DocumentDriveGlobalState, IDocumentDriveServer, IRelationalDb } fr
|
|
|
5
5
|
import type { PHDocument } from "document-model";
|
|
6
6
|
import type { DocumentNode } from "graphql";
|
|
7
7
|
import type { IncomingHttpHeaders } from "http";
|
|
8
|
+
import type { DocumentPermissionService } from "../services/document-permission.service.js";
|
|
8
9
|
import type { BaseSubgraph } from "./base-subgraph.js";
|
|
9
10
|
export type SubgraphClass = typeof BaseSubgraph;
|
|
10
11
|
export type Context = {
|
|
@@ -21,6 +22,7 @@ export type Context = {
|
|
|
21
22
|
chainId: number;
|
|
22
23
|
networkId: string;
|
|
23
24
|
};
|
|
25
|
+
documentPermissionService?: DocumentPermissionService;
|
|
24
26
|
};
|
|
25
27
|
export type ISubgraph = {
|
|
26
28
|
name: string;
|
|
@@ -38,7 +40,8 @@ export type SubgraphArgs = {
|
|
|
38
40
|
relationalDb: IRelationalDb;
|
|
39
41
|
analyticsStore: IAnalyticsStore;
|
|
40
42
|
graphqlManager: GraphQLManager;
|
|
41
|
-
syncManager
|
|
43
|
+
syncManager: ISyncManager;
|
|
44
|
+
documentPermissionService?: DocumentPermissionService;
|
|
42
45
|
path?: string;
|
|
43
46
|
};
|
|
44
47
|
export type GqlSigner = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/graphql/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EACV,wBAAwB,EACxB,oBAAoB,EACpB,aAAa,EACd,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,MAAM,CAAC;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,MAAM,MAAM,aAAa,GAAG,OAAO,YAAY,CAAC;AAEhD,MAAM,MAAM,OAAO,GAAG;IACpB,WAAW,EAAE,oBAAoB,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,OAAO,EAAE,mBAAmB,CAAC;IAC7B,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;IACvC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;IACtC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;IACvC,IAAI,CAAC,EAAE;QACL,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/graphql/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"001_create_document_permissions.d.ts","sourceRoot":"","sources":["../../../src/migrations/001_create_document_permissions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGrC,wBAAsB,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CA4G3D;AAED,wBAAsB,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAO7D"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { sql } from "kysely";
|
|
2
|
+
export async function up(db) {
|
|
3
|
+
// Create DocumentPermission table
|
|
4
|
+
await sql `
|
|
5
|
+
CREATE TABLE IF NOT EXISTS "DocumentPermission" (
|
|
6
|
+
"id" SERIAL PRIMARY KEY,
|
|
7
|
+
"documentId" VARCHAR(255) NOT NULL,
|
|
8
|
+
"userAddress" VARCHAR(255) NOT NULL,
|
|
9
|
+
"permission" VARCHAR(20) NOT NULL CHECK ("permission" IN ('READ', 'WRITE', 'ADMIN')),
|
|
10
|
+
"grantedBy" VARCHAR(255) NOT NULL,
|
|
11
|
+
"createdAt" TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
12
|
+
"updatedAt" TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
13
|
+
UNIQUE ("documentId", "userAddress")
|
|
14
|
+
)
|
|
15
|
+
`.execute(db);
|
|
16
|
+
// Create indexes for DocumentPermission
|
|
17
|
+
await sql `CREATE INDEX IF NOT EXISTS "documentpermission_documentid_index" ON "DocumentPermission" ("documentId")`.execute(db);
|
|
18
|
+
await sql `CREATE INDEX IF NOT EXISTS "documentpermission_useraddress_index" ON "DocumentPermission" ("userAddress")`.execute(db);
|
|
19
|
+
// Create Group table
|
|
20
|
+
await sql `
|
|
21
|
+
CREATE TABLE IF NOT EXISTS "Group" (
|
|
22
|
+
"id" SERIAL PRIMARY KEY,
|
|
23
|
+
"name" VARCHAR(255) NOT NULL UNIQUE,
|
|
24
|
+
"description" TEXT,
|
|
25
|
+
"createdAt" TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
26
|
+
"updatedAt" TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
|
|
27
|
+
)
|
|
28
|
+
`.execute(db);
|
|
29
|
+
// Create UserGroup table (user-group membership)
|
|
30
|
+
await sql `
|
|
31
|
+
CREATE TABLE IF NOT EXISTS "UserGroup" (
|
|
32
|
+
"userAddress" VARCHAR(255) NOT NULL,
|
|
33
|
+
"groupId" INTEGER NOT NULL,
|
|
34
|
+
"createdAt" TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
35
|
+
PRIMARY KEY ("userAddress", "groupId")
|
|
36
|
+
)
|
|
37
|
+
`.execute(db);
|
|
38
|
+
await sql `CREATE INDEX IF NOT EXISTS "usergroup_groupid_index" ON "UserGroup" ("groupId")`.execute(db);
|
|
39
|
+
// Create DocumentGroupPermission table
|
|
40
|
+
await sql `
|
|
41
|
+
CREATE TABLE IF NOT EXISTS "DocumentGroupPermission" (
|
|
42
|
+
"id" SERIAL PRIMARY KEY,
|
|
43
|
+
"documentId" VARCHAR(255) NOT NULL,
|
|
44
|
+
"groupId" INTEGER NOT NULL,
|
|
45
|
+
"permission" VARCHAR(20) NOT NULL CHECK ("permission" IN ('READ', 'WRITE', 'ADMIN')),
|
|
46
|
+
"grantedBy" VARCHAR(255) NOT NULL,
|
|
47
|
+
"createdAt" TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
48
|
+
"updatedAt" TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
49
|
+
UNIQUE ("documentId", "groupId")
|
|
50
|
+
)
|
|
51
|
+
`.execute(db);
|
|
52
|
+
await sql `CREATE INDEX IF NOT EXISTS "documentgrouppermission_documentid_index" ON "DocumentGroupPermission" ("documentId")`.execute(db);
|
|
53
|
+
await sql `CREATE INDEX IF NOT EXISTS "documentgrouppermission_groupid_index" ON "DocumentGroupPermission" ("groupId")`.execute(db);
|
|
54
|
+
// Create OperationUserPermission table
|
|
55
|
+
await sql `
|
|
56
|
+
CREATE TABLE IF NOT EXISTS "OperationUserPermission" (
|
|
57
|
+
"id" SERIAL PRIMARY KEY,
|
|
58
|
+
"documentId" VARCHAR(255) NOT NULL,
|
|
59
|
+
"operationType" VARCHAR(255) NOT NULL,
|
|
60
|
+
"userAddress" VARCHAR(255) NOT NULL,
|
|
61
|
+
"grantedBy" VARCHAR(255) NOT NULL,
|
|
62
|
+
"createdAt" TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
63
|
+
UNIQUE ("documentId", "operationType", "userAddress")
|
|
64
|
+
)
|
|
65
|
+
`.execute(db);
|
|
66
|
+
await sql `CREATE INDEX IF NOT EXISTS "operationuserpermission_documentid_index" ON "OperationUserPermission" ("documentId")`.execute(db);
|
|
67
|
+
await sql `CREATE INDEX IF NOT EXISTS "operationuserpermission_useraddress_index" ON "OperationUserPermission" ("userAddress")`.execute(db);
|
|
68
|
+
// Create OperationGroupPermission table
|
|
69
|
+
await sql `
|
|
70
|
+
CREATE TABLE IF NOT EXISTS "OperationGroupPermission" (
|
|
71
|
+
"id" SERIAL PRIMARY KEY,
|
|
72
|
+
"documentId" VARCHAR(255) NOT NULL,
|
|
73
|
+
"operationType" VARCHAR(255) NOT NULL,
|
|
74
|
+
"groupId" INTEGER NOT NULL,
|
|
75
|
+
"grantedBy" VARCHAR(255) NOT NULL,
|
|
76
|
+
"createdAt" TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
77
|
+
UNIQUE ("documentId", "operationType", "groupId")
|
|
78
|
+
)
|
|
79
|
+
`.execute(db);
|
|
80
|
+
await sql `CREATE INDEX IF NOT EXISTS "operationgrouppermission_documentid_index" ON "OperationGroupPermission" ("documentId")`.execute(db);
|
|
81
|
+
await sql `CREATE INDEX IF NOT EXISTS "operationgrouppermission_groupid_index" ON "OperationGroupPermission" ("groupId")`.execute(db);
|
|
82
|
+
}
|
|
83
|
+
export async function down(db) {
|
|
84
|
+
await sql `DROP TABLE IF EXISTS "OperationGroupPermission"`.execute(db);
|
|
85
|
+
await sql `DROP TABLE IF EXISTS "OperationUserPermission"`.execute(db);
|
|
86
|
+
await sql `DROP TABLE IF EXISTS "DocumentGroupPermission"`.execute(db);
|
|
87
|
+
await sql `DROP TABLE IF EXISTS "UserGroup"`.execute(db);
|
|
88
|
+
await sql `DROP TABLE IF EXISTS "Group"`.execute(db);
|
|
89
|
+
await sql `DROP TABLE IF EXISTS "DocumentPermission"`.execute(db);
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=001_create_document_permissions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"001_create_document_permissions.js","sourceRoot":"","sources":["../../../src/migrations/001_create_document_permissions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAE7B,MAAM,CAAC,KAAK,UAAU,EAAE,CAAC,EAAmB;IAC1C,kCAAkC;IAClC,MAAM,GAAG,CAAA;;;;;;;;;;;GAWR,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAEd,wCAAwC;IACxC,MAAM,GAAG,CAAA,yGAAyG,CAAC,OAAO,CACxH,EAAE,CACH,CAAC;IACF,MAAM,GAAG,CAAA,2GAA2G,CAAC,OAAO,CAC1H,EAAE,CACH,CAAC;IAEF,qBAAqB;IACrB,MAAM,GAAG,CAAA;;;;;;;;GAQR,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAEd,iDAAiD;IACjD,MAAM,GAAG,CAAA;;;;;;;GAOR,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAEd,MAAM,GAAG,CAAA,iFAAiF,CAAC,OAAO,CAChG,EAAE,CACH,CAAC;IAEF,uCAAuC;IACvC,MAAM,GAAG,CAAA;;;;;;;;;;;GAWR,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAEd,MAAM,GAAG,CAAA,mHAAmH,CAAC,OAAO,CAClI,EAAE,CACH,CAAC;IACF,MAAM,GAAG,CAAA,6GAA6G,CAAC,OAAO,CAC5H,EAAE,CACH,CAAC;IAEF,uCAAuC;IACvC,MAAM,GAAG,CAAA;;;;;;;;;;GAUR,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAEd,MAAM,GAAG,CAAA,mHAAmH,CAAC,OAAO,CAClI,EAAE,CACH,CAAC;IACF,MAAM,GAAG,CAAA,qHAAqH,CAAC,OAAO,CACpI,EAAE,CACH,CAAC;IAEF,wCAAwC;IACxC,MAAM,GAAG,CAAA;;;;;;;;;;GAUR,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAEd,MAAM,GAAG,CAAA,qHAAqH,CAAC,OAAO,CACpI,EAAE,CACH,CAAC;IACF,MAAM,GAAG,CAAA,+GAA+G,CAAC,OAAO,CAC9H,EAAE,CACH,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,EAAmB;IAC5C,MAAM,GAAG,CAAA,iDAAiD,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACvE,MAAM,GAAG,CAAA,gDAAgD,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACtE,MAAM,GAAG,CAAA,gDAAgD,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACtE,MAAM,GAAG,CAAA,kCAAkC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACxD,MAAM,GAAG,CAAA,8BAA8B,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACpD,MAAM,GAAG,CAAA,2CAA2C,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AACnE,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type Kysely } from "kysely";
|
|
2
|
+
/**
|
|
3
|
+
* Run all pending migrations
|
|
4
|
+
*/
|
|
5
|
+
export declare function runMigrations(db: Kysely<unknown>): Promise<void>;
|
|
6
|
+
/**
|
|
7
|
+
* Rollback the last migration
|
|
8
|
+
*/
|
|
9
|
+
export declare function rollbackMigration(db: Kysely<unknown>): Promise<void>;
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/migrations/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,MAAM,EAGZ,MAAM,QAAQ,CAAC;AAchB;;GAEG;AACH,wBAAsB,aAAa,CAAC,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAwBtE;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAwB1E"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { Migrator, } from "kysely";
|
|
2
|
+
import * as migration001 from "./001_create_document_permissions.js";
|
|
3
|
+
/**
|
|
4
|
+
* Custom migration provider that loads migrations from imported modules
|
|
5
|
+
*/
|
|
6
|
+
class StaticMigrationProvider {
|
|
7
|
+
async getMigrations() {
|
|
8
|
+
return {
|
|
9
|
+
"001_create_document_permissions": migration001,
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Run all pending migrations
|
|
15
|
+
*/
|
|
16
|
+
export async function runMigrations(db) {
|
|
17
|
+
const migrator = new Migrator({
|
|
18
|
+
db,
|
|
19
|
+
provider: new StaticMigrationProvider(),
|
|
20
|
+
});
|
|
21
|
+
const { error, results } = await migrator.migrateToLatest();
|
|
22
|
+
results?.forEach((result) => {
|
|
23
|
+
if (result.status === "Success") {
|
|
24
|
+
console.log(`Migration "${result.migrationName}" was executed successfully`);
|
|
25
|
+
}
|
|
26
|
+
else if (result.status === "Error") {
|
|
27
|
+
console.error(`Failed to execute migration "${result.migrationName}"`);
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
if (error) {
|
|
31
|
+
console.error("Failed to run migrations:", error);
|
|
32
|
+
const errorMessage = error instanceof Error ? error.message : "Unknown error";
|
|
33
|
+
throw new Error(`Migration failed: ${errorMessage}`);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Rollback the last migration
|
|
38
|
+
*/
|
|
39
|
+
export async function rollbackMigration(db) {
|
|
40
|
+
const migrator = new Migrator({
|
|
41
|
+
db,
|
|
42
|
+
provider: new StaticMigrationProvider(),
|
|
43
|
+
});
|
|
44
|
+
const { error, results } = await migrator.migrateDown();
|
|
45
|
+
results?.forEach((result) => {
|
|
46
|
+
if (result.status === "Success") {
|
|
47
|
+
console.log(`Migration "${result.migrationName}" was rolled back successfully`);
|
|
48
|
+
}
|
|
49
|
+
else if (result.status === "Error") {
|
|
50
|
+
console.error(`Failed to rollback migration "${result.migrationName}"`);
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
if (error) {
|
|
54
|
+
console.error("Failed to rollback migration:", error);
|
|
55
|
+
const errorMessage = error instanceof Error ? error.message : "Unknown error";
|
|
56
|
+
throw new Error(`Rollback failed: ${errorMessage}`);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/migrations/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,GAIT,MAAM,QAAQ,CAAC;AAChB,OAAO,KAAK,YAAY,MAAM,sCAAsC,CAAC;AAErE;;GAEG;AACH,MAAM,uBAAuB;IAC3B,KAAK,CAAC,aAAa;QACjB,OAAO;YACL,iCAAiC,EAAE,YAAY;SAChD,CAAC;IACJ,CAAC;CACF;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,EAAmB;IACrD,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC;QAC5B,EAAE;QACF,QAAQ,EAAE,IAAI,uBAAuB,EAAE;KACxC,CAAC,CAAC;IAEH,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,QAAQ,CAAC,eAAe,EAAE,CAAC;IAE5D,OAAO,EAAE,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QAC1B,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,CACT,cAAc,MAAM,CAAC,aAAa,6BAA6B,CAChE,CAAC;QACJ,CAAC;aAAM,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YACrC,OAAO,CAAC,KAAK,CAAC,gCAAgC,MAAM,CAAC,aAAa,GAAG,CAAC,CAAC;QACzE,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;QAClD,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;QAC3D,MAAM,IAAI,KAAK,CAAC,qBAAqB,YAAY,EAAE,CAAC,CAAC;IACvD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,EAAmB;IACzD,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC;QAC5B,EAAE;QACF,QAAQ,EAAE,IAAI,uBAAuB,EAAE;KACxC,CAAC,CAAC;IAEH,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;IAExD,OAAO,EAAE,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QAC1B,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,CACT,cAAc,MAAM,CAAC,aAAa,gCAAgC,CACnE,CAAC;QACJ,CAAC;aAAM,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YACrC,OAAO,CAAC,KAAK,CAAC,iCAAiC,MAAM,CAAC,aAAa,GAAG,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;QACtD,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;QAC3D,MAAM,IAAI,KAAK,CAAC,oBAAoB,YAAY,EAAE,CAAC,CAAC;IACtD,CAAC;AACH,CAAC"}
|
|
@@ -41,7 +41,7 @@ async function loadDependency(packageName, subPath) {
|
|
|
41
41
|
try {
|
|
42
42
|
// vite does not support this, but that's okay as we have provided the
|
|
43
43
|
// vite-loader for this purpose
|
|
44
|
-
const module = await import(/* @vite-ignore */ fullPath);
|
|
44
|
+
const module = (await import(/* @vite-ignore */ fullPath));
|
|
45
45
|
return module;
|
|
46
46
|
}
|
|
47
47
|
catch (e) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/packages/util.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAS5D,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC,CAAC;AAE7D,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAAE,QAAkB,EAAE,EAAE;IAC1D,KAAK,MAAM,WAAW,IAAI,QAAQ,EAAE,CAAC;QACnC,QAAQ,CAAC,cAAc,WAAW,EAAE,CAAC,CAAC;IACxC,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE;IAC/B,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC;IACpD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,WAAmB;IAEnB,OAAO,cAAc,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;AACxD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,WAAmB;IAEnB,OAAO,cAAc,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,WAAmB;IAEnB,OAAO,cAAc,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;AACnD,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,cAAc,CAC3B,WAAmB,EACnB,OAAe;IAEf,MAAM,QAAQ,GAAG,GAAG,WAAW,IAAI,OAAO,EAAE,CAAC;IAE7C,gCAAgC;IAChC,IAAI,CAAC;QACH,sEAAsE;QACtE,+BAA+B;QAE/B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/packages/util.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAS5D,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC,CAAC;AAE7D,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAAE,QAAkB,EAAE,EAAE;IAC1D,KAAK,MAAM,WAAW,IAAI,QAAQ,EAAE,CAAC;QACnC,QAAQ,CAAC,cAAc,WAAW,EAAE,CAAC,CAAC;IACxC,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE;IAC/B,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC;IACpD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,WAAmB;IAEnB,OAAO,cAAc,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;AACxD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,WAAmB;IAEnB,OAAO,cAAc,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,WAAmB;IAEnB,OAAO,cAAc,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;AACnD,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,cAAc,CAC3B,WAAmB,EACnB,OAAe;IAEf,MAAM,QAAQ,GAAG,GAAG,WAAW,IAAI,OAAO,EAAE,CAAC;IAE7C,gCAAgC;IAChC,IAAI,CAAC;QACH,sEAAsE;QACtE,+BAA+B;QAE/B,MAAM,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAM,CAAC;QAChE,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,0DAA0D;QAC1D,IACE,CAAC,YAAY,KAAK;YAClB,MAAM,IAAI,CAAC;YACX,CAAC,CAAC,CAAC,IAAI,KAAK,sBAAsB;gBAChC,CAAC,CAAC,IAAI,KAAK,4BAA4B,CAAC,EAC1C,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAI,WAAW,EAAE,OAAO,CAAC,CAAC;YACnE,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAC;YAE1B,yCAAyC;YACzC,MAAM,CAAC,IAAI,CACT,6BAA6B,QAAQ,IAAI,WAAW,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,EAAE,EAAE,CACvG,CAAC;YACF,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;aAAM,IACL,CAAC,YAAY,KAAK;YAClB,MAAM,IAAI,CAAC;YACX,CAAC,+BAA+B,EAAE,sBAAsB,CAAC,CAAC,QAAQ,CAChE,CAAC,CAAC,IAAc,CACjB,EACD,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,CAAC,4BAA4B,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC;QAC3D,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,QAAQ,CACtB,IAAgC,EAChC,KAAK,GAAG,GAAG;IAEX,IAAI,KAAa,CAAC;IAClB,OAAO,CAAC,SAAS,GAAG,KAAK,EAAE,GAAG,IAAO,EAAE,EAAE;QACvC,IAAI,KAAK,EAAE,CAAC;YACV,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;QACD,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxC,IAAI,SAAS,EAAE,CAAC;gBACd,IAAI,CAAC,GAAG,IAAI,CAAC;qBACV,IAAI,CAAC,OAAO,CAAC;qBACb,KAAK,CAAC,MAAM,CAAC,CAAC;YACnB,CAAC;iBAAM,CAAC;gBACN,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;oBACtB,IAAI,CAAC,GAAG,IAAI,CAAC;yBACV,IAAI,CAAC,OAAO,CAAC;yBACb,KAAK,CAAC,MAAM,CAAC,CAAC;gBACnB,CAAC,EAAE,KAAK,CAAsB,CAAC;YACjC,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,MAAc,EAAE,GAAW;IACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5C,OAAO,QAAQ,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC9E,CAAC"}
|
package/dist/src/server.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import type { PGlite } from "@electric-sql/pglite";
|
|
2
|
-
import type { IReactorClient } from "@powerhousedao/reactor";
|
|
2
|
+
import type { IReactorClient, ISyncManager } from "@powerhousedao/reactor";
|
|
3
3
|
import type { IDocumentDriveServer } from "document-drive";
|
|
4
4
|
import type { DocumentModelModule } from "document-model";
|
|
5
5
|
import type { Express } from "express";
|
|
6
6
|
import type { Pool } from "pg";
|
|
7
|
+
import { DocumentPermissionService } from "./services/document-permission.service.js";
|
|
7
8
|
import type { API, IPackageLoader, Processor } from "./types.js";
|
|
8
9
|
type Options = {
|
|
9
10
|
express?: Express;
|
|
@@ -27,9 +28,14 @@ type Options = {
|
|
|
27
28
|
processors?: Record<string, Processor>;
|
|
28
29
|
mcp?: boolean;
|
|
29
30
|
processorConfig?: Map<string, unknown>;
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
31
|
+
/**
|
|
32
|
+
* Document permission service instance.
|
|
33
|
+
* When provided, the Auth subgraph is registered and document permission
|
|
34
|
+
* checks are enforced on document operations.
|
|
35
|
+
* If not provided, can be auto-created by setting DOCUMENT_PERMISSIONS_ENABLED=true
|
|
36
|
+
* environment variable.
|
|
37
|
+
*/
|
|
38
|
+
documentPermissionService?: DocumentPermissionService;
|
|
33
39
|
};
|
|
34
40
|
/**
|
|
35
41
|
* Starts the API server with pre-initialized drive server and client instances.
|
|
@@ -40,19 +46,22 @@ type Options = {
|
|
|
40
46
|
*
|
|
41
47
|
* @returns The API server components.
|
|
42
48
|
*/
|
|
43
|
-
export declare function startAPI(driveServer: IDocumentDriveServer, client: IReactorClient, options: Options): Promise<API>;
|
|
49
|
+
export declare function startAPI(driveServer: IDocumentDriveServer, client: IReactorClient, syncManager: ISyncManager, options: Options): Promise<API>;
|
|
44
50
|
/**
|
|
45
51
|
* Initializes and starts the API server using initializer functions.
|
|
46
52
|
* This function first loads packages to get document models, then calls the initializer functions
|
|
47
53
|
* to create the drive server and client instances with the appropriate dependencies.
|
|
48
54
|
*
|
|
49
55
|
* @param driveServerInitializer - Initializer function that creates the document drive server with document models.
|
|
50
|
-
* @param clientInitializer - Initializer function that creates the reactor client with the drive server.
|
|
56
|
+
* @param clientInitializer - Initializer function that creates the reactor client and sync manager with the drive server.
|
|
51
57
|
* @param options - Additional options for server configuration.
|
|
52
58
|
*
|
|
53
59
|
* @returns The API server components along with the created drive server and client instances.
|
|
54
60
|
*/
|
|
55
|
-
export declare function initializeAndStartAPI(driveServerInitializer: (documentModelModules: DocumentModelModule[]) => Promise<IDocumentDriveServer>, clientInitializer: (driveServer: IDocumentDriveServer, documentModels: DocumentModelModule[]) => Promise<
|
|
61
|
+
export declare function initializeAndStartAPI(driveServerInitializer: (documentModelModules: DocumentModelModule[]) => Promise<IDocumentDriveServer>, clientInitializer: (driveServer: IDocumentDriveServer, documentModels: DocumentModelModule[]) => Promise<{
|
|
62
|
+
client: IReactorClient;
|
|
63
|
+
syncManager: ISyncManager;
|
|
64
|
+
}>, options: Options): Promise<API & {
|
|
56
65
|
driveServer: IDocumentDriveServer;
|
|
57
66
|
client: IReactorClient;
|
|
58
67
|
}>;
|
package/dist/src/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAInD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAInD,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAG3E,OAAO,KAAK,EAEV,oBAAoB,EAKrB,MAAM,gBAAgB,CAAC;AAMxB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAOvC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAe/B,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,KAAK,EAAE,GAAG,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAWjE,KAAK,OAAO,GAAG;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,IAAI,GAAG,SAAS,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE;QACL,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,SAAS,EAAE,OAAO,CAAC;KACpB,CAAC;IACF,KAAK,CAAC,EACF;QACE,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;KAClB,GACD,OAAO,GACP,SAAS,CAAC;IACd,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACvC,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC;;;;;;OAMG;IACH,yBAAyB,CAAC,EAAE,yBAAyB,CAAC;CACvD,CAAC;AAqeF;;;;;;;;GAQG;AACH,wBAAsB,QAAQ,CAC5B,WAAW,EAAE,oBAAoB,EACjC,MAAM,EAAE,cAAc,EACtB,WAAW,EAAE,YAAY,EACzB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,GAAG,CAAC,CAkCd;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,qBAAqB,CACzC,sBAAsB,EAAE,CACtB,oBAAoB,EAAE,mBAAmB,EAAE,KACxC,OAAO,CAAC,oBAAoB,CAAC,EAClC,iBAAiB,EAAE,CACjB,WAAW,EAAE,oBAAoB,EACjC,cAAc,EAAE,mBAAmB,EAAE,KAClC,OAAO,CAAC;IAAE,MAAM,EAAE,cAAc,CAAC;IAAC,WAAW,EAAE,YAAY,CAAA;CAAE,CAAC,EACnE,OAAO,EAAE,OAAO,GACf,OAAO,CACR,GAAG,GAAG;IAAE,WAAW,EAAE,oBAAoB,CAAC;IAAC,MAAM,EAAE,cAAc,CAAA;CAAE,CACpE,CAuCA"}
|