@powerhousedao/reactor-api 6.0.2-staging.2 → 6.0.2-staging.3
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/README.md +6 -0
- package/dist/index.d.mts +2943 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +6375 -0
- package/dist/index.mjs.map +1 -0
- package/dist/src/packages/https-hooks.d.mts +23 -7
- package/dist/src/packages/https-hooks.d.mts.map +1 -1
- package/dist/src/packages/https-hooks.mjs +73 -53
- package/dist/src/packages/https-hooks.mjs.map +1 -1
- package/dist/src/packages/vite-loader.d.mts +29 -0
- package/dist/src/packages/vite-loader.d.mts.map +1 -0
- package/dist/src/packages/vite-loader.mjs +142 -0
- package/dist/src/packages/vite-loader.mjs.map +1 -0
- package/dist/types-Do4QTfT3.d.mts +37 -0
- package/dist/types-Do4QTfT3.d.mts.map +1 -0
- package/dist/utils-DEEhP99G.mjs +286 -0
- package/dist/utils-DEEhP99G.mjs.map +1 -0
- package/package.json +45 -32
- package/dist/codegen.d.ts +0 -4
- package/dist/codegen.d.ts.map +0 -1
- package/dist/codegen.js +0 -38
- package/dist/codegen.js.map +0 -1
- package/dist/index.d.ts +0 -16
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -16
- package/dist/index.js.map +0 -1
- package/dist/src/config.d.ts +0 -6
- package/dist/src/config.d.ts.map +0 -1
- package/dist/src/config.js +0 -6
- package/dist/src/config.js.map +0 -1
- package/dist/src/dev.d.ts +0 -2
- package/dist/src/dev.d.ts.map +0 -1
- package/dist/src/dev.js +0 -51
- package/dist/src/dev.js.map +0 -1
- package/dist/src/graphql/analytics-subgraph.d.ts +0 -14
- package/dist/src/graphql/analytics-subgraph.d.ts.map +0 -1
- package/dist/src/graphql/analytics-subgraph.js +0 -26
- package/dist/src/graphql/analytics-subgraph.js.map +0 -1
- package/dist/src/graphql/auth/index.d.ts +0 -2
- package/dist/src/graphql/auth/index.d.ts.map +0 -1
- package/dist/src/graphql/auth/index.js +0 -2
- package/dist/src/graphql/auth/index.js.map +0 -1
- package/dist/src/graphql/auth/resolvers.d.ts +0 -166
- package/dist/src/graphql/auth/resolvers.d.ts.map +0 -1
- package/dist/src/graphql/auth/resolvers.js +0 -227
- package/dist/src/graphql/auth/resolvers.js.map +0 -1
- package/dist/src/graphql/auth/schema.graphql +0 -195
- package/dist/src/graphql/auth/subgraph.d.ts +0 -202
- package/dist/src/graphql/auth/subgraph.d.ts.map +0 -1
- package/dist/src/graphql/auth/subgraph.js +0 -384
- package/dist/src/graphql/auth/subgraph.js.map +0 -1
- package/dist/src/graphql/base-subgraph.d.ts +0 -28
- package/dist/src/graphql/base-subgraph.d.ts.map +0 -1
- package/dist/src/graphql/base-subgraph.js +0 -126
- package/dist/src/graphql/base-subgraph.js.map +0 -1
- package/dist/src/graphql/document-model-subgraph.d.ts +0 -105
- package/dist/src/graphql/document-model-subgraph.d.ts.map +0 -1
- package/dist/src/graphql/document-model-subgraph.js +0 -312
- package/dist/src/graphql/document-model-subgraph.js.map +0 -1
- package/dist/src/graphql/graphql-manager.d.ts +0 -68
- package/dist/src/graphql/graphql-manager.d.ts.map +0 -1
- package/dist/src/graphql/graphql-manager.js +0 -589
- package/dist/src/graphql/graphql-manager.js.map +0 -1
- package/dist/src/graphql/index.d.ts +0 -10
- package/dist/src/graphql/index.d.ts.map +0 -1
- package/dist/src/graphql/index.js +0 -10
- package/dist/src/graphql/index.js.map +0 -1
- package/dist/src/graphql/packages/index.d.ts +0 -2
- package/dist/src/graphql/packages/index.d.ts.map +0 -1
- package/dist/src/graphql/packages/index.js +0 -2
- package/dist/src/graphql/packages/index.js.map +0 -1
- package/dist/src/graphql/packages/resolvers.d.ts +0 -31
- package/dist/src/graphql/packages/resolvers.d.ts.map +0 -1
- package/dist/src/graphql/packages/resolvers.js +0 -37
- package/dist/src/graphql/packages/resolvers.js.map +0 -1
- package/dist/src/graphql/packages/schema.graphql +0 -50
- package/dist/src/graphql/packages/subgraph.d.ts +0 -55
- package/dist/src/graphql/packages/subgraph.d.ts.map +0 -1
- package/dist/src/graphql/packages/subgraph.js +0 -73
- package/dist/src/graphql/packages/subgraph.js.map +0 -1
- package/dist/src/graphql/playground.d.ts +0 -2
- package/dist/src/graphql/playground.d.ts.map +0 -1
- package/dist/src/graphql/playground.js +0 -81
- package/dist/src/graphql/playground.js.map +0 -1
- package/dist/src/graphql/reactor/adapters.d.ts +0 -62
- package/dist/src/graphql/reactor/adapters.d.ts.map +0 -1
- package/dist/src/graphql/reactor/adapters.js +0 -271
- package/dist/src/graphql/reactor/adapters.js.map +0 -1
- package/dist/src/graphql/reactor/factory.d.ts +0 -105
- package/dist/src/graphql/reactor/factory.d.ts.map +0 -1
- package/dist/src/graphql/reactor/factory.js +0 -7
- package/dist/src/graphql/reactor/factory.js.map +0 -1
- package/dist/src/graphql/reactor/gen/graphql.d.ts +0 -1489
- package/dist/src/graphql/reactor/gen/graphql.d.ts.map +0 -1
- package/dist/src/graphql/reactor/gen/graphql.js +0 -731
- package/dist/src/graphql/reactor/gen/graphql.js.map +0 -1
- package/dist/src/graphql/reactor/index.d.ts +0 -4
- package/dist/src/graphql/reactor/index.d.ts.map +0 -1
- package/dist/src/graphql/reactor/index.js +0 -4
- package/dist/src/graphql/reactor/index.js.map +0 -1
- package/dist/src/graphql/reactor/operations.graphql +0 -443
- package/dist/src/graphql/reactor/pubsub.d.ts +0 -27
- package/dist/src/graphql/reactor/pubsub.d.ts.map +0 -1
- package/dist/src/graphql/reactor/pubsub.js +0 -93
- package/dist/src/graphql/reactor/pubsub.js.map +0 -1
- package/dist/src/graphql/reactor/requester.d.ts +0 -4
- package/dist/src/graphql/reactor/requester.d.ts.map +0 -1
- package/dist/src/graphql/reactor/requester.js +0 -22
- package/dist/src/graphql/reactor/requester.js.map +0 -1
- package/dist/src/graphql/reactor/requester.with-zod.d.ts +0 -4
- package/dist/src/graphql/reactor/requester.with-zod.d.ts.map +0 -1
- package/dist/src/graphql/reactor/requester.with-zod.js +0 -129
- package/dist/src/graphql/reactor/requester.with-zod.js.map +0 -1
- package/dist/src/graphql/reactor/resolvers.d.ts +0 -223
- package/dist/src/graphql/reactor/resolvers.d.ts.map +0 -1
- package/dist/src/graphql/reactor/resolvers.js +0 -682
- package/dist/src/graphql/reactor/resolvers.js.map +0 -1
- package/dist/src/graphql/reactor/schema.graphql +0 -475
- package/dist/src/graphql/reactor/subgraph.d.ts +0 -18
- package/dist/src/graphql/reactor/subgraph.d.ts.map +0 -1
- package/dist/src/graphql/reactor/subgraph.js +0 -457
- package/dist/src/graphql/reactor/subgraph.js.map +0 -1
- package/dist/src/graphql/reactor/validation.d.ts +0 -348
- package/dist/src/graphql/reactor/validation.d.ts.map +0 -1
- package/dist/src/graphql/reactor/validation.js +0 -167
- package/dist/src/graphql/reactor/validation.js.map +0 -1
- package/dist/src/graphql/sse.d.ts +0 -42
- package/dist/src/graphql/sse.d.ts.map +0 -1
- package/dist/src/graphql/sse.js +0 -33
- package/dist/src/graphql/sse.js.map +0 -1
- package/dist/src/graphql/system/env/getters.d.ts +0 -2
- package/dist/src/graphql/system/env/getters.d.ts.map +0 -1
- package/dist/src/graphql/system/env/getters.js +0 -4
- package/dist/src/graphql/system/env/getters.js.map +0 -1
- package/dist/src/graphql/system/env/index.d.ts +0 -2
- package/dist/src/graphql/system/env/index.d.ts.map +0 -1
- package/dist/src/graphql/system/env/index.js +0 -5
- package/dist/src/graphql/system/env/index.js.map +0 -1
- package/dist/src/graphql/system/index.d.ts +0 -2
- package/dist/src/graphql/system/index.d.ts.map +0 -1
- package/dist/src/graphql/system/index.js +0 -2
- package/dist/src/graphql/system/index.js.map +0 -1
- package/dist/src/graphql/system/types.d.ts +0 -2
- package/dist/src/graphql/system/types.d.ts.map +0 -1
- package/dist/src/graphql/system/types.js +0 -2
- package/dist/src/graphql/system/types.js.map +0 -1
- package/dist/src/graphql/temp-hack-rwa-type-defs.d.ts +0 -57
- package/dist/src/graphql/temp-hack-rwa-type-defs.d.ts.map +0 -1
- package/dist/src/graphql/temp-hack-rwa-type-defs.js +0 -2
- package/dist/src/graphql/temp-hack-rwa-type-defs.js.map +0 -1
- package/dist/src/graphql/types.d.ts +0 -102
- package/dist/src/graphql/types.d.ts.map +0 -1
- package/dist/src/graphql/types.js +0 -2
- package/dist/src/graphql/types.js.map +0 -1
- package/dist/src/graphql/utils.d.ts +0 -9
- package/dist/src/graphql/utils.d.ts.map +0 -1
- package/dist/src/graphql/utils.js +0 -72
- package/dist/src/graphql/utils.js.map +0 -1
- package/dist/src/graphql/websocket.d.ts +0 -3
- package/dist/src/graphql/websocket.d.ts.map +0 -1
- package/dist/src/graphql/websocket.js +0 -15
- package/dist/src/graphql/websocket.js.map +0 -1
- package/dist/src/migrations/001_create_document_permissions.d.ts +0 -4
- package/dist/src/migrations/001_create_document_permissions.d.ts.map +0 -1
- package/dist/src/migrations/001_create_document_permissions.js +0 -91
- package/dist/src/migrations/001_create_document_permissions.js.map +0 -1
- package/dist/src/migrations/002_add_document_protection.d.ts +0 -4
- package/dist/src/migrations/002_add_document_protection.d.ts.map +0 -1
- package/dist/src/migrations/002_add_document_protection.js +0 -18
- package/dist/src/migrations/002_add_document_protection.js.map +0 -1
- package/dist/src/migrations/index.d.ts +0 -10
- package/dist/src/migrations/index.d.ts.map +0 -1
- package/dist/src/migrations/index.js +0 -58
- package/dist/src/migrations/index.js.map +0 -1
- package/dist/src/packages/http-loader.d.ts +0 -68
- package/dist/src/packages/http-loader.d.ts.map +0 -1
- package/dist/src/packages/http-loader.js +0 -176
- package/dist/src/packages/http-loader.js.map +0 -1
- package/dist/src/packages/import-loader.d.ts +0 -14
- package/dist/src/packages/import-loader.d.ts.map +0 -1
- package/dist/src/packages/import-loader.js +0 -46
- package/dist/src/packages/import-loader.js.map +0 -1
- package/dist/src/packages/import-resolver.d.ts +0 -5
- package/dist/src/packages/import-resolver.d.ts.map +0 -1
- package/dist/src/packages/import-resolver.js +0 -127
- package/dist/src/packages/import-resolver.js.map +0 -1
- package/dist/src/packages/package-manager.d.ts +0 -34
- package/dist/src/packages/package-manager.d.ts.map +0 -1
- package/dist/src/packages/package-manager.js +0 -213
- package/dist/src/packages/package-manager.js.map +0 -1
- package/dist/src/packages/types.d.ts +0 -38
- package/dist/src/packages/types.d.ts.map +0 -1
- package/dist/src/packages/types.js +0 -2
- package/dist/src/packages/types.js.map +0 -1
- package/dist/src/packages/util.d.ts +0 -27
- package/dist/src/packages/util.d.ts.map +0 -1
- package/dist/src/packages/util.js +0 -97
- package/dist/src/packages/util.js.map +0 -1
- package/dist/src/packages/vite-loader.d.ts +0 -24
- package/dist/src/packages/vite-loader.d.ts.map +0 -1
- package/dist/src/packages/vite-loader.js +0 -169
- package/dist/src/packages/vite-loader.js.map +0 -1
- package/dist/src/server.d.ts +0 -56
- package/dist/src/server.d.ts.map +0 -1
- package/dist/src/server.js +0 -365
- package/dist/src/server.js.map +0 -1
- package/dist/src/services/auth.service.d.ts +0 -56
- package/dist/src/services/auth.service.d.ts.map +0 -1
- package/dist/src/services/auth.service.js +0 -172
- package/dist/src/services/auth.service.js.map +0 -1
- package/dist/src/services/authorization.service.d.ts +0 -70
- package/dist/src/services/authorization.service.d.ts.map +0 -1
- package/dist/src/services/authorization.service.js +0 -155
- package/dist/src/services/authorization.service.js.map +0 -1
- package/dist/src/services/document-permission.service.d.ts +0 -241
- package/dist/src/services/document-permission.service.d.ts.map +0 -1
- package/dist/src/services/document-permission.service.js +0 -791
- package/dist/src/services/document-permission.service.js.map +0 -1
- package/dist/src/services/package-management.service.d.ts +0 -32
- package/dist/src/services/package-management.service.d.ts.map +0 -1
- package/dist/src/services/package-management.service.js +0 -95
- package/dist/src/services/package-management.service.js.map +0 -1
- package/dist/src/services/package-storage.d.ts +0 -23
- package/dist/src/services/package-storage.d.ts.map +0 -1
- package/dist/src/services/package-storage.js +0 -19
- package/dist/src/services/package-storage.js.map +0 -1
- package/dist/src/tracing.d.ts +0 -4
- package/dist/src/tracing.d.ts.map +0 -1
- package/dist/src/tracing.js +0 -140
- package/dist/src/tracing.js.map +0 -1
- package/dist/src/types.d.ts +0 -17
- package/dist/src/types.d.ts.map +0 -1
- package/dist/src/types.js +0 -2
- package/dist/src/types.js.map +0 -1
- package/dist/src/utils/auth.d.ts +0 -3
- package/dist/src/utils/auth.d.ts.map +0 -1
- package/dist/src/utils/auth.js +0 -12
- package/dist/src/utils/auth.js.map +0 -1
- package/dist/src/utils/create-schema.d.ts +0 -36
- package/dist/src/utils/create-schema.d.ts.map +0 -1
- package/dist/src/utils/create-schema.js +0 -725
- package/dist/src/utils/create-schema.js.map +0 -1
- package/dist/src/utils/db.d.ts +0 -82
- package/dist/src/utils/db.d.ts.map +0 -1
- package/dist/src/utils/db.js +0 -101
- package/dist/src/utils/db.js.map +0 -1
- package/dist/src/utils/drive-url.d.ts +0 -2
- package/dist/src/utils/drive-url.d.ts.map +0 -1
- package/dist/src/utils/drive-url.js +0 -3
- package/dist/src/utils/drive-url.js.map +0 -1
- package/dist/src/utils/index.d.ts +0 -4
- package/dist/src/utils/index.d.ts.map +0 -1
- package/dist/src/utils/index.js +0 -4
- package/dist/src/utils/index.js.map +0 -1
- package/dist/test/authorization.service.test.d.ts +0 -2
- package/dist/test/authorization.service.test.d.ts.map +0 -1
- package/dist/test/authorization.service.test.js +0 -252
- package/dist/test/authorization.service.test.js.map +0 -1
- package/dist/test/benchmarks/load.bench.d.ts +0 -2
- package/dist/test/benchmarks/load.bench.d.ts.map +0 -1
- package/dist/test/benchmarks/load.bench.js +0 -73
- package/dist/test/benchmarks/load.bench.js.map +0 -1
- package/dist/test/benchmarks/sync.bench.d.ts +0 -2
- package/dist/test/benchmarks/sync.bench.d.ts.map +0 -1
- package/dist/test/benchmarks/sync.bench.js +0 -119
- package/dist/test/benchmarks/sync.bench.js.map +0 -1
- package/dist/test/connect-switchboard-reshuffle-convergence.test.d.ts +0 -2
- package/dist/test/connect-switchboard-reshuffle-convergence.test.d.ts.map +0 -1
- package/dist/test/connect-switchboard-reshuffle-convergence.test.js +0 -203
- package/dist/test/connect-switchboard-reshuffle-convergence.test.js.map +0 -1
- package/dist/test/connect-switchboard-sync.test.d.ts +0 -2
- package/dist/test/connect-switchboard-sync.test.d.ts.map +0 -1
- package/dist/test/connect-switchboard-sync.test.js +0 -632
- package/dist/test/connect-switchboard-sync.test.js.map +0 -1
- package/dist/test/document-drive-subgraph.test.d.ts +0 -2
- package/dist/test/document-drive-subgraph.test.d.ts.map +0 -1
- package/dist/test/document-drive-subgraph.test.js +0 -249
- package/dist/test/document-drive-subgraph.test.js.map +0 -1
- package/dist/test/document-model-subgraph-permissions.test.d.ts +0 -2
- package/dist/test/document-model-subgraph-permissions.test.d.ts.map +0 -1
- package/dist/test/document-model-subgraph-permissions.test.js +0 -587
- package/dist/test/document-model-subgraph-permissions.test.js.map +0 -1
- package/dist/test/document-permission.service.test.d.ts +0 -2
- package/dist/test/document-permission.service.test.d.ts.map +0 -1
- package/dist/test/document-permission.service.test.js +0 -480
- package/dist/test/document-permission.service.test.js.map +0 -1
- package/dist/test/drive-info-endpoint.test.d.ts +0 -2
- package/dist/test/drive-info-endpoint.test.d.ts.map +0 -1
- package/dist/test/drive-info-endpoint.test.js +0 -123
- package/dist/test/drive-info-endpoint.test.js.map +0 -1
- package/dist/test/fault-injection-sync.test.d.ts +0 -2
- package/dist/test/fault-injection-sync.test.d.ts.map +0 -1
- package/dist/test/fault-injection-sync.test.js +0 -196
- package/dist/test/fault-injection-sync.test.js.map +0 -1
- package/dist/test/identity-integration.test.d.ts +0 -2
- package/dist/test/identity-integration.test.d.ts.map +0 -1
- package/dist/test/identity-integration.test.js +0 -349
- package/dist/test/identity-integration.test.js.map +0 -1
- package/dist/test/index.d.ts +0 -2
- package/dist/test/index.d.ts.map +0 -1
- package/dist/test/index.js +0 -2
- package/dist/test/index.js.map +0 -1
- package/dist/test/permissions-integration.test.d.ts +0 -2
- package/dist/test/permissions-integration.test.d.ts.map +0 -1
- package/dist/test/permissions-integration.test.js +0 -407
- package/dist/test/permissions-integration.test.js.map +0 -1
- package/dist/test/push-backfill.test.d.ts +0 -2
- package/dist/test/push-backfill.test.d.ts.map +0 -1
- package/dist/test/push-backfill.test.js +0 -298
- package/dist/test/push-backfill.test.js.map +0 -1
- package/dist/test/reactor-adapters.test.d.ts +0 -2
- package/dist/test/reactor-adapters.test.d.ts.map +0 -1
- package/dist/test/reactor-adapters.test.js +0 -379
- package/dist/test/reactor-adapters.test.js.map +0 -1
- package/dist/test/reactor-client.test.d.ts +0 -2
- package/dist/test/reactor-client.test.d.ts.map +0 -1
- package/dist/test/reactor-client.test.js +0 -371
- package/dist/test/reactor-client.test.js.map +0 -1
- package/dist/test/reactor-resolvers.test.d.ts +0 -2
- package/dist/test/reactor-resolvers.test.d.ts.map +0 -1
- package/dist/test/reactor-resolvers.test.js +0 -258
- package/dist/test/reactor-resolvers.test.js.map +0 -1
- package/dist/test/reactor-subgraph-permissions.test.d.ts +0 -2
- package/dist/test/reactor-subgraph-permissions.test.d.ts.map +0 -1
- package/dist/test/reactor-subgraph-permissions.test.js +0 -371
- package/dist/test/reactor-subgraph-permissions.test.js.map +0 -1
- package/dist/test/router.test.d.ts +0 -2
- package/dist/test/router.test.d.ts.map +0 -1
- package/dist/test/router.test.js +0 -38
- package/dist/test/router.test.js.map +0 -1
- package/dist/test/subscriptions-sse.test.d.ts +0 -2
- package/dist/test/subscriptions-sse.test.d.ts.map +0 -1
- package/dist/test/subscriptions-sse.test.js +0 -264
- package/dist/test/subscriptions-sse.test.js.map +0 -1
- package/dist/test/subscriptions.test.d.ts +0 -2
- package/dist/test/subscriptions.test.d.ts.map +0 -1
- package/dist/test/subscriptions.test.js +0 -248
- package/dist/test/subscriptions.test.js.map +0 -1
- package/dist/test/utils/gql-resolver-bridge.d.ts +0 -15
- package/dist/test/utils/gql-resolver-bridge.d.ts.map +0 -1
- package/dist/test/utils/gql-resolver-bridge.js +0 -89
- package/dist/test/utils/gql-resolver-bridge.js.map +0 -1
- package/dist/test/utils.d.ts +0 -10
- package/dist/test/utils.d.ts.map +0 -1
- package/dist/test/utils.js +0 -23
- package/dist/test/utils.js.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/dist/vitest.config.d.ts +0 -3
- package/dist/vitest.config.d.ts.map +0 -1
- package/dist/vitest.config.js +0 -38
- package/dist/vitest.config.js.map +0 -1
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
import { type DocumentModelModule } from "document-model";
|
|
2
|
-
import { BaseSubgraph } from "./base-subgraph.js";
|
|
3
|
-
import type { PhDocument, PhDocumentResultPage } from "./reactor/gen/graphql.js";
|
|
4
|
-
import type { Context, SubgraphArgs } from "./types.js";
|
|
5
|
-
/** A resolver function that lives inside a document-model subgraph. */
|
|
6
|
-
export type DocumentModelResolverFn = (...args: any[]) => unknown;
|
|
7
|
-
/**
|
|
8
|
-
* A resolver map for a single GraphQL type in a document-model subgraph.
|
|
9
|
-
* Each key is a field name (or `__resolveType` for unions) and each value
|
|
10
|
-
* is a resolver function.
|
|
11
|
-
*/
|
|
12
|
-
export type DocumentModelResolverMap = Record<string, DocumentModelResolverFn>;
|
|
13
|
-
/** View filter shared across query resolvers. */
|
|
14
|
-
type ViewArg = {
|
|
15
|
-
branch?: string;
|
|
16
|
-
scopes?: string[];
|
|
17
|
-
};
|
|
18
|
-
/** Paging argument shared across query resolvers. */
|
|
19
|
-
type PagingArg = {
|
|
20
|
-
limit?: number;
|
|
21
|
-
offset?: number;
|
|
22
|
-
cursor?: string;
|
|
23
|
-
};
|
|
24
|
-
/**
|
|
25
|
-
* Known query resolvers generated for every document model.
|
|
26
|
-
* `TDocument` is the GQL representation of the document (defaults to `PhDocument`).
|
|
27
|
-
*/
|
|
28
|
-
export interface DocumentModelQueryResolvers<TDocument extends PhDocument = PhDocument> {
|
|
29
|
-
document: (parent: unknown, args: {
|
|
30
|
-
identifier: string;
|
|
31
|
-
view?: ViewArg;
|
|
32
|
-
}, ctx: Context) => Promise<{
|
|
33
|
-
document: TDocument;
|
|
34
|
-
childIds: string[];
|
|
35
|
-
}>;
|
|
36
|
-
findDocuments: (parent: unknown, args: {
|
|
37
|
-
search?: {
|
|
38
|
-
parentId?: string;
|
|
39
|
-
identifiers?: string[];
|
|
40
|
-
};
|
|
41
|
-
view?: ViewArg;
|
|
42
|
-
paging?: PagingArg;
|
|
43
|
-
}, ctx: Context) => Promise<PhDocumentResultPage>;
|
|
44
|
-
documentChildren: (parent: unknown, args: {
|
|
45
|
-
parentIdentifier: string;
|
|
46
|
-
view?: ViewArg;
|
|
47
|
-
paging?: PagingArg;
|
|
48
|
-
}, ctx: Context) => Promise<PhDocumentResultPage>;
|
|
49
|
-
documentParents: (parent: unknown, args: {
|
|
50
|
-
childIdentifier: string;
|
|
51
|
-
view?: ViewArg;
|
|
52
|
-
paging?: PagingArg;
|
|
53
|
-
}, ctx: Context) => Promise<PhDocumentResultPage>;
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Known mutation resolvers generated for every document model.
|
|
57
|
-
* `TDocument` is the GQL representation of the document (defaults to `PhDocument`).
|
|
58
|
-
* Operations specific to each model are captured by the index signature.
|
|
59
|
-
*/
|
|
60
|
-
export interface DocumentModelMutationResolvers<TDocument extends PhDocument = PhDocument> {
|
|
61
|
-
createDocument: (parent: unknown, args: {
|
|
62
|
-
name: string;
|
|
63
|
-
parentIdentifier?: string;
|
|
64
|
-
slug?: string;
|
|
65
|
-
preferredEditor?: string;
|
|
66
|
-
initialState?: Record<string, Record<string, unknown>>;
|
|
67
|
-
}, ctx: Context) => Promise<TDocument>;
|
|
68
|
-
createEmptyDocument: (parent: unknown, args: {
|
|
69
|
-
parentIdentifier?: string;
|
|
70
|
-
}, ctx: Context) => Promise<TDocument>;
|
|
71
|
-
/** Dynamic operation resolvers (sync and async variants). */
|
|
72
|
-
[operationName: string]: DocumentModelResolverFn;
|
|
73
|
-
}
|
|
74
|
-
/** The resolvers that a `DocumentModelSubgraph` exposes. */
|
|
75
|
-
export interface DocumentModelSubgraphResolvers<TDocument extends PhDocument = PhDocument> {
|
|
76
|
-
Query: DocumentModelResolverMap;
|
|
77
|
-
Mutation: DocumentModelResolverMap;
|
|
78
|
-
[namespaceKey: string]: DocumentModelResolverMap | DocumentModelQueryResolvers<TDocument> | DocumentModelMutationResolvers<TDocument>;
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* New document model subgraph that uses reactorClient instead of legacy reactor.
|
|
82
|
-
* This class auto-generates GraphQL queries and mutations for a document model.
|
|
83
|
-
*/
|
|
84
|
-
export declare class DocumentModelSubgraph extends BaseSubgraph {
|
|
85
|
-
resolvers: DocumentModelSubgraphResolvers;
|
|
86
|
-
private documentModel;
|
|
87
|
-
constructor(documentModel: DocumentModelModule, args: SubgraphArgs);
|
|
88
|
-
/** Returns the typed query resolvers for this document model. */
|
|
89
|
-
get queryResolvers(): DocumentModelQueryResolvers;
|
|
90
|
-
/** Returns the typed mutation resolvers for this document model. */
|
|
91
|
-
get mutationResolvers(): DocumentModelMutationResolvers;
|
|
92
|
-
/**
|
|
93
|
-
* Generate __resolveType functions for union types found in the document model schema.
|
|
94
|
-
* Parses the state schema to find union definitions and their member types,
|
|
95
|
-
* then uses unique field presence to discriminate between member types at runtime.
|
|
96
|
-
*/
|
|
97
|
-
private generateUnionResolvers;
|
|
98
|
-
/**
|
|
99
|
-
* Generate resolvers for this document model using reactorClient
|
|
100
|
-
* Uses flat queries (not nested) consistent with ReactorSubgraph patterns
|
|
101
|
-
*/
|
|
102
|
-
private generateResolvers;
|
|
103
|
-
}
|
|
104
|
-
export {};
|
|
105
|
-
//# sourceMappingURL=document-model-subgraph.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"document-model-subgraph.d.ts","sourceRoot":"","sources":["../../../src/graphql/document-model-subgraph.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,312 +0,0 @@
|
|
|
1
|
-
import { camelCase, kebabCase } from "change-case";
|
|
2
|
-
import { setName } from "document-model";
|
|
3
|
-
import { GraphQLError, Kind, parse } from "graphql";
|
|
4
|
-
import { generateDocumentModelSchema, getDocumentModelSchemaName, } from "../utils/create-schema.js";
|
|
5
|
-
import { BaseSubgraph } from "./base-subgraph.js";
|
|
6
|
-
import { toGqlPhDocument } from "./reactor/adapters.js";
|
|
7
|
-
import { createDocumentWithInitialState as createDocumentWithInitialStateResolver, createEmptyDocument as createEmptyDocumentResolver, documentChildren as documentChildrenResolver, documentParents as documentParentsResolver, document as documentResolver, findDocuments as findDocumentsResolver, } from "./reactor/resolvers.js";
|
|
8
|
-
/**
|
|
9
|
-
* New document model subgraph that uses reactorClient instead of legacy reactor.
|
|
10
|
-
* This class auto-generates GraphQL queries and mutations for a document model.
|
|
11
|
-
*/
|
|
12
|
-
export class DocumentModelSubgraph extends BaseSubgraph {
|
|
13
|
-
documentModel;
|
|
14
|
-
constructor(documentModel, args) {
|
|
15
|
-
super(args);
|
|
16
|
-
this.documentModel = documentModel;
|
|
17
|
-
this.name = kebabCase(documentModel.documentModel.global.name);
|
|
18
|
-
this.typeDefs = generateDocumentModelSchema(this.documentModel.documentModel.global, { useNewApi: true });
|
|
19
|
-
this.resolvers = this.generateResolvers();
|
|
20
|
-
}
|
|
21
|
-
/** Returns the typed query resolvers for this document model. */
|
|
22
|
-
get queryResolvers() {
|
|
23
|
-
const documentName = getDocumentModelSchemaName(this.documentModel.documentModel.global);
|
|
24
|
-
return this.resolvers[`${documentName}Queries`];
|
|
25
|
-
}
|
|
26
|
-
/** Returns the typed mutation resolvers for this document model. */
|
|
27
|
-
get mutationResolvers() {
|
|
28
|
-
const documentName = getDocumentModelSchemaName(this.documentModel.documentModel.global);
|
|
29
|
-
return this.resolvers[`${documentName}Mutations`];
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Generate __resolveType functions for union types found in the document model schema.
|
|
33
|
-
* Parses the state schema to find union definitions and their member types,
|
|
34
|
-
* then uses unique field presence to discriminate between member types at runtime.
|
|
35
|
-
*/
|
|
36
|
-
generateUnionResolvers() {
|
|
37
|
-
const documentName = getDocumentModelSchemaName(this.documentModel.documentModel.global);
|
|
38
|
-
const specification = this.documentModel.documentModel.global.specifications.at(-1);
|
|
39
|
-
if (!specification)
|
|
40
|
-
return {};
|
|
41
|
-
const globalSchema = specification.state.global.schema ?? "";
|
|
42
|
-
const localSchema = specification.state.local.schema ?? "";
|
|
43
|
-
const fullSchema = `${globalSchema}\n${localSchema}`;
|
|
44
|
-
if (!fullSchema.trim())
|
|
45
|
-
return {};
|
|
46
|
-
let ast;
|
|
47
|
-
try {
|
|
48
|
-
ast = parse(fullSchema);
|
|
49
|
-
}
|
|
50
|
-
catch {
|
|
51
|
-
return {};
|
|
52
|
-
}
|
|
53
|
-
// Build map: object type name -> field names
|
|
54
|
-
const objectFieldsMap = new Map();
|
|
55
|
-
for (const def of ast.definitions) {
|
|
56
|
-
if (def.kind === Kind.OBJECT_TYPE_DEFINITION) {
|
|
57
|
-
objectFieldsMap.set(def.name.value, def.fields?.map((f) => f.name.value) ?? []);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
const resolvers = {};
|
|
61
|
-
for (const def of ast.definitions) {
|
|
62
|
-
if (def.kind !== Kind.UNION_TYPE_DEFINITION)
|
|
63
|
-
continue;
|
|
64
|
-
const unionName = def.name.value;
|
|
65
|
-
const memberTypes = def.types?.map((t) => t.name.value) ?? [];
|
|
66
|
-
if (memberTypes.length === 0)
|
|
67
|
-
continue;
|
|
68
|
-
// Compute unique fields per member type
|
|
69
|
-
const uniqueFields = {};
|
|
70
|
-
for (const memberType of memberTypes) {
|
|
71
|
-
const ownFields = objectFieldsMap.get(memberType) ?? [];
|
|
72
|
-
const otherFields = new Set(memberTypes
|
|
73
|
-
.filter((t) => t !== memberType)
|
|
74
|
-
.flatMap((t) => objectFieldsMap.get(t) ?? []));
|
|
75
|
-
uniqueFields[memberType] = ownFields.filter((f) => !otherFields.has(f));
|
|
76
|
-
}
|
|
77
|
-
const prefixedUnionName = `${documentName}_${unionName}`;
|
|
78
|
-
resolvers[prefixedUnionName] = {
|
|
79
|
-
__resolveType: (obj) => {
|
|
80
|
-
for (const memberType of memberTypes) {
|
|
81
|
-
const fields = uniqueFields[memberType] ?? [];
|
|
82
|
-
if (fields.length > 0 && fields.some((f) => f in obj)) {
|
|
83
|
-
return `${documentName}_${memberType}`;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
return `${documentName}_${memberTypes[0]}`;
|
|
87
|
-
},
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
|
-
return resolvers;
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* Generate resolvers for this document model using reactorClient
|
|
94
|
-
* Uses flat queries (not nested) consistent with ReactorSubgraph patterns
|
|
95
|
-
*/
|
|
96
|
-
generateResolvers() {
|
|
97
|
-
const documentType = this.documentModel.documentModel.global.id;
|
|
98
|
-
const documentName = getDocumentModelSchemaName(this.documentModel.documentModel.global);
|
|
99
|
-
const operations = this.documentModel.documentModel.global.specifications
|
|
100
|
-
.at(-1)
|
|
101
|
-
?.modules.flatMap((module) => module.operations.filter((op) => op.name)) ?? [];
|
|
102
|
-
return {
|
|
103
|
-
...this.generateUnionResolvers(),
|
|
104
|
-
Query: {
|
|
105
|
-
// Namespace resolver: returns empty object so nested field resolvers can run
|
|
106
|
-
[documentName]: () => ({}),
|
|
107
|
-
},
|
|
108
|
-
[`${documentName}Queries`]: {
|
|
109
|
-
// Get a specific document by identifier
|
|
110
|
-
document: async (_, args, ctx) => {
|
|
111
|
-
const { identifier, view } = args;
|
|
112
|
-
if (!identifier) {
|
|
113
|
-
throw new GraphQLError("Document identifier is required");
|
|
114
|
-
}
|
|
115
|
-
const result = await documentResolver(this.reactorClient, {
|
|
116
|
-
identifier,
|
|
117
|
-
view,
|
|
118
|
-
});
|
|
119
|
-
if (result.document.documentType !== documentType) {
|
|
120
|
-
throw new GraphQLError(`Document with id ${identifier} is not of type ${documentType}`);
|
|
121
|
-
}
|
|
122
|
-
await this.assertCanRead(result.document.id, ctx);
|
|
123
|
-
return result;
|
|
124
|
-
},
|
|
125
|
-
// Flat query: Find documents by search criteria (type is built-in)
|
|
126
|
-
// Uses shared findDocumentsResolver from reactor/resolvers.ts
|
|
127
|
-
findDocuments: async (_, args, ctx) => {
|
|
128
|
-
const { search, view, paging } = args;
|
|
129
|
-
const result = await findDocumentsResolver(this.reactorClient, {
|
|
130
|
-
search: {
|
|
131
|
-
...search,
|
|
132
|
-
type: documentType,
|
|
133
|
-
parentId: search?.parentId,
|
|
134
|
-
},
|
|
135
|
-
view,
|
|
136
|
-
paging,
|
|
137
|
-
});
|
|
138
|
-
if (!this.hasGlobalAdminAccess(ctx) &&
|
|
139
|
-
this.documentPermissionService) {
|
|
140
|
-
const filteredItems = [];
|
|
141
|
-
for (const item of result.items) {
|
|
142
|
-
const canRead = await this.canReadDocument(item.id, ctx);
|
|
143
|
-
if (canRead) {
|
|
144
|
-
filteredItems.push(item);
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
return {
|
|
148
|
-
...result,
|
|
149
|
-
items: filteredItems,
|
|
150
|
-
totalCount: filteredItems.length,
|
|
151
|
-
};
|
|
152
|
-
}
|
|
153
|
-
return result;
|
|
154
|
-
},
|
|
155
|
-
// Get children of a document (filtered by this document type)
|
|
156
|
-
documentChildren: async (_, args, ctx) => {
|
|
157
|
-
const { parentIdentifier, view, paging } = args;
|
|
158
|
-
await this.assertCanRead(parentIdentifier, ctx);
|
|
159
|
-
const result = await documentChildrenResolver(this.reactorClient, {
|
|
160
|
-
parentIdentifier,
|
|
161
|
-
view,
|
|
162
|
-
paging,
|
|
163
|
-
});
|
|
164
|
-
const filteredItems = result.items.filter((item) => item.documentType === documentType);
|
|
165
|
-
return {
|
|
166
|
-
...result,
|
|
167
|
-
items: filteredItems,
|
|
168
|
-
totalCount: filteredItems.length,
|
|
169
|
-
};
|
|
170
|
-
},
|
|
171
|
-
// Get parents of a document
|
|
172
|
-
documentParents: async (_, args, ctx) => {
|
|
173
|
-
const { childIdentifier, view, paging } = args;
|
|
174
|
-
await this.assertCanRead(childIdentifier, ctx);
|
|
175
|
-
return documentParentsResolver(this.reactorClient, {
|
|
176
|
-
childIdentifier,
|
|
177
|
-
view,
|
|
178
|
-
paging,
|
|
179
|
-
});
|
|
180
|
-
},
|
|
181
|
-
},
|
|
182
|
-
Mutation: {
|
|
183
|
-
// Namespace resolver: returns empty object so nested field resolvers can run
|
|
184
|
-
[documentName]: () => ({}),
|
|
185
|
-
},
|
|
186
|
-
[`${documentName}Mutations`]: {
|
|
187
|
-
createDocument: async (_, args, ctx) => {
|
|
188
|
-
const { parentIdentifier, name, slug, preferredEditor, initialState, } = args;
|
|
189
|
-
if (parentIdentifier) {
|
|
190
|
-
await this.assertCanWrite(parentIdentifier, ctx);
|
|
191
|
-
}
|
|
192
|
-
else if (this.authorizationService) {
|
|
193
|
-
if (!ctx.user?.address) {
|
|
194
|
-
throw new GraphQLError("Forbidden: authentication required to create documents");
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
else if (!this.hasGlobalAdminAccess(ctx)) {
|
|
198
|
-
throw new GraphQLError("Forbidden: insufficient permissions to create documents");
|
|
199
|
-
}
|
|
200
|
-
let createdDoc;
|
|
201
|
-
if (initialState || preferredEditor) {
|
|
202
|
-
createdDoc = await createDocumentWithInitialStateResolver(this.reactorClient, {
|
|
203
|
-
documentType,
|
|
204
|
-
parentIdentifier,
|
|
205
|
-
name,
|
|
206
|
-
slug,
|
|
207
|
-
preferredEditor,
|
|
208
|
-
initialState: initialState ?? {},
|
|
209
|
-
});
|
|
210
|
-
}
|
|
211
|
-
else {
|
|
212
|
-
createdDoc = await createEmptyDocumentResolver(this.reactorClient, {
|
|
213
|
-
documentType,
|
|
214
|
-
parentIdentifier,
|
|
215
|
-
name,
|
|
216
|
-
});
|
|
217
|
-
}
|
|
218
|
-
// Auto-ownership: set creator as document owner
|
|
219
|
-
if (this.authorizationService &&
|
|
220
|
-
ctx.user?.address &&
|
|
221
|
-
createdDoc?.id) {
|
|
222
|
-
await this.documentPermissionService?.initializeDocumentProtection(createdDoc.id, ctx.user.address, this.authorizationService.config.defaultProtection);
|
|
223
|
-
}
|
|
224
|
-
// Name fallback via SET_NAME (only for non-initialState path,
|
|
225
|
-
// since initialState path sets name on header before creation)
|
|
226
|
-
if (!initialState &&
|
|
227
|
-
!preferredEditor &&
|
|
228
|
-
name &&
|
|
229
|
-
createdDoc.name !== name) {
|
|
230
|
-
const updatedDoc = await this.reactorClient.execute(createdDoc.id, "main", [setName(name)]);
|
|
231
|
-
return toGqlPhDocument(updatedDoc);
|
|
232
|
-
}
|
|
233
|
-
return createdDoc;
|
|
234
|
-
},
|
|
235
|
-
createEmptyDocument: async (_, args, ctx) => {
|
|
236
|
-
const { parentIdentifier } = args;
|
|
237
|
-
if (parentIdentifier) {
|
|
238
|
-
await this.assertCanWrite(parentIdentifier, ctx);
|
|
239
|
-
}
|
|
240
|
-
else if (this.authorizationService) {
|
|
241
|
-
if (!ctx.user?.address) {
|
|
242
|
-
throw new GraphQLError("Forbidden: authentication required to create documents");
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
else if (!this.hasGlobalAdminAccess(ctx)) {
|
|
246
|
-
throw new GraphQLError("Forbidden: insufficient permissions to create documents");
|
|
247
|
-
}
|
|
248
|
-
const result = await createEmptyDocumentResolver(this.reactorClient, {
|
|
249
|
-
documentType,
|
|
250
|
-
parentIdentifier,
|
|
251
|
-
});
|
|
252
|
-
// Auto-ownership: set creator as document owner
|
|
253
|
-
if (this.authorizationService && ctx.user?.address && result?.id) {
|
|
254
|
-
await this.documentPermissionService?.initializeDocumentProtection(result.id, ctx.user.address, this.authorizationService.config.defaultProtection);
|
|
255
|
-
}
|
|
256
|
-
return result;
|
|
257
|
-
},
|
|
258
|
-
// Generate sync and async mutations for each operation
|
|
259
|
-
...operations.reduce((mutations, op) => {
|
|
260
|
-
// Sync mutation
|
|
261
|
-
mutations[camelCase(op.name)] = async (_, args, ctx) => {
|
|
262
|
-
const { docId, input } = args;
|
|
263
|
-
if (!this.authorizationService) {
|
|
264
|
-
await this.assertCanWrite(docId, ctx);
|
|
265
|
-
}
|
|
266
|
-
await this.assertCanExecuteOperation(docId, op.name, ctx);
|
|
267
|
-
const doc = await this.reactorClient.get(docId);
|
|
268
|
-
if (doc.header.documentType !== documentType) {
|
|
269
|
-
throw new GraphQLError(`Document with id ${docId} is not of type ${documentType}`);
|
|
270
|
-
}
|
|
271
|
-
const action = this.documentModel.actions[camelCase(op.name)];
|
|
272
|
-
if (!action) {
|
|
273
|
-
throw new GraphQLError(`Action ${op.name} not found`);
|
|
274
|
-
}
|
|
275
|
-
try {
|
|
276
|
-
const updatedDoc = await this.reactorClient.execute(docId, "main", [action(input)]);
|
|
277
|
-
return toGqlPhDocument(updatedDoc);
|
|
278
|
-
}
|
|
279
|
-
catch (error) {
|
|
280
|
-
throw new GraphQLError(error instanceof Error ? error.message : `Failed to ${op.name}`);
|
|
281
|
-
}
|
|
282
|
-
};
|
|
283
|
-
// Async mutation - returns job ID
|
|
284
|
-
mutations[`${camelCase(op.name)}Async`] = async (_, args, ctx) => {
|
|
285
|
-
const { docId, input } = args;
|
|
286
|
-
if (!this.authorizationService) {
|
|
287
|
-
await this.assertCanWrite(docId, ctx);
|
|
288
|
-
}
|
|
289
|
-
await this.assertCanExecuteOperation(docId, op.name, ctx);
|
|
290
|
-
const doc = await this.reactorClient.get(docId);
|
|
291
|
-
if (doc.header.documentType !== documentType) {
|
|
292
|
-
throw new GraphQLError(`Document with id ${docId} is not of type ${documentType}`);
|
|
293
|
-
}
|
|
294
|
-
const action = this.documentModel.actions[camelCase(op.name)];
|
|
295
|
-
if (!action) {
|
|
296
|
-
throw new GraphQLError(`Action ${op.name} not found`);
|
|
297
|
-
}
|
|
298
|
-
try {
|
|
299
|
-
const jobInfo = await this.reactorClient.executeAsync(docId, "main", [action(input)]);
|
|
300
|
-
return jobInfo.id;
|
|
301
|
-
}
|
|
302
|
-
catch (error) {
|
|
303
|
-
throw new GraphQLError(error instanceof Error ? error.message : `Failed to ${op.name}`);
|
|
304
|
-
}
|
|
305
|
-
};
|
|
306
|
-
return mutations;
|
|
307
|
-
}, {}),
|
|
308
|
-
},
|
|
309
|
-
};
|
|
310
|
-
}
|
|
311
|
-
}
|
|
312
|
-
//# sourceMappingURL=document-model-subgraph.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"document-model-subgraph.js","sourceRoot":"","sources":["../../../src/graphql/document-model-subgraph.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import type { IAnalyticsStore } from "@powerhousedao/analytics-engine-core";
|
|
2
|
-
import type { IReactorClient, ISyncManager } from "@powerhousedao/reactor";
|
|
3
|
-
import type { ISubgraph, SubgraphClass } from "@powerhousedao/reactor-api";
|
|
4
|
-
import type { ILogger, IRelationalDbLegacy } from "document-drive";
|
|
5
|
-
import type express from "express";
|
|
6
|
-
import type http from "node:http";
|
|
7
|
-
import type { WebSocketServer } from "ws";
|
|
8
|
-
import type { AuthConfig } from "../services/auth.service.js";
|
|
9
|
-
import type { AuthorizationService } from "../services/authorization.service.js";
|
|
10
|
-
import type { DocumentPermissionService } from "../services/document-permission.service.js";
|
|
11
|
-
export type GraphqlManagerFeatureFlags = {
|
|
12
|
-
enableDocumentModelSubgraphs?: boolean;
|
|
13
|
-
};
|
|
14
|
-
export declare class GraphQLManager {
|
|
15
|
-
#private;
|
|
16
|
-
private readonly path;
|
|
17
|
-
private readonly app;
|
|
18
|
-
private readonly httpServer;
|
|
19
|
-
private readonly wsServer;
|
|
20
|
-
private readonly reactorClient;
|
|
21
|
-
private readonly relationalDb;
|
|
22
|
-
private readonly analyticsStore;
|
|
23
|
-
private readonly syncManager;
|
|
24
|
-
private readonly logger;
|
|
25
|
-
private readonly authConfig?;
|
|
26
|
-
private readonly documentPermissionService?;
|
|
27
|
-
private readonly featureFlags;
|
|
28
|
-
private readonly port;
|
|
29
|
-
private readonly authorizationService?;
|
|
30
|
-
private initialized;
|
|
31
|
-
private router;
|
|
32
|
-
private coreSubgraphsMap;
|
|
33
|
-
private contextFields;
|
|
34
|
-
private readonly subgraphs;
|
|
35
|
-
private authService;
|
|
36
|
-
private coreApolloServer;
|
|
37
|
-
private readonly subgraphServers;
|
|
38
|
-
private readonly subgraphHandlers;
|
|
39
|
-
private readonly subgraphWsDisposers;
|
|
40
|
-
private gatewayOptions;
|
|
41
|
-
/** Cached document models for schema generation - updated on init and regenerate */
|
|
42
|
-
private cachedDocumentModels;
|
|
43
|
-
private readonly apolloLogger;
|
|
44
|
-
constructor(path: string, app: express.Express, httpServer: http.Server, wsServer: WebSocketServer, reactorClient: IReactorClient, relationalDb: IRelationalDbLegacy, analyticsStore: IAnalyticsStore, syncManager: ISyncManager, logger: ILogger, authConfig?: AuthConfig | undefined, documentPermissionService?: DocumentPermissionService | undefined, featureFlags?: GraphqlManagerFeatureFlags, port?: number, authorizationService?: AuthorizationService | undefined);
|
|
45
|
-
init(coreSubgraphs: SubgraphClass[]): Promise<void>;
|
|
46
|
-
/**
|
|
47
|
-
* Regenerate document model subgraphs when models are dynamically loaded.
|
|
48
|
-
* Fetches current modules from reactor client (source of truth).
|
|
49
|
-
*/
|
|
50
|
-
regenerateDocumentModelSubgraphs(): Promise<void>;
|
|
51
|
-
/**
|
|
52
|
-
* Register a pre-constructed subgraph instance.
|
|
53
|
-
* Use this when you need to pass custom dependencies to a subgraph.
|
|
54
|
-
*/
|
|
55
|
-
registerSubgraphInstance(subgraphInstance: ISubgraph, supergraph?: string, core?: boolean): Promise<ISubgraph>;
|
|
56
|
-
/**
|
|
57
|
-
* Get the base path used for subgraph registration.
|
|
58
|
-
*/
|
|
59
|
-
getBasePath(): string;
|
|
60
|
-
registerSubgraph(subgraph: SubgraphClass, supergraph?: string, core?: boolean): Promise<ISubgraph>;
|
|
61
|
-
updateRouter: (immediate?: boolean) => Promise<void>;
|
|
62
|
-
private _updateRouter;
|
|
63
|
-
getAdditionalContextFields: () => Record<string, any>;
|
|
64
|
-
setAdditionalContextFields(fields: Record<string, any>): void;
|
|
65
|
-
setSupergraph(supergraph: string, subgraphs: ISubgraph[]): Promise<void>;
|
|
66
|
-
shutdown(): Promise<void>;
|
|
67
|
-
}
|
|
68
|
-
//# sourceMappingURL=graphql-manager.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"graphql-manager.d.ts","sourceRoot":"","sources":["../../../src/graphql/graphql-manager.ts"],"names":[],"mappings":"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"}
|