@powerhousedao/reactor-api 6.0.0-dev.2 → 6.0.0-dev.200

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 (318) 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 +39 -0
  7. package/dist/src/packages/https-hooks.d.mts.map +1 -0
  8. package/dist/src/packages/https-hooks.mjs +79 -0
  9. package/dist/src/packages/https-hooks.mjs.map +1 -0
  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 +71 -65
  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 -14
  24. package/dist/index.d.ts.map +0 -1
  25. package/dist/index.js +0 -14
  26. package/dist/index.js.map +0 -1
  27. package/dist/src/config.d.ts +0 -7
  28. package/dist/src/config.d.ts.map +0 -1
  29. package/dist/src/config.js +0 -10
  30. package/dist/src/config.js.map +0 -1
  31. package/dist/src/graphql/analytics-subgraph.d.ts +0 -14
  32. package/dist/src/graphql/analytics-subgraph.d.ts.map +0 -1
  33. package/dist/src/graphql/analytics-subgraph.js +0 -26
  34. package/dist/src/graphql/analytics-subgraph.js.map +0 -1
  35. package/dist/src/graphql/auth/index.d.ts +0 -2
  36. package/dist/src/graphql/auth/index.d.ts.map +0 -1
  37. package/dist/src/graphql/auth/index.js +0 -2
  38. package/dist/src/graphql/auth/index.js.map +0 -1
  39. package/dist/src/graphql/auth/resolvers.d.ts +0 -149
  40. package/dist/src/graphql/auth/resolvers.d.ts.map +0 -1
  41. package/dist/src/graphql/auth/resolvers.js +0 -173
  42. package/dist/src/graphql/auth/resolvers.js.map +0 -1
  43. package/dist/src/graphql/auth/schema.graphql +0 -173
  44. package/dist/src/graphql/auth/subgraph.d.ts +0 -177
  45. package/dist/src/graphql/auth/subgraph.d.ts.map +0 -1
  46. package/dist/src/graphql/auth/subgraph.js +0 -340
  47. package/dist/src/graphql/auth/subgraph.js.map +0 -1
  48. package/dist/src/graphql/base-subgraph.d.ts +0 -20
  49. package/dist/src/graphql/base-subgraph.d.ts.map +0 -1
  50. package/dist/src/graphql/base-subgraph.js +0 -34
  51. package/dist/src/graphql/base-subgraph.js.map +0 -1
  52. package/dist/src/graphql/document-model-subgraph.d.ts +0 -51
  53. package/dist/src/graphql/document-model-subgraph.d.ts.map +0 -1
  54. package/dist/src/graphql/document-model-subgraph.js +0 -104
  55. package/dist/src/graphql/document-model-subgraph.js.map +0 -1
  56. package/dist/src/graphql/drive-subgraph.d.ts +0 -25
  57. package/dist/src/graphql/drive-subgraph.d.ts.map +0 -1
  58. package/dist/src/graphql/drive-subgraph.js +0 -487
  59. package/dist/src/graphql/drive-subgraph.js.map +0 -1
  60. package/dist/src/graphql/graphql-manager.d.ts +0 -46
  61. package/dist/src/graphql/graphql-manager.d.ts.map +0 -1
  62. package/dist/src/graphql/graphql-manager.js +0 -416
  63. package/dist/src/graphql/graphql-manager.js.map +0 -1
  64. package/dist/src/graphql/index.d.ts +0 -9
  65. package/dist/src/graphql/index.d.ts.map +0 -1
  66. package/dist/src/graphql/index.js +0 -9
  67. package/dist/src/graphql/index.js.map +0 -1
  68. package/dist/src/graphql/playground.d.ts +0 -2
  69. package/dist/src/graphql/playground.d.ts.map +0 -1
  70. package/dist/src/graphql/playground.js +0 -74
  71. package/dist/src/graphql/playground.js.map +0 -1
  72. package/dist/src/graphql/reactor/adapters.d.ts +0 -54
  73. package/dist/src/graphql/reactor/adapters.d.ts.map +0 -1
  74. package/dist/src/graphql/reactor/adapters.js +0 -236
  75. package/dist/src/graphql/reactor/adapters.js.map +0 -1
  76. package/dist/src/graphql/reactor/factory.d.ts +0 -84
  77. package/dist/src/graphql/reactor/factory.d.ts.map +0 -1
  78. package/dist/src/graphql/reactor/factory.js +0 -7
  79. package/dist/src/graphql/reactor/factory.js.map +0 -1
  80. package/dist/src/graphql/reactor/gen/graphql.d.ts +0 -1210
  81. package/dist/src/graphql/reactor/gen/graphql.d.ts.map +0 -1
  82. package/dist/src/graphql/reactor/gen/graphql.js +0 -496
  83. package/dist/src/graphql/reactor/gen/graphql.js.map +0 -1
  84. package/dist/src/graphql/reactor/index.d.ts +0 -4
  85. package/dist/src/graphql/reactor/index.d.ts.map +0 -1
  86. package/dist/src/graphql/reactor/index.js +0 -4
  87. package/dist/src/graphql/reactor/index.js.map +0 -1
  88. package/dist/src/graphql/reactor/operations.graphql +0 -253
  89. package/dist/src/graphql/reactor/pubsub.d.ts +0 -27
  90. package/dist/src/graphql/reactor/pubsub.d.ts.map +0 -1
  91. package/dist/src/graphql/reactor/pubsub.js +0 -93
  92. package/dist/src/graphql/reactor/pubsub.js.map +0 -1
  93. package/dist/src/graphql/reactor/requester.d.ts +0 -4
  94. package/dist/src/graphql/reactor/requester.d.ts.map +0 -1
  95. package/dist/src/graphql/reactor/requester.js +0 -22
  96. package/dist/src/graphql/reactor/requester.js.map +0 -1
  97. package/dist/src/graphql/reactor/requester.with-zod.d.ts +0 -4
  98. package/dist/src/graphql/reactor/requester.with-zod.d.ts.map +0 -1
  99. package/dist/src/graphql/reactor/requester.with-zod.js +0 -53
  100. package/dist/src/graphql/reactor/requester.with-zod.js.map +0 -1
  101. package/dist/src/graphql/reactor/resolvers.d.ts +0 -159
  102. package/dist/src/graphql/reactor/resolvers.d.ts.map +0 -1
  103. package/dist/src/graphql/reactor/resolvers.js +0 -501
  104. package/dist/src/graphql/reactor/resolvers.js.map +0 -1
  105. package/dist/src/graphql/reactor/schema.graphql +0 -429
  106. package/dist/src/graphql/reactor/subgraph.d.ts +0 -47
  107. package/dist/src/graphql/reactor/subgraph.d.ts.map +0 -1
  108. package/dist/src/graphql/reactor/subgraph.js +0 -534
  109. package/dist/src/graphql/reactor/subgraph.js.map +0 -1
  110. package/dist/src/graphql/reactor/validation.d.ts +0 -102
  111. package/dist/src/graphql/reactor/validation.d.ts.map +0 -1
  112. package/dist/src/graphql/reactor/validation.js +0 -73
  113. package/dist/src/graphql/reactor/validation.js.map +0 -1
  114. package/dist/src/graphql/system/env/getters.d.ts +0 -2
  115. package/dist/src/graphql/system/env/getters.d.ts.map +0 -1
  116. package/dist/src/graphql/system/env/getters.js +0 -4
  117. package/dist/src/graphql/system/env/getters.js.map +0 -1
  118. package/dist/src/graphql/system/env/index.d.ts +0 -2
  119. package/dist/src/graphql/system/env/index.d.ts.map +0 -1
  120. package/dist/src/graphql/system/env/index.js +0 -5
  121. package/dist/src/graphql/system/env/index.js.map +0 -1
  122. package/dist/src/graphql/system/index.d.ts +0 -3
  123. package/dist/src/graphql/system/index.d.ts.map +0 -1
  124. package/dist/src/graphql/system/index.js +0 -3
  125. package/dist/src/graphql/system/index.js.map +0 -1
  126. package/dist/src/graphql/system/system-subgraph.d.ts +0 -49
  127. package/dist/src/graphql/system/system-subgraph.d.ts.map +0 -1
  128. package/dist/src/graphql/system/system-subgraph.js +0 -130
  129. package/dist/src/graphql/system/system-subgraph.js.map +0 -1
  130. package/dist/src/graphql/system/types.d.ts +0 -2
  131. package/dist/src/graphql/system/types.d.ts.map +0 -1
  132. package/dist/src/graphql/system/types.js +0 -2
  133. package/dist/src/graphql/system/types.js.map +0 -1
  134. package/dist/src/graphql/temp-hack-rwa-type-defs.d.ts +0 -57
  135. package/dist/src/graphql/temp-hack-rwa-type-defs.d.ts.map +0 -1
  136. package/dist/src/graphql/temp-hack-rwa-type-defs.js +0 -2
  137. package/dist/src/graphql/temp-hack-rwa-type-defs.js.map +0 -1
  138. package/dist/src/graphql/types.d.ts +0 -103
  139. package/dist/src/graphql/types.d.ts.map +0 -1
  140. package/dist/src/graphql/types.js +0 -2
  141. package/dist/src/graphql/types.js.map +0 -1
  142. package/dist/src/graphql/utils.d.ts +0 -26
  143. package/dist/src/graphql/utils.d.ts.map +0 -1
  144. package/dist/src/graphql/utils.js +0 -100
  145. package/dist/src/graphql/utils.js.map +0 -1
  146. package/dist/src/graphql/websocket.d.ts +0 -3
  147. package/dist/src/graphql/websocket.d.ts.map +0 -1
  148. package/dist/src/graphql/websocket.js +0 -15
  149. package/dist/src/graphql/websocket.js.map +0 -1
  150. package/dist/src/migrations/001_create_document_permissions.d.ts +0 -4
  151. package/dist/src/migrations/001_create_document_permissions.d.ts.map +0 -1
  152. package/dist/src/migrations/001_create_document_permissions.js +0 -91
  153. package/dist/src/migrations/001_create_document_permissions.js.map +0 -1
  154. package/dist/src/migrations/index.d.ts +0 -10
  155. package/dist/src/migrations/index.d.ts.map +0 -1
  156. package/dist/src/migrations/index.js +0 -56
  157. package/dist/src/migrations/index.js.map +0 -1
  158. package/dist/src/packages/import-loader.d.ts +0 -14
  159. package/dist/src/packages/import-loader.d.ts.map +0 -1
  160. package/dist/src/packages/import-loader.js +0 -52
  161. package/dist/src/packages/import-loader.js.map +0 -1
  162. package/dist/src/packages/import-resolver.d.ts +0 -5
  163. package/dist/src/packages/import-resolver.d.ts.map +0 -1
  164. package/dist/src/packages/import-resolver.js +0 -127
  165. package/dist/src/packages/import-resolver.js.map +0 -1
  166. package/dist/src/packages/package-manager.d.ts +0 -34
  167. package/dist/src/packages/package-manager.d.ts.map +0 -1
  168. package/dist/src/packages/package-manager.js +0 -213
  169. package/dist/src/packages/package-manager.js.map +0 -1
  170. package/dist/src/packages/types.d.ts +0 -35
  171. package/dist/src/packages/types.d.ts.map +0 -1
  172. package/dist/src/packages/types.js +0 -2
  173. package/dist/src/packages/types.js.map +0 -1
  174. package/dist/src/packages/util.d.ts +0 -26
  175. package/dist/src/packages/util.d.ts.map +0 -1
  176. package/dist/src/packages/util.js +0 -97
  177. package/dist/src/packages/util.js.map +0 -1
  178. package/dist/src/packages/vite-loader.d.ts +0 -23
  179. package/dist/src/packages/vite-loader.d.ts.map +0 -1
  180. package/dist/src/packages/vite-loader.js +0 -159
  181. package/dist/src/packages/vite-loader.js.map +0 -1
  182. package/dist/src/server.d.ts +0 -70
  183. package/dist/src/server.d.ts.map +0 -1
  184. package/dist/src/server.js +0 -367
  185. package/dist/src/server.js.map +0 -1
  186. package/dist/src/services/auth.service.d.ts +0 -68
  187. package/dist/src/services/auth.service.d.ts.map +0 -1
  188. package/dist/src/services/auth.service.js +0 -199
  189. package/dist/src/services/auth.service.js.map +0 -1
  190. package/dist/src/services/document-permission.service.d.ts +0 -201
  191. package/dist/src/services/document-permission.service.d.ts.map +0 -1
  192. package/dist/src/services/document-permission.service.js +0 -636
  193. package/dist/src/services/document-permission.service.js.map +0 -1
  194. package/dist/src/sync/types.d.ts +0 -10
  195. package/dist/src/sync/types.d.ts.map +0 -1
  196. package/dist/src/sync/types.js +0 -2
  197. package/dist/src/sync/types.js.map +0 -1
  198. package/dist/src/sync/utils.d.ts +0 -7
  199. package/dist/src/sync/utils.d.ts.map +0 -1
  200. package/dist/src/sync/utils.js +0 -78
  201. package/dist/src/sync/utils.js.map +0 -1
  202. package/dist/src/tracing.d.ts +0 -4
  203. package/dist/src/tracing.d.ts.map +0 -1
  204. package/dist/src/tracing.js +0 -122
  205. package/dist/src/tracing.js.map +0 -1
  206. package/dist/src/types.d.ts +0 -18
  207. package/dist/src/types.d.ts.map +0 -1
  208. package/dist/src/types.js +0 -2
  209. package/dist/src/types.js.map +0 -1
  210. package/dist/src/utils/auth.d.ts +0 -3
  211. package/dist/src/utils/auth.d.ts.map +0 -1
  212. package/dist/src/utils/auth.js +0 -19
  213. package/dist/src/utils/auth.js.map +0 -1
  214. package/dist/src/utils/create-schema.d.ts +0 -11
  215. package/dist/src/utils/create-schema.d.ts.map +0 -1
  216. package/dist/src/utils/create-schema.js +0 -275
  217. package/dist/src/utils/create-schema.js.map +0 -1
  218. package/dist/src/utils/db.d.ts +0 -74
  219. package/dist/src/utils/db.d.ts.map +0 -1
  220. package/dist/src/utils/db.js +0 -101
  221. package/dist/src/utils/db.js.map +0 -1
  222. package/dist/src/utils/index.d.ts +0 -3
  223. package/dist/src/utils/index.d.ts.map +0 -1
  224. package/dist/src/utils/index.js +0 -3
  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-sync.test.d.ts +0 -2
  303. package/dist/test/two-reactor-gql-sync.test.d.ts.map +0 -1
  304. package/dist/test/two-reactor-gql-sync.test.js +0 -348
  305. package/dist/test/two-reactor-gql-sync.test.js.map +0 -1
  306. package/dist/test/utils/gql-resolver-bridge.d.ts +0 -12
  307. package/dist/test/utils/gql-resolver-bridge.d.ts.map +0 -1
  308. package/dist/test/utils/gql-resolver-bridge.js +0 -60
  309. package/dist/test/utils/gql-resolver-bridge.js.map +0 -1
  310. package/dist/test/utils.d.ts +0 -10
  311. package/dist/test/utils.d.ts.map +0 -1
  312. package/dist/test/utils.js +0 -23
  313. package/dist/test/utils.js.map +0 -1
  314. package/dist/tsconfig.tsbuildinfo +0 -1
  315. package/dist/vitest.config.d.ts +0 -3
  316. package/dist/vitest.config.d.ts.map +0 -1
  317. package/dist/vitest.config.js +0 -38
  318. 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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"}