@powerhousedao/reactor-api 6.0.0-dev.16 → 6.0.0-dev.160

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 (322) hide show
  1. package/README.md +6 -0
  2. package/dist/index.d.mts +2948 -0
  3. package/dist/index.d.mts.map +1 -0
  4. package/dist/index.mjs +6365 -0
  5. package/dist/index.mjs.map +1 -0
  6. package/dist/src/packages/vite-loader.mjs +142 -0
  7. package/dist/src/packages/vite-loader.mjs.map +1 -0
  8. package/dist/types-Do4QTfT3.d.mts +37 -0
  9. package/dist/types-Do4QTfT3.d.mts.map +1 -0
  10. package/dist/utils-DEEhP99G.mjs +286 -0
  11. package/dist/utils-DEEhP99G.mjs.map +1 -0
  12. package/dist/vite-loader.d.mts +29 -0
  13. package/dist/vite-loader.d.mts.map +1 -0
  14. package/package.json +59 -62
  15. package/dist/codegen.d.ts +0 -4
  16. package/dist/codegen.d.ts.map +0 -1
  17. package/dist/codegen.js +0 -38
  18. package/dist/codegen.js.map +0 -1
  19. package/dist/index.d.ts +0 -14
  20. package/dist/index.d.ts.map +0 -1
  21. package/dist/index.js +0 -14
  22. package/dist/index.js.map +0 -1
  23. package/dist/src/config.d.ts +0 -7
  24. package/dist/src/config.d.ts.map +0 -1
  25. package/dist/src/config.js +0 -10
  26. package/dist/src/config.js.map +0 -1
  27. package/dist/src/graphql/analytics-subgraph.d.ts +0 -14
  28. package/dist/src/graphql/analytics-subgraph.d.ts.map +0 -1
  29. package/dist/src/graphql/analytics-subgraph.js +0 -26
  30. package/dist/src/graphql/analytics-subgraph.js.map +0 -1
  31. package/dist/src/graphql/auth/index.d.ts +0 -2
  32. package/dist/src/graphql/auth/index.d.ts.map +0 -1
  33. package/dist/src/graphql/auth/index.js +0 -2
  34. package/dist/src/graphql/auth/index.js.map +0 -1
  35. package/dist/src/graphql/auth/resolvers.d.ts +0 -149
  36. package/dist/src/graphql/auth/resolvers.d.ts.map +0 -1
  37. package/dist/src/graphql/auth/resolvers.js +0 -173
  38. package/dist/src/graphql/auth/resolvers.js.map +0 -1
  39. package/dist/src/graphql/auth/schema.graphql +0 -173
  40. package/dist/src/graphql/auth/subgraph.d.ts +0 -177
  41. package/dist/src/graphql/auth/subgraph.d.ts.map +0 -1
  42. package/dist/src/graphql/auth/subgraph.js +0 -340
  43. package/dist/src/graphql/auth/subgraph.js.map +0 -1
  44. package/dist/src/graphql/base-subgraph.d.ts +0 -20
  45. package/dist/src/graphql/base-subgraph.d.ts.map +0 -1
  46. package/dist/src/graphql/base-subgraph.js +0 -34
  47. package/dist/src/graphql/base-subgraph.js.map +0 -1
  48. package/dist/src/graphql/document-model-subgraph.d.ts +0 -51
  49. package/dist/src/graphql/document-model-subgraph.d.ts.map +0 -1
  50. package/dist/src/graphql/document-model-subgraph.js +0 -104
  51. package/dist/src/graphql/document-model-subgraph.js.map +0 -1
  52. package/dist/src/graphql/drive-subgraph.d.ts +0 -25
  53. package/dist/src/graphql/drive-subgraph.d.ts.map +0 -1
  54. package/dist/src/graphql/drive-subgraph.js +0 -487
  55. package/dist/src/graphql/drive-subgraph.js.map +0 -1
  56. package/dist/src/graphql/graphql-manager.d.ts +0 -47
  57. package/dist/src/graphql/graphql-manager.d.ts.map +0 -1
  58. package/dist/src/graphql/graphql-manager.js +0 -433
  59. package/dist/src/graphql/graphql-manager.js.map +0 -1
  60. package/dist/src/graphql/index.d.ts +0 -9
  61. package/dist/src/graphql/index.d.ts.map +0 -1
  62. package/dist/src/graphql/index.js +0 -9
  63. package/dist/src/graphql/index.js.map +0 -1
  64. package/dist/src/graphql/playground.d.ts +0 -2
  65. package/dist/src/graphql/playground.d.ts.map +0 -1
  66. package/dist/src/graphql/playground.js +0 -74
  67. package/dist/src/graphql/playground.js.map +0 -1
  68. package/dist/src/graphql/reactor/adapters.d.ts +0 -54
  69. package/dist/src/graphql/reactor/adapters.d.ts.map +0 -1
  70. package/dist/src/graphql/reactor/adapters.js +0 -236
  71. package/dist/src/graphql/reactor/adapters.js.map +0 -1
  72. package/dist/src/graphql/reactor/factory.d.ts +0 -84
  73. package/dist/src/graphql/reactor/factory.d.ts.map +0 -1
  74. package/dist/src/graphql/reactor/factory.js +0 -7
  75. package/dist/src/graphql/reactor/factory.js.map +0 -1
  76. package/dist/src/graphql/reactor/gen/graphql.d.ts +0 -1210
  77. package/dist/src/graphql/reactor/gen/graphql.d.ts.map +0 -1
  78. package/dist/src/graphql/reactor/gen/graphql.js +0 -496
  79. package/dist/src/graphql/reactor/gen/graphql.js.map +0 -1
  80. package/dist/src/graphql/reactor/index.d.ts +0 -4
  81. package/dist/src/graphql/reactor/index.d.ts.map +0 -1
  82. package/dist/src/graphql/reactor/index.js +0 -4
  83. package/dist/src/graphql/reactor/index.js.map +0 -1
  84. package/dist/src/graphql/reactor/operations.graphql +0 -253
  85. package/dist/src/graphql/reactor/pubsub.d.ts +0 -27
  86. package/dist/src/graphql/reactor/pubsub.d.ts.map +0 -1
  87. package/dist/src/graphql/reactor/pubsub.js +0 -93
  88. package/dist/src/graphql/reactor/pubsub.js.map +0 -1
  89. package/dist/src/graphql/reactor/requester.d.ts +0 -4
  90. package/dist/src/graphql/reactor/requester.d.ts.map +0 -1
  91. package/dist/src/graphql/reactor/requester.js +0 -22
  92. package/dist/src/graphql/reactor/requester.js.map +0 -1
  93. package/dist/src/graphql/reactor/requester.with-zod.d.ts +0 -4
  94. package/dist/src/graphql/reactor/requester.with-zod.d.ts.map +0 -1
  95. package/dist/src/graphql/reactor/requester.with-zod.js +0 -53
  96. package/dist/src/graphql/reactor/requester.with-zod.js.map +0 -1
  97. package/dist/src/graphql/reactor/resolvers.d.ts +0 -160
  98. package/dist/src/graphql/reactor/resolvers.d.ts.map +0 -1
  99. package/dist/src/graphql/reactor/resolvers.js +0 -504
  100. package/dist/src/graphql/reactor/resolvers.js.map +0 -1
  101. package/dist/src/graphql/reactor/schema.graphql +0 -408
  102. package/dist/src/graphql/reactor/subgraph.d.ts +0 -47
  103. package/dist/src/graphql/reactor/subgraph.d.ts.map +0 -1
  104. package/dist/src/graphql/reactor/subgraph.js +0 -534
  105. package/dist/src/graphql/reactor/subgraph.js.map +0 -1
  106. package/dist/src/graphql/reactor/validation.d.ts +0 -102
  107. package/dist/src/graphql/reactor/validation.d.ts.map +0 -1
  108. package/dist/src/graphql/reactor/validation.js +0 -73
  109. package/dist/src/graphql/reactor/validation.js.map +0 -1
  110. package/dist/src/graphql/system/env/getters.d.ts +0 -2
  111. package/dist/src/graphql/system/env/getters.d.ts.map +0 -1
  112. package/dist/src/graphql/system/env/getters.js +0 -4
  113. package/dist/src/graphql/system/env/getters.js.map +0 -1
  114. package/dist/src/graphql/system/env/index.d.ts +0 -2
  115. package/dist/src/graphql/system/env/index.d.ts.map +0 -1
  116. package/dist/src/graphql/system/env/index.js +0 -5
  117. package/dist/src/graphql/system/env/index.js.map +0 -1
  118. package/dist/src/graphql/system/index.d.ts +0 -3
  119. package/dist/src/graphql/system/index.d.ts.map +0 -1
  120. package/dist/src/graphql/system/index.js +0 -3
  121. package/dist/src/graphql/system/index.js.map +0 -1
  122. package/dist/src/graphql/system/system-subgraph.d.ts +0 -49
  123. package/dist/src/graphql/system/system-subgraph.d.ts.map +0 -1
  124. package/dist/src/graphql/system/system-subgraph.js +0 -130
  125. package/dist/src/graphql/system/system-subgraph.js.map +0 -1
  126. package/dist/src/graphql/system/types.d.ts +0 -2
  127. package/dist/src/graphql/system/types.d.ts.map +0 -1
  128. package/dist/src/graphql/system/types.js +0 -2
  129. package/dist/src/graphql/system/types.js.map +0 -1
  130. package/dist/src/graphql/temp-hack-rwa-type-defs.d.ts +0 -57
  131. package/dist/src/graphql/temp-hack-rwa-type-defs.d.ts.map +0 -1
  132. package/dist/src/graphql/temp-hack-rwa-type-defs.js +0 -2
  133. package/dist/src/graphql/temp-hack-rwa-type-defs.js.map +0 -1
  134. package/dist/src/graphql/types.d.ts +0 -103
  135. package/dist/src/graphql/types.d.ts.map +0 -1
  136. package/dist/src/graphql/types.js +0 -2
  137. package/dist/src/graphql/types.js.map +0 -1
  138. package/dist/src/graphql/utils.d.ts +0 -26
  139. package/dist/src/graphql/utils.d.ts.map +0 -1
  140. package/dist/src/graphql/utils.js +0 -100
  141. package/dist/src/graphql/utils.js.map +0 -1
  142. package/dist/src/graphql/websocket.d.ts +0 -3
  143. package/dist/src/graphql/websocket.d.ts.map +0 -1
  144. package/dist/src/graphql/websocket.js +0 -15
  145. package/dist/src/graphql/websocket.js.map +0 -1
  146. package/dist/src/migrations/001_create_document_permissions.d.ts +0 -4
  147. package/dist/src/migrations/001_create_document_permissions.d.ts.map +0 -1
  148. package/dist/src/migrations/001_create_document_permissions.js +0 -91
  149. package/dist/src/migrations/001_create_document_permissions.js.map +0 -1
  150. package/dist/src/migrations/index.d.ts +0 -10
  151. package/dist/src/migrations/index.d.ts.map +0 -1
  152. package/dist/src/migrations/index.js +0 -56
  153. package/dist/src/migrations/index.js.map +0 -1
  154. package/dist/src/packages/import-loader.d.ts +0 -16
  155. package/dist/src/packages/import-loader.d.ts.map +0 -1
  156. package/dist/src/packages/import-loader.js +0 -61
  157. package/dist/src/packages/import-loader.js.map +0 -1
  158. package/dist/src/packages/import-resolver.d.ts +0 -5
  159. package/dist/src/packages/import-resolver.d.ts.map +0 -1
  160. package/dist/src/packages/import-resolver.js +0 -127
  161. package/dist/src/packages/import-resolver.js.map +0 -1
  162. package/dist/src/packages/package-manager.d.ts +0 -34
  163. package/dist/src/packages/package-manager.d.ts.map +0 -1
  164. package/dist/src/packages/package-manager.js +0 -213
  165. package/dist/src/packages/package-manager.js.map +0 -1
  166. package/dist/src/packages/types.d.ts +0 -39
  167. package/dist/src/packages/types.d.ts.map +0 -1
  168. package/dist/src/packages/types.js +0 -2
  169. package/dist/src/packages/types.js.map +0 -1
  170. package/dist/src/packages/util.d.ts +0 -27
  171. package/dist/src/packages/util.d.ts.map +0 -1
  172. package/dist/src/packages/util.js +0 -97
  173. package/dist/src/packages/util.js.map +0 -1
  174. package/dist/src/packages/vite-loader.d.ts +0 -24
  175. package/dist/src/packages/vite-loader.d.ts.map +0 -1
  176. package/dist/src/packages/vite-loader.js +0 -172
  177. package/dist/src/packages/vite-loader.js.map +0 -1
  178. package/dist/src/server.d.ts +0 -73
  179. package/dist/src/server.d.ts.map +0 -1
  180. package/dist/src/server.js +0 -431
  181. package/dist/src/server.js.map +0 -1
  182. package/dist/src/services/auth.service.d.ts +0 -68
  183. package/dist/src/services/auth.service.d.ts.map +0 -1
  184. package/dist/src/services/auth.service.js +0 -199
  185. package/dist/src/services/auth.service.js.map +0 -1
  186. package/dist/src/services/document-permission.service.d.ts +0 -201
  187. package/dist/src/services/document-permission.service.d.ts.map +0 -1
  188. package/dist/src/services/document-permission.service.js +0 -636
  189. package/dist/src/services/document-permission.service.js.map +0 -1
  190. package/dist/src/sync/types.d.ts +0 -10
  191. package/dist/src/sync/types.d.ts.map +0 -1
  192. package/dist/src/sync/types.js +0 -2
  193. package/dist/src/sync/types.js.map +0 -1
  194. package/dist/src/sync/utils.d.ts +0 -7
  195. package/dist/src/sync/utils.d.ts.map +0 -1
  196. package/dist/src/sync/utils.js +0 -78
  197. package/dist/src/sync/utils.js.map +0 -1
  198. package/dist/src/tracing.d.ts +0 -4
  199. package/dist/src/tracing.d.ts.map +0 -1
  200. package/dist/src/tracing.js +0 -122
  201. package/dist/src/tracing.js.map +0 -1
  202. package/dist/src/types.d.ts +0 -18
  203. package/dist/src/types.d.ts.map +0 -1
  204. package/dist/src/types.js +0 -2
  205. package/dist/src/types.js.map +0 -1
  206. package/dist/src/utils/auth.d.ts +0 -3
  207. package/dist/src/utils/auth.d.ts.map +0 -1
  208. package/dist/src/utils/auth.js +0 -19
  209. package/dist/src/utils/auth.js.map +0 -1
  210. package/dist/src/utils/create-schema.d.ts +0 -11
  211. package/dist/src/utils/create-schema.d.ts.map +0 -1
  212. package/dist/src/utils/create-schema.js +0 -322
  213. package/dist/src/utils/create-schema.js.map +0 -1
  214. package/dist/src/utils/db.d.ts +0 -74
  215. package/dist/src/utils/db.d.ts.map +0 -1
  216. package/dist/src/utils/db.js +0 -101
  217. package/dist/src/utils/db.js.map +0 -1
  218. package/dist/src/utils/drive-url.d.ts +0 -2
  219. package/dist/src/utils/drive-url.d.ts.map +0 -1
  220. package/dist/src/utils/drive-url.js +0 -3
  221. package/dist/src/utils/drive-url.js.map +0 -1
  222. package/dist/src/utils/index.d.ts +0 -4
  223. package/dist/src/utils/index.d.ts.map +0 -1
  224. package/dist/src/utils/index.js +0 -4
  225. package/dist/src/utils/index.js.map +0 -1
  226. package/dist/test/benchmarks/load.bench.d.ts +0 -2
  227. package/dist/test/benchmarks/load.bench.d.ts.map +0 -1
  228. package/dist/test/benchmarks/load.bench.js +0 -73
  229. package/dist/test/benchmarks/load.bench.js.map +0 -1
  230. package/dist/test/benchmarks/sync.bench.d.ts +0 -2
  231. package/dist/test/benchmarks/sync.bench.d.ts.map +0 -1
  232. package/dist/test/benchmarks/sync.bench.js +0 -119
  233. package/dist/test/benchmarks/sync.bench.js.map +0 -1
  234. package/dist/test/document-permission.service.test.d.ts +0 -2
  235. package/dist/test/document-permission.service.test.d.ts.map +0 -1
  236. package/dist/test/document-permission.service.test.js +0 -480
  237. package/dist/test/document-permission.service.test.js.map +0 -1
  238. package/dist/test/drive-handlers.d.ts +0 -4
  239. package/dist/test/drive-handlers.d.ts.map +0 -1
  240. package/dist/test/drive-handlers.js +0 -39
  241. package/dist/test/drive-handlers.js.map +0 -1
  242. package/dist/test/drive-subgraph-permissions.test.d.ts +0 -2
  243. package/dist/test/drive-subgraph-permissions.test.d.ts.map +0 -1
  244. package/dist/test/drive-subgraph-permissions.test.js +0 -195
  245. package/dist/test/drive-subgraph-permissions.test.js.map +0 -1
  246. package/dist/test/drive.test.d.ts +0 -2
  247. package/dist/test/drive.test.d.ts.map +0 -1
  248. package/dist/test/drive.test.js +0 -142
  249. package/dist/test/drive.test.js.map +0 -1
  250. package/dist/test/identity-integration.test.d.ts +0 -2
  251. package/dist/test/identity-integration.test.d.ts.map +0 -1
  252. package/dist/test/identity-integration.test.js +0 -349
  253. package/dist/test/identity-integration.test.js.map +0 -1
  254. package/dist/test/index.d.ts +0 -3
  255. package/dist/test/index.d.ts.map +0 -1
  256. package/dist/test/index.js +0 -3
  257. package/dist/test/index.js.map +0 -1
  258. package/dist/test/permissions-integration.test.d.ts +0 -2
  259. package/dist/test/permissions-integration.test.d.ts.map +0 -1
  260. package/dist/test/permissions-integration.test.js +0 -421
  261. package/dist/test/permissions-integration.test.js.map +0 -1
  262. package/dist/test/pull-responder-transmitter.test.d.ts +0 -2
  263. package/dist/test/pull-responder-transmitter.test.d.ts.map +0 -1
  264. package/dist/test/pull-responder-transmitter.test.js +0 -220
  265. package/dist/test/pull-responder-transmitter.test.js.map +0 -1
  266. package/dist/test/push-transmitter.test.d.ts +0 -2
  267. package/dist/test/push-transmitter.test.d.ts.map +0 -1
  268. package/dist/test/push-transmitter.test.js +0 -179
  269. package/dist/test/push-transmitter.test.js.map +0 -1
  270. package/dist/test/reactor-adapters.test.d.ts +0 -2
  271. package/dist/test/reactor-adapters.test.d.ts.map +0 -1
  272. package/dist/test/reactor-adapters.test.js +0 -379
  273. package/dist/test/reactor-adapters.test.js.map +0 -1
  274. package/dist/test/reactor-client.test.d.ts +0 -2
  275. package/dist/test/reactor-client.test.d.ts.map +0 -1
  276. package/dist/test/reactor-client.test.js +0 -212
  277. package/dist/test/reactor-client.test.js.map +0 -1
  278. package/dist/test/reactor-resolvers.test.d.ts +0 -2
  279. package/dist/test/reactor-resolvers.test.d.ts.map +0 -1
  280. package/dist/test/reactor-resolvers.test.js +0 -261
  281. package/dist/test/reactor-resolvers.test.js.map +0 -1
  282. package/dist/test/reactor-subgraph-permissions.test.d.ts +0 -2
  283. package/dist/test/reactor-subgraph-permissions.test.d.ts.map +0 -1
  284. package/dist/test/reactor-subgraph-permissions.test.js +0 -400
  285. package/dist/test/reactor-subgraph-permissions.test.js.map +0 -1
  286. package/dist/test/router.test.d.ts +0 -2
  287. package/dist/test/router.test.d.ts.map +0 -1
  288. package/dist/test/router.test.js +0 -38
  289. package/dist/test/router.test.js.map +0 -1
  290. package/dist/test/subscriptions.test.d.ts +0 -2
  291. package/dist/test/subscriptions.test.d.ts.map +0 -1
  292. package/dist/test/subscriptions.test.js +0 -246
  293. package/dist/test/subscriptions.test.js.map +0 -1
  294. package/dist/test/system.test.d.ts +0 -2
  295. package/dist/test/system.test.d.ts.map +0 -1
  296. package/dist/test/system.test.js +0 -211
  297. package/dist/test/system.test.js.map +0 -1
  298. package/dist/test/three-reactor-gql-sync.test.d.ts +0 -2
  299. package/dist/test/three-reactor-gql-sync.test.d.ts.map +0 -1
  300. package/dist/test/three-reactor-gql-sync.test.js +0 -368
  301. package/dist/test/three-reactor-gql-sync.test.js.map +0 -1
  302. package/dist/test/two-reactor-gql-catchup-duplicate.test.d.ts +0 -2
  303. package/dist/test/two-reactor-gql-catchup-duplicate.test.d.ts.map +0 -1
  304. package/dist/test/two-reactor-gql-catchup-duplicate.test.js +0 -264
  305. package/dist/test/two-reactor-gql-catchup-duplicate.test.js.map +0 -1
  306. package/dist/test/two-reactor-gql-sync.test.d.ts +0 -2
  307. package/dist/test/two-reactor-gql-sync.test.d.ts.map +0 -1
  308. package/dist/test/two-reactor-gql-sync.test.js +0 -348
  309. package/dist/test/two-reactor-gql-sync.test.js.map +0 -1
  310. package/dist/test/utils/gql-resolver-bridge.d.ts +0 -12
  311. package/dist/test/utils/gql-resolver-bridge.d.ts.map +0 -1
  312. package/dist/test/utils/gql-resolver-bridge.js +0 -60
  313. package/dist/test/utils/gql-resolver-bridge.js.map +0 -1
  314. package/dist/test/utils.d.ts +0 -10
  315. package/dist/test/utils.d.ts.map +0 -1
  316. package/dist/test/utils.js +0 -23
  317. package/dist/test/utils.js.map +0 -1
  318. package/dist/tsconfig.tsbuildinfo +0 -1
  319. package/dist/vitest.config.d.ts +0 -3
  320. package/dist/vitest.config.d.ts.map +0 -1
  321. package/dist/vitest.config.js +0 -38
  322. package/dist/vitest.config.js.map +0 -1
@@ -1,173 +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
- //# 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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"}
@@ -1,173 +0,0 @@
1
- # Auth Subgraph Schema
2
- # Contains all document permission and authorization related types
3
-
4
- scalar DateTime
5
-
6
- # Permission levels for documents
7
- enum DocumentPermissionLevel {
8
- # Can fetch and read the document
9
- READ
10
- # Can push updates and modify the document
11
- WRITE
12
- # Can manage document permissions and settings
13
- ADMIN
14
- }
15
-
16
- # Document permission entry
17
- type DocumentPermissionEntry {
18
- documentId: String!
19
- userAddress: String!
20
- permission: DocumentPermissionLevel!
21
- grantedBy: String!
22
- createdAt: DateTime!
23
- updatedAt: DateTime!
24
- }
25
-
26
- # Group type
27
- type Group {
28
- id: Int!
29
- name: String!
30
- description: String
31
- createdAt: DateTime!
32
- updatedAt: DateTime!
33
- members: [String!]!
34
- }
35
-
36
- # Document group permission entry
37
- type DocumentGroupPermission {
38
- documentId: String!
39
- groupId: Int!
40
- group: Group!
41
- permission: DocumentPermissionLevel!
42
- grantedBy: String!
43
- createdAt: DateTime!
44
- updatedAt: DateTime!
45
- }
46
-
47
- # Operation user permission entry
48
- type OperationUserPermission {
49
- documentId: String!
50
- operationType: String!
51
- userAddress: String!
52
- grantedBy: String!
53
- createdAt: DateTime!
54
- }
55
-
56
- # Operation group permission entry
57
- type OperationGroupPermission {
58
- documentId: String!
59
- operationType: String!
60
- groupId: Int!
61
- group: Group!
62
- grantedBy: String!
63
- createdAt: DateTime!
64
- }
65
-
66
- # Combined document access info
67
- type DocumentAccessInfo {
68
- documentId: String!
69
- permissions: [DocumentPermissionEntry!]!
70
- groupPermissions: [DocumentGroupPermission!]!
71
- }
72
-
73
- # Operation permissions info
74
- type OperationPermissionsInfo {
75
- documentId: String!
76
- operationType: String!
77
- userPermissions: [OperationUserPermission!]!
78
- groupPermissions: [OperationGroupPermission!]!
79
- }
80
-
81
- type Query {
82
- # Get permissions for a document
83
- documentAccess(documentId: String!): DocumentAccessInfo!
84
-
85
- # Get all documents the current user has explicit access to
86
- userDocumentPermissions: [DocumentPermissionEntry!]!
87
-
88
- # Get all groups
89
- groups: [Group!]!
90
-
91
- # Get a specific group by ID
92
- group(id: Int!): Group
93
-
94
- # Get all groups a user belongs to
95
- userGroups(userAddress: String!): [Group!]!
96
-
97
- # Get operation permissions for a document and operation type
98
- operationPermissions(documentId: String!, operationType: String!): OperationPermissionsInfo!
99
-
100
- # Check if the current user can execute a specific operation on a document
101
- canExecuteOperation(documentId: String!, operationType: String!): Boolean!
102
- }
103
-
104
- type Mutation {
105
- # Grant a user permission on a document (requires ADMIN permission or global admin)
106
- grantDocumentPermission(
107
- documentId: String!
108
- userAddress: String!
109
- permission: DocumentPermissionLevel!
110
- ): DocumentPermissionEntry!
111
-
112
- # Revoke a user's permission on a document (requires ADMIN permission or global admin)
113
- revokeDocumentPermission(
114
- documentId: String!
115
- userAddress: String!
116
- ): Boolean!
117
-
118
- # --- Group Management ---
119
-
120
- # Create a new group
121
- createGroup(name: String!, description: String): Group!
122
-
123
- # Delete a group and all its associations
124
- deleteGroup(id: Int!): Boolean!
125
-
126
- # Add a user to a group
127
- addUserToGroup(userAddress: String!, groupId: Int!): Boolean!
128
-
129
- # Remove a user from a group
130
- removeUserFromGroup(userAddress: String!, groupId: Int!): Boolean!
131
-
132
- # --- Group Document Permissions ---
133
-
134
- # Grant a group permission on a document
135
- grantGroupPermission(
136
- documentId: String!
137
- groupId: Int!
138
- permission: DocumentPermissionLevel!
139
- ): DocumentGroupPermission!
140
-
141
- # Revoke a group's permission on a document
142
- revokeGroupPermission(documentId: String!, groupId: Int!): Boolean!
143
-
144
- # --- Operation Permissions ---
145
-
146
- # Grant a user permission to execute an operation on a document
147
- grantOperationPermission(
148
- documentId: String!
149
- operationType: String!
150
- userAddress: String!
151
- ): OperationUserPermission!
152
-
153
- # Revoke a user's permission to execute an operation
154
- revokeOperationPermission(
155
- documentId: String!
156
- operationType: String!
157
- userAddress: String!
158
- ): Boolean!
159
-
160
- # Grant a group permission to execute an operation on a document
161
- grantGroupOperationPermission(
162
- documentId: String!
163
- operationType: String!
164
- groupId: Int!
165
- ): OperationGroupPermission!
166
-
167
- # Revoke a group's permission to execute an operation
168
- revokeGroupOperationPermission(
169
- documentId: String!
170
- operationType: String!
171
- groupId: Int!
172
- ): Boolean!
173
- }
@@ -1,177 +0,0 @@
1
- import { BaseSubgraph } from "../base-subgraph.js";
2
- import type { SubgraphArgs } from "../types.js";
3
- import * as resolvers from "./resolvers.js";
4
- /**
5
- * Auth Subgraph - handles all document permission and authorization operations
6
- *
7
- * This subgraph is conditionally registered based on the DOCUMENT_PERMISSIONS_ENABLED
8
- * feature flag. When enabled, it provides GraphQL operations for:
9
- * - Document permissions (grant/revoke user access)
10
- * - Group management (create/delete groups, manage membership)
11
- * - Group document permissions (grant/revoke group access)
12
- * - Operation-level permissions (fine-grained operation control)
13
- */
14
- export declare class AuthSubgraph extends BaseSubgraph {
15
- private logger;
16
- constructor(args: SubgraphArgs);
17
- name: string;
18
- hasSubscriptions: boolean;
19
- typeDefs: import("graphql").DocumentNode;
20
- resolvers: {
21
- Query: {
22
- documentAccess: (_parent: unknown, args: {
23
- documentId: string;
24
- }) => Promise<resolvers.DocumentAccessInfo>;
25
- userDocumentPermissions: (_parent: unknown, _args: unknown, ctx: {
26
- user?: {
27
- address: string;
28
- };
29
- }) => Promise<{
30
- documentId: string;
31
- userAddress: string;
32
- permission: import("../../utils/db.js").DocumentPermissionLevel;
33
- grantedBy: string;
34
- createdAt: Date;
35
- updatedAt: Date;
36
- }[]>;
37
- groups: () => Promise<resolvers.Group[]>;
38
- group: (_parent: unknown, args: {
39
- id: number;
40
- }) => Promise<resolvers.Group | null>;
41
- userGroups: (_parent: unknown, args: {
42
- userAddress: string;
43
- }) => Promise<resolvers.Group[]>;
44
- operationPermissions: (_parent: unknown, args: {
45
- documentId: string;
46
- operationType: string;
47
- }) => Promise<resolvers.OperationPermissionsInfo>;
48
- canExecuteOperation: (_parent: unknown, args: {
49
- documentId: string;
50
- operationType: string;
51
- }, ctx: {
52
- user?: {
53
- address: string;
54
- };
55
- }) => Promise<boolean>;
56
- };
57
- Mutation: {
58
- grantDocumentPermission: (_parent: unknown, args: {
59
- documentId: string;
60
- userAddress: string;
61
- permission: string;
62
- }, ctx: {
63
- user?: {
64
- address: string;
65
- };
66
- isAdmin?: (address: string) => boolean;
67
- }) => Promise<{
68
- documentId: string;
69
- userAddress: string;
70
- permission: import("../../utils/db.js").DocumentPermissionLevel;
71
- grantedBy: string;
72
- createdAt: Date;
73
- updatedAt: Date;
74
- }>;
75
- revokeDocumentPermission: (_parent: unknown, args: {
76
- documentId: string;
77
- userAddress: string;
78
- }, ctx: {
79
- user?: {
80
- address: string;
81
- };
82
- isAdmin?: (address: string) => boolean;
83
- }) => Promise<boolean>;
84
- createGroup: (_parent: unknown, args: {
85
- name: string;
86
- description?: string | null;
87
- }) => Promise<resolvers.Group>;
88
- deleteGroup: (_parent: unknown, args: {
89
- id: number;
90
- }) => Promise<boolean>;
91
- addUserToGroup: (_parent: unknown, args: {
92
- userAddress: string;
93
- groupId: number;
94
- }) => Promise<boolean>;
95
- removeUserFromGroup: (_parent: unknown, args: {
96
- userAddress: string;
97
- groupId: number;
98
- }) => Promise<boolean>;
99
- grantGroupPermission: (_parent: unknown, args: {
100
- documentId: string;
101
- groupId: number;
102
- permission: string;
103
- }, ctx: {
104
- user?: {
105
- address: string;
106
- };
107
- isAdmin?: (address: string) => boolean;
108
- }) => Promise<resolvers.DocumentGroupPermission>;
109
- revokeGroupPermission: (_parent: unknown, args: {
110
- documentId: string;
111
- groupId: number;
112
- }, ctx: {
113
- user?: {
114
- address: string;
115
- };
116
- isAdmin?: (address: string) => boolean;
117
- }) => Promise<boolean>;
118
- grantOperationPermission: (_parent: unknown, args: {
119
- documentId: string;
120
- operationType: string;
121
- userAddress: string;
122
- }, ctx: {
123
- user?: {
124
- address: string;
125
- };
126
- isAdmin?: (address: string) => boolean;
127
- }) => Promise<resolvers.OperationUserPermission>;
128
- revokeOperationPermission: (_parent: unknown, args: {
129
- documentId: string;
130
- operationType: string;
131
- userAddress: string;
132
- }, ctx: {
133
- user?: {
134
- address: string;
135
- };
136
- isAdmin?: (address: string) => boolean;
137
- }) => Promise<boolean>;
138
- grantGroupOperationPermission: (_parent: unknown, args: {
139
- documentId: string;
140
- operationType: string;
141
- groupId: number;
142
- }, ctx: {
143
- user?: {
144
- address: string;
145
- };
146
- isAdmin?: (address: string) => boolean;
147
- }) => Promise<resolvers.OperationGroupPermission>;
148
- revokeGroupOperationPermission: (_parent: unknown, args: {
149
- documentId: string;
150
- operationType: string;
151
- groupId: number;
152
- }, ctx: {
153
- user?: {
154
- address: string;
155
- };
156
- isAdmin?: (address: string) => boolean;
157
- }) => Promise<boolean>;
158
- };
159
- Group: {
160
- members: (parent: {
161
- id: number;
162
- }) => Promise<string[]>;
163
- };
164
- DocumentGroupPermission: {
165
- group: (parent: {
166
- groupId: number;
167
- }) => Promise<resolvers.Group>;
168
- };
169
- OperationGroupPermission: {
170
- group: (parent: {
171
- groupId: number;
172
- }) => Promise<resolvers.Group>;
173
- };
174
- };
175
- onSetup(): Promise<void>;
176
- }
177
- //# sourceMappingURL=subgraph.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subgraph.d.ts","sourceRoot":"","sources":["../../../../src/graphql/auth/subgraph.ts"],"names":[],"mappings":"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"}