@powerhousedao/reactor-api 6.0.2-staging.2 → 6.0.2-staging.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (351) hide show
  1. package/README.md +6 -0
  2. package/dist/index.d.mts +2943 -0
  3. package/dist/index.d.mts.map +1 -0
  4. package/dist/index.mjs +6375 -0
  5. package/dist/index.mjs.map +1 -0
  6. package/dist/src/packages/https-hooks.d.mts +23 -7
  7. package/dist/src/packages/https-hooks.d.mts.map +1 -1
  8. package/dist/src/packages/https-hooks.mjs +73 -53
  9. package/dist/src/packages/https-hooks.mjs.map +1 -1
  10. package/dist/src/packages/vite-loader.d.mts +29 -0
  11. package/dist/src/packages/vite-loader.d.mts.map +1 -0
  12. package/dist/src/packages/vite-loader.mjs +142 -0
  13. package/dist/src/packages/vite-loader.mjs.map +1 -0
  14. package/dist/types-Do4QTfT3.d.mts +37 -0
  15. package/dist/types-Do4QTfT3.d.mts.map +1 -0
  16. package/dist/utils-DEEhP99G.mjs +286 -0
  17. package/dist/utils-DEEhP99G.mjs.map +1 -0
  18. package/package.json +45 -32
  19. package/dist/codegen.d.ts +0 -4
  20. package/dist/codegen.d.ts.map +0 -1
  21. package/dist/codegen.js +0 -38
  22. package/dist/codegen.js.map +0 -1
  23. package/dist/index.d.ts +0 -16
  24. package/dist/index.d.ts.map +0 -1
  25. package/dist/index.js +0 -16
  26. package/dist/index.js.map +0 -1
  27. package/dist/src/config.d.ts +0 -6
  28. package/dist/src/config.d.ts.map +0 -1
  29. package/dist/src/config.js +0 -6
  30. package/dist/src/config.js.map +0 -1
  31. package/dist/src/dev.d.ts +0 -2
  32. package/dist/src/dev.d.ts.map +0 -1
  33. package/dist/src/dev.js +0 -51
  34. package/dist/src/dev.js.map +0 -1
  35. package/dist/src/graphql/analytics-subgraph.d.ts +0 -14
  36. package/dist/src/graphql/analytics-subgraph.d.ts.map +0 -1
  37. package/dist/src/graphql/analytics-subgraph.js +0 -26
  38. package/dist/src/graphql/analytics-subgraph.js.map +0 -1
  39. package/dist/src/graphql/auth/index.d.ts +0 -2
  40. package/dist/src/graphql/auth/index.d.ts.map +0 -1
  41. package/dist/src/graphql/auth/index.js +0 -2
  42. package/dist/src/graphql/auth/index.js.map +0 -1
  43. package/dist/src/graphql/auth/resolvers.d.ts +0 -166
  44. package/dist/src/graphql/auth/resolvers.d.ts.map +0 -1
  45. package/dist/src/graphql/auth/resolvers.js +0 -227
  46. package/dist/src/graphql/auth/resolvers.js.map +0 -1
  47. package/dist/src/graphql/auth/schema.graphql +0 -195
  48. package/dist/src/graphql/auth/subgraph.d.ts +0 -202
  49. package/dist/src/graphql/auth/subgraph.d.ts.map +0 -1
  50. package/dist/src/graphql/auth/subgraph.js +0 -384
  51. package/dist/src/graphql/auth/subgraph.js.map +0 -1
  52. package/dist/src/graphql/base-subgraph.d.ts +0 -28
  53. package/dist/src/graphql/base-subgraph.d.ts.map +0 -1
  54. package/dist/src/graphql/base-subgraph.js +0 -126
  55. package/dist/src/graphql/base-subgraph.js.map +0 -1
  56. package/dist/src/graphql/document-model-subgraph.d.ts +0 -105
  57. package/dist/src/graphql/document-model-subgraph.d.ts.map +0 -1
  58. package/dist/src/graphql/document-model-subgraph.js +0 -312
  59. package/dist/src/graphql/document-model-subgraph.js.map +0 -1
  60. package/dist/src/graphql/graphql-manager.d.ts +0 -68
  61. package/dist/src/graphql/graphql-manager.d.ts.map +0 -1
  62. package/dist/src/graphql/graphql-manager.js +0 -589
  63. package/dist/src/graphql/graphql-manager.js.map +0 -1
  64. package/dist/src/graphql/index.d.ts +0 -10
  65. package/dist/src/graphql/index.d.ts.map +0 -1
  66. package/dist/src/graphql/index.js +0 -10
  67. package/dist/src/graphql/index.js.map +0 -1
  68. package/dist/src/graphql/packages/index.d.ts +0 -2
  69. package/dist/src/graphql/packages/index.d.ts.map +0 -1
  70. package/dist/src/graphql/packages/index.js +0 -2
  71. package/dist/src/graphql/packages/index.js.map +0 -1
  72. package/dist/src/graphql/packages/resolvers.d.ts +0 -31
  73. package/dist/src/graphql/packages/resolvers.d.ts.map +0 -1
  74. package/dist/src/graphql/packages/resolvers.js +0 -37
  75. package/dist/src/graphql/packages/resolvers.js.map +0 -1
  76. package/dist/src/graphql/packages/schema.graphql +0 -50
  77. package/dist/src/graphql/packages/subgraph.d.ts +0 -55
  78. package/dist/src/graphql/packages/subgraph.d.ts.map +0 -1
  79. package/dist/src/graphql/packages/subgraph.js +0 -73
  80. package/dist/src/graphql/packages/subgraph.js.map +0 -1
  81. package/dist/src/graphql/playground.d.ts +0 -2
  82. package/dist/src/graphql/playground.d.ts.map +0 -1
  83. package/dist/src/graphql/playground.js +0 -81
  84. package/dist/src/graphql/playground.js.map +0 -1
  85. package/dist/src/graphql/reactor/adapters.d.ts +0 -62
  86. package/dist/src/graphql/reactor/adapters.d.ts.map +0 -1
  87. package/dist/src/graphql/reactor/adapters.js +0 -271
  88. package/dist/src/graphql/reactor/adapters.js.map +0 -1
  89. package/dist/src/graphql/reactor/factory.d.ts +0 -105
  90. package/dist/src/graphql/reactor/factory.d.ts.map +0 -1
  91. package/dist/src/graphql/reactor/factory.js +0 -7
  92. package/dist/src/graphql/reactor/factory.js.map +0 -1
  93. package/dist/src/graphql/reactor/gen/graphql.d.ts +0 -1489
  94. package/dist/src/graphql/reactor/gen/graphql.d.ts.map +0 -1
  95. package/dist/src/graphql/reactor/gen/graphql.js +0 -731
  96. package/dist/src/graphql/reactor/gen/graphql.js.map +0 -1
  97. package/dist/src/graphql/reactor/index.d.ts +0 -4
  98. package/dist/src/graphql/reactor/index.d.ts.map +0 -1
  99. package/dist/src/graphql/reactor/index.js +0 -4
  100. package/dist/src/graphql/reactor/index.js.map +0 -1
  101. package/dist/src/graphql/reactor/operations.graphql +0 -443
  102. package/dist/src/graphql/reactor/pubsub.d.ts +0 -27
  103. package/dist/src/graphql/reactor/pubsub.d.ts.map +0 -1
  104. package/dist/src/graphql/reactor/pubsub.js +0 -93
  105. package/dist/src/graphql/reactor/pubsub.js.map +0 -1
  106. package/dist/src/graphql/reactor/requester.d.ts +0 -4
  107. package/dist/src/graphql/reactor/requester.d.ts.map +0 -1
  108. package/dist/src/graphql/reactor/requester.js +0 -22
  109. package/dist/src/graphql/reactor/requester.js.map +0 -1
  110. package/dist/src/graphql/reactor/requester.with-zod.d.ts +0 -4
  111. package/dist/src/graphql/reactor/requester.with-zod.d.ts.map +0 -1
  112. package/dist/src/graphql/reactor/requester.with-zod.js +0 -129
  113. package/dist/src/graphql/reactor/requester.with-zod.js.map +0 -1
  114. package/dist/src/graphql/reactor/resolvers.d.ts +0 -223
  115. package/dist/src/graphql/reactor/resolvers.d.ts.map +0 -1
  116. package/dist/src/graphql/reactor/resolvers.js +0 -682
  117. package/dist/src/graphql/reactor/resolvers.js.map +0 -1
  118. package/dist/src/graphql/reactor/schema.graphql +0 -475
  119. package/dist/src/graphql/reactor/subgraph.d.ts +0 -18
  120. package/dist/src/graphql/reactor/subgraph.d.ts.map +0 -1
  121. package/dist/src/graphql/reactor/subgraph.js +0 -457
  122. package/dist/src/graphql/reactor/subgraph.js.map +0 -1
  123. package/dist/src/graphql/reactor/validation.d.ts +0 -348
  124. package/dist/src/graphql/reactor/validation.d.ts.map +0 -1
  125. package/dist/src/graphql/reactor/validation.js +0 -167
  126. package/dist/src/graphql/reactor/validation.js.map +0 -1
  127. package/dist/src/graphql/sse.d.ts +0 -42
  128. package/dist/src/graphql/sse.d.ts.map +0 -1
  129. package/dist/src/graphql/sse.js +0 -33
  130. package/dist/src/graphql/sse.js.map +0 -1
  131. package/dist/src/graphql/system/env/getters.d.ts +0 -2
  132. package/dist/src/graphql/system/env/getters.d.ts.map +0 -1
  133. package/dist/src/graphql/system/env/getters.js +0 -4
  134. package/dist/src/graphql/system/env/getters.js.map +0 -1
  135. package/dist/src/graphql/system/env/index.d.ts +0 -2
  136. package/dist/src/graphql/system/env/index.d.ts.map +0 -1
  137. package/dist/src/graphql/system/env/index.js +0 -5
  138. package/dist/src/graphql/system/env/index.js.map +0 -1
  139. package/dist/src/graphql/system/index.d.ts +0 -2
  140. package/dist/src/graphql/system/index.d.ts.map +0 -1
  141. package/dist/src/graphql/system/index.js +0 -2
  142. package/dist/src/graphql/system/index.js.map +0 -1
  143. package/dist/src/graphql/system/types.d.ts +0 -2
  144. package/dist/src/graphql/system/types.d.ts.map +0 -1
  145. package/dist/src/graphql/system/types.js +0 -2
  146. package/dist/src/graphql/system/types.js.map +0 -1
  147. package/dist/src/graphql/temp-hack-rwa-type-defs.d.ts +0 -57
  148. package/dist/src/graphql/temp-hack-rwa-type-defs.d.ts.map +0 -1
  149. package/dist/src/graphql/temp-hack-rwa-type-defs.js +0 -2
  150. package/dist/src/graphql/temp-hack-rwa-type-defs.js.map +0 -1
  151. package/dist/src/graphql/types.d.ts +0 -102
  152. package/dist/src/graphql/types.d.ts.map +0 -1
  153. package/dist/src/graphql/types.js +0 -2
  154. package/dist/src/graphql/types.js.map +0 -1
  155. package/dist/src/graphql/utils.d.ts +0 -9
  156. package/dist/src/graphql/utils.d.ts.map +0 -1
  157. package/dist/src/graphql/utils.js +0 -72
  158. package/dist/src/graphql/utils.js.map +0 -1
  159. package/dist/src/graphql/websocket.d.ts +0 -3
  160. package/dist/src/graphql/websocket.d.ts.map +0 -1
  161. package/dist/src/graphql/websocket.js +0 -15
  162. package/dist/src/graphql/websocket.js.map +0 -1
  163. package/dist/src/migrations/001_create_document_permissions.d.ts +0 -4
  164. package/dist/src/migrations/001_create_document_permissions.d.ts.map +0 -1
  165. package/dist/src/migrations/001_create_document_permissions.js +0 -91
  166. package/dist/src/migrations/001_create_document_permissions.js.map +0 -1
  167. package/dist/src/migrations/002_add_document_protection.d.ts +0 -4
  168. package/dist/src/migrations/002_add_document_protection.d.ts.map +0 -1
  169. package/dist/src/migrations/002_add_document_protection.js +0 -18
  170. package/dist/src/migrations/002_add_document_protection.js.map +0 -1
  171. package/dist/src/migrations/index.d.ts +0 -10
  172. package/dist/src/migrations/index.d.ts.map +0 -1
  173. package/dist/src/migrations/index.js +0 -58
  174. package/dist/src/migrations/index.js.map +0 -1
  175. package/dist/src/packages/http-loader.d.ts +0 -68
  176. package/dist/src/packages/http-loader.d.ts.map +0 -1
  177. package/dist/src/packages/http-loader.js +0 -176
  178. package/dist/src/packages/http-loader.js.map +0 -1
  179. package/dist/src/packages/import-loader.d.ts +0 -14
  180. package/dist/src/packages/import-loader.d.ts.map +0 -1
  181. package/dist/src/packages/import-loader.js +0 -46
  182. package/dist/src/packages/import-loader.js.map +0 -1
  183. package/dist/src/packages/import-resolver.d.ts +0 -5
  184. package/dist/src/packages/import-resolver.d.ts.map +0 -1
  185. package/dist/src/packages/import-resolver.js +0 -127
  186. package/dist/src/packages/import-resolver.js.map +0 -1
  187. package/dist/src/packages/package-manager.d.ts +0 -34
  188. package/dist/src/packages/package-manager.d.ts.map +0 -1
  189. package/dist/src/packages/package-manager.js +0 -213
  190. package/dist/src/packages/package-manager.js.map +0 -1
  191. package/dist/src/packages/types.d.ts +0 -38
  192. package/dist/src/packages/types.d.ts.map +0 -1
  193. package/dist/src/packages/types.js +0 -2
  194. package/dist/src/packages/types.js.map +0 -1
  195. package/dist/src/packages/util.d.ts +0 -27
  196. package/dist/src/packages/util.d.ts.map +0 -1
  197. package/dist/src/packages/util.js +0 -97
  198. package/dist/src/packages/util.js.map +0 -1
  199. package/dist/src/packages/vite-loader.d.ts +0 -24
  200. package/dist/src/packages/vite-loader.d.ts.map +0 -1
  201. package/dist/src/packages/vite-loader.js +0 -169
  202. package/dist/src/packages/vite-loader.js.map +0 -1
  203. package/dist/src/server.d.ts +0 -56
  204. package/dist/src/server.d.ts.map +0 -1
  205. package/dist/src/server.js +0 -365
  206. package/dist/src/server.js.map +0 -1
  207. package/dist/src/services/auth.service.d.ts +0 -56
  208. package/dist/src/services/auth.service.d.ts.map +0 -1
  209. package/dist/src/services/auth.service.js +0 -172
  210. package/dist/src/services/auth.service.js.map +0 -1
  211. package/dist/src/services/authorization.service.d.ts +0 -70
  212. package/dist/src/services/authorization.service.d.ts.map +0 -1
  213. package/dist/src/services/authorization.service.js +0 -155
  214. package/dist/src/services/authorization.service.js.map +0 -1
  215. package/dist/src/services/document-permission.service.d.ts +0 -241
  216. package/dist/src/services/document-permission.service.d.ts.map +0 -1
  217. package/dist/src/services/document-permission.service.js +0 -791
  218. package/dist/src/services/document-permission.service.js.map +0 -1
  219. package/dist/src/services/package-management.service.d.ts +0 -32
  220. package/dist/src/services/package-management.service.d.ts.map +0 -1
  221. package/dist/src/services/package-management.service.js +0 -95
  222. package/dist/src/services/package-management.service.js.map +0 -1
  223. package/dist/src/services/package-storage.d.ts +0 -23
  224. package/dist/src/services/package-storage.d.ts.map +0 -1
  225. package/dist/src/services/package-storage.js +0 -19
  226. package/dist/src/services/package-storage.js.map +0 -1
  227. package/dist/src/tracing.d.ts +0 -4
  228. package/dist/src/tracing.d.ts.map +0 -1
  229. package/dist/src/tracing.js +0 -140
  230. package/dist/src/tracing.js.map +0 -1
  231. package/dist/src/types.d.ts +0 -17
  232. package/dist/src/types.d.ts.map +0 -1
  233. package/dist/src/types.js +0 -2
  234. package/dist/src/types.js.map +0 -1
  235. package/dist/src/utils/auth.d.ts +0 -3
  236. package/dist/src/utils/auth.d.ts.map +0 -1
  237. package/dist/src/utils/auth.js +0 -12
  238. package/dist/src/utils/auth.js.map +0 -1
  239. package/dist/src/utils/create-schema.d.ts +0 -36
  240. package/dist/src/utils/create-schema.d.ts.map +0 -1
  241. package/dist/src/utils/create-schema.js +0 -725
  242. package/dist/src/utils/create-schema.js.map +0 -1
  243. package/dist/src/utils/db.d.ts +0 -82
  244. package/dist/src/utils/db.d.ts.map +0 -1
  245. package/dist/src/utils/db.js +0 -101
  246. package/dist/src/utils/db.js.map +0 -1
  247. package/dist/src/utils/drive-url.d.ts +0 -2
  248. package/dist/src/utils/drive-url.d.ts.map +0 -1
  249. package/dist/src/utils/drive-url.js +0 -3
  250. package/dist/src/utils/drive-url.js.map +0 -1
  251. package/dist/src/utils/index.d.ts +0 -4
  252. package/dist/src/utils/index.d.ts.map +0 -1
  253. package/dist/src/utils/index.js +0 -4
  254. package/dist/src/utils/index.js.map +0 -1
  255. package/dist/test/authorization.service.test.d.ts +0 -2
  256. package/dist/test/authorization.service.test.d.ts.map +0 -1
  257. package/dist/test/authorization.service.test.js +0 -252
  258. package/dist/test/authorization.service.test.js.map +0 -1
  259. package/dist/test/benchmarks/load.bench.d.ts +0 -2
  260. package/dist/test/benchmarks/load.bench.d.ts.map +0 -1
  261. package/dist/test/benchmarks/load.bench.js +0 -73
  262. package/dist/test/benchmarks/load.bench.js.map +0 -1
  263. package/dist/test/benchmarks/sync.bench.d.ts +0 -2
  264. package/dist/test/benchmarks/sync.bench.d.ts.map +0 -1
  265. package/dist/test/benchmarks/sync.bench.js +0 -119
  266. package/dist/test/benchmarks/sync.bench.js.map +0 -1
  267. package/dist/test/connect-switchboard-reshuffle-convergence.test.d.ts +0 -2
  268. package/dist/test/connect-switchboard-reshuffle-convergence.test.d.ts.map +0 -1
  269. package/dist/test/connect-switchboard-reshuffle-convergence.test.js +0 -203
  270. package/dist/test/connect-switchboard-reshuffle-convergence.test.js.map +0 -1
  271. package/dist/test/connect-switchboard-sync.test.d.ts +0 -2
  272. package/dist/test/connect-switchboard-sync.test.d.ts.map +0 -1
  273. package/dist/test/connect-switchboard-sync.test.js +0 -632
  274. package/dist/test/connect-switchboard-sync.test.js.map +0 -1
  275. package/dist/test/document-drive-subgraph.test.d.ts +0 -2
  276. package/dist/test/document-drive-subgraph.test.d.ts.map +0 -1
  277. package/dist/test/document-drive-subgraph.test.js +0 -249
  278. package/dist/test/document-drive-subgraph.test.js.map +0 -1
  279. package/dist/test/document-model-subgraph-permissions.test.d.ts +0 -2
  280. package/dist/test/document-model-subgraph-permissions.test.d.ts.map +0 -1
  281. package/dist/test/document-model-subgraph-permissions.test.js +0 -587
  282. package/dist/test/document-model-subgraph-permissions.test.js.map +0 -1
  283. package/dist/test/document-permission.service.test.d.ts +0 -2
  284. package/dist/test/document-permission.service.test.d.ts.map +0 -1
  285. package/dist/test/document-permission.service.test.js +0 -480
  286. package/dist/test/document-permission.service.test.js.map +0 -1
  287. package/dist/test/drive-info-endpoint.test.d.ts +0 -2
  288. package/dist/test/drive-info-endpoint.test.d.ts.map +0 -1
  289. package/dist/test/drive-info-endpoint.test.js +0 -123
  290. package/dist/test/drive-info-endpoint.test.js.map +0 -1
  291. package/dist/test/fault-injection-sync.test.d.ts +0 -2
  292. package/dist/test/fault-injection-sync.test.d.ts.map +0 -1
  293. package/dist/test/fault-injection-sync.test.js +0 -196
  294. package/dist/test/fault-injection-sync.test.js.map +0 -1
  295. package/dist/test/identity-integration.test.d.ts +0 -2
  296. package/dist/test/identity-integration.test.d.ts.map +0 -1
  297. package/dist/test/identity-integration.test.js +0 -349
  298. package/dist/test/identity-integration.test.js.map +0 -1
  299. package/dist/test/index.d.ts +0 -2
  300. package/dist/test/index.d.ts.map +0 -1
  301. package/dist/test/index.js +0 -2
  302. package/dist/test/index.js.map +0 -1
  303. package/dist/test/permissions-integration.test.d.ts +0 -2
  304. package/dist/test/permissions-integration.test.d.ts.map +0 -1
  305. package/dist/test/permissions-integration.test.js +0 -407
  306. package/dist/test/permissions-integration.test.js.map +0 -1
  307. package/dist/test/push-backfill.test.d.ts +0 -2
  308. package/dist/test/push-backfill.test.d.ts.map +0 -1
  309. package/dist/test/push-backfill.test.js +0 -298
  310. package/dist/test/push-backfill.test.js.map +0 -1
  311. package/dist/test/reactor-adapters.test.d.ts +0 -2
  312. package/dist/test/reactor-adapters.test.d.ts.map +0 -1
  313. package/dist/test/reactor-adapters.test.js +0 -379
  314. package/dist/test/reactor-adapters.test.js.map +0 -1
  315. package/dist/test/reactor-client.test.d.ts +0 -2
  316. package/dist/test/reactor-client.test.d.ts.map +0 -1
  317. package/dist/test/reactor-client.test.js +0 -371
  318. package/dist/test/reactor-client.test.js.map +0 -1
  319. package/dist/test/reactor-resolvers.test.d.ts +0 -2
  320. package/dist/test/reactor-resolvers.test.d.ts.map +0 -1
  321. package/dist/test/reactor-resolvers.test.js +0 -258
  322. package/dist/test/reactor-resolvers.test.js.map +0 -1
  323. package/dist/test/reactor-subgraph-permissions.test.d.ts +0 -2
  324. package/dist/test/reactor-subgraph-permissions.test.d.ts.map +0 -1
  325. package/dist/test/reactor-subgraph-permissions.test.js +0 -371
  326. package/dist/test/reactor-subgraph-permissions.test.js.map +0 -1
  327. package/dist/test/router.test.d.ts +0 -2
  328. package/dist/test/router.test.d.ts.map +0 -1
  329. package/dist/test/router.test.js +0 -38
  330. package/dist/test/router.test.js.map +0 -1
  331. package/dist/test/subscriptions-sse.test.d.ts +0 -2
  332. package/dist/test/subscriptions-sse.test.d.ts.map +0 -1
  333. package/dist/test/subscriptions-sse.test.js +0 -264
  334. package/dist/test/subscriptions-sse.test.js.map +0 -1
  335. package/dist/test/subscriptions.test.d.ts +0 -2
  336. package/dist/test/subscriptions.test.d.ts.map +0 -1
  337. package/dist/test/subscriptions.test.js +0 -248
  338. package/dist/test/subscriptions.test.js.map +0 -1
  339. package/dist/test/utils/gql-resolver-bridge.d.ts +0 -15
  340. package/dist/test/utils/gql-resolver-bridge.d.ts.map +0 -1
  341. package/dist/test/utils/gql-resolver-bridge.js +0 -89
  342. package/dist/test/utils/gql-resolver-bridge.js.map +0 -1
  343. package/dist/test/utils.d.ts +0 -10
  344. package/dist/test/utils.d.ts.map +0 -1
  345. package/dist/test/utils.js +0 -23
  346. package/dist/test/utils.js.map +0 -1
  347. package/dist/tsconfig.tsbuildinfo +0 -1
  348. package/dist/vitest.config.d.ts +0 -3
  349. package/dist/vitest.config.d.ts.map +0 -1
  350. package/dist/vitest.config.js +0 -38
  351. package/dist/vitest.config.js.map +0 -1
package/dist/src/dev.js DELETED
@@ -1,51 +0,0 @@
1
- /**
2
- * Development script for running reactor-api locally.
3
- *
4
- * Starts an HTTP server with the GraphQL endpoint using in-memory storage
5
- * and PGlite for the read model (no external database required).
6
- *
7
- * Usage:
8
- * pnpm dev
9
- *
10
- * Environment variables:
11
- * PORT - Server port (default: 4001)
12
- * DB_PATH - PGlite database path (default: in-memory)
13
- * LOG_LEVEL - Log level (default: info)
14
- */
15
- import { ChannelScheme, EventBus, ReactorBuilder, ReactorClientBuilder, } from "@powerhousedao/reactor";
16
- import { logger } from "document-drive";
17
- import dotenv from "dotenv";
18
- import { initializeAndStartAPI } from "./server.js";
19
- dotenv.config();
20
- const DEFAULT_PORT = 4001;
21
- async function main() {
22
- process.setMaxListeners(0);
23
- const port = Number(process.env.PORT ?? DEFAULT_PORT);
24
- const dbPath = process.env.DB_PATH; // undefined = in-memory PGlite
25
- process.env.LOG_LEVEL = process.env.LOG_LEVEL || "info";
26
- const initializeClient = async (documentModels) => {
27
- const eventBus = new EventBus();
28
- const builder = new ReactorBuilder()
29
- .withEventBus(eventBus)
30
- .withDocumentModels(documentModels)
31
- .withChannelScheme(ChannelScheme.SWITCHBOARD);
32
- return new ReactorClientBuilder().withReactorBuilder(builder).buildModule();
33
- };
34
- // Start the API
35
- await initializeAndStartAPI(initializeClient, {
36
- port,
37
- dbPath,
38
- mcp: true,
39
- enableDocumentModelSubgraphs: true,
40
- }, "switchboard");
41
- logger.info(` Reactor API running:`);
42
- logger.info(` GraphQL: http://localhost:${port}/graphql`);
43
- logger.info(` Explorer: http://localhost:${port}/explorer`);
44
- logger.info(` Health: http://localhost:${port}/health`);
45
- logger.info(` MCP: http://localhost:${port}/mcp`);
46
- }
47
- main().catch((err) => {
48
- console.error("Failed to start reactor-api dev server:", err);
49
- process.exit(1);
50
- });
51
- //# sourceMappingURL=dev.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/dev.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EACL,aAAa,EACb,QAAQ,EACR,cAAc,EACd,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEpD,MAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,MAAM,YAAY,GAAG,IAAI,CAAC;AAE1B,KAAK,UAAU,IAAI;IACjB,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAE3B,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,YAAY,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,+BAA+B;IAEnE,OAAO,CAAC,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,MAAM,CAAC;IAExD,MAAM,gBAAgB,GAAG,KAAK,EAAE,cAAqC,EAAE,EAAE;QACvE,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,IAAI,cAAc,EAAE;aACjC,YAAY,CAAC,QAAQ,CAAC;aACtB,kBAAkB,CAAC,cAAc,CAAC;aAClC,iBAAiB,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAEhD,OAAO,IAAI,oBAAoB,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;IAC9E,CAAC,CAAC;IAEF,gBAAgB;IAChB,MAAM,qBAAqB,CACzB,gBAAgB,EAChB;QACE,IAAI;QACJ,MAAM;QACN,GAAG,EAAE,IAAI;QACT,4BAA4B,EAAE,IAAI;KACnC,EACD,aAAa,CACd,CAAC;IAEF,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACtC,MAAM,CAAC,IAAI,CAAC,sCAAsC,IAAI,UAAU,CAAC,CAAC;IAClE,MAAM,CAAC,IAAI,CAAC,sCAAsC,IAAI,WAAW,CAAC,CAAC;IACnE,MAAM,CAAC,IAAI,CAAC,sCAAsC,IAAI,SAAS,CAAC,CAAC;IACjE,MAAM,CAAC,IAAI,CAAC,sCAAsC,IAAI,MAAM,CAAC,CAAC;AAChE,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,GAAG,CAAC,CAAC;IAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -1,14 +0,0 @@
1
- import type { GraphQLResolverMap } from "@apollo/subgraph/dist/schema-helper/resolverMap.js";
2
- import type { IAnalyticsStore } from "@powerhousedao/analytics-engine-core";
3
- import { AnalyticsModel } from "@powerhousedao/analytics-engine-graphql";
4
- import type { Context, SubgraphArgs } from "@powerhousedao/reactor-api";
5
- import { BaseSubgraph } from "./base-subgraph.js";
6
- export declare class AnalyticsSubgraph extends BaseSubgraph {
7
- analyticsStore: IAnalyticsStore;
8
- analyticsModel: AnalyticsModel;
9
- name: string;
10
- typeDefs: import("graphql").DocumentNode;
11
- resolvers: GraphQLResolverMap<Context>;
12
- constructor(args: SubgraphArgs);
13
- }
14
- //# sourceMappingURL=analytics-subgraph.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"analytics-subgraph.d.ts","sourceRoot":"","sources":["../../../src/graphql/analytics-subgraph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oDAAoD,CAAC;AAC7F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAE5E,OAAO,EACL,cAAc,EAGf,MAAM,yCAAyC,CAAC;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAExE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,qBAAa,iBAAkB,SAAQ,YAAY;IACjD,cAAc,EAAE,eAAe,CAAC;IAChC,cAAc,EAAE,cAAc,CAAC;IAE/B,IAAI,SAAe;IACnB,QAAQ,iCAEN;IAEF,SAAS,EAAyB,kBAAkB,CAAC,OAAO,CAAC,CAAC;gBAElD,IAAI,EAAE,YAAY;CAgB/B"}
@@ -1,26 +0,0 @@
1
- import { AnalyticsQueryEngine } from "@powerhousedao/analytics-engine-core";
2
- import { AnalyticsModel, AnalyticsResolvers, typedefs, } from "@powerhousedao/analytics-engine-graphql";
3
- import { gql } from "graphql-tag";
4
- import { BaseSubgraph } from "./base-subgraph.js";
5
- export class AnalyticsSubgraph extends BaseSubgraph {
6
- analyticsStore;
7
- analyticsModel;
8
- name = "analytics";
9
- typeDefs = gql `
10
- ${typedefs}
11
- `;
12
- resolvers = AnalyticsResolvers;
13
- constructor(args) {
14
- super(args);
15
- this.analyticsStore = args.analyticsStore;
16
- this.analyticsModel = new AnalyticsModel(new AnalyticsQueryEngine(this.analyticsStore));
17
- args.graphqlManager.setAdditionalContextFields({
18
- dataSources: {
19
- db: {
20
- Analytics: this.analyticsModel,
21
- },
22
- },
23
- });
24
- }
25
- }
26
- //# sourceMappingURL=analytics-subgraph.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"analytics-subgraph.js","sourceRoot":"","sources":["../../../src/graphql/analytics-subgraph.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,QAAQ,GACT,MAAM,yCAAyC,CAAC;AAEjD,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,OAAO,iBAAkB,SAAQ,YAAY;IACjD,cAAc,CAAkB;IAChC,cAAc,CAAiB;IAE/B,IAAI,GAAG,WAAW,CAAC;IACnB,QAAQ,GAAG,GAAG,CAAA;MACV,QAAQ;GACX,CAAC;IAEF,SAAS,GAAG,kBAAiD,CAAC;IAE9D,YAAY,IAAkB;QAC5B,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAE1C,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CACtC,IAAI,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,CAC9C,CAAC;QAEF,IAAI,CAAC,cAAc,CAAC,0BAA0B,CAAC;YAC7C,WAAW,EAAE;gBACX,EAAE,EAAE;oBACF,SAAS,EAAE,IAAI,CAAC,cAAc;iBAC/B;aACF;SACF,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -1,2 +0,0 @@
1
- export { AuthSubgraph } from "./subgraph.js";
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/graphql/auth/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC"}
@@ -1,2 +0,0 @@
1
- export { AuthSubgraph } from "./subgraph.js";
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/graphql/auth/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC"}
@@ -1,166 +0,0 @@
1
- import type { AuthorizationService } from "../../services/authorization.service.js";
2
- import type { DocumentPermissionService, GetParentIdsFn } from "../../services/document-permission.service.js";
3
- import type { DocumentPermissionLevel } from "../../utils/db.js";
4
- import type { IReactorClient } from "@powerhousedao/reactor";
5
- export type DocumentAccessInfo = {
6
- documentId: string;
7
- permissions: Array<{
8
- documentId: string;
9
- userAddress: string;
10
- permission: DocumentPermissionLevel;
11
- grantedBy: string;
12
- createdAt: Date;
13
- updatedAt: Date;
14
- }>;
15
- groupPermissions: Array<{
16
- documentId: string;
17
- groupId: number;
18
- permission: DocumentPermissionLevel;
19
- grantedBy: string;
20
- createdAt: Date;
21
- updatedAt: Date;
22
- }>;
23
- };
24
- export declare function documentAccess(service: DocumentPermissionService, args: {
25
- documentId: string;
26
- }): Promise<DocumentAccessInfo>;
27
- export declare function userDocumentPermissions(service: DocumentPermissionService, userAddress: string): Promise<Array<{
28
- documentId: string;
29
- userAddress: string;
30
- permission: DocumentPermissionLevel;
31
- grantedBy: string;
32
- createdAt: Date;
33
- updatedAt: Date;
34
- }>>;
35
- export declare function grantDocumentPermission(service: DocumentPermissionService, args: {
36
- documentId: string;
37
- userAddress: string;
38
- permission: DocumentPermissionLevel;
39
- }, grantedByAddress: string | undefined, isGlobalAdmin: boolean): Promise<{
40
- documentId: string;
41
- userAddress: string;
42
- permission: DocumentPermissionLevel;
43
- grantedBy: string;
44
- createdAt: Date;
45
- updatedAt: Date;
46
- }>;
47
- export declare function revokeDocumentPermission(service: DocumentPermissionService, args: {
48
- documentId: string;
49
- userAddress: string;
50
- }, revokedByAddress: string | undefined, isGlobalAdmin: boolean): Promise<boolean>;
51
- /**
52
- * Create a getParentIds function using the reactor client
53
- */
54
- export declare function createGetParentIdsFn(reactorClient: IReactorClient): GetParentIdsFn;
55
- export type Group = {
56
- id: number;
57
- name: string;
58
- description: string | null;
59
- createdAt: Date;
60
- updatedAt: Date;
61
- };
62
- export declare function groups(service: DocumentPermissionService): Promise<Group[]>;
63
- export declare function group(service: DocumentPermissionService, args: {
64
- id: number;
65
- }): Promise<Group | null>;
66
- export declare function userGroups(service: DocumentPermissionService, args: {
67
- userAddress: string;
68
- }): Promise<Group[]>;
69
- export declare function createGroup(service: DocumentPermissionService, args: {
70
- name: string;
71
- description?: string | null;
72
- }): Promise<Group>;
73
- export declare function deleteGroup(service: DocumentPermissionService, args: {
74
- id: number;
75
- }): Promise<boolean>;
76
- export declare function addUserToGroup(service: DocumentPermissionService, args: {
77
- userAddress: string;
78
- groupId: number;
79
- }): Promise<boolean>;
80
- export declare function removeUserFromGroup(service: DocumentPermissionService, args: {
81
- userAddress: string;
82
- groupId: number;
83
- }): Promise<boolean>;
84
- export declare function getGroupMembers(service: DocumentPermissionService, groupId: number): Promise<string[]>;
85
- export type DocumentGroupPermission = {
86
- documentId: string;
87
- groupId: number;
88
- permission: DocumentPermissionLevel;
89
- grantedBy: string;
90
- createdAt: Date;
91
- updatedAt: Date;
92
- };
93
- export declare function grantGroupPermission(service: DocumentPermissionService, args: {
94
- documentId: string;
95
- groupId: number;
96
- permission: DocumentPermissionLevel;
97
- }, grantedByAddress: string | undefined, isGlobalAdmin: boolean): Promise<DocumentGroupPermission>;
98
- export declare function revokeGroupPermission(service: DocumentPermissionService, args: {
99
- documentId: string;
100
- groupId: number;
101
- }, revokedByAddress: string | undefined, isGlobalAdmin: boolean): Promise<boolean>;
102
- export type OperationUserPermission = {
103
- documentId: string;
104
- operationType: string;
105
- userAddress: string;
106
- grantedBy: string;
107
- createdAt: Date;
108
- };
109
- export type OperationGroupPermission = {
110
- documentId: string;
111
- operationType: string;
112
- groupId: number;
113
- grantedBy: string;
114
- createdAt: Date;
115
- };
116
- export type OperationPermissionsInfo = {
117
- documentId: string;
118
- operationType: string;
119
- userPermissions: OperationUserPermission[];
120
- groupPermissions: OperationGroupPermission[];
121
- };
122
- export declare function operationPermissions(service: DocumentPermissionService, args: {
123
- documentId: string;
124
- operationType: string;
125
- }): Promise<OperationPermissionsInfo>;
126
- export declare function canExecuteOperation(service: DocumentPermissionService, args: {
127
- documentId: string;
128
- operationType: string;
129
- }, userAddress: string | undefined): Promise<boolean>;
130
- export declare function grantOperationPermission(service: DocumentPermissionService, args: {
131
- documentId: string;
132
- operationType: string;
133
- userAddress: string;
134
- }, grantedByAddress: string | undefined, isGlobalAdmin: boolean): Promise<OperationUserPermission>;
135
- export declare function revokeOperationPermission(service: DocumentPermissionService, args: {
136
- documentId: string;
137
- operationType: string;
138
- userAddress: string;
139
- }, revokedByAddress: string | undefined, isGlobalAdmin: boolean): Promise<boolean>;
140
- export declare function grantGroupOperationPermission(service: DocumentPermissionService, args: {
141
- documentId: string;
142
- operationType: string;
143
- groupId: number;
144
- }, grantedByAddress: string | undefined, isGlobalAdmin: boolean): Promise<OperationGroupPermission>;
145
- export declare function revokeGroupOperationPermission(service: DocumentPermissionService, args: {
146
- documentId: string;
147
- operationType: string;
148
- groupId: number;
149
- }, revokedByAddress: string | undefined, isGlobalAdmin: boolean): Promise<boolean>;
150
- export type DocumentProtectionInfo = {
151
- documentId: string;
152
- protected: boolean;
153
- ownerAddress: string | null;
154
- };
155
- export declare function documentProtection(service: DocumentPermissionService, args: {
156
- documentId: string;
157
- }): Promise<DocumentProtectionInfo>;
158
- export declare function setDocumentProtection(service: DocumentPermissionService, authorizationService: AuthorizationService | undefined, args: {
159
- documentId: string;
160
- protected: boolean;
161
- }, userAddress: string | undefined, isGlobalAdmin: boolean): Promise<DocumentProtectionInfo>;
162
- export declare function transferDocumentOwnership(service: DocumentPermissionService, authorizationService: AuthorizationService | undefined, args: {
163
- documentId: string;
164
- newOwnerAddress: string;
165
- }, userAddress: string | undefined, isGlobalAdmin: boolean): Promise<DocumentProtectionInfo>;
166
- //# sourceMappingURL=resolvers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolvers.d.ts","sourceRoot":"","sources":["../../../../src/graphql/auth/resolvers.ts"],"names":[],"mappings":"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"}
@@ -1,227 +0,0 @@
1
- import { GraphQLError } from "graphql";
2
- export async function documentAccess(service, args) {
3
- const permissions = await service.getDocumentPermissions(args.documentId);
4
- const groupPermissions = await service.getDocumentGroupPermissions(args.documentId);
5
- return {
6
- documentId: args.documentId,
7
- permissions,
8
- groupPermissions,
9
- };
10
- }
11
- export async function userDocumentPermissions(service, userAddress) {
12
- return service.getUserDocuments(userAddress);
13
- }
14
- export async function grantDocumentPermission(service, args, grantedByAddress, isGlobalAdmin) {
15
- // Check authorization: must be global admin or document admin
16
- if (!grantedByAddress) {
17
- throw new GraphQLError("Authentication required");
18
- }
19
- if (!isGlobalAdmin) {
20
- const canManage = await service.canManageDocument(args.documentId, grantedByAddress);
21
- if (!canManage) {
22
- throw new GraphQLError("Forbidden: You must be an admin of this document to grant permissions");
23
- }
24
- }
25
- return service.grantPermission(args.documentId, args.userAddress, args.permission, grantedByAddress);
26
- }
27
- export async function revokeDocumentPermission(service, args, revokedByAddress, isGlobalAdmin) {
28
- // Check authorization: must be global admin or document admin
29
- if (!revokedByAddress) {
30
- throw new GraphQLError("Authentication required");
31
- }
32
- if (!isGlobalAdmin) {
33
- const canManage = await service.canManageDocument(args.documentId, revokedByAddress);
34
- if (!canManage) {
35
- throw new GraphQLError("Forbidden: You must be an admin of this document to revoke permissions");
36
- }
37
- }
38
- await service.revokePermission(args.documentId, args.userAddress);
39
- return true;
40
- }
41
- /**
42
- * Create a getParentIds function using the reactor client
43
- */
44
- export function createGetParentIdsFn(reactorClient) {
45
- return async (documentId) => {
46
- try {
47
- const result = await reactorClient.getParents(documentId);
48
- return result.results.map((doc) => doc.header.id);
49
- }
50
- catch {
51
- // If document has no parents or error, return empty array
52
- return [];
53
- }
54
- };
55
- }
56
- export async function groups(service) {
57
- return service.listGroups();
58
- }
59
- export async function group(service, args) {
60
- return service.getGroup(args.id);
61
- }
62
- export async function userGroups(service, args) {
63
- return service.getUserGroups(args.userAddress);
64
- }
65
- export async function createGroup(service, args) {
66
- return service.createGroup(args.name, args.description ?? undefined);
67
- }
68
- export async function deleteGroup(service, args) {
69
- await service.deleteGroup(args.id);
70
- return true;
71
- }
72
- export async function addUserToGroup(service, args) {
73
- await service.addUserToGroup(args.userAddress, args.groupId);
74
- return true;
75
- }
76
- export async function removeUserFromGroup(service, args) {
77
- await service.removeUserFromGroup(args.userAddress, args.groupId);
78
- return true;
79
- }
80
- export async function getGroupMembers(service, groupId) {
81
- return service.getGroupMembers(groupId);
82
- }
83
- export async function grantGroupPermission(service, args, grantedByAddress, isGlobalAdmin) {
84
- // Check authorization: must be global admin or document admin
85
- if (!grantedByAddress) {
86
- throw new GraphQLError("Authentication required");
87
- }
88
- if (!isGlobalAdmin) {
89
- const canManage = await service.canManageDocument(args.documentId, grantedByAddress);
90
- if (!canManage) {
91
- throw new GraphQLError("Forbidden: You must be an admin of this document to grant permissions");
92
- }
93
- }
94
- return service.grantGroupPermission(args.documentId, args.groupId, args.permission, grantedByAddress);
95
- }
96
- export async function revokeGroupPermission(service, args, revokedByAddress, isGlobalAdmin) {
97
- // Check authorization: must be global admin or document admin
98
- if (!revokedByAddress) {
99
- throw new GraphQLError("Authentication required");
100
- }
101
- if (!isGlobalAdmin) {
102
- const canManage = await service.canManageDocument(args.documentId, revokedByAddress);
103
- if (!canManage) {
104
- throw new GraphQLError("Forbidden: You must be an admin of this document to revoke permissions");
105
- }
106
- }
107
- await service.revokeGroupPermission(args.documentId, args.groupId);
108
- return true;
109
- }
110
- export async function operationPermissions(service, args) {
111
- const userPermissions = await service.getOperationUserPermissions(args.documentId, args.operationType);
112
- const groupPermissions = await service.getOperationGroupPermissions(args.documentId, args.operationType);
113
- return {
114
- documentId: args.documentId,
115
- operationType: args.operationType,
116
- userPermissions,
117
- groupPermissions,
118
- };
119
- }
120
- export async function canExecuteOperation(service, args, userAddress) {
121
- return service.canExecuteOperation(args.documentId, args.operationType, userAddress);
122
- }
123
- export async function grantOperationPermission(service, args, grantedByAddress, isGlobalAdmin) {
124
- if (!grantedByAddress) {
125
- throw new GraphQLError("Authentication required");
126
- }
127
- if (!isGlobalAdmin) {
128
- const canManage = await service.canManageDocument(args.documentId, grantedByAddress);
129
- if (!canManage) {
130
- throw new GraphQLError("Forbidden: You must be an admin of this document to grant operation permissions");
131
- }
132
- }
133
- return service.grantOperationPermission(args.documentId, args.operationType, args.userAddress, grantedByAddress);
134
- }
135
- export async function revokeOperationPermission(service, args, revokedByAddress, isGlobalAdmin) {
136
- if (!revokedByAddress) {
137
- throw new GraphQLError("Authentication required");
138
- }
139
- if (!isGlobalAdmin) {
140
- const canManage = await service.canManageDocument(args.documentId, revokedByAddress);
141
- if (!canManage) {
142
- throw new GraphQLError("Forbidden: You must be an admin of this document to revoke operation permissions");
143
- }
144
- }
145
- await service.revokeOperationPermission(args.documentId, args.operationType, args.userAddress);
146
- return true;
147
- }
148
- export async function grantGroupOperationPermission(service, args, grantedByAddress, isGlobalAdmin) {
149
- if (!grantedByAddress) {
150
- throw new GraphQLError("Authentication required");
151
- }
152
- if (!isGlobalAdmin) {
153
- const canManage = await service.canManageDocument(args.documentId, grantedByAddress);
154
- if (!canManage) {
155
- throw new GraphQLError("Forbidden: You must be an admin of this document to grant operation permissions");
156
- }
157
- }
158
- return service.grantGroupOperationPermission(args.documentId, args.operationType, args.groupId, grantedByAddress);
159
- }
160
- export async function revokeGroupOperationPermission(service, args, revokedByAddress, isGlobalAdmin) {
161
- if (!revokedByAddress) {
162
- throw new GraphQLError("Authentication required");
163
- }
164
- if (!isGlobalAdmin) {
165
- const canManage = await service.canManageDocument(args.documentId, revokedByAddress);
166
- if (!canManage) {
167
- throw new GraphQLError("Forbidden: You must be an admin of this document to revoke operation permissions");
168
- }
169
- }
170
- await service.revokeGroupOperationPermission(args.documentId, args.operationType, args.groupId);
171
- return true;
172
- }
173
- export async function documentProtection(service, args) {
174
- return service.getDocumentProtection(args.documentId);
175
- }
176
- export async function setDocumentProtection(service, authorizationService, args, userAddress, isGlobalAdmin) {
177
- if (!userAddress) {
178
- throw new GraphQLError("Authentication required");
179
- }
180
- // Check manage permission
181
- if (!isGlobalAdmin) {
182
- if (authorizationService) {
183
- const canManage = await authorizationService.canManage(args.documentId, userAddress);
184
- if (!canManage) {
185
- throw new GraphQLError("Forbidden: You must be an admin of this document to change protection");
186
- }
187
- }
188
- else {
189
- const canManage = await service.canManageDocument(args.documentId, userAddress);
190
- if (!canManage) {
191
- throw new GraphQLError("Forbidden: You must be an admin of this document to change protection");
192
- }
193
- }
194
- }
195
- await service.setDocumentProtection(args.documentId, args.protected);
196
- return service.getDocumentProtection(args.documentId);
197
- }
198
- export async function transferDocumentOwnership(service, authorizationService, args, userAddress, isGlobalAdmin) {
199
- if (!userAddress) {
200
- throw new GraphQLError("Authentication required");
201
- }
202
- // Check manage permission
203
- if (!isGlobalAdmin) {
204
- if (authorizationService) {
205
- const canManage = await authorizationService.canManage(args.documentId, userAddress);
206
- if (!canManage) {
207
- throw new GraphQLError("Forbidden: You must be an admin of this document to transfer ownership");
208
- }
209
- }
210
- else {
211
- const canManage = await service.canManageDocument(args.documentId, userAddress);
212
- if (!canManage) {
213
- throw new GraphQLError("Forbidden: You must be an admin of this document to transfer ownership");
214
- }
215
- }
216
- }
217
- // Revoke old owner's explicit ADMIN grant before transferring
218
- const previousOwner = await service.getDocumentOwner(args.documentId);
219
- if (previousOwner) {
220
- await service.revokePermission(args.documentId, previousOwner);
221
- }
222
- await service.setDocumentOwner(args.documentId, args.newOwnerAddress);
223
- // Grant ADMIN to new owner
224
- await service.grantPermission(args.documentId, args.newOwnerAddress, "ADMIN", userAddress);
225
- return service.getDocumentProtection(args.documentId);
226
- }
227
- //# sourceMappingURL=resolvers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolvers.js","sourceRoot":"","sources":["../../../../src/graphql/auth/resolvers.ts"],"names":[],"mappings":"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"}