@powerhousedao/reactor-api 5.0.7 → 5.0.8
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/src/graphql/graphql-manager.d.ts +6 -1
- package/dist/src/graphql/graphql-manager.d.ts.map +1 -1
- package/dist/src/graphql/graphql-manager.js +48 -1
- package/dist/src/graphql/graphql-manager.js.map +1 -1
- package/dist/src/graphql/reactor/adapters.d.ts +29 -3
- package/dist/src/graphql/reactor/adapters.d.ts.map +1 -1
- package/dist/src/graphql/reactor/adapters.js +181 -0
- package/dist/src/graphql/reactor/adapters.js.map +1 -1
- package/dist/src/graphql/reactor/pubsub.d.ts +27 -0
- package/dist/src/graphql/reactor/pubsub.d.ts.map +1 -0
- package/dist/src/graphql/reactor/pubsub.js +92 -0
- package/dist/src/graphql/reactor/pubsub.js.map +1 -0
- package/dist/src/graphql/reactor/resolvers.d.ts +69 -1
- package/dist/src/graphql/reactor/resolvers.d.ts.map +1 -1
- package/dist/src/graphql/reactor/resolvers.js +208 -1
- package/dist/src/graphql/reactor/resolvers.js.map +1 -1
- package/dist/src/graphql/reactor/subgraph.d.ts +1 -0
- package/dist/src/graphql/reactor/subgraph.d.ts.map +1 -1
- package/dist/src/graphql/reactor/subgraph.js +122 -41
- package/dist/src/graphql/reactor/subgraph.js.map +1 -1
- package/dist/src/graphql/types.d.ts +1 -0
- package/dist/src/graphql/types.d.ts.map +1 -1
- package/dist/src/graphql/websocket.d.ts +3 -0
- package/dist/src/graphql/websocket.d.ts.map +1 -0
- package/dist/src/graphql/websocket.js +15 -0
- package/dist/src/graphql/websocket.js.map +1 -0
- package/dist/src/server.d.ts.map +1 -1
- package/dist/src/server.js +23 -12
- 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 +32 -3
- package/dist/src/services/auth.service.js.map +1 -1
- package/dist/test/reactor-adapters.test.d.ts +2 -0
- package/dist/test/reactor-adapters.test.d.ts.map +1 -0
- package/dist/test/reactor-adapters.test.js +639 -0
- package/dist/test/reactor-adapters.test.js.map +1 -0
- package/dist/test/reactor-resolvers.test.js +531 -0
- package/dist/test/reactor-resolvers.test.js.map +1 -1
- package/dist/test/subscriptions.test.d.ts +2 -0
- package/dist/test/subscriptions.test.d.ts.map +1 -0
- package/dist/test/subscriptions.test.js +246 -0
- package/dist/test/subscriptions.test.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/vitest.config.d.ts.map +1 -1
- package/dist/vitest.config.js +14 -0
- package/dist/vitest.config.js.map +1 -1
- package/package.json +12 -7
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { IReactorClient } from "@powerhousedao/reactor";
|
|
2
2
|
import { toGqlPhDocument } from "./adapters.js";
|
|
3
|
-
import type { DocumentModelResultPage, JobInfo as GqlJobInfo, PhDocumentResultPage } from "./gen/graphql.js";
|
|
3
|
+
import type { DocumentModelResultPage, JobInfo as GqlJobInfo, PropagationMode as GqlPropagationMode, PhDocumentResultPage } from "./gen/graphql.js";
|
|
4
4
|
export declare function documentModels(reactorClient: IReactorClient, args: {
|
|
5
5
|
namespace?: string | null;
|
|
6
6
|
paging?: {
|
|
@@ -57,4 +57,72 @@ export declare function findDocuments(reactorClient: IReactorClient, args: {
|
|
|
57
57
|
export declare function jobStatus(reactorClient: IReactorClient, args: {
|
|
58
58
|
jobId: string;
|
|
59
59
|
}): Promise<GqlJobInfo>;
|
|
60
|
+
export declare function createDocument(reactorClient: IReactorClient, args: {
|
|
61
|
+
document: unknown;
|
|
62
|
+
parentIdentifier?: string | null;
|
|
63
|
+
}): Promise<ReturnType<typeof toGqlPhDocument>>;
|
|
64
|
+
export declare function createEmptyDocument(reactorClient: IReactorClient, args: {
|
|
65
|
+
documentType: string;
|
|
66
|
+
parentIdentifier?: string | null;
|
|
67
|
+
}): Promise<ReturnType<typeof toGqlPhDocument>>;
|
|
68
|
+
export declare function mutateDocument(reactorClient: IReactorClient, args: {
|
|
69
|
+
documentIdentifier: string;
|
|
70
|
+
actions: readonly unknown[];
|
|
71
|
+
view?: {
|
|
72
|
+
branch?: string | null;
|
|
73
|
+
scopes?: readonly string[] | null;
|
|
74
|
+
} | null;
|
|
75
|
+
}): Promise<ReturnType<typeof toGqlPhDocument>>;
|
|
76
|
+
export declare function mutateDocumentAsync(reactorClient: IReactorClient, args: {
|
|
77
|
+
documentIdentifier: string;
|
|
78
|
+
actions: readonly unknown[];
|
|
79
|
+
view?: {
|
|
80
|
+
branch?: string | null;
|
|
81
|
+
scopes?: readonly string[] | null;
|
|
82
|
+
} | null;
|
|
83
|
+
}): Promise<string>;
|
|
84
|
+
export declare function renameDocument(reactorClient: IReactorClient, args: {
|
|
85
|
+
documentIdentifier: string;
|
|
86
|
+
name: string;
|
|
87
|
+
view?: {
|
|
88
|
+
branch?: string | null;
|
|
89
|
+
scopes?: readonly string[] | null;
|
|
90
|
+
} | null;
|
|
91
|
+
}): Promise<ReturnType<typeof toGqlPhDocument>>;
|
|
92
|
+
export declare function addChildren(reactorClient: IReactorClient, args: {
|
|
93
|
+
parentIdentifier: string;
|
|
94
|
+
documentIdentifiers: readonly string[];
|
|
95
|
+
view?: {
|
|
96
|
+
branch?: string | null;
|
|
97
|
+
scopes?: readonly string[] | null;
|
|
98
|
+
} | null;
|
|
99
|
+
}): Promise<ReturnType<typeof toGqlPhDocument>>;
|
|
100
|
+
export declare function removeChildren(reactorClient: IReactorClient, args: {
|
|
101
|
+
parentIdentifier: string;
|
|
102
|
+
documentIdentifiers: readonly string[];
|
|
103
|
+
view?: {
|
|
104
|
+
branch?: string | null;
|
|
105
|
+
scopes?: readonly string[] | null;
|
|
106
|
+
} | null;
|
|
107
|
+
}): Promise<ReturnType<typeof toGqlPhDocument>>;
|
|
108
|
+
export declare function moveChildren(reactorClient: IReactorClient, args: {
|
|
109
|
+
sourceParentIdentifier: string;
|
|
110
|
+
targetParentIdentifier: string;
|
|
111
|
+
documentIdentifiers: readonly string[];
|
|
112
|
+
view?: {
|
|
113
|
+
branch?: string | null;
|
|
114
|
+
scopes?: readonly string[] | null;
|
|
115
|
+
} | null;
|
|
116
|
+
}): Promise<{
|
|
117
|
+
source: ReturnType<typeof toGqlPhDocument>;
|
|
118
|
+
target: ReturnType<typeof toGqlPhDocument>;
|
|
119
|
+
}>;
|
|
120
|
+
export declare function deleteDocument(reactorClient: IReactorClient, args: {
|
|
121
|
+
identifier: string;
|
|
122
|
+
propagate?: GqlPropagationMode | null;
|
|
123
|
+
}): Promise<boolean>;
|
|
124
|
+
export declare function deleteDocuments(reactorClient: IReactorClient, args: {
|
|
125
|
+
identifiers: readonly string[];
|
|
126
|
+
propagate?: GqlPropagationMode | null;
|
|
127
|
+
}): Promise<boolean>;
|
|
60
128
|
//# sourceMappingURL=resolvers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolvers.d.ts","sourceRoot":"","sources":["../../../../src/graphql/reactor/resolvers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,
|
|
1
|
+
{"version":3,"file":"resolvers.d.ts","sourceRoot":"","sources":["../../../../src/graphql/reactor/resolvers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { GraphQLError } from "graphql";
|
|
2
|
-
import { fromInputMaybe, toDocumentModelResultPage, toGqlJobInfo, toGqlPhDocument, toMutableArray, toPhDocumentResultPage, } from "./adapters.js";
|
|
2
|
+
import { fromInputMaybe, toDocumentModelResultPage, toGqlJobInfo, toGqlPhDocument, toMutableArray, toPhDocumentResultPage, validateActions, } from "./adapters.js";
|
|
3
3
|
export async function documentModels(reactorClient, args) {
|
|
4
4
|
const namespace = fromInputMaybe(args.namespace);
|
|
5
5
|
let paging;
|
|
@@ -170,4 +170,211 @@ export async function jobStatus(reactorClient, args) {
|
|
|
170
170
|
throw new GraphQLError(`Failed to convert job status to GraphQL: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
171
171
|
}
|
|
172
172
|
}
|
|
173
|
+
export async function createDocument(reactorClient, args) {
|
|
174
|
+
// Validate that document is a PHDocument
|
|
175
|
+
if (!args.document || typeof args.document !== "object") {
|
|
176
|
+
throw new GraphQLError("Invalid document: must be an object");
|
|
177
|
+
}
|
|
178
|
+
const document = args.document;
|
|
179
|
+
// Validate required fields
|
|
180
|
+
if (!document.header || typeof document.header !== "object") {
|
|
181
|
+
throw new GraphQLError("Invalid document: missing or invalid header");
|
|
182
|
+
}
|
|
183
|
+
const parentIdentifier = fromInputMaybe(args.parentIdentifier);
|
|
184
|
+
let result;
|
|
185
|
+
try {
|
|
186
|
+
result = await reactorClient.create(document, parentIdentifier);
|
|
187
|
+
}
|
|
188
|
+
catch (error) {
|
|
189
|
+
throw new GraphQLError(`Failed to create document: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
190
|
+
}
|
|
191
|
+
try {
|
|
192
|
+
return toGqlPhDocument(result);
|
|
193
|
+
}
|
|
194
|
+
catch (error) {
|
|
195
|
+
throw new GraphQLError(`Failed to convert created document to GraphQL: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
export async function createEmptyDocument(reactorClient, args) {
|
|
199
|
+
const parentIdentifier = fromInputMaybe(args.parentIdentifier);
|
|
200
|
+
let result;
|
|
201
|
+
try {
|
|
202
|
+
result = await reactorClient.createEmpty(args.documentType, parentIdentifier);
|
|
203
|
+
}
|
|
204
|
+
catch (error) {
|
|
205
|
+
throw new GraphQLError(`Failed to create empty document: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
206
|
+
}
|
|
207
|
+
try {
|
|
208
|
+
return toGqlPhDocument(result);
|
|
209
|
+
}
|
|
210
|
+
catch (error) {
|
|
211
|
+
throw new GraphQLError(`Failed to convert created document to GraphQL: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
export async function mutateDocument(reactorClient, args) {
|
|
215
|
+
// Validate actions
|
|
216
|
+
let validatedActions;
|
|
217
|
+
try {
|
|
218
|
+
validatedActions = await validateActions(reactorClient, args.documentIdentifier, args.actions);
|
|
219
|
+
}
|
|
220
|
+
catch (error) {
|
|
221
|
+
if (error instanceof GraphQLError) {
|
|
222
|
+
throw error;
|
|
223
|
+
}
|
|
224
|
+
throw new GraphQLError(`Action validation failed: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
225
|
+
}
|
|
226
|
+
// Extract branch from view filter (default to "main")
|
|
227
|
+
const branch = args.view?.branch ?? "main";
|
|
228
|
+
let result;
|
|
229
|
+
try {
|
|
230
|
+
result = await reactorClient.mutate(args.documentIdentifier, branch, validatedActions);
|
|
231
|
+
}
|
|
232
|
+
catch (error) {
|
|
233
|
+
throw new GraphQLError(`Failed to mutate document: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
234
|
+
}
|
|
235
|
+
try {
|
|
236
|
+
return toGqlPhDocument(result);
|
|
237
|
+
}
|
|
238
|
+
catch (error) {
|
|
239
|
+
throw new GraphQLError(`Failed to convert mutated document to GraphQL: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
export async function mutateDocumentAsync(reactorClient, args) {
|
|
243
|
+
// Validate actions
|
|
244
|
+
let validatedActions;
|
|
245
|
+
try {
|
|
246
|
+
validatedActions = await validateActions(reactorClient, args.documentIdentifier, args.actions);
|
|
247
|
+
}
|
|
248
|
+
catch (error) {
|
|
249
|
+
if (error instanceof GraphQLError) {
|
|
250
|
+
throw error;
|
|
251
|
+
}
|
|
252
|
+
throw new GraphQLError(`Action validation failed: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
253
|
+
}
|
|
254
|
+
// Extract branch from view filter (default to "main")
|
|
255
|
+
const branch = args.view?.branch ?? "main";
|
|
256
|
+
let result;
|
|
257
|
+
try {
|
|
258
|
+
result = await reactorClient.mutateAsync(args.documentIdentifier, branch, validatedActions);
|
|
259
|
+
}
|
|
260
|
+
catch (error) {
|
|
261
|
+
throw new GraphQLError(`Failed to submit document mutation: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
262
|
+
}
|
|
263
|
+
return result.id;
|
|
264
|
+
}
|
|
265
|
+
export async function renameDocument(reactorClient, args) {
|
|
266
|
+
let view;
|
|
267
|
+
if (args.view) {
|
|
268
|
+
view = {
|
|
269
|
+
branch: fromInputMaybe(args.view.branch),
|
|
270
|
+
scopes: toMutableArray(fromInputMaybe(args.view.scopes)),
|
|
271
|
+
};
|
|
272
|
+
}
|
|
273
|
+
let result;
|
|
274
|
+
try {
|
|
275
|
+
result = await reactorClient.rename(args.documentIdentifier, args.name, view);
|
|
276
|
+
}
|
|
277
|
+
catch (error) {
|
|
278
|
+
throw new GraphQLError(`Failed to rename document: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
279
|
+
}
|
|
280
|
+
try {
|
|
281
|
+
return toGqlPhDocument(result);
|
|
282
|
+
}
|
|
283
|
+
catch (error) {
|
|
284
|
+
throw new GraphQLError(`Failed to convert renamed document to GraphQL: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
export async function addChildren(reactorClient, args) {
|
|
288
|
+
let view;
|
|
289
|
+
if (args.view) {
|
|
290
|
+
view = {
|
|
291
|
+
branch: fromInputMaybe(args.view.branch),
|
|
292
|
+
scopes: toMutableArray(fromInputMaybe(args.view.scopes)),
|
|
293
|
+
};
|
|
294
|
+
}
|
|
295
|
+
const documentIdentifiers = [...args.documentIdentifiers];
|
|
296
|
+
let result;
|
|
297
|
+
try {
|
|
298
|
+
result = await reactorClient.addChildren(args.parentIdentifier, documentIdentifiers, view);
|
|
299
|
+
}
|
|
300
|
+
catch (error) {
|
|
301
|
+
throw new GraphQLError(`Failed to add children: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
302
|
+
}
|
|
303
|
+
try {
|
|
304
|
+
return toGqlPhDocument(result);
|
|
305
|
+
}
|
|
306
|
+
catch (error) {
|
|
307
|
+
throw new GraphQLError(`Failed to convert document to GraphQL: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
export async function removeChildren(reactorClient, args) {
|
|
311
|
+
let view;
|
|
312
|
+
if (args.view) {
|
|
313
|
+
view = {
|
|
314
|
+
branch: fromInputMaybe(args.view.branch),
|
|
315
|
+
scopes: toMutableArray(fromInputMaybe(args.view.scopes)),
|
|
316
|
+
};
|
|
317
|
+
}
|
|
318
|
+
const documentIdentifiers = [...args.documentIdentifiers];
|
|
319
|
+
let result;
|
|
320
|
+
try {
|
|
321
|
+
result = await reactorClient.removeChildren(args.parentIdentifier, documentIdentifiers, view);
|
|
322
|
+
}
|
|
323
|
+
catch (error) {
|
|
324
|
+
throw new GraphQLError(`Failed to remove children: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
325
|
+
}
|
|
326
|
+
try {
|
|
327
|
+
return toGqlPhDocument(result);
|
|
328
|
+
}
|
|
329
|
+
catch (error) {
|
|
330
|
+
throw new GraphQLError(`Failed to convert document to GraphQL: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
export async function moveChildren(reactorClient, args) {
|
|
334
|
+
let view;
|
|
335
|
+
if (args.view) {
|
|
336
|
+
view = {
|
|
337
|
+
branch: fromInputMaybe(args.view.branch),
|
|
338
|
+
scopes: toMutableArray(fromInputMaybe(args.view.scopes)),
|
|
339
|
+
};
|
|
340
|
+
}
|
|
341
|
+
const documentIdentifiers = [...args.documentIdentifiers];
|
|
342
|
+
let result;
|
|
343
|
+
try {
|
|
344
|
+
result = await reactorClient.moveChildren(args.sourceParentIdentifier, args.targetParentIdentifier, documentIdentifiers, view);
|
|
345
|
+
}
|
|
346
|
+
catch (error) {
|
|
347
|
+
throw new GraphQLError(`Failed to move children: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
348
|
+
}
|
|
349
|
+
try {
|
|
350
|
+
return {
|
|
351
|
+
source: toGqlPhDocument(result.source),
|
|
352
|
+
target: toGqlPhDocument(result.target),
|
|
353
|
+
};
|
|
354
|
+
}
|
|
355
|
+
catch (error) {
|
|
356
|
+
throw new GraphQLError(`Failed to convert documents to GraphQL: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
export async function deleteDocument(reactorClient, args) {
|
|
360
|
+
const propagate = fromInputMaybe(args.propagate);
|
|
361
|
+
try {
|
|
362
|
+
await reactorClient.deleteDocument(args.identifier, propagate);
|
|
363
|
+
return true;
|
|
364
|
+
}
|
|
365
|
+
catch (error) {
|
|
366
|
+
throw new GraphQLError(`Failed to delete document: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
export async function deleteDocuments(reactorClient, args) {
|
|
370
|
+
const propagate = fromInputMaybe(args.propagate);
|
|
371
|
+
const identifiers = [...args.identifiers];
|
|
372
|
+
try {
|
|
373
|
+
await reactorClient.deleteDocuments(identifiers, propagate);
|
|
374
|
+
return true;
|
|
375
|
+
}
|
|
376
|
+
catch (error) {
|
|
377
|
+
throw new GraphQLError(`Failed to delete documents: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
378
|
+
}
|
|
379
|
+
}
|
|
173
380
|
//# sourceMappingURL=resolvers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolvers.js","sourceRoot":"","sources":["../../../../src/graphql/reactor/resolvers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"resolvers.js","sourceRoot":"","sources":["../../../../src/graphql/reactor/resolvers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subgraph.d.ts","sourceRoot":"","sources":["../../../../src/graphql/reactor/subgraph.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"subgraph.d.ts","sourceRoot":"","sources":["../../../../src/graphql/reactor/subgraph.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAMhD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAWlD,qBAAa,eAAgB,SAAQ,YAAY;IAC/C,OAAO,CAAC,MAAM,CAGX;gBAES,IAAI,EAAE,YAAY;IAK9B,IAAI,SAAgB;IACpB,gBAAgB,UAAQ;IAGxB,QAAQ,iCAEN;IAEF,SAAS,EAAE,SAAS,CAuOlB;IAEF,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAKzB"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { childLogger } from "document-drive";
|
|
2
2
|
import fs from "fs";
|
|
3
|
-
import {
|
|
3
|
+
import { withFilter } from "graphql-subscriptions";
|
|
4
4
|
import { gql } from "graphql-tag";
|
|
5
5
|
import path from "path";
|
|
6
6
|
import { BaseSubgraph } from "../base-subgraph.js";
|
|
7
|
+
import { matchesJobFilter, matchesSearchFilter, toGqlDocumentChangeEvent, } from "./adapters.js";
|
|
8
|
+
import { ensureGlobalDocumentSubscription, ensureJobSubscription, getPubSub, SUBSCRIPTION_TRIGGERS, } from "./pubsub.js";
|
|
7
9
|
import * as resolvers from "./resolvers.js";
|
|
8
10
|
export class ReactorSubgraph extends BaseSubgraph {
|
|
9
11
|
logger = childLogger([
|
|
@@ -15,6 +17,7 @@ export class ReactorSubgraph extends BaseSubgraph {
|
|
|
15
17
|
this.logger.verbose(`constructor()`);
|
|
16
18
|
}
|
|
17
19
|
name = "r/:reactor";
|
|
20
|
+
hasSubscriptions = true;
|
|
18
21
|
// Load schema from file
|
|
19
22
|
typeDefs = gql(fs.readFileSync(path.join(__dirname, "schema.graphql"), "utf-8"));
|
|
20
23
|
resolvers = {
|
|
@@ -81,73 +84,151 @@ export class ReactorSubgraph extends BaseSubgraph {
|
|
|
81
84
|
},
|
|
82
85
|
},
|
|
83
86
|
Mutation: {
|
|
84
|
-
createDocument: (_parent, args) => {
|
|
87
|
+
createDocument: async (_parent, args) => {
|
|
85
88
|
this.logger.debug("createDocument", args);
|
|
86
|
-
|
|
87
|
-
|
|
89
|
+
try {
|
|
90
|
+
return await resolvers.createDocument(this.reactorClient, args);
|
|
91
|
+
}
|
|
92
|
+
catch (error) {
|
|
93
|
+
this.logger.error("Error in createDocument:", error);
|
|
94
|
+
throw error;
|
|
95
|
+
}
|
|
88
96
|
},
|
|
89
|
-
createEmptyDocument: (_parent, args) => {
|
|
97
|
+
createEmptyDocument: async (_parent, args) => {
|
|
90
98
|
this.logger.debug("createEmptyDocument", args);
|
|
91
|
-
|
|
92
|
-
|
|
99
|
+
try {
|
|
100
|
+
return await resolvers.createEmptyDocument(this.reactorClient, args);
|
|
101
|
+
}
|
|
102
|
+
catch (error) {
|
|
103
|
+
this.logger.error("Error in createEmptyDocument:", error);
|
|
104
|
+
throw error;
|
|
105
|
+
}
|
|
93
106
|
},
|
|
94
|
-
mutateDocument: (_parent, args) => {
|
|
107
|
+
mutateDocument: async (_parent, args) => {
|
|
95
108
|
this.logger.debug("mutateDocument", args);
|
|
96
|
-
|
|
97
|
-
|
|
109
|
+
try {
|
|
110
|
+
return await resolvers.mutateDocument(this.reactorClient, args);
|
|
111
|
+
}
|
|
112
|
+
catch (error) {
|
|
113
|
+
this.logger.error("Error in mutateDocument:", error);
|
|
114
|
+
throw error;
|
|
115
|
+
}
|
|
98
116
|
},
|
|
99
|
-
mutateDocumentAsync: (_parent, args) => {
|
|
117
|
+
mutateDocumentAsync: async (_parent, args) => {
|
|
100
118
|
this.logger.debug("mutateDocumentAsync", args);
|
|
101
|
-
|
|
102
|
-
|
|
119
|
+
try {
|
|
120
|
+
return await resolvers.mutateDocumentAsync(this.reactorClient, args);
|
|
121
|
+
}
|
|
122
|
+
catch (error) {
|
|
123
|
+
this.logger.error("Error in mutateDocumentAsync:", error);
|
|
124
|
+
throw error;
|
|
125
|
+
}
|
|
103
126
|
},
|
|
104
|
-
renameDocument: (_parent, args) => {
|
|
127
|
+
renameDocument: async (_parent, args) => {
|
|
105
128
|
this.logger.debug("renameDocument", args);
|
|
106
|
-
|
|
107
|
-
|
|
129
|
+
try {
|
|
130
|
+
return await resolvers.renameDocument(this.reactorClient, args);
|
|
131
|
+
}
|
|
132
|
+
catch (error) {
|
|
133
|
+
this.logger.error("Error in renameDocument:", error);
|
|
134
|
+
throw error;
|
|
135
|
+
}
|
|
108
136
|
},
|
|
109
|
-
addChildren: (_parent, args) => {
|
|
137
|
+
addChildren: async (_parent, args) => {
|
|
110
138
|
this.logger.debug("addChildren", args);
|
|
111
|
-
|
|
112
|
-
|
|
139
|
+
try {
|
|
140
|
+
return await resolvers.addChildren(this.reactorClient, args);
|
|
141
|
+
}
|
|
142
|
+
catch (error) {
|
|
143
|
+
this.logger.error("Error in addChildren:", error);
|
|
144
|
+
throw error;
|
|
145
|
+
}
|
|
113
146
|
},
|
|
114
|
-
removeChildren: (_parent, args) => {
|
|
147
|
+
removeChildren: async (_parent, args) => {
|
|
115
148
|
this.logger.debug("removeChildren", args);
|
|
116
|
-
|
|
117
|
-
|
|
149
|
+
try {
|
|
150
|
+
return await resolvers.removeChildren(this.reactorClient, args);
|
|
151
|
+
}
|
|
152
|
+
catch (error) {
|
|
153
|
+
this.logger.error("Error in removeChildren:", error);
|
|
154
|
+
throw error;
|
|
155
|
+
}
|
|
118
156
|
},
|
|
119
|
-
moveChildren: (_parent, args) => {
|
|
157
|
+
moveChildren: async (_parent, args) => {
|
|
120
158
|
this.logger.debug("moveChildren", args);
|
|
121
|
-
|
|
122
|
-
|
|
159
|
+
try {
|
|
160
|
+
return await resolvers.moveChildren(this.reactorClient, args);
|
|
161
|
+
}
|
|
162
|
+
catch (error) {
|
|
163
|
+
this.logger.error("Error in moveChildren:", error);
|
|
164
|
+
throw error;
|
|
165
|
+
}
|
|
123
166
|
},
|
|
124
|
-
deleteDocument: (_parent, args) => {
|
|
167
|
+
deleteDocument: async (_parent, args) => {
|
|
125
168
|
this.logger.debug("deleteDocument", args);
|
|
126
|
-
|
|
127
|
-
|
|
169
|
+
try {
|
|
170
|
+
return await resolvers.deleteDocument(this.reactorClient, args);
|
|
171
|
+
}
|
|
172
|
+
catch (error) {
|
|
173
|
+
this.logger.error("Error in deleteDocument:", error);
|
|
174
|
+
throw error;
|
|
175
|
+
}
|
|
128
176
|
},
|
|
129
|
-
deleteDocuments: (_parent, args) => {
|
|
177
|
+
deleteDocuments: async (_parent, args) => {
|
|
130
178
|
this.logger.debug("deleteDocuments", args);
|
|
131
|
-
|
|
132
|
-
|
|
179
|
+
try {
|
|
180
|
+
return await resolvers.deleteDocuments(this.reactorClient, args);
|
|
181
|
+
}
|
|
182
|
+
catch (error) {
|
|
183
|
+
this.logger.error("Error in deleteDocuments:", error);
|
|
184
|
+
throw error;
|
|
185
|
+
}
|
|
133
186
|
},
|
|
134
187
|
},
|
|
135
188
|
Subscription: {
|
|
136
189
|
documentChanges: {
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
190
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
191
|
+
subscribe: withFilter(
|
|
192
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
193
|
+
(() => {
|
|
194
|
+
this.logger.debug("documentChanges subscription started");
|
|
195
|
+
ensureGlobalDocumentSubscription(this.reactorClient);
|
|
196
|
+
return getPubSub().asyncIterableIterator(SUBSCRIPTION_TRIGGERS.DOCUMENT_CHANGES);
|
|
197
|
+
}),
|
|
198
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
199
|
+
((payload, args) => {
|
|
200
|
+
if (!payload) {
|
|
201
|
+
return false;
|
|
202
|
+
}
|
|
203
|
+
const search = {
|
|
204
|
+
type: args.search.type ?? undefined,
|
|
205
|
+
parentId: args.search.parentId ?? undefined,
|
|
206
|
+
};
|
|
207
|
+
return matchesSearchFilter(payload.documentChanges, search);
|
|
208
|
+
})),
|
|
209
|
+
resolve: (payload) => {
|
|
210
|
+
return toGqlDocumentChangeEvent(payload.documentChanges);
|
|
140
211
|
},
|
|
141
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
142
|
-
resolve: (payload) => payload,
|
|
143
212
|
},
|
|
144
213
|
jobChanges: {
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
214
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
215
|
+
subscribe: withFilter(
|
|
216
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
217
|
+
((_parent, args) => {
|
|
218
|
+
this.logger.debug("jobChanges subscription", args);
|
|
219
|
+
ensureJobSubscription(this.reactorClient, args.jobId);
|
|
220
|
+
return getPubSub().asyncIterableIterator(SUBSCRIPTION_TRIGGERS.JOB_CHANGES);
|
|
221
|
+
}),
|
|
222
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
223
|
+
((payload, args) => {
|
|
224
|
+
if (!payload) {
|
|
225
|
+
return false;
|
|
226
|
+
}
|
|
227
|
+
return matchesJobFilter(payload, args);
|
|
228
|
+
})),
|
|
229
|
+
resolve: (payload) => {
|
|
230
|
+
return payload.jobChanges;
|
|
148
231
|
},
|
|
149
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
150
|
-
resolve: (payload) => payload,
|
|
151
232
|
},
|
|
152
233
|
},
|
|
153
234
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subgraph.js","sourceRoot":"","sources":["../../../../src/graphql/reactor/subgraph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"subgraph.js","sourceRoot":"","sources":["../../../../src/graphql/reactor/subgraph.ts"],"names":[],"mappings":"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"}
|