@powerhousedao/reactor-api 6.0.0-dev.152 → 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.
Files changed (402) hide show
  1. package/dist/index.d.mts +2948 -0
  2. package/dist/index.d.mts.map +1 -0
  3. package/dist/index.mjs +6353 -0
  4. package/dist/index.mjs.map +1 -0
  5. package/dist/src/packages/vite-loader.mjs +142 -0
  6. package/dist/src/packages/vite-loader.mjs.map +1 -0
  7. package/dist/types-Do4QTfT3.d.mts +37 -0
  8. package/dist/types-Do4QTfT3.d.mts.map +1 -0
  9. package/dist/utils-DEEhP99G.mjs +286 -0
  10. package/dist/utils-DEEhP99G.mjs.map +1 -0
  11. package/dist/vite-loader.d.mts +29 -0
  12. package/dist/vite-loader.d.mts.map +1 -0
  13. package/package.json +17 -25
  14. package/dist/codegen.d.ts +0 -4
  15. package/dist/codegen.d.ts.map +0 -1
  16. package/dist/codegen.js +0 -38
  17. package/dist/codegen.js.map +0 -1
  18. package/dist/index.d.ts +0 -15
  19. package/dist/index.d.ts.map +0 -1
  20. package/dist/index.js +0 -15
  21. package/dist/index.js.map +0 -1
  22. package/dist/src/config.d.ts +0 -6
  23. package/dist/src/config.d.ts.map +0 -1
  24. package/dist/src/config.js +0 -6
  25. package/dist/src/config.js.map +0 -1
  26. package/dist/src/dev.d.ts +0 -2
  27. package/dist/src/dev.d.ts.map +0 -1
  28. package/dist/src/dev.js +0 -51
  29. package/dist/src/dev.js.map +0 -1
  30. package/dist/src/graphql/analytics-subgraph.d.ts +0 -14
  31. package/dist/src/graphql/analytics-subgraph.d.ts.map +0 -1
  32. package/dist/src/graphql/analytics-subgraph.js +0 -26
  33. package/dist/src/graphql/analytics-subgraph.js.map +0 -1
  34. package/dist/src/graphql/auth/index.d.ts +0 -2
  35. package/dist/src/graphql/auth/index.d.ts.map +0 -1
  36. package/dist/src/graphql/auth/index.js +0 -2
  37. package/dist/src/graphql/auth/index.js.map +0 -1
  38. package/dist/src/graphql/auth/resolvers.d.ts +0 -166
  39. package/dist/src/graphql/auth/resolvers.d.ts.map +0 -1
  40. package/dist/src/graphql/auth/resolvers.js +0 -227
  41. package/dist/src/graphql/auth/resolvers.js.map +0 -1
  42. package/dist/src/graphql/auth/schema.graphql +0 -195
  43. package/dist/src/graphql/auth/subgraph.d.ts +0 -202
  44. package/dist/src/graphql/auth/subgraph.d.ts.map +0 -1
  45. package/dist/src/graphql/auth/subgraph.js +0 -384
  46. package/dist/src/graphql/auth/subgraph.js.map +0 -1
  47. package/dist/src/graphql/base-subgraph.d.ts +0 -27
  48. package/dist/src/graphql/base-subgraph.d.ts.map +0 -1
  49. package/dist/src/graphql/base-subgraph.js +0 -126
  50. package/dist/src/graphql/base-subgraph.js.map +0 -1
  51. package/dist/src/graphql/document-model-subgraph.d.ts +0 -110
  52. package/dist/src/graphql/document-model-subgraph.d.ts.map +0 -1
  53. package/dist/src/graphql/document-model-subgraph.js +0 -336
  54. package/dist/src/graphql/document-model-subgraph.js.map +0 -1
  55. package/dist/src/graphql/gateway/adapter-gateway-apollo.d.ts +0 -23
  56. package/dist/src/graphql/gateway/adapter-gateway-apollo.d.ts.map +0 -1
  57. package/dist/src/graphql/gateway/adapter-gateway-apollo.js +0 -156
  58. package/dist/src/graphql/gateway/adapter-gateway-apollo.js.map +0 -1
  59. package/dist/src/graphql/gateway/adapter-gateway-mercurius.d.ts +0 -17
  60. package/dist/src/graphql/gateway/adapter-gateway-mercurius.d.ts.map +0 -1
  61. package/dist/src/graphql/gateway/adapter-gateway-mercurius.js +0 -154
  62. package/dist/src/graphql/gateway/adapter-gateway-mercurius.js.map +0 -1
  63. package/dist/src/graphql/gateway/adapter-http-express.d.ts +0 -25
  64. package/dist/src/graphql/gateway/adapter-http-express.d.ts.map +0 -1
  65. package/dist/src/graphql/gateway/adapter-http-express.js +0 -163
  66. package/dist/src/graphql/gateway/adapter-http-express.js.map +0 -1
  67. package/dist/src/graphql/gateway/adapter-http-fastify.d.ts +0 -23
  68. package/dist/src/graphql/gateway/adapter-http-fastify.d.ts.map +0 -1
  69. package/dist/src/graphql/gateway/adapter-http-fastify.js +0 -228
  70. package/dist/src/graphql/gateway/adapter-http-fastify.js.map +0 -1
  71. package/dist/src/graphql/gateway/auth-middleware.d.ts +0 -7
  72. package/dist/src/graphql/gateway/auth-middleware.d.ts.map +0 -1
  73. package/dist/src/graphql/gateway/auth-middleware.js +0 -15
  74. package/dist/src/graphql/gateway/auth-middleware.js.map +0 -1
  75. package/dist/src/graphql/gateway/factory.d.ts +0 -11
  76. package/dist/src/graphql/gateway/factory.d.ts.map +0 -1
  77. package/dist/src/graphql/gateway/factory.js +0 -21
  78. package/dist/src/graphql/gateway/factory.js.map +0 -1
  79. package/dist/src/graphql/gateway/types.d.ts +0 -100
  80. package/dist/src/graphql/gateway/types.d.ts.map +0 -1
  81. package/dist/src/graphql/gateway/types.js +0 -2
  82. package/dist/src/graphql/gateway/types.js.map +0 -1
  83. package/dist/src/graphql/graphql-manager.d.ts +0 -65
  84. package/dist/src/graphql/graphql-manager.d.ts.map +0 -1
  85. package/dist/src/graphql/graphql-manager.js +0 -483
  86. package/dist/src/graphql/graphql-manager.js.map +0 -1
  87. package/dist/src/graphql/index.d.ts +0 -13
  88. package/dist/src/graphql/index.d.ts.map +0 -1
  89. package/dist/src/graphql/index.js +0 -13
  90. package/dist/src/graphql/index.js.map +0 -1
  91. package/dist/src/graphql/packages/index.d.ts +0 -2
  92. package/dist/src/graphql/packages/index.d.ts.map +0 -1
  93. package/dist/src/graphql/packages/index.js +0 -2
  94. package/dist/src/graphql/packages/index.js.map +0 -1
  95. package/dist/src/graphql/packages/resolvers.d.ts +0 -31
  96. package/dist/src/graphql/packages/resolvers.d.ts.map +0 -1
  97. package/dist/src/graphql/packages/resolvers.js +0 -37
  98. package/dist/src/graphql/packages/resolvers.js.map +0 -1
  99. package/dist/src/graphql/packages/schema.graphql +0 -50
  100. package/dist/src/graphql/packages/subgraph.d.ts +0 -55
  101. package/dist/src/graphql/packages/subgraph.d.ts.map +0 -1
  102. package/dist/src/graphql/packages/subgraph.js +0 -73
  103. package/dist/src/graphql/packages/subgraph.js.map +0 -1
  104. package/dist/src/graphql/playground.d.ts +0 -2
  105. package/dist/src/graphql/playground.d.ts.map +0 -1
  106. package/dist/src/graphql/playground.js +0 -81
  107. package/dist/src/graphql/playground.js.map +0 -1
  108. package/dist/src/graphql/reactor/adapters.d.ts +0 -62
  109. package/dist/src/graphql/reactor/adapters.d.ts.map +0 -1
  110. package/dist/src/graphql/reactor/adapters.js +0 -271
  111. package/dist/src/graphql/reactor/adapters.js.map +0 -1
  112. package/dist/src/graphql/reactor/factory.d.ts +0 -105
  113. package/dist/src/graphql/reactor/factory.d.ts.map +0 -1
  114. package/dist/src/graphql/reactor/factory.js +0 -7
  115. package/dist/src/graphql/reactor/factory.js.map +0 -1
  116. package/dist/src/graphql/reactor/gen/graphql.d.ts +0 -1489
  117. package/dist/src/graphql/reactor/gen/graphql.d.ts.map +0 -1
  118. package/dist/src/graphql/reactor/gen/graphql.js +0 -731
  119. package/dist/src/graphql/reactor/gen/graphql.js.map +0 -1
  120. package/dist/src/graphql/reactor/index.d.ts +0 -4
  121. package/dist/src/graphql/reactor/index.d.ts.map +0 -1
  122. package/dist/src/graphql/reactor/index.js +0 -4
  123. package/dist/src/graphql/reactor/index.js.map +0 -1
  124. package/dist/src/graphql/reactor/operations.graphql +0 -443
  125. package/dist/src/graphql/reactor/pubsub.d.ts +0 -27
  126. package/dist/src/graphql/reactor/pubsub.d.ts.map +0 -1
  127. package/dist/src/graphql/reactor/pubsub.js +0 -93
  128. package/dist/src/graphql/reactor/pubsub.js.map +0 -1
  129. package/dist/src/graphql/reactor/requester.d.ts +0 -4
  130. package/dist/src/graphql/reactor/requester.d.ts.map +0 -1
  131. package/dist/src/graphql/reactor/requester.js +0 -22
  132. package/dist/src/graphql/reactor/requester.js.map +0 -1
  133. package/dist/src/graphql/reactor/requester.with-zod.d.ts +0 -4
  134. package/dist/src/graphql/reactor/requester.with-zod.d.ts.map +0 -1
  135. package/dist/src/graphql/reactor/requester.with-zod.js +0 -129
  136. package/dist/src/graphql/reactor/requester.with-zod.js.map +0 -1
  137. package/dist/src/graphql/reactor/resolvers.d.ts +0 -223
  138. package/dist/src/graphql/reactor/resolvers.d.ts.map +0 -1
  139. package/dist/src/graphql/reactor/resolvers.js +0 -682
  140. package/dist/src/graphql/reactor/resolvers.js.map +0 -1
  141. package/dist/src/graphql/reactor/schema.graphql +0 -475
  142. package/dist/src/graphql/reactor/subgraph.d.ts +0 -18
  143. package/dist/src/graphql/reactor/subgraph.d.ts.map +0 -1
  144. package/dist/src/graphql/reactor/subgraph.js +0 -460
  145. package/dist/src/graphql/reactor/subgraph.js.map +0 -1
  146. package/dist/src/graphql/reactor/validation.d.ts +0 -348
  147. package/dist/src/graphql/reactor/validation.d.ts.map +0 -1
  148. package/dist/src/graphql/reactor/validation.js +0 -167
  149. package/dist/src/graphql/reactor/validation.js.map +0 -1
  150. package/dist/src/graphql/sse.d.ts +0 -35
  151. package/dist/src/graphql/sse.d.ts.map +0 -1
  152. package/dist/src/graphql/sse.js +0 -29
  153. package/dist/src/graphql/sse.js.map +0 -1
  154. package/dist/src/graphql/system/env/getters.d.ts +0 -2
  155. package/dist/src/graphql/system/env/getters.d.ts.map +0 -1
  156. package/dist/src/graphql/system/env/getters.js +0 -4
  157. package/dist/src/graphql/system/env/getters.js.map +0 -1
  158. package/dist/src/graphql/system/env/index.d.ts +0 -2
  159. package/dist/src/graphql/system/env/index.d.ts.map +0 -1
  160. package/dist/src/graphql/system/env/index.js +0 -5
  161. package/dist/src/graphql/system/env/index.js.map +0 -1
  162. package/dist/src/graphql/system/index.d.ts +0 -2
  163. package/dist/src/graphql/system/index.d.ts.map +0 -1
  164. package/dist/src/graphql/system/index.js +0 -2
  165. package/dist/src/graphql/system/index.js.map +0 -1
  166. package/dist/src/graphql/system/types.d.ts +0 -2
  167. package/dist/src/graphql/system/types.d.ts.map +0 -1
  168. package/dist/src/graphql/system/types.js +0 -2
  169. package/dist/src/graphql/system/types.js.map +0 -1
  170. package/dist/src/graphql/temp-hack-rwa-type-defs.d.ts +0 -57
  171. package/dist/src/graphql/temp-hack-rwa-type-defs.d.ts.map +0 -1
  172. package/dist/src/graphql/temp-hack-rwa-type-defs.js +0 -2
  173. package/dist/src/graphql/temp-hack-rwa-type-defs.js.map +0 -1
  174. package/dist/src/graphql/types.d.ts +0 -102
  175. package/dist/src/graphql/types.d.ts.map +0 -1
  176. package/dist/src/graphql/types.js +0 -2
  177. package/dist/src/graphql/types.js.map +0 -1
  178. package/dist/src/graphql/utils.d.ts +0 -9
  179. package/dist/src/graphql/utils.d.ts.map +0 -1
  180. package/dist/src/graphql/utils.js +0 -72
  181. package/dist/src/graphql/utils.js.map +0 -1
  182. package/dist/src/graphql/websocket.d.ts +0 -3
  183. package/dist/src/graphql/websocket.d.ts.map +0 -1
  184. package/dist/src/graphql/websocket.js +0 -15
  185. package/dist/src/graphql/websocket.js.map +0 -1
  186. package/dist/src/migrations/001_create_document_permissions.d.ts +0 -4
  187. package/dist/src/migrations/001_create_document_permissions.d.ts.map +0 -1
  188. package/dist/src/migrations/001_create_document_permissions.js +0 -91
  189. package/dist/src/migrations/001_create_document_permissions.js.map +0 -1
  190. package/dist/src/migrations/002_add_document_protection.d.ts +0 -4
  191. package/dist/src/migrations/002_add_document_protection.d.ts.map +0 -1
  192. package/dist/src/migrations/002_add_document_protection.js +0 -18
  193. package/dist/src/migrations/002_add_document_protection.js.map +0 -1
  194. package/dist/src/migrations/index.d.ts +0 -10
  195. package/dist/src/migrations/index.d.ts.map +0 -1
  196. package/dist/src/migrations/index.js +0 -58
  197. package/dist/src/migrations/index.js.map +0 -1
  198. package/dist/src/packages/http-loader.d.ts +0 -59
  199. package/dist/src/packages/http-loader.d.ts.map +0 -1
  200. package/dist/src/packages/http-loader.js +0 -203
  201. package/dist/src/packages/http-loader.js.map +0 -1
  202. package/dist/src/packages/https-hooks.d.mts +0 -37
  203. package/dist/src/packages/https-hooks.d.mts.map +0 -1
  204. package/dist/src/packages/https-hooks.mjs +0 -95
  205. package/dist/src/packages/https-hooks.mjs.map +0 -1
  206. package/dist/src/packages/import-loader.d.ts +0 -14
  207. package/dist/src/packages/import-loader.d.ts.map +0 -1
  208. package/dist/src/packages/import-loader.js +0 -47
  209. package/dist/src/packages/import-loader.js.map +0 -1
  210. package/dist/src/packages/import-resolver.d.ts +0 -5
  211. package/dist/src/packages/import-resolver.d.ts.map +0 -1
  212. package/dist/src/packages/import-resolver.js +0 -127
  213. package/dist/src/packages/import-resolver.js.map +0 -1
  214. package/dist/src/packages/package-manager.d.ts +0 -33
  215. package/dist/src/packages/package-manager.d.ts.map +0 -1
  216. package/dist/src/packages/package-manager.js +0 -216
  217. package/dist/src/packages/package-manager.js.map +0 -1
  218. package/dist/src/packages/types.d.ts +0 -39
  219. package/dist/src/packages/types.d.ts.map +0 -1
  220. package/dist/src/packages/types.js +0 -2
  221. package/dist/src/packages/types.js.map +0 -1
  222. package/dist/src/packages/util.d.ts +0 -26
  223. package/dist/src/packages/util.d.ts.map +0 -1
  224. package/dist/src/packages/util.js +0 -85
  225. package/dist/src/packages/util.js.map +0 -1
  226. package/dist/src/packages/vite-loader.d.ts +0 -25
  227. package/dist/src/packages/vite-loader.d.ts.map +0 -1
  228. package/dist/src/packages/vite-loader.js +0 -171
  229. package/dist/src/packages/vite-loader.js.map +0 -1
  230. package/dist/src/server.d.ts +0 -55
  231. package/dist/src/server.d.ts.map +0 -1
  232. package/dist/src/server.js +0 -351
  233. package/dist/src/server.js.map +0 -1
  234. package/dist/src/services/auth.service.d.ts +0 -53
  235. package/dist/src/services/auth.service.d.ts.map +0 -1
  236. package/dist/src/services/auth.service.js +0 -165
  237. package/dist/src/services/auth.service.js.map +0 -1
  238. package/dist/src/services/authorization.service.d.ts +0 -70
  239. package/dist/src/services/authorization.service.d.ts.map +0 -1
  240. package/dist/src/services/authorization.service.js +0 -155
  241. package/dist/src/services/authorization.service.js.map +0 -1
  242. package/dist/src/services/document-permission.service.d.ts +0 -241
  243. package/dist/src/services/document-permission.service.d.ts.map +0 -1
  244. package/dist/src/services/document-permission.service.js +0 -791
  245. package/dist/src/services/document-permission.service.js.map +0 -1
  246. package/dist/src/services/package-management.service.d.ts +0 -32
  247. package/dist/src/services/package-management.service.d.ts.map +0 -1
  248. package/dist/src/services/package-management.service.js +0 -95
  249. package/dist/src/services/package-management.service.js.map +0 -1
  250. package/dist/src/services/package-storage.d.ts +0 -23
  251. package/dist/src/services/package-storage.d.ts.map +0 -1
  252. package/dist/src/services/package-storage.js +0 -19
  253. package/dist/src/services/package-storage.js.map +0 -1
  254. package/dist/src/tracing.d.ts +0 -4
  255. package/dist/src/tracing.d.ts.map +0 -1
  256. package/dist/src/tracing.js +0 -146
  257. package/dist/src/tracing.js.map +0 -1
  258. package/dist/src/types.d.ts +0 -26
  259. package/dist/src/types.d.ts.map +0 -1
  260. package/dist/src/types.js +0 -2
  261. package/dist/src/types.js.map +0 -1
  262. package/dist/src/utils/create-schema.d.ts +0 -36
  263. package/dist/src/utils/create-schema.d.ts.map +0 -1
  264. package/dist/src/utils/create-schema.js +0 -728
  265. package/dist/src/utils/create-schema.js.map +0 -1
  266. package/dist/src/utils/db.d.ts +0 -82
  267. package/dist/src/utils/db.d.ts.map +0 -1
  268. package/dist/src/utils/db.js +0 -101
  269. package/dist/src/utils/db.js.map +0 -1
  270. package/dist/src/utils/drive-url.d.ts +0 -2
  271. package/dist/src/utils/drive-url.d.ts.map +0 -1
  272. package/dist/src/utils/drive-url.js +0 -3
  273. package/dist/src/utils/drive-url.js.map +0 -1
  274. package/dist/src/utils/index.d.ts +0 -4
  275. package/dist/src/utils/index.d.ts.map +0 -1
  276. package/dist/src/utils/index.js +0 -4
  277. package/dist/src/utils/index.js.map +0 -1
  278. package/dist/test/auth-chain.test.d.ts +0 -12
  279. package/dist/test/auth-chain.test.d.ts.map +0 -1
  280. package/dist/test/auth-chain.test.js +0 -157
  281. package/dist/test/auth-chain.test.js.map +0 -1
  282. package/dist/test/auth.service.test.d.ts +0 -10
  283. package/dist/test/auth.service.test.d.ts.map +0 -1
  284. package/dist/test/auth.service.test.js +0 -141
  285. package/dist/test/auth.service.test.js.map +0 -1
  286. package/dist/test/authorization.service.test.d.ts +0 -2
  287. package/dist/test/authorization.service.test.d.ts.map +0 -1
  288. package/dist/test/authorization.service.test.js +0 -252
  289. package/dist/test/authorization.service.test.js.map +0 -1
  290. package/dist/test/connect-switchboard-reshuffle-convergence.test.d.ts +0 -2
  291. package/dist/test/connect-switchboard-reshuffle-convergence.test.d.ts.map +0 -1
  292. package/dist/test/connect-switchboard-reshuffle-convergence.test.js +0 -204
  293. package/dist/test/connect-switchboard-reshuffle-convergence.test.js.map +0 -1
  294. package/dist/test/connect-switchboard-sync.test.d.ts +0 -2
  295. package/dist/test/connect-switchboard-sync.test.d.ts.map +0 -1
  296. package/dist/test/connect-switchboard-sync.test.js +0 -633
  297. package/dist/test/connect-switchboard-sync.test.js.map +0 -1
  298. package/dist/test/document-drive-subgraph.test.d.ts +0 -2
  299. package/dist/test/document-drive-subgraph.test.d.ts.map +0 -1
  300. package/dist/test/document-drive-subgraph.test.js +0 -244
  301. package/dist/test/document-drive-subgraph.test.js.map +0 -1
  302. package/dist/test/document-model-subgraph-permissions.test.d.ts +0 -2
  303. package/dist/test/document-model-subgraph-permissions.test.d.ts.map +0 -1
  304. package/dist/test/document-model-subgraph-permissions.test.js +0 -587
  305. package/dist/test/document-model-subgraph-permissions.test.js.map +0 -1
  306. package/dist/test/document-permission.service.test.d.ts +0 -2
  307. package/dist/test/document-permission.service.test.d.ts.map +0 -1
  308. package/dist/test/document-permission.service.test.js +0 -480
  309. package/dist/test/document-permission.service.test.js.map +0 -1
  310. package/dist/test/drive-info-endpoint.test.d.ts +0 -2
  311. package/dist/test/drive-info-endpoint.test.d.ts.map +0 -1
  312. package/dist/test/drive-info-endpoint.test.js +0 -123
  313. package/dist/test/drive-info-endpoint.test.js.map +0 -1
  314. package/dist/test/fault-injection-sync.test.d.ts +0 -2
  315. package/dist/test/fault-injection-sync.test.d.ts.map +0 -1
  316. package/dist/test/fault-injection-sync.test.js +0 -197
  317. package/dist/test/fault-injection-sync.test.js.map +0 -1
  318. package/dist/test/gateway/adapter-gateway-apollo.test.d.ts +0 -2
  319. package/dist/test/gateway/adapter-gateway-apollo.test.d.ts.map +0 -1
  320. package/dist/test/gateway/adapter-gateway-apollo.test.js +0 -206
  321. package/dist/test/gateway/adapter-gateway-apollo.test.js.map +0 -1
  322. package/dist/test/gateway/adapter-gateway-mercurius.test.d.ts +0 -2
  323. package/dist/test/gateway/adapter-gateway-mercurius.test.d.ts.map +0 -1
  324. package/dist/test/gateway/adapter-gateway-mercurius.test.js +0 -23
  325. package/dist/test/gateway/adapter-gateway-mercurius.test.js.map +0 -1
  326. package/dist/test/gateway/adapter-http-express.test.d.ts +0 -2
  327. package/dist/test/gateway/adapter-http-express.test.d.ts.map +0 -1
  328. package/dist/test/gateway/adapter-http-express.test.js +0 -17
  329. package/dist/test/gateway/adapter-http-express.test.js.map +0 -1
  330. package/dist/test/gateway/adapter-http-fastify.test.d.ts +0 -2
  331. package/dist/test/gateway/adapter-http-fastify.test.d.ts.map +0 -1
  332. package/dist/test/gateway/adapter-http-fastify.test.js +0 -17
  333. package/dist/test/gateway/adapter-http-fastify.test.js.map +0 -1
  334. package/dist/test/gateway/auth-middleware.test.d.ts +0 -8
  335. package/dist/test/gateway/auth-middleware.test.d.ts.map +0 -1
  336. package/dist/test/gateway/auth-middleware.test.js +0 -73
  337. package/dist/test/gateway/auth-middleware.test.js.map +0 -1
  338. package/dist/test/gateway/gateway-adapter-contract.d.ts +0 -30
  339. package/dist/test/gateway/gateway-adapter-contract.d.ts.map +0 -1
  340. package/dist/test/gateway/gateway-adapter-contract.js +0 -347
  341. package/dist/test/gateway/gateway-adapter-contract.js.map +0 -1
  342. package/dist/test/gateway/http-adapter-contract.d.ts +0 -30
  343. package/dist/test/gateway/http-adapter-contract.d.ts.map +0 -1
  344. package/dist/test/gateway/http-adapter-contract.js +0 -277
  345. package/dist/test/gateway/http-adapter-contract.js.map +0 -1
  346. package/dist/test/graphql-manager.test.d.ts +0 -12
  347. package/dist/test/graphql-manager.test.d.ts.map +0 -1
  348. package/dist/test/graphql-manager.test.js +0 -576
  349. package/dist/test/graphql-manager.test.js.map +0 -1
  350. package/dist/test/index.d.ts +0 -2
  351. package/dist/test/index.d.ts.map +0 -1
  352. package/dist/test/index.js +0 -2
  353. package/dist/test/index.js.map +0 -1
  354. package/dist/test/permissions-integration.test.d.ts +0 -2
  355. package/dist/test/permissions-integration.test.d.ts.map +0 -1
  356. package/dist/test/permissions-integration.test.js +0 -407
  357. package/dist/test/permissions-integration.test.js.map +0 -1
  358. package/dist/test/push-backfill.test.d.ts +0 -2
  359. package/dist/test/push-backfill.test.d.ts.map +0 -1
  360. package/dist/test/push-backfill.test.js +0 -299
  361. package/dist/test/push-backfill.test.js.map +0 -1
  362. package/dist/test/reactor-adapters.test.d.ts +0 -2
  363. package/dist/test/reactor-adapters.test.d.ts.map +0 -1
  364. package/dist/test/reactor-adapters.test.js +0 -380
  365. package/dist/test/reactor-adapters.test.js.map +0 -1
  366. package/dist/test/reactor-client.test.d.ts +0 -2
  367. package/dist/test/reactor-client.test.d.ts.map +0 -1
  368. package/dist/test/reactor-client.test.js +0 -371
  369. package/dist/test/reactor-client.test.js.map +0 -1
  370. package/dist/test/reactor-resolvers.test.d.ts +0 -2
  371. package/dist/test/reactor-resolvers.test.d.ts.map +0 -1
  372. package/dist/test/reactor-resolvers.test.js +0 -259
  373. package/dist/test/reactor-resolvers.test.js.map +0 -1
  374. package/dist/test/reactor-subgraph-permissions.test.d.ts +0 -2
  375. package/dist/test/reactor-subgraph-permissions.test.d.ts.map +0 -1
  376. package/dist/test/reactor-subgraph-permissions.test.js +0 -371
  377. package/dist/test/reactor-subgraph-permissions.test.js.map +0 -1
  378. package/dist/test/router.test.d.ts +0 -2
  379. package/dist/test/router.test.d.ts.map +0 -1
  380. package/dist/test/router.test.js +0 -38
  381. package/dist/test/router.test.js.map +0 -1
  382. package/dist/test/subscriptions-sse.test.d.ts +0 -2
  383. package/dist/test/subscriptions-sse.test.d.ts.map +0 -1
  384. package/dist/test/subscriptions-sse.test.js +0 -264
  385. package/dist/test/subscriptions-sse.test.js.map +0 -1
  386. package/dist/test/subscriptions.test.d.ts +0 -2
  387. package/dist/test/subscriptions.test.d.ts.map +0 -1
  388. package/dist/test/subscriptions.test.js +0 -248
  389. package/dist/test/subscriptions.test.js.map +0 -1
  390. package/dist/test/utils/gql-resolver-bridge.d.ts +0 -15
  391. package/dist/test/utils/gql-resolver-bridge.d.ts.map +0 -1
  392. package/dist/test/utils/gql-resolver-bridge.js +0 -89
  393. package/dist/test/utils/gql-resolver-bridge.js.map +0 -1
  394. package/dist/test/utils.d.ts +0 -6
  395. package/dist/test/utils.d.ts.map +0 -1
  396. package/dist/test/utils.js +0 -13
  397. package/dist/test/utils.js.map +0 -1
  398. package/dist/tsconfig.tsbuildinfo +0 -1
  399. package/dist/vitest.config.d.ts +0 -3
  400. package/dist/vitest.config.d.ts.map +0 -1
  401. package/dist/vitest.config.js +0 -39
  402. package/dist/vitest.config.js.map +0 -1
@@ -1,384 +0,0 @@
1
- import { ConsoleLogger } from "document-model";
2
- import fs from "fs";
3
- import { GraphQLError } from "graphql";
4
- import { gql } from "graphql-tag";
5
- import path from "path";
6
- import { fileURLToPath } from "url";
7
- import { BaseSubgraph } from "../base-subgraph.js";
8
- import * as resolvers from "./resolvers.js";
9
- const __filename = fileURLToPath(import.meta.url);
10
- const __dirname = path.dirname(__filename);
11
- /**
12
- * Auth Subgraph - handles all document permission and authorization operations
13
- *
14
- * This subgraph is conditionally registered based on the DOCUMENT_PERMISSIONS_ENABLED
15
- * feature flag. When enabled, it provides GraphQL operations for:
16
- * - Document permissions (grant/revoke user access)
17
- * - Group management (create/delete groups, manage membership)
18
- * - Group document permissions (grant/revoke group access)
19
- * - Operation-level permissions (fine-grained operation control)
20
- */
21
- export class AuthSubgraph extends BaseSubgraph {
22
- logger = new ConsoleLogger(["AuthSubgraph"]);
23
- constructor(args) {
24
- super(args);
25
- this.logger.verbose(`constructor()`);
26
- }
27
- name = "auth";
28
- hasSubscriptions = false;
29
- // Load schema from file
30
- typeDefs = gql(fs.readFileSync(path.join(__dirname, "schema.graphql"), "utf-8"));
31
- resolvers = {
32
- Query: {
33
- documentAccess: async (_parent, args) => {
34
- this.logger.debug("documentAccess", args);
35
- if (!this.documentPermissionService) {
36
- throw new GraphQLError("DocumentPermissionService not available");
37
- }
38
- try {
39
- return await resolvers.documentAccess(this.documentPermissionService, args);
40
- }
41
- catch (error) {
42
- this.logger.error("Error in documentAccess:", error);
43
- throw error;
44
- }
45
- },
46
- userDocumentPermissions: async (_parent, _args, ctx) => {
47
- this.logger.debug("userDocumentPermissions");
48
- if (!this.documentPermissionService) {
49
- throw new GraphQLError("DocumentPermissionService not available");
50
- }
51
- if (!ctx.user?.address) {
52
- return [];
53
- }
54
- try {
55
- return await resolvers.userDocumentPermissions(this.documentPermissionService, ctx.user.address);
56
- }
57
- catch (error) {
58
- this.logger.error("Error in userDocumentPermissions:", error);
59
- throw error;
60
- }
61
- },
62
- groups: async () => {
63
- this.logger.debug("groups");
64
- if (!this.documentPermissionService) {
65
- throw new GraphQLError("DocumentPermissionService not available");
66
- }
67
- try {
68
- return await resolvers.groups(this.documentPermissionService);
69
- }
70
- catch (error) {
71
- this.logger.error("Error in groups:", error);
72
- throw error;
73
- }
74
- },
75
- group: async (_parent, args) => {
76
- this.logger.debug("group", args);
77
- if (!this.documentPermissionService) {
78
- throw new GraphQLError("DocumentPermissionService not available");
79
- }
80
- try {
81
- return await resolvers.group(this.documentPermissionService, args);
82
- }
83
- catch (error) {
84
- this.logger.error("Error in group:", error);
85
- throw error;
86
- }
87
- },
88
- userGroups: async (_parent, args) => {
89
- this.logger.debug("userGroups", args);
90
- if (!this.documentPermissionService) {
91
- throw new GraphQLError("DocumentPermissionService not available");
92
- }
93
- try {
94
- return await resolvers.userGroups(this.documentPermissionService, args);
95
- }
96
- catch (error) {
97
- this.logger.error("Error in userGroups:", error);
98
- throw error;
99
- }
100
- },
101
- operationPermissions: async (_parent, args) => {
102
- this.logger.debug("operationPermissions", args);
103
- if (!this.documentPermissionService) {
104
- throw new GraphQLError("DocumentPermissionService not available");
105
- }
106
- try {
107
- return await resolvers.operationPermissions(this.documentPermissionService, args);
108
- }
109
- catch (error) {
110
- this.logger.error("Error in operationPermissions:", error);
111
- throw error;
112
- }
113
- },
114
- canExecuteOperation: async (_parent, args, ctx) => {
115
- this.logger.debug("canExecuteOperation", args);
116
- if (!this.documentPermissionService) {
117
- throw new GraphQLError("DocumentPermissionService not available");
118
- }
119
- try {
120
- return await resolvers.canExecuteOperation(this.documentPermissionService, args, ctx.user?.address);
121
- }
122
- catch (error) {
123
- this.logger.error("Error in canExecuteOperation:", error);
124
- throw error;
125
- }
126
- },
127
- documentProtection: async (_parent, args, ctx) => {
128
- this.logger.debug("documentProtection", args);
129
- if (!this.documentPermissionService) {
130
- throw new GraphQLError("DocumentPermissionService not available");
131
- }
132
- if (!ctx.user?.address) {
133
- throw new GraphQLError("Authentication required to view document protection info");
134
- }
135
- try {
136
- return await resolvers.documentProtection(this.documentPermissionService, args);
137
- }
138
- catch (error) {
139
- this.logger.error("Error in documentProtection:", error);
140
- throw error;
141
- }
142
- },
143
- },
144
- Mutation: {
145
- setDocumentProtection: async (_parent, args, ctx) => {
146
- this.logger.debug("setDocumentProtection", args);
147
- if (!this.documentPermissionService) {
148
- throw new GraphQLError("DocumentPermissionService not available");
149
- }
150
- try {
151
- const isGlobalAdmin = ctx.isAdmin?.(ctx.user?.address ?? "") ?? false;
152
- return await resolvers.setDocumentProtection(this.documentPermissionService, this.authorizationService, args, ctx.user?.address, isGlobalAdmin);
153
- }
154
- catch (error) {
155
- this.logger.error("Error in setDocumentProtection:", error);
156
- throw error;
157
- }
158
- },
159
- transferDocumentOwnership: async (_parent, args, ctx) => {
160
- this.logger.debug("transferDocumentOwnership", args);
161
- if (!this.documentPermissionService) {
162
- throw new GraphQLError("DocumentPermissionService not available");
163
- }
164
- try {
165
- const isGlobalAdmin = ctx.isAdmin?.(ctx.user?.address ?? "") ?? false;
166
- return await resolvers.transferDocumentOwnership(this.documentPermissionService, this.authorizationService, args, ctx.user?.address, isGlobalAdmin);
167
- }
168
- catch (error) {
169
- this.logger.error("Error in transferDocumentOwnership:", error);
170
- throw error;
171
- }
172
- },
173
- grantDocumentPermission: async (_parent, args, ctx) => {
174
- this.logger.debug("grantDocumentPermission", args);
175
- if (!this.documentPermissionService) {
176
- throw new GraphQLError("DocumentPermissionService not available");
177
- }
178
- try {
179
- const isGlobalAdmin = ctx.isAdmin?.(ctx.user?.address ?? "") ?? false;
180
- return await resolvers.grantDocumentPermission(this.documentPermissionService, args, ctx.user?.address, isGlobalAdmin);
181
- }
182
- catch (error) {
183
- this.logger.error("Error in grantDocumentPermission:", error);
184
- throw error;
185
- }
186
- },
187
- revokeDocumentPermission: async (_parent, args, ctx) => {
188
- this.logger.debug("revokeDocumentPermission", args);
189
- if (!this.documentPermissionService) {
190
- throw new GraphQLError("DocumentPermissionService not available");
191
- }
192
- try {
193
- const isGlobalAdmin = ctx.isAdmin?.(ctx.user?.address ?? "") ?? false;
194
- return await resolvers.revokeDocumentPermission(this.documentPermissionService, args, ctx.user?.address, isGlobalAdmin);
195
- }
196
- catch (error) {
197
- this.logger.error("Error in revokeDocumentPermission:", error);
198
- throw error;
199
- }
200
- },
201
- // Group Management Mutations
202
- createGroup: async (_parent, args) => {
203
- this.logger.debug("createGroup", args);
204
- if (!this.documentPermissionService) {
205
- throw new GraphQLError("DocumentPermissionService not available");
206
- }
207
- try {
208
- return await resolvers.createGroup(this.documentPermissionService, args);
209
- }
210
- catch (error) {
211
- this.logger.error("Error in createGroup:", error);
212
- throw error;
213
- }
214
- },
215
- deleteGroup: async (_parent, args) => {
216
- this.logger.debug("deleteGroup", args);
217
- if (!this.documentPermissionService) {
218
- throw new GraphQLError("DocumentPermissionService not available");
219
- }
220
- try {
221
- return await resolvers.deleteGroup(this.documentPermissionService, args);
222
- }
223
- catch (error) {
224
- this.logger.error("Error in deleteGroup:", error);
225
- throw error;
226
- }
227
- },
228
- addUserToGroup: async (_parent, args) => {
229
- this.logger.debug("addUserToGroup", args);
230
- if (!this.documentPermissionService) {
231
- throw new GraphQLError("DocumentPermissionService not available");
232
- }
233
- try {
234
- return await resolvers.addUserToGroup(this.documentPermissionService, args);
235
- }
236
- catch (error) {
237
- this.logger.error("Error in addUserToGroup:", error);
238
- throw error;
239
- }
240
- },
241
- removeUserFromGroup: async (_parent, args) => {
242
- this.logger.debug("removeUserFromGroup", args);
243
- if (!this.documentPermissionService) {
244
- throw new GraphQLError("DocumentPermissionService not available");
245
- }
246
- try {
247
- return await resolvers.removeUserFromGroup(this.documentPermissionService, args);
248
- }
249
- catch (error) {
250
- this.logger.error("Error in removeUserFromGroup:", error);
251
- throw error;
252
- }
253
- },
254
- // Group Document Permission Mutations
255
- grantGroupPermission: async (_parent, args, ctx) => {
256
- this.logger.debug("grantGroupPermission", args);
257
- if (!this.documentPermissionService) {
258
- throw new GraphQLError("DocumentPermissionService not available");
259
- }
260
- try {
261
- const isGlobalAdmin = ctx.isAdmin?.(ctx.user?.address ?? "") ?? false;
262
- return await resolvers.grantGroupPermission(this.documentPermissionService, args, ctx.user?.address, isGlobalAdmin);
263
- }
264
- catch (error) {
265
- this.logger.error("Error in grantGroupPermission:", error);
266
- throw error;
267
- }
268
- },
269
- revokeGroupPermission: async (_parent, args, ctx) => {
270
- this.logger.debug("revokeGroupPermission", args);
271
- if (!this.documentPermissionService) {
272
- throw new GraphQLError("DocumentPermissionService not available");
273
- }
274
- try {
275
- const isGlobalAdmin = ctx.isAdmin?.(ctx.user?.address ?? "") ?? false;
276
- return await resolvers.revokeGroupPermission(this.documentPermissionService, args, ctx.user?.address, isGlobalAdmin);
277
- }
278
- catch (error) {
279
- this.logger.error("Error in revokeGroupPermission:", error);
280
- throw error;
281
- }
282
- },
283
- // Operation Permission Mutations
284
- grantOperationPermission: async (_parent, args, ctx) => {
285
- this.logger.debug("grantOperationPermission", args);
286
- if (!this.documentPermissionService) {
287
- throw new GraphQLError("DocumentPermissionService not available");
288
- }
289
- try {
290
- const isGlobalAdmin = ctx.isAdmin?.(ctx.user?.address ?? "") ?? false;
291
- return await resolvers.grantOperationPermission(this.documentPermissionService, args, ctx.user?.address, isGlobalAdmin);
292
- }
293
- catch (error) {
294
- this.logger.error("Error in grantOperationPermission:", error);
295
- throw error;
296
- }
297
- },
298
- revokeOperationPermission: async (_parent, args, ctx) => {
299
- this.logger.debug("revokeOperationPermission", args);
300
- if (!this.documentPermissionService) {
301
- throw new GraphQLError("DocumentPermissionService not available");
302
- }
303
- try {
304
- const isGlobalAdmin = ctx.isAdmin?.(ctx.user?.address ?? "") ?? false;
305
- return await resolvers.revokeOperationPermission(this.documentPermissionService, args, ctx.user?.address, isGlobalAdmin);
306
- }
307
- catch (error) {
308
- this.logger.error("Error in revokeOperationPermission:", error);
309
- throw error;
310
- }
311
- },
312
- grantGroupOperationPermission: async (_parent, args, ctx) => {
313
- this.logger.debug("grantGroupOperationPermission", args);
314
- if (!this.documentPermissionService) {
315
- throw new GraphQLError("DocumentPermissionService not available");
316
- }
317
- try {
318
- const isGlobalAdmin = ctx.isAdmin?.(ctx.user?.address ?? "") ?? false;
319
- return await resolvers.grantGroupOperationPermission(this.documentPermissionService, args, ctx.user?.address, isGlobalAdmin);
320
- }
321
- catch (error) {
322
- this.logger.error("Error in grantGroupOperationPermission:", error);
323
- throw error;
324
- }
325
- },
326
- revokeGroupOperationPermission: async (_parent, args, ctx) => {
327
- this.logger.debug("revokeGroupOperationPermission", args);
328
- if (!this.documentPermissionService) {
329
- throw new GraphQLError("DocumentPermissionService not available");
330
- }
331
- try {
332
- const isGlobalAdmin = ctx.isAdmin?.(ctx.user?.address ?? "") ?? false;
333
- return await resolvers.revokeGroupOperationPermission(this.documentPermissionService, args, ctx.user?.address, isGlobalAdmin);
334
- }
335
- catch (error) {
336
- this.logger.error("Error in revokeGroupOperationPermission:", error);
337
- throw error;
338
- }
339
- },
340
- },
341
- // Field Resolvers for nested types
342
- Group: {
343
- members: async (parent) => {
344
- if (!this.documentPermissionService) {
345
- throw new GraphQLError("DocumentPermissionService not available");
346
- }
347
- return resolvers.getGroupMembers(this.documentPermissionService, parent.id);
348
- },
349
- },
350
- DocumentGroupPermission: {
351
- group: async (parent) => {
352
- if (!this.documentPermissionService) {
353
- throw new GraphQLError("DocumentPermissionService not available");
354
- }
355
- const grp = await resolvers.group(this.documentPermissionService, {
356
- id: parent.groupId,
357
- });
358
- if (!grp) {
359
- throw new GraphQLError(`Group not found: ${parent.groupId}`);
360
- }
361
- return grp;
362
- },
363
- },
364
- OperationGroupPermission: {
365
- group: async (parent) => {
366
- if (!this.documentPermissionService) {
367
- throw new GraphQLError("DocumentPermissionService not available");
368
- }
369
- const grp = await resolvers.group(this.documentPermissionService, {
370
- id: parent.groupId,
371
- });
372
- if (!grp) {
373
- throw new GraphQLError(`Group not found: ${parent.groupId}`);
374
- }
375
- return grp;
376
- },
377
- },
378
- };
379
- onSetup() {
380
- this.logger.debug("Setting up AuthSubgraph");
381
- return Promise.resolve();
382
- }
383
- }
384
- //# sourceMappingURL=subgraph.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subgraph.js","sourceRoot":"","sources":["../../../../src/graphql/auth/subgraph.ts"],"names":[],"mappings":"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"}
@@ -1,27 +0,0 @@
1
- import type { IReactorClient, IRelationalDb, ISyncManager } from "@powerhousedao/reactor";
2
- import type { GraphQLManager, ISubgraph, SubgraphArgs } from "@powerhousedao/reactor-api";
3
- import type { DocumentNode } from "graphql";
4
- import type { AuthorizationService } from "../services/authorization.service.js";
5
- import type { DocumentPermissionService, GetParentIdsFn } from "../services/document-permission.service.js";
6
- import type { Context } from "./types.js";
7
- export declare class BaseSubgraph implements ISubgraph {
8
- name: string;
9
- path: string;
10
- resolvers: Record<string, any>;
11
- typeDefs: DocumentNode;
12
- reactorClient: IReactorClient;
13
- graphqlManager: GraphQLManager;
14
- relationalDb: IRelationalDb;
15
- syncManager: ISyncManager;
16
- documentPermissionService?: DocumentPermissionService;
17
- authorizationService?: AuthorizationService;
18
- constructor(args: SubgraphArgs);
19
- onSetup(): Promise<void>;
20
- protected getParentIdsFn(): GetParentIdsFn;
21
- protected hasGlobalAdminAccess(ctx: Context): boolean;
22
- protected canReadDocument(documentId: string, ctx: Context): Promise<boolean>;
23
- protected assertCanRead(documentId: string, ctx: Context): Promise<void>;
24
- protected assertCanWrite(documentId: string, ctx: Context): Promise<void>;
25
- protected assertCanExecuteOperation(documentId: string, operationType: string, ctx: Context): Promise<void>;
26
- }
27
- //# sourceMappingURL=base-subgraph.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"base-subgraph.d.ts","sourceRoot":"","sources":["../../../src/graphql/base-subgraph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,YAAY,EACb,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EACV,cAAc,EACd,SAAS,EACT,YAAY,EACb,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAG5C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,KAAK,EACV,yBAAyB,EACzB,cAAc,EACf,MAAM,4CAA4C,CAAC;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,qBAAa,YAAa,YAAW,SAAS;IAC5C,IAAI,SAAa;IACjB,IAAI,SAAM;IACV,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAI5B;IACF,QAAQ,EAAE,YAAY,CAIpB;IACF,aAAa,EAAE,cAAc,CAAC;IAC9B,cAAc,EAAE,cAAc,CAAC;IAC/B,YAAY,EAAE,aAAa,CAAC;IAC5B,WAAW,EAAE,YAAY,CAAC;IAC1B,yBAAyB,CAAC,EAAE,yBAAyB,CAAC;IACtD,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;gBAEhC,IAAI,EAAE,YAAY;IAUxB,OAAO;IAQb,SAAS,CAAC,cAAc,IAAI,cAAc;IAW1C,SAAS,CAAC,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO;cAIrC,eAAe,CAC7B,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,OAAO,GACX,OAAO,CAAC,OAAO,CAAC;cAmBH,aAAa,CAC3B,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,OAAO,GACX,OAAO,CAAC,IAAI,CAAC;cAmCA,cAAc,CAC5B,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,OAAO,GACX,OAAO,CAAC,IAAI,CAAC;cAmCA,yBAAyB,CACvC,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,GAAG,EAAE,OAAO,GACX,OAAO,CAAC,IAAI,CAAC;CAqCjB"}
@@ -1,126 +0,0 @@
1
- import { GraphQLError } from "graphql";
2
- import { gql } from "graphql-tag";
3
- export class BaseSubgraph {
4
- name = "example";
5
- path = "";
6
- resolvers = {
7
- Query: {
8
- hello: () => this.name,
9
- },
10
- };
11
- typeDefs = gql `
12
- type Query {
13
- hello: String
14
- }
15
- `;
16
- reactorClient;
17
- graphqlManager;
18
- relationalDb;
19
- syncManager;
20
- documentPermissionService;
21
- authorizationService;
22
- constructor(args) {
23
- this.reactorClient = args.reactorClient;
24
- this.graphqlManager = args.graphqlManager;
25
- this.relationalDb = args.relationalDb;
26
- this.syncManager = args.syncManager;
27
- this.documentPermissionService = args.documentPermissionService;
28
- this.authorizationService = args.authorizationService;
29
- this.path = args.path ?? "";
30
- }
31
- async onSetup() {
32
- // noop
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
- }
125
- }
126
- //# sourceMappingURL=base-subgraph.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"base-subgraph.js","sourceRoot":"","sources":["../../../src/graphql/base-subgraph.ts"],"names":[],"mappings":"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"}