@powerhousedao/reactor-api 6.0.0-dev.153 → 6.0.0-dev.154
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/index.d.mts +2948 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +6353 -0
- package/dist/index.mjs.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/dist/vite-loader.d.mts +29 -0
- package/dist/vite-loader.d.mts.map +1 -0
- package/package.json +17 -25
- 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 -15
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -15
- 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 -27
- 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 -110
- package/dist/src/graphql/document-model-subgraph.d.ts.map +0 -1
- package/dist/src/graphql/document-model-subgraph.js +0 -336
- package/dist/src/graphql/document-model-subgraph.js.map +0 -1
- package/dist/src/graphql/gateway/adapter-gateway-apollo.d.ts +0 -23
- package/dist/src/graphql/gateway/adapter-gateway-apollo.d.ts.map +0 -1
- package/dist/src/graphql/gateway/adapter-gateway-apollo.js +0 -156
- package/dist/src/graphql/gateway/adapter-gateway-apollo.js.map +0 -1
- package/dist/src/graphql/gateway/adapter-gateway-mercurius.d.ts +0 -17
- package/dist/src/graphql/gateway/adapter-gateway-mercurius.d.ts.map +0 -1
- package/dist/src/graphql/gateway/adapter-gateway-mercurius.js +0 -154
- package/dist/src/graphql/gateway/adapter-gateway-mercurius.js.map +0 -1
- package/dist/src/graphql/gateway/adapter-http-express.d.ts +0 -25
- package/dist/src/graphql/gateway/adapter-http-express.d.ts.map +0 -1
- package/dist/src/graphql/gateway/adapter-http-express.js +0 -163
- package/dist/src/graphql/gateway/adapter-http-express.js.map +0 -1
- package/dist/src/graphql/gateway/adapter-http-fastify.d.ts +0 -23
- package/dist/src/graphql/gateway/adapter-http-fastify.d.ts.map +0 -1
- package/dist/src/graphql/gateway/adapter-http-fastify.js +0 -228
- package/dist/src/graphql/gateway/adapter-http-fastify.js.map +0 -1
- package/dist/src/graphql/gateway/auth-middleware.d.ts +0 -7
- package/dist/src/graphql/gateway/auth-middleware.d.ts.map +0 -1
- package/dist/src/graphql/gateway/auth-middleware.js +0 -15
- package/dist/src/graphql/gateway/auth-middleware.js.map +0 -1
- package/dist/src/graphql/gateway/factory.d.ts +0 -11
- package/dist/src/graphql/gateway/factory.d.ts.map +0 -1
- package/dist/src/graphql/gateway/factory.js +0 -21
- package/dist/src/graphql/gateway/factory.js.map +0 -1
- package/dist/src/graphql/gateway/types.d.ts +0 -100
- package/dist/src/graphql/gateway/types.d.ts.map +0 -1
- package/dist/src/graphql/gateway/types.js +0 -2
- package/dist/src/graphql/gateway/types.js.map +0 -1
- package/dist/src/graphql/graphql-manager.d.ts +0 -65
- package/dist/src/graphql/graphql-manager.d.ts.map +0 -1
- package/dist/src/graphql/graphql-manager.js +0 -483
- package/dist/src/graphql/graphql-manager.js.map +0 -1
- package/dist/src/graphql/index.d.ts +0 -13
- package/dist/src/graphql/index.d.ts.map +0 -1
- package/dist/src/graphql/index.js +0 -13
- 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 -460
- 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 -35
- package/dist/src/graphql/sse.d.ts.map +0 -1
- package/dist/src/graphql/sse.js +0 -29
- 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 -59
- package/dist/src/packages/http-loader.d.ts.map +0 -1
- package/dist/src/packages/http-loader.js +0 -203
- package/dist/src/packages/http-loader.js.map +0 -1
- package/dist/src/packages/https-hooks.d.mts +0 -37
- package/dist/src/packages/https-hooks.d.mts.map +0 -1
- package/dist/src/packages/https-hooks.mjs +0 -95
- package/dist/src/packages/https-hooks.mjs.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 -47
- 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 -33
- package/dist/src/packages/package-manager.d.ts.map +0 -1
- package/dist/src/packages/package-manager.js +0 -216
- package/dist/src/packages/package-manager.js.map +0 -1
- package/dist/src/packages/types.d.ts +0 -39
- 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 -26
- package/dist/src/packages/util.d.ts.map +0 -1
- package/dist/src/packages/util.js +0 -85
- package/dist/src/packages/util.js.map +0 -1
- package/dist/src/packages/vite-loader.d.ts +0 -25
- package/dist/src/packages/vite-loader.d.ts.map +0 -1
- package/dist/src/packages/vite-loader.js +0 -171
- package/dist/src/packages/vite-loader.js.map +0 -1
- package/dist/src/server.d.ts +0 -55
- package/dist/src/server.d.ts.map +0 -1
- package/dist/src/server.js +0 -351
- package/dist/src/server.js.map +0 -1
- package/dist/src/services/auth.service.d.ts +0 -53
- package/dist/src/services/auth.service.d.ts.map +0 -1
- package/dist/src/services/auth.service.js +0 -165
- 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 -146
- package/dist/src/tracing.js.map +0 -1
- package/dist/src/types.d.ts +0 -26
- 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/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 -728
- 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/auth-chain.test.d.ts +0 -12
- package/dist/test/auth-chain.test.d.ts.map +0 -1
- package/dist/test/auth-chain.test.js +0 -157
- package/dist/test/auth-chain.test.js.map +0 -1
- package/dist/test/auth.service.test.d.ts +0 -10
- package/dist/test/auth.service.test.d.ts.map +0 -1
- package/dist/test/auth.service.test.js +0 -141
- package/dist/test/auth.service.test.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/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 -204
- 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 -633
- 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 -244
- 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 -197
- package/dist/test/fault-injection-sync.test.js.map +0 -1
- package/dist/test/gateway/adapter-gateway-apollo.test.d.ts +0 -2
- package/dist/test/gateway/adapter-gateway-apollo.test.d.ts.map +0 -1
- package/dist/test/gateway/adapter-gateway-apollo.test.js +0 -206
- package/dist/test/gateway/adapter-gateway-apollo.test.js.map +0 -1
- package/dist/test/gateway/adapter-gateway-mercurius.test.d.ts +0 -2
- package/dist/test/gateway/adapter-gateway-mercurius.test.d.ts.map +0 -1
- package/dist/test/gateway/adapter-gateway-mercurius.test.js +0 -23
- package/dist/test/gateway/adapter-gateway-mercurius.test.js.map +0 -1
- package/dist/test/gateway/adapter-http-express.test.d.ts +0 -2
- package/dist/test/gateway/adapter-http-express.test.d.ts.map +0 -1
- package/dist/test/gateway/adapter-http-express.test.js +0 -17
- package/dist/test/gateway/adapter-http-express.test.js.map +0 -1
- package/dist/test/gateway/adapter-http-fastify.test.d.ts +0 -2
- package/dist/test/gateway/adapter-http-fastify.test.d.ts.map +0 -1
- package/dist/test/gateway/adapter-http-fastify.test.js +0 -17
- package/dist/test/gateway/adapter-http-fastify.test.js.map +0 -1
- package/dist/test/gateway/auth-middleware.test.d.ts +0 -8
- package/dist/test/gateway/auth-middleware.test.d.ts.map +0 -1
- package/dist/test/gateway/auth-middleware.test.js +0 -73
- package/dist/test/gateway/auth-middleware.test.js.map +0 -1
- package/dist/test/gateway/gateway-adapter-contract.d.ts +0 -30
- package/dist/test/gateway/gateway-adapter-contract.d.ts.map +0 -1
- package/dist/test/gateway/gateway-adapter-contract.js +0 -347
- package/dist/test/gateway/gateway-adapter-contract.js.map +0 -1
- package/dist/test/gateway/http-adapter-contract.d.ts +0 -30
- package/dist/test/gateway/http-adapter-contract.d.ts.map +0 -1
- package/dist/test/gateway/http-adapter-contract.js +0 -277
- package/dist/test/gateway/http-adapter-contract.js.map +0 -1
- package/dist/test/graphql-manager.test.d.ts +0 -12
- package/dist/test/graphql-manager.test.d.ts.map +0 -1
- package/dist/test/graphql-manager.test.js +0 -576
- package/dist/test/graphql-manager.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 -299
- 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 -380
- 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 -259
- 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 -6
- package/dist/test/utils.d.ts.map +0 -1
- package/dist/test/utils.js +0 -13
- 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 -39
- package/dist/vitest.config.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"auth.service.js","sourceRoot":"","sources":["../../../src/services/auth.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import type { DocumentPermissionService, GetParentIdsFn } from "./document-permission.service.js";
|
|
2
|
-
export interface AuthorizationConfig {
|
|
3
|
-
admins: string[];
|
|
4
|
-
defaultProtection: boolean;
|
|
5
|
-
}
|
|
6
|
-
/**
|
|
7
|
-
* Central authorization service — single source of truth for all permission checks.
|
|
8
|
-
*
|
|
9
|
-
* Authorization model:
|
|
10
|
-
* 1. Supreme admin (ADMINS env) → ALLOW ALL
|
|
11
|
-
* 2. Is document protected?
|
|
12
|
-
* a. NOT protected:
|
|
13
|
-
* - READ: anyone (even anonymous) → ALLOW
|
|
14
|
-
* - WRITE: authenticated user → ALLOW
|
|
15
|
-
* b. PROTECTED:
|
|
16
|
-
* - READ: requires explicit READ/WRITE/ADMIN grant (direct or via group/parent)
|
|
17
|
-
* - WRITE: requires explicit WRITE/ADMIN grant (direct or via group/parent)
|
|
18
|
-
* 3. Operation restricted? → Check OperationUserPermission
|
|
19
|
-
* 4. Document owner = implicit ADMIN
|
|
20
|
-
* 5. Drive protected = all children effectively protected
|
|
21
|
-
*/
|
|
22
|
-
export declare class AuthorizationService {
|
|
23
|
-
private readonly documentPermissionService;
|
|
24
|
-
readonly config: AuthorizationConfig;
|
|
25
|
-
constructor(documentPermissionService: DocumentPermissionService, config: AuthorizationConfig);
|
|
26
|
-
/**
|
|
27
|
-
* Check if a user is a supreme admin (from ADMINS env var).
|
|
28
|
-
*/
|
|
29
|
-
isSupremeAdmin(userAddress?: string): boolean;
|
|
30
|
-
/**
|
|
31
|
-
* Check if a user can read a document.
|
|
32
|
-
*
|
|
33
|
-
* - Supreme admin → yes
|
|
34
|
-
* - Not protected → anyone can read (even anonymous)
|
|
35
|
-
* - Protected → requires READ/WRITE/ADMIN grant (direct, group, or parent inheritance)
|
|
36
|
-
* - Owner → yes (implicit ADMIN)
|
|
37
|
-
*/
|
|
38
|
-
canRead(documentId: string, userAddress?: string, getParentIds?: GetParentIdsFn): Promise<boolean>;
|
|
39
|
-
/**
|
|
40
|
-
* Check if a user can write to a document.
|
|
41
|
-
*
|
|
42
|
-
* - Supreme admin → yes
|
|
43
|
-
* - Not protected → anyone can write (even anonymous)
|
|
44
|
-
* - Protected → requires authentication + WRITE/ADMIN grant
|
|
45
|
-
* - Owner → yes (implicit ADMIN)
|
|
46
|
-
*/
|
|
47
|
-
canWrite(documentId: string, userAddress?: string, getParentIds?: GetParentIdsFn): Promise<boolean>;
|
|
48
|
-
/**
|
|
49
|
-
* Check if a user can manage a document (change permissions, protection, transfer ownership).
|
|
50
|
-
*
|
|
51
|
-
* - Supreme admin → yes
|
|
52
|
-
* - Owner → yes
|
|
53
|
-
* - Has ADMIN grant → yes
|
|
54
|
-
*/
|
|
55
|
-
canManage(documentId: string, userAddress?: string, getParentIds?: GetParentIdsFn): Promise<boolean>;
|
|
56
|
-
/**
|
|
57
|
-
* Check if a user can execute a specific operation.
|
|
58
|
-
* If the operation is not restricted, falls through to the standard write check.
|
|
59
|
-
* If the operation is restricted, requires an explicit OperationUserPermission grant.
|
|
60
|
-
*/
|
|
61
|
-
canExecuteOperation(documentId: string, operationType: string, userAddress?: string, getParentIds?: GetParentIdsFn): Promise<boolean>;
|
|
62
|
-
/**
|
|
63
|
-
* Combined check for mutations: can the user write + execute the operation?
|
|
64
|
-
* This enables READ-only users with operation grants to execute specific operations.
|
|
65
|
-
* For restricted operations, only the operation grant is checked (bypasses write check),
|
|
66
|
-
* allowing READ-only users with an explicit operation grant to execute that operation.
|
|
67
|
-
*/
|
|
68
|
-
canMutate(documentId: string, operationType: string, userAddress?: string, getParentIds?: GetParentIdsFn): Promise<boolean>;
|
|
69
|
-
}
|
|
70
|
-
//# sourceMappingURL=authorization.service.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"authorization.service.d.ts","sourceRoot":"","sources":["../../../src/services/authorization.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,yBAAyB,EACzB,cAAc,EACf,MAAM,kCAAkC,CAAC;AAE1C,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,oBAAoB;IAI7B,OAAO,CAAC,QAAQ,CAAC,yBAAyB;IAH5C,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;gBAGlB,yBAAyB,EAAE,yBAAyB,EACrE,MAAM,EAAE,mBAAmB;IAK7B;;OAEG;IACH,cAAc,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO;IAK7C;;;;;;;OAOG;IACG,OAAO,CACX,UAAU,EAAE,MAAM,EAClB,WAAW,CAAC,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,cAAc,GAC5B,OAAO,CAAC,OAAO,CAAC;IAqCnB;;;;;;;OAOG;IACG,QAAQ,CACZ,UAAU,EAAE,MAAM,EAClB,WAAW,CAAC,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,cAAc,GAC5B,OAAO,CAAC,OAAO,CAAC;IAqCnB;;;;;;OAMG;IACG,SAAS,CACb,UAAU,EAAE,MAAM,EAClB,WAAW,CAAC,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,cAAc,GAC5B,OAAO,CAAC,OAAO,CAAC;IAkBnB;;;;OAIG;IACG,mBAAmB,CACvB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,WAAW,CAAC,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,cAAc,GAC5B,OAAO,CAAC,OAAO,CAAC;IAwBnB;;;;;OAKG;IACG,SAAS,CACb,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,WAAW,CAAC,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,cAAc,GAC5B,OAAO,CAAC,OAAO,CAAC;CAwBpB"}
|
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Central authorization service — single source of truth for all permission checks.
|
|
3
|
-
*
|
|
4
|
-
* Authorization model:
|
|
5
|
-
* 1. Supreme admin (ADMINS env) → ALLOW ALL
|
|
6
|
-
* 2. Is document protected?
|
|
7
|
-
* a. NOT protected:
|
|
8
|
-
* - READ: anyone (even anonymous) → ALLOW
|
|
9
|
-
* - WRITE: authenticated user → ALLOW
|
|
10
|
-
* b. PROTECTED:
|
|
11
|
-
* - READ: requires explicit READ/WRITE/ADMIN grant (direct or via group/parent)
|
|
12
|
-
* - WRITE: requires explicit WRITE/ADMIN grant (direct or via group/parent)
|
|
13
|
-
* 3. Operation restricted? → Check OperationUserPermission
|
|
14
|
-
* 4. Document owner = implicit ADMIN
|
|
15
|
-
* 5. Drive protected = all children effectively protected
|
|
16
|
-
*/
|
|
17
|
-
export class AuthorizationService {
|
|
18
|
-
documentPermissionService;
|
|
19
|
-
config;
|
|
20
|
-
constructor(documentPermissionService, config) {
|
|
21
|
-
this.documentPermissionService = documentPermissionService;
|
|
22
|
-
this.config = config;
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Check if a user is a supreme admin (from ADMINS env var).
|
|
26
|
-
*/
|
|
27
|
-
isSupremeAdmin(userAddress) {
|
|
28
|
-
if (!userAddress)
|
|
29
|
-
return false;
|
|
30
|
-
return this.config.admins.includes(userAddress.toLowerCase());
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Check if a user can read a document.
|
|
34
|
-
*
|
|
35
|
-
* - Supreme admin → yes
|
|
36
|
-
* - Not protected → anyone can read (even anonymous)
|
|
37
|
-
* - Protected → requires READ/WRITE/ADMIN grant (direct, group, or parent inheritance)
|
|
38
|
-
* - Owner → yes (implicit ADMIN)
|
|
39
|
-
*/
|
|
40
|
-
async canRead(documentId, userAddress, getParentIds) {
|
|
41
|
-
// Supreme admin bypasses all
|
|
42
|
-
if (this.isSupremeAdmin(userAddress))
|
|
43
|
-
return true;
|
|
44
|
-
// Check protection status (walks parent chain if getParentIds provided)
|
|
45
|
-
const isProtected = getParentIds
|
|
46
|
-
? await this.documentPermissionService.isProtectedWithAncestors(documentId, getParentIds)
|
|
47
|
-
: await this.documentPermissionService.isDocumentProtected(documentId);
|
|
48
|
-
// Unprotected documents are readable by anyone
|
|
49
|
-
if (!isProtected)
|
|
50
|
-
return true;
|
|
51
|
-
// Protected document — requires authentication
|
|
52
|
-
if (!userAddress)
|
|
53
|
-
return false;
|
|
54
|
-
// Owner has implicit ADMIN
|
|
55
|
-
const owner = await this.documentPermissionService.getDocumentOwner(documentId);
|
|
56
|
-
if (owner && owner === userAddress.toLowerCase())
|
|
57
|
-
return true;
|
|
58
|
-
// Check grant (READ/WRITE/ADMIN all allow reading)
|
|
59
|
-
if (getParentIds) {
|
|
60
|
-
return this.documentPermissionService.canRead(documentId, userAddress, getParentIds);
|
|
61
|
-
}
|
|
62
|
-
return this.documentPermissionService.canReadDocument(documentId, userAddress);
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Check if a user can write to a document.
|
|
66
|
-
*
|
|
67
|
-
* - Supreme admin → yes
|
|
68
|
-
* - Not protected → anyone can write (even anonymous)
|
|
69
|
-
* - Protected → requires authentication + WRITE/ADMIN grant
|
|
70
|
-
* - Owner → yes (implicit ADMIN)
|
|
71
|
-
*/
|
|
72
|
-
async canWrite(documentId, userAddress, getParentIds) {
|
|
73
|
-
// Supreme admin bypasses all
|
|
74
|
-
if (this.isSupremeAdmin(userAddress))
|
|
75
|
-
return true;
|
|
76
|
-
// Check protection status
|
|
77
|
-
const isProtected = getParentIds
|
|
78
|
-
? await this.documentPermissionService.isProtectedWithAncestors(documentId, getParentIds)
|
|
79
|
-
: await this.documentPermissionService.isDocumentProtected(documentId);
|
|
80
|
-
// Unprotected documents are writable by anyone (even anonymous)
|
|
81
|
-
if (!isProtected)
|
|
82
|
-
return true;
|
|
83
|
-
// Protected document — requires authentication
|
|
84
|
-
if (!userAddress)
|
|
85
|
-
return false;
|
|
86
|
-
// Owner has implicit ADMIN
|
|
87
|
-
const owner = await this.documentPermissionService.getDocumentOwner(documentId);
|
|
88
|
-
if (owner && owner === userAddress.toLowerCase())
|
|
89
|
-
return true;
|
|
90
|
-
// Check grant (WRITE/ADMIN allow writing)
|
|
91
|
-
if (getParentIds) {
|
|
92
|
-
return this.documentPermissionService.canWrite(documentId, userAddress, getParentIds);
|
|
93
|
-
}
|
|
94
|
-
return this.documentPermissionService.canWriteDocument(documentId, userAddress);
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Check if a user can manage a document (change permissions, protection, transfer ownership).
|
|
98
|
-
*
|
|
99
|
-
* - Supreme admin → yes
|
|
100
|
-
* - Owner → yes
|
|
101
|
-
* - Has ADMIN grant → yes
|
|
102
|
-
*/
|
|
103
|
-
async canManage(documentId, userAddress, getParentIds) {
|
|
104
|
-
// Supreme admin bypasses all
|
|
105
|
-
if (this.isSupremeAdmin(userAddress))
|
|
106
|
-
return true;
|
|
107
|
-
if (!userAddress)
|
|
108
|
-
return false;
|
|
109
|
-
// Owner has implicit ADMIN
|
|
110
|
-
const owner = await this.documentPermissionService.getDocumentOwner(documentId);
|
|
111
|
-
if (owner && owner === userAddress.toLowerCase())
|
|
112
|
-
return true;
|
|
113
|
-
// Check ADMIN grant
|
|
114
|
-
return this.documentPermissionService.canManageDocument(documentId, userAddress);
|
|
115
|
-
}
|
|
116
|
-
/**
|
|
117
|
-
* Check if a user can execute a specific operation.
|
|
118
|
-
* If the operation is not restricted, falls through to the standard write check.
|
|
119
|
-
* If the operation is restricted, requires an explicit OperationUserPermission grant.
|
|
120
|
-
*/
|
|
121
|
-
async canExecuteOperation(documentId, operationType, userAddress, getParentIds) {
|
|
122
|
-
// Supreme admin bypasses all
|
|
123
|
-
if (this.isSupremeAdmin(userAddress))
|
|
124
|
-
return true;
|
|
125
|
-
// Check if operation is restricted
|
|
126
|
-
const isRestricted = await this.documentPermissionService.isOperationRestricted(documentId, operationType);
|
|
127
|
-
if (!isRestricted) {
|
|
128
|
-
// Operation not restricted — standard write check applies
|
|
129
|
-
return this.canWrite(documentId, userAddress, getParentIds);
|
|
130
|
-
}
|
|
131
|
-
// Operation is restricted — user needs explicit operation grant
|
|
132
|
-
return this.documentPermissionService.canExecuteOperation(documentId, operationType, userAddress?.toLowerCase());
|
|
133
|
-
}
|
|
134
|
-
/**
|
|
135
|
-
* Combined check for mutations: can the user write + execute the operation?
|
|
136
|
-
* This enables READ-only users with operation grants to execute specific operations.
|
|
137
|
-
* For restricted operations, only the operation grant is checked (bypasses write check),
|
|
138
|
-
* allowing READ-only users with an explicit operation grant to execute that operation.
|
|
139
|
-
*/
|
|
140
|
-
async canMutate(documentId, operationType, userAddress, getParentIds) {
|
|
141
|
-
// Supreme admin bypasses all
|
|
142
|
-
if (this.isSupremeAdmin(userAddress))
|
|
143
|
-
return true;
|
|
144
|
-
// Check if the operation is restricted
|
|
145
|
-
const isRestricted = await this.documentPermissionService.isOperationRestricted(documentId, operationType);
|
|
146
|
-
if (isRestricted) {
|
|
147
|
-
// For restricted operations, only the operation grant matters
|
|
148
|
-
// This allows READ-only users with operation grants to execute
|
|
149
|
-
return this.documentPermissionService.canExecuteOperation(documentId, operationType, userAddress?.toLowerCase());
|
|
150
|
-
}
|
|
151
|
-
// For unrestricted operations, standard write check applies
|
|
152
|
-
return this.canWrite(documentId, userAddress, getParentIds);
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
//# sourceMappingURL=authorization.service.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"authorization.service.js","sourceRoot":"","sources":["../../../src/services/authorization.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,241 +0,0 @@
|
|
|
1
|
-
import type { Kysely } from "kysely";
|
|
2
|
-
import type { DocumentPermissionDatabase, DocumentPermissionLevel } from "../utils/db.js";
|
|
3
|
-
export interface DocumentPermissionEntry {
|
|
4
|
-
documentId: string;
|
|
5
|
-
userAddress: string;
|
|
6
|
-
permission: DocumentPermissionLevel;
|
|
7
|
-
grantedBy: string;
|
|
8
|
-
createdAt: Date;
|
|
9
|
-
updatedAt: Date;
|
|
10
|
-
}
|
|
11
|
-
export interface Group {
|
|
12
|
-
id: number;
|
|
13
|
-
name: string;
|
|
14
|
-
description: string | null;
|
|
15
|
-
createdAt: Date;
|
|
16
|
-
updatedAt: Date;
|
|
17
|
-
}
|
|
18
|
-
export interface DocumentGroupPermissionEntry {
|
|
19
|
-
documentId: string;
|
|
20
|
-
groupId: number;
|
|
21
|
-
permission: DocumentPermissionLevel;
|
|
22
|
-
grantedBy: string;
|
|
23
|
-
createdAt: Date;
|
|
24
|
-
updatedAt: Date;
|
|
25
|
-
}
|
|
26
|
-
export interface OperationUserPermissionEntry {
|
|
27
|
-
documentId: string;
|
|
28
|
-
operationType: string;
|
|
29
|
-
userAddress: string;
|
|
30
|
-
grantedBy: string;
|
|
31
|
-
createdAt: Date;
|
|
32
|
-
}
|
|
33
|
-
export interface OperationGroupPermissionEntry {
|
|
34
|
-
documentId: string;
|
|
35
|
-
operationType: string;
|
|
36
|
-
groupId: number;
|
|
37
|
-
grantedBy: string;
|
|
38
|
-
createdAt: Date;
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Function type for getting parent document IDs
|
|
42
|
-
* This is injected to avoid circular dependencies with the reactor client
|
|
43
|
-
*/
|
|
44
|
-
export type GetParentIdsFn = (documentId: string) => Promise<string[]>;
|
|
45
|
-
/**
|
|
46
|
-
* Configuration for the DocumentPermissionService
|
|
47
|
-
*/
|
|
48
|
-
export interface DocumentPermissionConfig {
|
|
49
|
-
defaultProtection: boolean;
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Service for managing document-level permissions.
|
|
53
|
-
*
|
|
54
|
-
* Permission levels for documents:
|
|
55
|
-
* - READ: Can fetch and read the document
|
|
56
|
-
* - WRITE: Can push updates and modify the document
|
|
57
|
-
* - ADMIN: Can manage document permissions and settings
|
|
58
|
-
*
|
|
59
|
-
* Operation permissions:
|
|
60
|
-
* - Users and groups can be granted permission to execute specific operations
|
|
61
|
-
*/
|
|
62
|
-
export declare class DocumentPermissionService {
|
|
63
|
-
private readonly db;
|
|
64
|
-
readonly config: DocumentPermissionConfig;
|
|
65
|
-
constructor(db: Kysely<DocumentPermissionDatabase>, config?: DocumentPermissionConfig);
|
|
66
|
-
/**
|
|
67
|
-
* Get the permission level for a user on a specific document.
|
|
68
|
-
* Returns null if no permission is set.
|
|
69
|
-
*/
|
|
70
|
-
getUserPermission(documentId: string, userAddress: string): Promise<DocumentPermissionLevel | null>;
|
|
71
|
-
/**
|
|
72
|
-
* Get all permissions for a document
|
|
73
|
-
*/
|
|
74
|
-
getDocumentPermissions(documentId: string): Promise<DocumentPermissionEntry[]>;
|
|
75
|
-
/**
|
|
76
|
-
* Get all documents a user has explicit access to
|
|
77
|
-
*/
|
|
78
|
-
getUserDocuments(userAddress: string): Promise<DocumentPermissionEntry[]>;
|
|
79
|
-
/**
|
|
80
|
-
* Grant or update a user's permission on a document.
|
|
81
|
-
*/
|
|
82
|
-
grantPermission(documentId: string, userAddress: string, permission: DocumentPermissionLevel, grantedBy: string): Promise<DocumentPermissionEntry>;
|
|
83
|
-
/**
|
|
84
|
-
* Revoke a user's permission on a document
|
|
85
|
-
*/
|
|
86
|
-
revokePermission(documentId: string, userAddress: string): Promise<void>;
|
|
87
|
-
/**
|
|
88
|
-
* Delete all permissions for a document (used when deleting a document)
|
|
89
|
-
*/
|
|
90
|
-
deleteAllDocumentPermissions(documentId: string): Promise<void>;
|
|
91
|
-
/**
|
|
92
|
-
* Check if a user can read a document.
|
|
93
|
-
* Returns true if user has READ, WRITE, or ADMIN permission (direct or via group)
|
|
94
|
-
*/
|
|
95
|
-
canReadDocument(documentId: string, userAddress: string | undefined): Promise<boolean>;
|
|
96
|
-
/**
|
|
97
|
-
* Check if a user can write to a document.
|
|
98
|
-
* Returns true if user has WRITE or ADMIN permission (direct or via group)
|
|
99
|
-
*/
|
|
100
|
-
canWriteDocument(documentId: string, userAddress: string | undefined): Promise<boolean>;
|
|
101
|
-
/**
|
|
102
|
-
* Check if a user can manage a document (change permissions, settings).
|
|
103
|
-
* Returns true if user has ADMIN permission (direct or via group)
|
|
104
|
-
*/
|
|
105
|
-
canManageDocument(documentId: string, userAddress: string | undefined): Promise<boolean>;
|
|
106
|
-
/**
|
|
107
|
-
* Check if a user can read a document, including parent permission inheritance.
|
|
108
|
-
* Returns true if user has permission on the document OR any parent in the hierarchy.
|
|
109
|
-
*/
|
|
110
|
-
canRead(documentId: string, userAddress: string | undefined, getParentIds: GetParentIdsFn): Promise<boolean>;
|
|
111
|
-
/**
|
|
112
|
-
* Check if a user can write to a document, including parent permission inheritance.
|
|
113
|
-
* Returns true if user has write permission on the document OR any parent in the hierarchy.
|
|
114
|
-
*/
|
|
115
|
-
canWrite(documentId: string, userAddress: string | undefined, getParentIds: GetParentIdsFn): Promise<boolean>;
|
|
116
|
-
/**
|
|
117
|
-
* Filter a list of document IDs to only include those the user can read.
|
|
118
|
-
*/
|
|
119
|
-
filterReadableDocuments(documentIds: string[], userAddress: string | undefined, getParentIds: GetParentIdsFn): Promise<string[]>;
|
|
120
|
-
/**
|
|
121
|
-
* Create a new group
|
|
122
|
-
*/
|
|
123
|
-
createGroup(name: string, description?: string): Promise<Group>;
|
|
124
|
-
/**
|
|
125
|
-
* Delete a group and all its associations
|
|
126
|
-
*/
|
|
127
|
-
deleteGroup(groupId: number): Promise<void>;
|
|
128
|
-
/**
|
|
129
|
-
* Get a group by ID
|
|
130
|
-
*/
|
|
131
|
-
getGroup(groupId: number): Promise<Group | null>;
|
|
132
|
-
/**
|
|
133
|
-
* List all groups
|
|
134
|
-
*/
|
|
135
|
-
listGroups(): Promise<Group[]>;
|
|
136
|
-
/**
|
|
137
|
-
* Add a user to a group
|
|
138
|
-
*/
|
|
139
|
-
addUserToGroup(userAddress: string, groupId: number): Promise<void>;
|
|
140
|
-
/**
|
|
141
|
-
* Remove a user from a group
|
|
142
|
-
*/
|
|
143
|
-
removeUserFromGroup(userAddress: string, groupId: number): Promise<void>;
|
|
144
|
-
/**
|
|
145
|
-
* Get all groups a user belongs to
|
|
146
|
-
*/
|
|
147
|
-
getUserGroups(userAddress: string): Promise<Group[]>;
|
|
148
|
-
/**
|
|
149
|
-
* Get all members of a group
|
|
150
|
-
*/
|
|
151
|
-
getGroupMembers(groupId: number): Promise<string[]>;
|
|
152
|
-
/**
|
|
153
|
-
* Grant a group permission on a document
|
|
154
|
-
*/
|
|
155
|
-
grantGroupPermission(documentId: string, groupId: number, permission: DocumentPermissionLevel, grantedBy: string): Promise<DocumentGroupPermissionEntry>;
|
|
156
|
-
/**
|
|
157
|
-
* Revoke a group's permission on a document
|
|
158
|
-
*/
|
|
159
|
-
revokeGroupPermission(documentId: string, groupId: number): Promise<void>;
|
|
160
|
-
/**
|
|
161
|
-
* Get all group permissions for a document
|
|
162
|
-
*/
|
|
163
|
-
getDocumentGroupPermissions(documentId: string): Promise<DocumentGroupPermissionEntry[]>;
|
|
164
|
-
/**
|
|
165
|
-
* Get best permission level a user has on a document via groups
|
|
166
|
-
*/
|
|
167
|
-
getUserGroupPermission(documentId: string, userAddress: string): Promise<DocumentPermissionLevel | null>;
|
|
168
|
-
/**
|
|
169
|
-
* Grant a user permission to execute an operation on a document
|
|
170
|
-
*/
|
|
171
|
-
grantOperationPermission(documentId: string, operationType: string, userAddress: string, grantedBy: string): Promise<OperationUserPermissionEntry>;
|
|
172
|
-
/**
|
|
173
|
-
* Revoke a user's permission to execute an operation
|
|
174
|
-
*/
|
|
175
|
-
revokeOperationPermission(documentId: string, operationType: string, userAddress: string): Promise<void>;
|
|
176
|
-
/**
|
|
177
|
-
* Grant a group permission to execute an operation on a document
|
|
178
|
-
*/
|
|
179
|
-
grantGroupOperationPermission(documentId: string, operationType: string, groupId: number, grantedBy: string): Promise<OperationGroupPermissionEntry>;
|
|
180
|
-
/**
|
|
181
|
-
* Revoke a group's permission to execute an operation
|
|
182
|
-
*/
|
|
183
|
-
revokeGroupOperationPermission(documentId: string, operationType: string, groupId: number): Promise<void>;
|
|
184
|
-
/**
|
|
185
|
-
* Get all users with permission to execute an operation
|
|
186
|
-
*/
|
|
187
|
-
getOperationUserPermissions(documentId: string, operationType: string): Promise<OperationUserPermissionEntry[]>;
|
|
188
|
-
/**
|
|
189
|
-
* Get all groups with permission to execute an operation
|
|
190
|
-
*/
|
|
191
|
-
getOperationGroupPermissions(documentId: string, operationType: string): Promise<OperationGroupPermissionEntry[]>;
|
|
192
|
-
/**
|
|
193
|
-
* Check if a user can execute a specific operation on a document.
|
|
194
|
-
* Returns true if user has direct permission or is in a group with permission.
|
|
195
|
-
*/
|
|
196
|
-
canExecuteOperation(documentId: string, operationType: string, userAddress: string | undefined): Promise<boolean>;
|
|
197
|
-
/**
|
|
198
|
-
* Check if an operation has any permissions set (is restricted)
|
|
199
|
-
*/
|
|
200
|
-
isOperationRestricted(documentId: string, operationType: string): Promise<boolean>;
|
|
201
|
-
/**
|
|
202
|
-
* Check if a specific document has a protection row set to true.
|
|
203
|
-
* Falls back to `config.defaultProtection` if no row exists.
|
|
204
|
-
*/
|
|
205
|
-
isDocumentProtected(documentId: string): Promise<boolean>;
|
|
206
|
-
/**
|
|
207
|
-
* Walk the parent chain: if the document itself or any ancestor is protected, return true.
|
|
208
|
-
* Collects all ancestor IDs first (with cycle detection), then batch-checks protection.
|
|
209
|
-
*/
|
|
210
|
-
isProtectedWithAncestors(documentId: string, getParentIds: GetParentIdsFn): Promise<boolean>;
|
|
211
|
-
/**
|
|
212
|
-
* Collect all ancestor IDs (including the document itself) with cycle detection.
|
|
213
|
-
*/
|
|
214
|
-
private collectAncestorIds;
|
|
215
|
-
/**
|
|
216
|
-
* Upsert protection status for a document.
|
|
217
|
-
*/
|
|
218
|
-
setDocumentProtection(documentId: string, isProtected: boolean): Promise<void>;
|
|
219
|
-
/**
|
|
220
|
-
* Get the owner address for a document, or null if not set.
|
|
221
|
-
*/
|
|
222
|
-
getDocumentOwner(documentId: string): Promise<string | null>;
|
|
223
|
-
/**
|
|
224
|
-
* Upsert owner address for a document.
|
|
225
|
-
*/
|
|
226
|
-
setDocumentOwner(documentId: string, ownerAddress: string): Promise<void>;
|
|
227
|
-
/**
|
|
228
|
-
* Initialize protection for a newly created document.
|
|
229
|
-
* Sets protection status and grants ADMIN to the owner.
|
|
230
|
-
*/
|
|
231
|
-
initializeDocumentProtection(documentId: string, ownerAddress: string, defaultProtection?: boolean): Promise<void>;
|
|
232
|
-
/**
|
|
233
|
-
* Get the full protection info for a document.
|
|
234
|
-
*/
|
|
235
|
-
getDocumentProtection(documentId: string): Promise<{
|
|
236
|
-
documentId: string;
|
|
237
|
-
protected: boolean;
|
|
238
|
-
ownerAddress: string | null;
|
|
239
|
-
}>;
|
|
240
|
-
}
|
|
241
|
-
//# sourceMappingURL=document-permission.service.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"document-permission.service.d.ts","sourceRoot":"","sources":["../../../src/services/document-permission.service.ts"],"names":[],"mappings":"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"}
|