@powerhousedao/reactor-api 6.0.0-dev.11 → 6.0.0-dev.110
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/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/dev.d.ts +2 -0
- package/dist/src/dev.d.ts.map +1 -0
- package/dist/src/dev.js +51 -0
- package/dist/src/dev.js.map +1 -0
- 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 +46 -2
- package/dist/src/graphql/auth/subgraph.js.map +1 -1
- package/dist/src/graphql/base-subgraph.d.ts +11 -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 +104 -45
- package/dist/src/graphql/document-model-subgraph.d.ts.map +1 -1
- package/dist/src/graphql/document-model-subgraph.js +323 -91
- package/dist/src/graphql/document-model-subgraph.js.map +1 -1
- package/dist/src/graphql/gateway/adapter-gateway-apollo.d.ts +23 -0
- package/dist/src/graphql/gateway/adapter-gateway-apollo.d.ts.map +1 -0
- package/dist/src/graphql/gateway/adapter-gateway-apollo.js +156 -0
- package/dist/src/graphql/gateway/adapter-gateway-apollo.js.map +1 -0
- package/dist/src/graphql/gateway/adapter-http-express.d.ts +23 -0
- package/dist/src/graphql/gateway/adapter-http-express.d.ts.map +1 -0
- package/dist/src/graphql/gateway/adapter-http-express.js +155 -0
- package/dist/src/graphql/gateway/adapter-http-express.js.map +1 -0
- package/dist/src/graphql/gateway/auth-middleware.d.ts +7 -0
- package/dist/src/graphql/gateway/auth-middleware.d.ts.map +1 -0
- package/dist/src/graphql/gateway/auth-middleware.js +15 -0
- package/dist/src/graphql/gateway/auth-middleware.js.map +1 -0
- package/dist/src/graphql/gateway/factory.d.ts +11 -0
- package/dist/src/graphql/gateway/factory.d.ts.map +1 -0
- package/dist/src/graphql/gateway/factory.js +15 -0
- package/dist/src/graphql/gateway/factory.js.map +1 -0
- package/dist/src/graphql/gateway/types.d.ts +84 -0
- package/dist/src/graphql/gateway/types.d.ts.map +1 -0
- package/dist/src/{sync → graphql/gateway}/types.js.map +1 -1
- package/dist/src/graphql/graphql-manager.d.ts +31 -12
- package/dist/src/graphql/graphql-manager.d.ts.map +1 -1
- package/dist/src/graphql/graphql-manager.js +284 -228
- package/dist/src/graphql/graphql-manager.js.map +1 -1
- package/dist/src/graphql/index.d.ts +5 -1
- package/dist/src/graphql/index.d.ts.map +1 -1
- package/dist/src/graphql/index.js +5 -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/playground.d.ts.map +1 -1
- package/dist/src/graphql/playground.js +19 -12
- package/dist/src/graphql/playground.js.map +1 -1
- 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 +36 -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 +355 -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 +90 -26
- package/dist/src/graphql/reactor/resolvers.d.ts.map +1 -1
- package/dist/src/graphql/reactor/resolvers.js +275 -77
- package/dist/src/graphql/reactor/resolvers.js.map +1 -1
- package/dist/src/graphql/reactor/schema.graphql +76 -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 +133 -210
- 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/sse.d.ts +42 -0
- package/dist/src/graphql/sse.d.ts.map +1 -0
- package/dist/src/graphql/sse.js +33 -0
- package/dist/src/graphql/sse.js.map +1 -0
- 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 +7 -8
- package/dist/src/graphql/types.d.ts.map +1 -1
- package/dist/src/graphql/utils.d.ts +3 -20
- 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 +37 -0
- package/dist/src/packages/https-hooks.d.mts.map +1 -0
- package/dist/src/packages/https-hooks.mjs +88 -0
- package/dist/src/packages/https-hooks.mjs.map +1 -0
- package/dist/src/packages/import-loader.d.ts +3 -4
- package/dist/src/packages/import-loader.d.ts.map +1 -1
- package/dist/src/packages/import-loader.js +6 -12
- package/dist/src/packages/import-loader.js.map +1 -1
- package/dist/src/packages/package-manager.d.ts +3 -4
- package/dist/src/packages/package-manager.d.ts.map +1 -1
- package/dist/src/packages/package-manager.js +2 -2
- package/dist/src/packages/package-manager.js.map +1 -1
- package/dist/src/packages/types.d.ts +9 -6
- package/dist/src/packages/types.d.ts.map +1 -1
- package/dist/src/packages/util.d.ts +4 -4
- package/dist/src/packages/util.d.ts.map +1 -1
- package/dist/src/packages/util.js +2 -2
- package/dist/src/packages/util.js.map +1 -1
- package/dist/src/packages/vite-loader.d.ts +8 -7
- package/dist/src/packages/vite-loader.d.ts.map +1 -1
- package/dist/src/packages/vite-loader.js +20 -8
- package/dist/src/packages/vite-loader.js.map +1 -1
- package/dist/src/server.d.ts +15 -28
- package/dist/src/server.d.ts.map +1 -1
- package/dist/src/server.js +137 -167
- package/dist/src/server.js.map +1 -1
- package/dist/src/services/auth.service.d.ts +11 -15
- package/dist/src/services/auth.service.d.ts.map +1 -1
- package/dist/src/services/auth.service.js +61 -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 +14 -6
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/utils/create-schema.d.ts +31 -6
- package/dist/src/utils/create-schema.d.ts.map +1 -1
- package/dist/src/utils/create-schema.js +451 -43
- 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/auth.service.test.d.ts +10 -0
- package/dist/test/auth.service.test.d.ts.map +1 -0
- package/dist/test/auth.service.test.js +141 -0
- package/dist/test/auth.service.test.js.map +1 -0
- 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 +204 -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 +582 -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 +244 -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 +587 -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 +197 -0
- package/dist/test/fault-injection-sync.test.js.map +1 -0
- package/dist/test/gateway/adapter-gateway-apollo.test.d.ts +2 -0
- package/dist/test/gateway/adapter-gateway-apollo.test.d.ts.map +1 -0
- package/dist/test/gateway/adapter-gateway-apollo.test.js +206 -0
- package/dist/test/gateway/adapter-gateway-apollo.test.js.map +1 -0
- package/dist/test/gateway/adapter-http-express.test.d.ts +2 -0
- package/dist/test/gateway/adapter-http-express.test.d.ts.map +1 -0
- package/dist/test/gateway/adapter-http-express.test.js +17 -0
- package/dist/test/gateway/adapter-http-express.test.js.map +1 -0
- package/dist/test/gateway/auth-middleware.test.d.ts +8 -0
- package/dist/test/gateway/auth-middleware.test.d.ts.map +1 -0
- package/dist/test/gateway/auth-middleware.test.js +73 -0
- package/dist/test/gateway/auth-middleware.test.js.map +1 -0
- package/dist/test/gateway/gateway-adapter-contract.d.ts +30 -0
- package/dist/test/gateway/gateway-adapter-contract.d.ts.map +1 -0
- package/dist/test/gateway/gateway-adapter-contract.js +347 -0
- package/dist/test/gateway/gateway-adapter-contract.js.map +1 -0
- package/dist/test/gateway/http-adapter-contract.d.ts +30 -0
- package/dist/test/gateway/http-adapter-contract.d.ts.map +1 -0
- package/dist/test/gateway/http-adapter-contract.js +226 -0
- package/dist/test/gateway/http-adapter-contract.js.map +1 -0
- package/dist/test/graphql-manager.test.d.ts +12 -0
- package/dist/test/graphql-manager.test.d.ts.map +1 -0
- package/dist/test/graphql-manager.test.js +488 -0
- package/dist/test/graphql-manager.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 +299 -0
- package/dist/test/push-backfill.test.js.map +1 -0
- package/dist/test/reactor-adapters.test.js +3 -2
- package/dist/test/reactor-adapters.test.js.map +1 -1
- 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 +11 -13
- 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-sse.test.d.ts +2 -0
- package/dist/test/subscriptions-sse.test.d.ts.map +1 -0
- package/dist/test/subscriptions-sse.test.js +264 -0
- package/dist/test/subscriptions-sse.test.js.map +1 -0
- 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/test/utils.d.ts +1 -5
- package/dist/test/utils.d.ts.map +1 -1
- package/dist/test/utils.js +0 -10
- package/dist/test/utils.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +52 -58
- 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/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/src/utils/auth.d.ts +0 -3
- package/dist/src/utils/auth.d.ts.map +0 -1
- package/dist/src/utils/auth.js +0 -19
- package/dist/src/utils/auth.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/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/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/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
- /package/dist/src/{sync → graphql/gateway}/types.js +0 -0
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { GraphQLError } from "graphql";
|
|
1
2
|
import { gql } from "graphql-tag";
|
|
2
3
|
export class BaseSubgraph {
|
|
3
4
|
name = "example";
|
|
@@ -12,23 +13,114 @@ export class BaseSubgraph {
|
|
|
12
13
|
hello: String
|
|
13
14
|
}
|
|
14
15
|
`;
|
|
15
|
-
reactor;
|
|
16
16
|
reactorClient;
|
|
17
17
|
graphqlManager;
|
|
18
18
|
relationalDb;
|
|
19
19
|
syncManager;
|
|
20
20
|
documentPermissionService;
|
|
21
|
+
authorizationService;
|
|
21
22
|
constructor(args) {
|
|
22
|
-
this.reactor = args.reactor;
|
|
23
23
|
this.reactorClient = args.reactorClient;
|
|
24
24
|
this.graphqlManager = args.graphqlManager;
|
|
25
25
|
this.relationalDb = args.relationalDb;
|
|
26
26
|
this.syncManager = args.syncManager;
|
|
27
27
|
this.documentPermissionService = args.documentPermissionService;
|
|
28
|
+
this.authorizationService = args.authorizationService;
|
|
28
29
|
this.path = args.path ?? "";
|
|
29
30
|
}
|
|
30
31
|
async onSetup() {
|
|
31
32
|
// noop
|
|
32
33
|
}
|
|
34
|
+
// ============================================
|
|
35
|
+
// Shared permission helpers
|
|
36
|
+
// ============================================
|
|
37
|
+
getParentIdsFn() {
|
|
38
|
+
return async (documentId) => {
|
|
39
|
+
try {
|
|
40
|
+
const result = await this.reactorClient.getParents(documentId);
|
|
41
|
+
return result.results.map((doc) => doc.header.id);
|
|
42
|
+
}
|
|
43
|
+
catch {
|
|
44
|
+
return [];
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
hasGlobalAdminAccess(ctx) {
|
|
49
|
+
return !!ctx.isAdmin?.(ctx.user?.address ?? "");
|
|
50
|
+
}
|
|
51
|
+
async canReadDocument(documentId, ctx) {
|
|
52
|
+
if (this.authorizationService) {
|
|
53
|
+
return this.authorizationService.canRead(documentId, ctx.user?.address, this.getParentIdsFn());
|
|
54
|
+
}
|
|
55
|
+
if (this.hasGlobalAdminAccess(ctx))
|
|
56
|
+
return true;
|
|
57
|
+
if (this.documentPermissionService) {
|
|
58
|
+
return this.documentPermissionService.canRead(documentId, ctx.user?.address, this.getParentIdsFn());
|
|
59
|
+
}
|
|
60
|
+
return false;
|
|
61
|
+
}
|
|
62
|
+
async assertCanRead(documentId, ctx) {
|
|
63
|
+
if (this.authorizationService) {
|
|
64
|
+
const canRead = await this.authorizationService.canRead(documentId, ctx.user?.address, this.getParentIdsFn());
|
|
65
|
+
if (!canRead) {
|
|
66
|
+
throw new GraphQLError("Forbidden: insufficient permissions to read this document");
|
|
67
|
+
}
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
// Legacy fallback
|
|
71
|
+
if (!this.hasGlobalAdminAccess(ctx)) {
|
|
72
|
+
if (this.documentPermissionService) {
|
|
73
|
+
const canRead = await this.documentPermissionService.canRead(documentId, ctx.user?.address, this.getParentIdsFn());
|
|
74
|
+
if (!canRead) {
|
|
75
|
+
throw new GraphQLError("Forbidden: insufficient permissions to read this document");
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
throw new GraphQLError("Forbidden: insufficient permissions to read this document");
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
async assertCanWrite(documentId, ctx) {
|
|
84
|
+
if (this.authorizationService) {
|
|
85
|
+
const canWrite = await this.authorizationService.canWrite(documentId, ctx.user?.address, this.getParentIdsFn());
|
|
86
|
+
if (!canWrite) {
|
|
87
|
+
throw new GraphQLError("Forbidden: insufficient permissions to write to this document");
|
|
88
|
+
}
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
// Legacy fallback
|
|
92
|
+
if (!this.hasGlobalAdminAccess(ctx)) {
|
|
93
|
+
if (this.documentPermissionService) {
|
|
94
|
+
const canWrite = await this.documentPermissionService.canWrite(documentId, ctx.user?.address, this.getParentIdsFn());
|
|
95
|
+
if (!canWrite) {
|
|
96
|
+
throw new GraphQLError("Forbidden: insufficient permissions to write to this document");
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
throw new GraphQLError("Forbidden: insufficient permissions to write to this document");
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
async assertCanExecuteOperation(documentId, operationType, ctx) {
|
|
105
|
+
if (this.authorizationService) {
|
|
106
|
+
const canMutate = await this.authorizationService.canMutate(documentId, operationType, ctx.user?.address, this.getParentIdsFn());
|
|
107
|
+
if (!canMutate) {
|
|
108
|
+
throw new GraphQLError(`Forbidden: insufficient permissions to execute operation "${operationType}" on this document`);
|
|
109
|
+
}
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
// Legacy fallback
|
|
113
|
+
if (!this.documentPermissionService)
|
|
114
|
+
return;
|
|
115
|
+
if (ctx.isAdmin?.(ctx.user?.address ?? ""))
|
|
116
|
+
return;
|
|
117
|
+
const isRestricted = await this.documentPermissionService.isOperationRestricted(documentId, operationType);
|
|
118
|
+
if (isRestricted) {
|
|
119
|
+
const canExecute = await this.documentPermissionService.canExecuteOperation(documentId, operationType, ctx.user?.address);
|
|
120
|
+
if (!canExecute) {
|
|
121
|
+
throw new GraphQLError(`Forbidden: insufficient permissions to execute operation "${operationType}" on this document`);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
33
125
|
}
|
|
34
126
|
//# sourceMappingURL=base-subgraph.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-subgraph.js","sourceRoot":"","sources":["../../../src/graphql/base-subgraph.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"base-subgraph.js","sourceRoot":"","sources":["../../../src/graphql/base-subgraph.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,51 +1,110 @@
|
|
|
1
|
-
import { type
|
|
2
|
-
import { type DocumentModelModule } from "document-model";
|
|
1
|
+
import { type DocumentModelModule } from "@powerhousedao/shared/document-model";
|
|
3
2
|
import { BaseSubgraph } from "./base-subgraph.js";
|
|
4
|
-
import type {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
}>;
|
|
25
|
-
getDocuments: (args: {
|
|
26
|
-
driveId: string;
|
|
27
|
-
}) => Promise<{
|
|
28
|
-
__typename?: string;
|
|
29
|
-
id: string;
|
|
30
|
-
name: string;
|
|
31
|
-
documentType: string;
|
|
32
|
-
revision: number;
|
|
33
|
-
createdAtUtcIso: string;
|
|
34
|
-
lastModifiedAtUtcIso: string;
|
|
35
|
-
operations: import("./types.js").GqlOperation[];
|
|
36
|
-
stateJSON: JSON;
|
|
37
|
-
state: unknown;
|
|
38
|
-
initialState: unknown;
|
|
39
|
-
driveId: string;
|
|
40
|
-
}[]>;
|
|
41
|
-
};
|
|
42
|
-
};
|
|
43
|
-
Mutation: {
|
|
44
|
-
[x: string]: any;
|
|
45
|
-
};
|
|
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;
|
|
46
23
|
};
|
|
47
|
-
|
|
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
|
+
documents: (parent: unknown, args: {
|
|
37
|
+
paging?: PagingArg;
|
|
38
|
+
}, ctx: Context) => Promise<{
|
|
39
|
+
items: TDocument[];
|
|
40
|
+
}>;
|
|
41
|
+
findDocuments: (parent: unknown, args: {
|
|
42
|
+
search: {
|
|
43
|
+
parentId?: string;
|
|
44
|
+
identifiers?: string[];
|
|
45
|
+
};
|
|
46
|
+
view?: ViewArg;
|
|
47
|
+
paging?: PagingArg;
|
|
48
|
+
}, ctx: Context) => Promise<PhDocumentResultPage>;
|
|
49
|
+
documentChildren: (parent: unknown, args: {
|
|
50
|
+
parentIdentifier: string;
|
|
51
|
+
view?: ViewArg;
|
|
52
|
+
paging?: PagingArg;
|
|
53
|
+
}, ctx: Context) => Promise<PhDocumentResultPage>;
|
|
54
|
+
documentParents: (parent: unknown, args: {
|
|
55
|
+
childIdentifier: string;
|
|
56
|
+
view?: ViewArg;
|
|
57
|
+
paging?: PagingArg;
|
|
58
|
+
}, ctx: Context) => Promise<PhDocumentResultPage>;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Known mutation resolvers generated for every document model.
|
|
62
|
+
* `TDocument` is the GQL representation of the document (defaults to `PhDocument`).
|
|
63
|
+
* Operations specific to each model are captured by the index signature.
|
|
64
|
+
*/
|
|
65
|
+
export interface DocumentModelMutationResolvers<TDocument extends PhDocument = PhDocument> {
|
|
66
|
+
createDocument: (parent: unknown, args: {
|
|
67
|
+
name: string;
|
|
68
|
+
parentIdentifier?: string;
|
|
69
|
+
slug?: string;
|
|
70
|
+
preferredEditor?: string;
|
|
71
|
+
initialState?: Record<string, Record<string, unknown>>;
|
|
72
|
+
}, ctx: Context) => Promise<TDocument>;
|
|
73
|
+
createEmptyDocument: (parent: unknown, args: {
|
|
74
|
+
parentIdentifier?: string;
|
|
75
|
+
}, ctx: Context) => Promise<TDocument>;
|
|
76
|
+
/** Dynamic operation resolvers (sync and async variants). */
|
|
77
|
+
[operationName: string]: DocumentModelResolverFn;
|
|
78
|
+
}
|
|
79
|
+
/** The resolvers that a `DocumentModelSubgraph` exposes. */
|
|
80
|
+
export interface DocumentModelSubgraphResolvers<TDocument extends PhDocument = PhDocument> {
|
|
81
|
+
Query: DocumentModelResolverMap;
|
|
82
|
+
Mutation: DocumentModelResolverMap;
|
|
83
|
+
[namespaceKey: string]: DocumentModelResolverMap | DocumentModelQueryResolvers<TDocument> | DocumentModelMutationResolvers<TDocument>;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* New document model subgraph that uses reactorClient instead of legacy reactor.
|
|
87
|
+
* This class auto-generates GraphQL queries and mutations for a document model.
|
|
88
|
+
*/
|
|
89
|
+
export declare class DocumentModelSubgraph extends BaseSubgraph {
|
|
90
|
+
resolvers: DocumentModelSubgraphResolvers;
|
|
48
91
|
private documentModel;
|
|
49
92
|
constructor(documentModel: DocumentModelModule, args: SubgraphArgs);
|
|
93
|
+
/** Returns the typed query resolvers for this document model. */
|
|
94
|
+
get queryResolvers(): DocumentModelQueryResolvers;
|
|
95
|
+
/** Returns the typed mutation resolvers for this document model. */
|
|
96
|
+
get mutationResolvers(): DocumentModelMutationResolvers;
|
|
97
|
+
/**
|
|
98
|
+
* Generate __resolveType functions for union types found in the document model schema.
|
|
99
|
+
* Parses the state schema to find union definitions and their member types,
|
|
100
|
+
* then uses unique field presence to discriminate between member types at runtime.
|
|
101
|
+
*/
|
|
102
|
+
private generateUnionResolvers;
|
|
103
|
+
/**
|
|
104
|
+
* Generate resolvers for this document model using reactorClient
|
|
105
|
+
* Uses flat queries (not nested) consistent with ReactorSubgraph patterns
|
|
106
|
+
*/
|
|
107
|
+
private generateResolvers;
|
|
50
108
|
}
|
|
109
|
+
export {};
|
|
51
110
|
//# sourceMappingURL=document-model-subgraph.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-model-subgraph.d.ts","sourceRoot":"","sources":["../../../src/graphql/document-model-subgraph.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"document-model-subgraph.d.ts","sourceRoot":"","sources":["../../../src/graphql/document-model-subgraph.ts"],"names":[],"mappings":"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"}
|