@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
|
@@ -2,10 +2,20 @@ import { buildSubgraphSchema } from "@apollo/subgraph";
|
|
|
2
2
|
import { typeDefs as scalarsTypeDefs } from "@powerhousedao/document-engineering/graphql";
|
|
3
3
|
import { camelCase, pascalCase } from "change-case";
|
|
4
4
|
import { childLogger } from "document-drive";
|
|
5
|
-
import { Kind, print } from "graphql";
|
|
5
|
+
import { Kind, parse, print } from "graphql";
|
|
6
6
|
import { gql } from "graphql-tag";
|
|
7
7
|
import { GraphQLJSONObject } from "graphql-type-json";
|
|
8
8
|
const logger = childLogger(["reactor-api", "create-schema"]);
|
|
9
|
+
/**
|
|
10
|
+
* Revision type - matches the definition in reactor/schema.graphql.
|
|
11
|
+
* Used by PHDocument and document mutation results.
|
|
12
|
+
*/
|
|
13
|
+
const RevisionType = `
|
|
14
|
+
type Revision {
|
|
15
|
+
scope: String!
|
|
16
|
+
revision: Int!
|
|
17
|
+
}
|
|
18
|
+
`;
|
|
9
19
|
/**
|
|
10
20
|
* Strip scalar definitions from a DocumentNode to avoid duplicates
|
|
11
21
|
* when combining with other schemas that define the same scalars.
|
|
@@ -14,24 +24,23 @@ const stripScalarDefinitions = (doc) => {
|
|
|
14
24
|
const filteredDefinitions = doc.definitions.filter((def) => def.kind !== Kind.SCALAR_TYPE_DEFINITION);
|
|
15
25
|
return print({ kind: Kind.DOCUMENT, definitions: filteredDefinitions });
|
|
16
26
|
};
|
|
17
|
-
export const buildSubgraphSchemaModule = (
|
|
27
|
+
export const buildSubgraphSchemaModule = (documentModels, resolvers, typeDefs) => {
|
|
18
28
|
const newResolvers = {
|
|
19
29
|
...resolvers,
|
|
20
30
|
JSONObject: GraphQLJSONObject,
|
|
21
31
|
};
|
|
22
32
|
return {
|
|
23
|
-
typeDefs: getDocumentModelTypeDefs(
|
|
33
|
+
typeDefs: getDocumentModelTypeDefs(documentModels, typeDefs),
|
|
24
34
|
resolvers: newResolvers,
|
|
25
35
|
};
|
|
26
36
|
};
|
|
27
|
-
export const createSchema = (
|
|
28
|
-
return buildSubgraphSchema(buildSubgraphSchemaModule(
|
|
37
|
+
export const createSchema = (documentModels, resolvers, typeDefs) => {
|
|
38
|
+
return buildSubgraphSchema(buildSubgraphSchemaModule(documentModels, resolvers, typeDefs));
|
|
29
39
|
};
|
|
30
40
|
export function getDocumentModelSchemaName(documentModel) {
|
|
31
41
|
return pascalCase(documentModel.name.replaceAll("/", " "));
|
|
32
42
|
}
|
|
33
|
-
export const getDocumentModelTypeDefs = (
|
|
34
|
-
const documentModels = documentDriveServer.getDocumentModelModules();
|
|
43
|
+
export const getDocumentModelTypeDefs = (documentModels, typeDefs) => {
|
|
35
44
|
let dmSchema = "";
|
|
36
45
|
const addedDocumentModels = new Set();
|
|
37
46
|
documentModels.forEach(({ documentModel }) => {
|
|
@@ -58,12 +67,13 @@ export const getDocumentModelTypeDefs = (documentDriveServer, typeDefs) => {
|
|
|
58
67
|
.join("\n")};
|
|
59
68
|
|
|
60
69
|
\n`;
|
|
61
|
-
const found = tmpDmSchema.match(/(type|enum|union|interface)\s+(\w+)\s/g);
|
|
70
|
+
const found = tmpDmSchema.match(/(type|enum|union|interface)\s+(\w+)[\s{]/g);
|
|
62
71
|
const trimmedFound = found?.map((f) => f
|
|
63
72
|
.replaceAll("type ", "")
|
|
64
73
|
.replaceAll("enum ", "")
|
|
65
74
|
.replaceAll("union ", "")
|
|
66
75
|
.replaceAll("interface ", "")
|
|
76
|
+
.replaceAll("{", "")
|
|
67
77
|
.trim());
|
|
68
78
|
trimmedFound?.forEach((f) => {
|
|
69
79
|
// Create a regex that matches the type name with proper boundaries
|
|
@@ -181,7 +191,7 @@ export const getDocumentModelTypeDefs = (documentDriveServer, typeDefs) => {
|
|
|
181
191
|
* @returns {string[]} Array of type names
|
|
182
192
|
*/
|
|
183
193
|
function extractTypeNames(schema) {
|
|
184
|
-
const found = schema.match(/(type|enum|union|interface|input)\s+(\w+)\s/g);
|
|
194
|
+
const found = schema.match(/(type|enum|union|interface|input)\s+(\w+)[\s{]/g);
|
|
185
195
|
if (!found)
|
|
186
196
|
return [];
|
|
187
197
|
return found.map((f) => f
|
|
@@ -190,8 +200,151 @@ function extractTypeNames(schema) {
|
|
|
190
200
|
.replaceAll("union ", "")
|
|
191
201
|
.replaceAll("interface ", "")
|
|
192
202
|
.replaceAll("input ", "")
|
|
203
|
+
.replaceAll("{", "")
|
|
193
204
|
.trim());
|
|
194
205
|
}
|
|
206
|
+
/**
|
|
207
|
+
* Extract input type definitions from a GraphQL schema.
|
|
208
|
+
* @param {string} schema - GraphQL schema string
|
|
209
|
+
* @param {Set<string>} excludeTypeNames - Type names to exclude from extraction
|
|
210
|
+
* @returns {string} All input type definitions as a string
|
|
211
|
+
*/
|
|
212
|
+
function extractInputTypeDefinitions(schema, excludeTypeNames = new Set()) {
|
|
213
|
+
// Match input type blocks: input TypeName { ... }
|
|
214
|
+
const inputTypeRegex = /input\s+(\w+)\s*\{[^}]*\}/g;
|
|
215
|
+
const matches = [];
|
|
216
|
+
let match;
|
|
217
|
+
while ((match = inputTypeRegex.exec(schema)) !== null) {
|
|
218
|
+
const typeName = match[1];
|
|
219
|
+
// Skip if this type name is in the exclusion set
|
|
220
|
+
if (!excludeTypeNames.has(typeName)) {
|
|
221
|
+
matches.push(match[0]);
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
if (matches.length === 0)
|
|
225
|
+
return "";
|
|
226
|
+
return matches.join("\n\n");
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* Extract the root state type name from a scope's GraphQL schema.
|
|
230
|
+
* Uses the naming convention: {DocumentName}State for global,
|
|
231
|
+
* {DocumentName}{PascalScope}State for other scopes (e.g., DocumentDriveLocalState).
|
|
232
|
+
* Falls back to the last ObjectTypeDefinition (root types are conventionally last).
|
|
233
|
+
*/
|
|
234
|
+
function extractRootTypeName(schema, documentName, scopeName) {
|
|
235
|
+
try {
|
|
236
|
+
const ast = parse(schema);
|
|
237
|
+
// Try conventions:
|
|
238
|
+
// 1. {DocumentName}State for global, {DocumentName}{Scope}State otherwise
|
|
239
|
+
// 2. {DocumentName}GlobalState (DocumentModel uses this variant)
|
|
240
|
+
const scopeSuffix = scopeName === "global" ? "" : pascalCase(scopeName);
|
|
241
|
+
const candidates = [
|
|
242
|
+
`${documentName}${scopeSuffix}State`,
|
|
243
|
+
`${documentName}${pascalCase(scopeName)}State`,
|
|
244
|
+
];
|
|
245
|
+
let lastObjectType = null;
|
|
246
|
+
for (const def of ast.definitions) {
|
|
247
|
+
if (def.kind === Kind.OBJECT_TYPE_DEFINITION) {
|
|
248
|
+
if (candidates.includes(def.name.value)) {
|
|
249
|
+
return def.name.value;
|
|
250
|
+
}
|
|
251
|
+
lastObjectType = def.name.value;
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
// Fallback: last object type (root state types are defined last by convention)
|
|
255
|
+
return lastObjectType;
|
|
256
|
+
}
|
|
257
|
+
catch {
|
|
258
|
+
// ignore parse errors
|
|
259
|
+
}
|
|
260
|
+
return null;
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Convert a GraphQL output type AST node to an optional input type string.
|
|
264
|
+
* Strips non-null markers and converts object type references to Input suffix.
|
|
265
|
+
*/
|
|
266
|
+
function convertTypeNodeToInput(typeNode, objectNames, unionNames, interfaceNames) {
|
|
267
|
+
if (typeNode.kind === Kind.NON_NULL_TYPE && typeNode.type) {
|
|
268
|
+
return convertTypeNodeToInput(typeNode.type, objectNames, unionNames, interfaceNames);
|
|
269
|
+
}
|
|
270
|
+
if (typeNode.kind === Kind.LIST_TYPE && typeNode.type) {
|
|
271
|
+
const inner = convertTypeNodeToInput(typeNode.type, objectNames, unionNames, interfaceNames);
|
|
272
|
+
return `[${inner}]`;
|
|
273
|
+
}
|
|
274
|
+
if (typeNode.kind === Kind.NAMED_TYPE && typeNode.name) {
|
|
275
|
+
const name = typeNode.name.value;
|
|
276
|
+
if (objectNames.has(name))
|
|
277
|
+
return `${name}Input`;
|
|
278
|
+
if (unionNames.has(name) || interfaceNames.has(name))
|
|
279
|
+
return "JSONObject";
|
|
280
|
+
return name;
|
|
281
|
+
}
|
|
282
|
+
return "JSONObject";
|
|
283
|
+
}
|
|
284
|
+
/**
|
|
285
|
+
* Generate GraphQL input type definitions from a state schema string.
|
|
286
|
+
* Converts output type definitions to input types with all fields optional.
|
|
287
|
+
* - Object type references get Input suffix
|
|
288
|
+
* - Union/interface references become JSONObject
|
|
289
|
+
* - Enums and scalars remain unchanged
|
|
290
|
+
*/
|
|
291
|
+
function generateStateInputTypes(stateSchema, excludeTypeNames) {
|
|
292
|
+
if (!stateSchema || !stateSchema.trim())
|
|
293
|
+
return "";
|
|
294
|
+
let ast;
|
|
295
|
+
try {
|
|
296
|
+
ast = parse(stateSchema);
|
|
297
|
+
}
|
|
298
|
+
catch {
|
|
299
|
+
return "";
|
|
300
|
+
}
|
|
301
|
+
const enumNames = new Set();
|
|
302
|
+
const unionNames = new Set();
|
|
303
|
+
const interfaceNames = new Set();
|
|
304
|
+
const objectNames = new Set();
|
|
305
|
+
const existingInputNames = new Set();
|
|
306
|
+
for (const def of ast.definitions) {
|
|
307
|
+
switch (def.kind) {
|
|
308
|
+
case Kind.ENUM_TYPE_DEFINITION:
|
|
309
|
+
enumNames.add(def.name.value);
|
|
310
|
+
break;
|
|
311
|
+
case Kind.UNION_TYPE_DEFINITION:
|
|
312
|
+
unionNames.add(def.name.value);
|
|
313
|
+
break;
|
|
314
|
+
case Kind.INTERFACE_TYPE_DEFINITION:
|
|
315
|
+
interfaceNames.add(def.name.value);
|
|
316
|
+
break;
|
|
317
|
+
case Kind.OBJECT_TYPE_DEFINITION:
|
|
318
|
+
objectNames.add(def.name.value);
|
|
319
|
+
break;
|
|
320
|
+
case Kind.INPUT_OBJECT_TYPE_DEFINITION:
|
|
321
|
+
existingInputNames.add(def.name.value);
|
|
322
|
+
break;
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
const inputTypes = [];
|
|
326
|
+
for (const def of ast.definitions) {
|
|
327
|
+
if (def.kind !== Kind.OBJECT_TYPE_DEFINITION)
|
|
328
|
+
continue;
|
|
329
|
+
// Skip if an input type with the same name already exists in the schema
|
|
330
|
+
// or in operation schemas (to avoid duplicates with moduleSchemas)
|
|
331
|
+
const inputName = `${def.name.value}Input`;
|
|
332
|
+
if (existingInputNames.has(inputName))
|
|
333
|
+
continue;
|
|
334
|
+
if (excludeTypeNames?.has(inputName))
|
|
335
|
+
continue;
|
|
336
|
+
const fields = def.fields ?? [];
|
|
337
|
+
if (fields.length === 0)
|
|
338
|
+
continue;
|
|
339
|
+
const inputFields = fields.map((field) => {
|
|
340
|
+
const fieldName = field.name.value;
|
|
341
|
+
const fieldType = convertTypeNodeToInput(field.type, objectNames, unionNames, interfaceNames);
|
|
342
|
+
return ` ${fieldName}: ${fieldType}`;
|
|
343
|
+
});
|
|
344
|
+
inputTypes.push(`input ${def.name.value}Input {\n${inputFields.join("\n")}\n}`);
|
|
345
|
+
}
|
|
346
|
+
return inputTypes.join("\n\n");
|
|
347
|
+
}
|
|
195
348
|
/**
|
|
196
349
|
* Apply type prefixes to GraphQL schema to namespace types and avoid collisions.
|
|
197
350
|
* Inlined from @powerhousedao/common/utils to avoid ES module import issues.
|
|
@@ -230,11 +383,69 @@ function applyGraphQLTypePrefixes(schema, prefix, externalTypeNames = []) {
|
|
|
230
383
|
});
|
|
231
384
|
return processedSchema;
|
|
232
385
|
}
|
|
233
|
-
|
|
386
|
+
/**
|
|
387
|
+
* Generate a GraphQL schema for a document model.
|
|
388
|
+
*
|
|
389
|
+
* @param documentModel - The document model global state
|
|
390
|
+
* @param options - Schema generation options
|
|
391
|
+
* @returns GraphQL DocumentNode
|
|
392
|
+
*/
|
|
393
|
+
export function generateDocumentModelSchema(documentModel, options = {}) {
|
|
394
|
+
const { useNewApi = false } = options;
|
|
234
395
|
const specification = documentModel.specifications.at(-1);
|
|
235
396
|
const documentName = getDocumentModelSchemaName(documentModel);
|
|
236
|
-
const
|
|
237
|
-
const
|
|
397
|
+
const globalStateSchema = specification?.state.global.schema;
|
|
398
|
+
const localStateSchema = specification?.state.local.schema;
|
|
399
|
+
const globalStateTypeNames = extractTypeNames(globalStateSchema ?? "");
|
|
400
|
+
const localStateTypeNames = extractTypeNames(localStateSchema ?? "");
|
|
401
|
+
const stateTypeNames = [...globalStateTypeNames, ...localStateTypeNames];
|
|
402
|
+
// Collect ALL type names from all operations' schemas
|
|
403
|
+
const allOperationTypeNames = specification?.modules.flatMap((module) => module.operations.flatMap((op) => extractTypeNames(op.schema ?? ""))) ?? [];
|
|
404
|
+
// Combine state types and all operation types for prefixing
|
|
405
|
+
const allTypeNames = [
|
|
406
|
+
...new Set([...stateTypeNames, ...allOperationTypeNames]),
|
|
407
|
+
];
|
|
408
|
+
// Extract input type definitions from state schema, excluding operation-specific inputs
|
|
409
|
+
// (those are already defined in op.schema)
|
|
410
|
+
const operationInputTypeNames = new Set(allOperationTypeNames);
|
|
411
|
+
const stateInputTypes = extractInputTypeDefinitions(globalStateSchema ?? "", operationInputTypeNames);
|
|
412
|
+
const prefixedStateInputTypes = applyGraphQLTypePrefixes(stateInputTypes, documentName, allTypeNames);
|
|
413
|
+
// Helper to check if schema has actual GraphQL type definitions
|
|
414
|
+
const hasValidSchema = (schema) => !!(schema && /\b(input|type|enum|union|interface)\s+\w+/.test(schema));
|
|
415
|
+
// Process state schema types (remove input types, clean up, and prefix)
|
|
416
|
+
const stateSchemaTypes = globalStateSchema
|
|
417
|
+
? applyGraphQLTypePrefixes(globalStateSchema
|
|
418
|
+
.replaceAll("scalar DateTime", "")
|
|
419
|
+
.replaceAll(/input (.*?) {[\s\S]*?}/g, ""), documentName, allTypeNames)
|
|
420
|
+
: "";
|
|
421
|
+
if (useNewApi) {
|
|
422
|
+
// New API: flat queries, typed state, async mutations
|
|
423
|
+
return generateNewApiSchema(documentName, specification, stateSchemaTypes, prefixedStateInputTypes, allTypeNames, hasValidSchema);
|
|
424
|
+
}
|
|
425
|
+
// Legacy API
|
|
426
|
+
return generateLegacyApiSchema(documentName, specification, prefixedStateInputTypes, allTypeNames, hasValidSchema);
|
|
427
|
+
}
|
|
428
|
+
/**
|
|
429
|
+
* Generate legacy API schema with nested queries
|
|
430
|
+
*/
|
|
431
|
+
function generateLegacyApiSchema(documentName, specification, prefixedStateInputTypes, allTypeNames, hasValidSchema) {
|
|
432
|
+
const createDocumentMutation = `${documentName}_createDocument(name:String!, driveId:String): String`;
|
|
433
|
+
const operationMutations = specification?.modules
|
|
434
|
+
.flatMap((module) => module.operations
|
|
435
|
+
.filter((op) => op.name && hasValidSchema(op.schema))
|
|
436
|
+
.map((op) => `${documentName}_${camelCase(op.name)}(
|
|
437
|
+
driveId: String, docId: PHID, input: ${documentName}_${pascalCase(op.name)}Input): Int`))
|
|
438
|
+
.join("\n ") ?? "";
|
|
439
|
+
const moduleSchemas = specification?.modules
|
|
440
|
+
.filter((module) => module.operations.some((op) => hasValidSchema(op.schema)))
|
|
441
|
+
.map((module) => `"""
|
|
442
|
+
Module: ${pascalCase(module.name)}
|
|
443
|
+
"""
|
|
444
|
+
${module.operations
|
|
445
|
+
.filter((op) => hasValidSchema(op.schema))
|
|
446
|
+
.map((op) => applyGraphQLTypePrefixes(op.schema ?? "", documentName, allTypeNames))
|
|
447
|
+
.join("\n ")}`)
|
|
448
|
+
.join("\n") ?? "";
|
|
238
449
|
return gql `
|
|
239
450
|
"""
|
|
240
451
|
Queries: ${documentName} Document
|
|
@@ -253,23 +464,247 @@ export function generateDocumentModelSchemaLegacy(documentModel) {
|
|
|
253
464
|
Mutations: ${documentName}
|
|
254
465
|
"""
|
|
255
466
|
type Mutation {
|
|
256
|
-
${
|
|
467
|
+
${createDocumentMutation}
|
|
257
468
|
|
|
258
|
-
${
|
|
259
|
-
.flatMap((module) => module.operations
|
|
260
|
-
.filter((op) => op.name)
|
|
261
|
-
.map((op) => `${documentName}_${camelCase(op.name)}(
|
|
262
|
-
driveId: String, docId: PHID, input: ${documentName}_${pascalCase(op.name)}Input): Int`))
|
|
263
|
-
.join("\n ") ?? ""}
|
|
469
|
+
${operationMutations}
|
|
264
470
|
}
|
|
265
|
-
|
|
266
|
-
${
|
|
471
|
+
|
|
472
|
+
${prefixedStateInputTypes
|
|
473
|
+
? `"""
|
|
474
|
+
Input Types from State Schema
|
|
475
|
+
"""
|
|
476
|
+
${prefixedStateInputTypes}`
|
|
477
|
+
: ""}
|
|
478
|
+
|
|
479
|
+
${moduleSchemas}`;
|
|
480
|
+
}
|
|
481
|
+
/**
|
|
482
|
+
* Generate new API schema with flat queries, typed state, and async mutations.
|
|
483
|
+
* Note: State schema types are NOT included here because they are already defined
|
|
484
|
+
* in getDocumentModelTypeDefs() which is used during schema composition.
|
|
485
|
+
* Including them here would cause duplicate type definitions.
|
|
486
|
+
*
|
|
487
|
+
* Special case: DocumentModel type doesn't have a typed state defined in
|
|
488
|
+
* getDocumentModelTypeDefs(), so we use JSONObject for its state field.
|
|
489
|
+
*/
|
|
490
|
+
function generateNewApiSchema(documentName, specification, _stateSchemaTypes, prefixedStateInputTypes, allTypeNames, hasValidSchema) {
|
|
491
|
+
// Use full state type for all document models
|
|
492
|
+
const stateType = `${documentName}_FullState!`;
|
|
493
|
+
// Shared base types for document state structure (same for all document types)
|
|
494
|
+
const sharedBaseTypes = `
|
|
495
|
+
"""Hash configuration for document state"""
|
|
496
|
+
type ${documentName}_PHHashConfig {
|
|
497
|
+
algorithm: String!
|
|
498
|
+
encoding: String!
|
|
499
|
+
}
|
|
500
|
+
|
|
501
|
+
"""Document scope state (same for all document types)"""
|
|
502
|
+
type ${documentName}_PHDocumentScopeState {
|
|
503
|
+
version: Int!
|
|
504
|
+
hash: ${documentName}_PHHashConfig!
|
|
505
|
+
isDeleted: Boolean
|
|
506
|
+
deletedAtUtcIso: String
|
|
507
|
+
deletedBy: String
|
|
508
|
+
deletionReason: String
|
|
509
|
+
}
|
|
510
|
+
`;
|
|
511
|
+
// Full state type with all scopes (auth, document, global, local)
|
|
512
|
+
// Note: DocumentModel uses different naming convention (GlobalState suffix instead of State)
|
|
513
|
+
// For local state, check if the specification defines a local state type
|
|
514
|
+
const localSchema = specification?.state.local.schema ?? "";
|
|
515
|
+
const hasLocalStateType = localSchema.includes(`type ${documentName}LocalState`);
|
|
516
|
+
const globalStateType = documentName === "DocumentModel"
|
|
517
|
+
? `${documentName}_${documentName}GlobalState!`
|
|
518
|
+
: `${documentName}_${documentName}State!`;
|
|
519
|
+
const localStateType = !hasLocalStateType
|
|
520
|
+
? "JSONObject!"
|
|
521
|
+
: `${documentName}_${documentName}LocalState!`;
|
|
522
|
+
const fullStateType = `
|
|
523
|
+
"""Full state with all scopes for ${documentName}"""
|
|
524
|
+
type ${documentName}_FullState {
|
|
525
|
+
auth: JSONObject!
|
|
526
|
+
document: ${documentName}_PHDocumentScopeState!
|
|
527
|
+
global: ${globalStateType}
|
|
528
|
+
local: ${localStateType}
|
|
529
|
+
}
|
|
530
|
+
`;
|
|
531
|
+
// Common input types - use extend to avoid conflicts with other subgraphs
|
|
532
|
+
const commonInputTypes = `
|
|
533
|
+
input ${documentName}_ViewFilterInput {
|
|
534
|
+
branch: String
|
|
535
|
+
scopes: [String!]
|
|
536
|
+
}
|
|
537
|
+
|
|
538
|
+
input ${documentName}_PagingInput {
|
|
539
|
+
limit: Int
|
|
540
|
+
offset: Int
|
|
541
|
+
cursor: String
|
|
542
|
+
}
|
|
543
|
+
|
|
544
|
+
input ${documentName}_SearchFilterInput {
|
|
545
|
+
parentId: String
|
|
546
|
+
identifiers: [String!]
|
|
547
|
+
}
|
|
548
|
+
`;
|
|
549
|
+
// Revision type - imported from shared-schema.ts for consistency with ReactorSubgraph
|
|
550
|
+
// Must be defined in each subgraph for Apollo Federation
|
|
551
|
+
const revisionType = RevisionType;
|
|
552
|
+
// Result types with typed state (or JSONObject for DocumentModel)
|
|
553
|
+
// The state type (${documentName}_${documentName}State) is defined in getDocumentModelTypeDefs()
|
|
554
|
+
// Uses revisionsList with shared Revision type to match ReactorSubgraph pattern
|
|
555
|
+
const resultTypes = `
|
|
556
|
+
"""
|
|
557
|
+
Mutation result type for ${documentName} operations with typed state.
|
|
558
|
+
Matches ReactorSubgraph PHDocument pattern with revisionsList.
|
|
559
|
+
"""
|
|
560
|
+
type ${documentName}MutationResult {
|
|
561
|
+
id: String!
|
|
562
|
+
slug: String
|
|
563
|
+
name: String!
|
|
564
|
+
documentType: String!
|
|
565
|
+
state: ${stateType}
|
|
566
|
+
revisionsList: [Revision!]!
|
|
567
|
+
createdAtUtcIso: DateTime!
|
|
568
|
+
lastModifiedAtUtcIso: DateTime!
|
|
569
|
+
}
|
|
570
|
+
|
|
571
|
+
"""
|
|
572
|
+
Document with children for ${documentName}
|
|
573
|
+
"""
|
|
574
|
+
type ${documentName}_DocumentWithChildren {
|
|
575
|
+
document: ${documentName}MutationResult!
|
|
576
|
+
childIds: [String!]!
|
|
577
|
+
}
|
|
578
|
+
|
|
579
|
+
"""
|
|
580
|
+
Paginated result type for ${documentName} documents
|
|
581
|
+
"""
|
|
582
|
+
type ${documentName}_DocumentResultPage {
|
|
583
|
+
items: [${documentName}MutationResult!]!
|
|
584
|
+
totalCount: Int!
|
|
585
|
+
hasNextPage: Boolean!
|
|
586
|
+
hasPreviousPage: Boolean!
|
|
587
|
+
cursor: String
|
|
588
|
+
}
|
|
589
|
+
`;
|
|
590
|
+
// Flat queries (not nested) - prefixed input types to avoid conflicts
|
|
591
|
+
const queries = `
|
|
592
|
+
type Query {
|
|
593
|
+
"""Get a specific ${documentName} document by identifier"""
|
|
594
|
+
${documentName}_document(identifier: String!, view: ${documentName}_ViewFilterInput): ${documentName}_DocumentWithChildren
|
|
595
|
+
|
|
596
|
+
"""Find ${documentName} documents by search criteria"""
|
|
597
|
+
${documentName}_findDocuments(search: ${documentName}_SearchFilterInput!, view: ${documentName}_ViewFilterInput, paging: ${documentName}_PagingInput): ${documentName}_DocumentResultPage!
|
|
598
|
+
|
|
599
|
+
"""Get children of a ${documentName} document"""
|
|
600
|
+
${documentName}_documentChildren(parentIdentifier: String!, view: ${documentName}_ViewFilterInput, paging: ${documentName}_PagingInput): ${documentName}_DocumentResultPage!
|
|
601
|
+
|
|
602
|
+
"""Get parents of a ${documentName} document"""
|
|
603
|
+
${documentName}_documentParents(childIdentifier: String!, view: ${documentName}_ViewFilterInput, paging: ${documentName}_PagingInput): ${documentName}_DocumentResultPage!
|
|
604
|
+
}
|
|
605
|
+
`;
|
|
606
|
+
// Generate initial state input types for each scope
|
|
607
|
+
let initialStateInputSchema = "";
|
|
608
|
+
if (specification) {
|
|
609
|
+
const scopeFields = [];
|
|
610
|
+
const generatedInputTypeParts = [];
|
|
611
|
+
for (const [scopeName, scopeState] of Object.entries(specification.state)) {
|
|
612
|
+
const schema = scopeState.schema ?? "";
|
|
613
|
+
if (hasValidSchema(schema)) {
|
|
614
|
+
const rootTypeName = extractRootTypeName(schema, documentName, scopeName);
|
|
615
|
+
if (!rootTypeName) {
|
|
616
|
+
scopeFields.push(` ${scopeName}: JSONObject`);
|
|
617
|
+
continue;
|
|
618
|
+
}
|
|
619
|
+
const scopeInputTypes = generateStateInputTypes(schema, new Set(allTypeNames));
|
|
620
|
+
if (!scopeInputTypes) {
|
|
621
|
+
scopeFields.push(` ${scopeName}: JSONObject`);
|
|
622
|
+
continue;
|
|
623
|
+
}
|
|
624
|
+
const prefixedScopeInputTypes = applyGraphQLTypePrefixes(scopeInputTypes, documentName, allTypeNames);
|
|
625
|
+
scopeFields.push(` ${scopeName}: ${documentName}_${rootTypeName}Input`);
|
|
626
|
+
generatedInputTypeParts.push(prefixedScopeInputTypes);
|
|
627
|
+
}
|
|
628
|
+
else {
|
|
629
|
+
scopeFields.push(` ${scopeName}: JSONObject`);
|
|
630
|
+
}
|
|
631
|
+
}
|
|
632
|
+
if (scopeFields.length > 0) {
|
|
633
|
+
const inputTypeDefs = generatedInputTypeParts.join("\n\n");
|
|
634
|
+
const wrapper = `input ${documentName}_InitialStateInput {\n${scopeFields.join("\n")}\n}`;
|
|
635
|
+
initialStateInputSchema = inputTypeDefs
|
|
636
|
+
? `${inputTypeDefs}\n\n${wrapper}`
|
|
637
|
+
: wrapper;
|
|
638
|
+
}
|
|
639
|
+
}
|
|
640
|
+
// Mutations: sync and async versions
|
|
641
|
+
const createDocumentMutation = initialStateInputSchema
|
|
642
|
+
? `${documentName}_createDocument(name: String!, parentIdentifier: String, slug: String, initialState: ${documentName}_InitialStateInput): ${documentName}MutationResult!`
|
|
643
|
+
: `${documentName}_createDocument(name: String!, parentIdentifier: String): ${documentName}MutationResult!`;
|
|
644
|
+
const createEmptyDocumentMutation = `${documentName}_createEmptyDocument(parentIdentifier: String): ${documentName}MutationResult!`;
|
|
645
|
+
const operationMutations = specification?.modules
|
|
646
|
+
.flatMap((module) => module.operations
|
|
647
|
+
.filter((op) => op.name && hasValidSchema(op.schema))
|
|
648
|
+
.flatMap((op) => [
|
|
649
|
+
// Sync mutation
|
|
650
|
+
`${documentName}_${camelCase(op.name)}(docId: PHID!, input: ${documentName}_${pascalCase(op.name)}Input!): ${documentName}MutationResult!`,
|
|
651
|
+
// Async mutation
|
|
652
|
+
`${documentName}_${camelCase(op.name)}Async(docId: PHID!, input: ${documentName}_${pascalCase(op.name)}Input!): String!`,
|
|
653
|
+
]))
|
|
654
|
+
.join("\n ") ?? "";
|
|
655
|
+
const moduleSchemas = specification?.modules
|
|
656
|
+
.filter((module) => module.operations.some((op) => hasValidSchema(op.schema)))
|
|
267
657
|
.map((module) => `"""
|
|
268
658
|
Module: ${pascalCase(module.name)}
|
|
269
659
|
"""
|
|
270
660
|
${module.operations
|
|
271
|
-
.
|
|
661
|
+
.filter((op) => hasValidSchema(op.schema))
|
|
662
|
+
.map((op) => applyGraphQLTypePrefixes(op.schema ?? "", documentName, allTypeNames))
|
|
272
663
|
.join("\n ")}`)
|
|
273
|
-
.join("\n") ?? ""
|
|
664
|
+
.join("\n") ?? "";
|
|
665
|
+
return gql `
|
|
666
|
+
scalar DateTime
|
|
667
|
+
scalar JSONObject
|
|
668
|
+
|
|
669
|
+
${revisionType}
|
|
670
|
+
|
|
671
|
+
${sharedBaseTypes}
|
|
672
|
+
|
|
673
|
+
${fullStateType}
|
|
674
|
+
|
|
675
|
+
${commonInputTypes}
|
|
676
|
+
|
|
677
|
+
${resultTypes}
|
|
678
|
+
|
|
679
|
+
"""
|
|
680
|
+
Queries: ${documentName} Document
|
|
681
|
+
"""
|
|
682
|
+
${queries}
|
|
683
|
+
|
|
684
|
+
"""
|
|
685
|
+
Mutations: ${documentName}
|
|
686
|
+
"""
|
|
687
|
+
type Mutation {
|
|
688
|
+
${createDocumentMutation}
|
|
689
|
+
${createEmptyDocumentMutation}
|
|
690
|
+
|
|
691
|
+
${operationMutations}
|
|
692
|
+
}
|
|
693
|
+
|
|
694
|
+
${prefixedStateInputTypes
|
|
695
|
+
? `"""
|
|
696
|
+
Input Types from State Schema
|
|
697
|
+
"""
|
|
698
|
+
${prefixedStateInputTypes}`
|
|
699
|
+
: ""}
|
|
700
|
+
|
|
701
|
+
${initialStateInputSchema
|
|
702
|
+
? `"""
|
|
703
|
+
Input Types for Initial State
|
|
704
|
+
"""
|
|
705
|
+
${initialStateInputSchema}`
|
|
706
|
+
: ""}
|
|
707
|
+
|
|
708
|
+
${moduleSchemas}`;
|
|
274
709
|
}
|
|
275
710
|
//# sourceMappingURL=create-schema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-schema.js","sourceRoot":"","sources":["../../../src/utils/create-schema.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"create-schema.js","sourceRoot":"","sources":["../../../src/utils/create-schema.ts"],"names":[],"mappings":"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"}
|
package/dist/src/utils/db.d.ts
CHANGED
|
@@ -10,6 +10,13 @@ export type DocumentPermissionLevel = "READ" | "WRITE" | "ADMIN";
|
|
|
10
10
|
/**
|
|
11
11
|
* Database schema for document permissions
|
|
12
12
|
*/
|
|
13
|
+
export interface DocumentProtectionTable {
|
|
14
|
+
documentId: string;
|
|
15
|
+
protected: boolean;
|
|
16
|
+
ownerAddress: string | null;
|
|
17
|
+
createdAt: Date;
|
|
18
|
+
updatedAt: Date;
|
|
19
|
+
}
|
|
13
20
|
export interface DocumentPermissionDatabase {
|
|
14
21
|
DocumentPermission: DocumentPermissionTable;
|
|
15
22
|
Group: GroupTable;
|
|
@@ -17,6 +24,7 @@ export interface DocumentPermissionDatabase {
|
|
|
17
24
|
DocumentGroupPermission: DocumentGroupPermissionTable;
|
|
18
25
|
OperationUserPermission: OperationUserPermissionTable;
|
|
19
26
|
OperationGroupPermission: OperationGroupPermissionTable;
|
|
27
|
+
DocumentProtection: DocumentProtectionTable;
|
|
20
28
|
}
|
|
21
29
|
export interface DocumentPermissionTable {
|
|
22
30
|
id: Generated<number>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../../src/utils/db.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAGjC,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAKhD;;;;;GAKG;AACH,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,kBAAkB,EAAE,uBAAuB,CAAC;IAC5C,KAAK,EAAE,UAAU,CAAC;IAClB,SAAS,EAAE,cAAc,CAAC;IAC1B,uBAAuB,EAAE,4BAA4B,CAAC;IACtD,uBAAuB,EAAE,4BAA4B,CAAC;IACtD,wBAAwB,EAAE,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../../src/utils/db.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAGjC,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAKhD;;;;;GAKG;AACH,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,0BAA0B;IACzC,kBAAkB,EAAE,uBAAuB,CAAC;IAC5C,KAAK,EAAE,UAAU,CAAC;IAClB,SAAS,EAAE,cAAc,CAAC;IAC1B,uBAAuB,EAAE,4BAA4B,CAAC;IACtD,uBAAuB,EAAE,4BAA4B,CAAC;IACtD,wBAAwB,EAAE,6BAA6B,CAAC;IACxD,kBAAkB,EAAE,uBAAuB,CAAC;CAC7C;AAED,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACtB,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;AAGD,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACtB,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,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,4BAA4B;IAC3C,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACtB,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;AAGD,MAAM,WAAW,4BAA4B;IAC3C,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACtB,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,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACtB,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,KAAK,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;AAYtB,wBAAgB,WAAW,CAAC,gBAAgB,GAAE,MAAM,GAAG,SAAqB,GAAG;IAC7E,EAAE,EAAE,EAAE,CAAC;IACP,IAAI,EAAE,IAAI,CAAC;CACZ,CA6BA;AAED,eAAO,MAAM,qBAAqB,UA2DjC,CAAC"}
|
package/dist/src/utils/db.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.js","sourceRoot":"","sources":["../../../src/utils/db.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,YAAY,MAAM,aAAa,CAAC;AACvC,OAAO,EAAkB,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"db.js","sourceRoot":"","sources":["../../../src/utils/db.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,YAAY,MAAM,aAAa,CAAC;AACvC,OAAO,EAAkB,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAuF7B,SAAS,IAAI,CAAC,gBAAwB;IACpC,IACE,gBAAgB,CAAC,UAAU,CAAC,eAAe,CAAC;QAC5C,gBAAgB,CAAC,UAAU,CAAC,aAAa,CAAC,EAC1C,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,mBAAuC,SAAS;IAI1E,MAAM,IAAI,GAAG,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,YAAmC,CAAC;IAClE,MAAM,UAAU,GAAG,IAAI;QACrB,CAAC,CAAC,EAAE,gBAAgB,EAAE;QACtB,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC;IAE7C,wDAAwD;IACxD,uCAAuC;IACvC,IAAI,gBAAgB,IAAI,CAAC,IAAI,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;QACrD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC;QACxB,MAAM;QACN,UAAU;KACX,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,IAAI,MAAM,CAAC;QAChC,OAAO,EAAE,IAAI,iBAAiB,CAAC;YAC7B,IAAI,EAAE,YAAY;YAClB,gBAAgB,EAAE,IAAI,aAAa,EAAE;SACtC,CAAC;KACH,CAAC,CAAC;IAEH,OAAO,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;AACpD,CAAC;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC;;;;;;;;;;;KAWG;IACH;+BAC6B;IAC7B;oCACkC;IAClC;iCAC+B;IAC/B;qCACmC;IACnC;qCACmC;IACnC;oCACkC;IAClC;mCACiC;IACjC;oCACkC;IAClC;;;;;;;;KAQG;IACH;kCACgC;IAChC;2CACyC;IACzC;sCACoC;IACpC;;;;;;;;;;KAUG;IACH;6DAC2D;IAC3D;4DAC0D;CAC3D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drive-url.d.ts","sourceRoot":"","sources":["../../../src/utils/drive-url.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,aAAa,EACb,KAAK,cAAc,GACpB,MAAM,wBAAwB,CAAC"}
|