@powerhousedao/reactor-api 6.0.0-dev.22 → 6.0.0-dev.221

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 (326) hide show
  1. package/README.md +6 -0
  2. package/dist/index.d.mts +3037 -0
  3. package/dist/index.d.mts.map +1 -0
  4. package/dist/index.mjs +6687 -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-CVrD_vPF.mjs +287 -0
  17. package/dist/utils-CVrD_vPF.mjs.map +1 -0
  18. package/package.json +71 -63
  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 -47
  61. package/dist/src/graphql/graphql-manager.d.ts.map +0 -1
  62. package/dist/src/graphql/graphql-manager.js +0 -433
  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 -62
  73. package/dist/src/graphql/reactor/adapters.d.ts.map +0 -1
  74. package/dist/src/graphql/reactor/adapters.js +0 -270
  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 -1242
  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 -175
  102. package/dist/src/graphql/reactor/resolvers.d.ts.map +0 -1
  103. package/dist/src/graphql/reactor/resolvers.js +0 -526
  104. package/dist/src/graphql/reactor/resolvers.js.map +0 -1
  105. package/dist/src/graphql/reactor/schema.graphql +0 -432
  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 -555
  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 -16
  159. package/dist/src/packages/import-loader.d.ts.map +0 -1
  160. package/dist/src/packages/import-loader.js +0 -61
  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 -39
  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 -27
  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 -24
  179. package/dist/src/packages/vite-loader.d.ts.map +0 -1
  180. package/dist/src/packages/vite-loader.js +0 -172
  181. package/dist/src/packages/vite-loader.js.map +0 -1
  182. package/dist/src/server.d.ts +0 -73
  183. package/dist/src/server.d.ts.map +0 -1
  184. package/dist/src/server.js +0 -431
  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 -322
  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/drive-url.d.ts +0 -2
  223. package/dist/src/utils/drive-url.d.ts.map +0 -1
  224. package/dist/src/utils/drive-url.js +0 -3
  225. package/dist/src/utils/drive-url.js.map +0 -1
  226. package/dist/src/utils/index.d.ts +0 -4
  227. package/dist/src/utils/index.d.ts.map +0 -1
  228. package/dist/src/utils/index.js +0 -4
  229. package/dist/src/utils/index.js.map +0 -1
  230. package/dist/test/benchmarks/load.bench.d.ts +0 -2
  231. package/dist/test/benchmarks/load.bench.d.ts.map +0 -1
  232. package/dist/test/benchmarks/load.bench.js +0 -73
  233. package/dist/test/benchmarks/load.bench.js.map +0 -1
  234. package/dist/test/benchmarks/sync.bench.d.ts +0 -2
  235. package/dist/test/benchmarks/sync.bench.d.ts.map +0 -1
  236. package/dist/test/benchmarks/sync.bench.js +0 -119
  237. package/dist/test/benchmarks/sync.bench.js.map +0 -1
  238. package/dist/test/document-permission.service.test.d.ts +0 -2
  239. package/dist/test/document-permission.service.test.d.ts.map +0 -1
  240. package/dist/test/document-permission.service.test.js +0 -480
  241. package/dist/test/document-permission.service.test.js.map +0 -1
  242. package/dist/test/drive-handlers.d.ts +0 -4
  243. package/dist/test/drive-handlers.d.ts.map +0 -1
  244. package/dist/test/drive-handlers.js +0 -39
  245. package/dist/test/drive-handlers.js.map +0 -1
  246. package/dist/test/drive-subgraph-permissions.test.d.ts +0 -2
  247. package/dist/test/drive-subgraph-permissions.test.d.ts.map +0 -1
  248. package/dist/test/drive-subgraph-permissions.test.js +0 -195
  249. package/dist/test/drive-subgraph-permissions.test.js.map +0 -1
  250. package/dist/test/drive.test.d.ts +0 -2
  251. package/dist/test/drive.test.d.ts.map +0 -1
  252. package/dist/test/drive.test.js +0 -142
  253. package/dist/test/drive.test.js.map +0 -1
  254. package/dist/test/identity-integration.test.d.ts +0 -2
  255. package/dist/test/identity-integration.test.d.ts.map +0 -1
  256. package/dist/test/identity-integration.test.js +0 -349
  257. package/dist/test/identity-integration.test.js.map +0 -1
  258. package/dist/test/index.d.ts +0 -3
  259. package/dist/test/index.d.ts.map +0 -1
  260. package/dist/test/index.js +0 -3
  261. package/dist/test/index.js.map +0 -1
  262. package/dist/test/permissions-integration.test.d.ts +0 -2
  263. package/dist/test/permissions-integration.test.d.ts.map +0 -1
  264. package/dist/test/permissions-integration.test.js +0 -421
  265. package/dist/test/permissions-integration.test.js.map +0 -1
  266. package/dist/test/pull-responder-transmitter.test.d.ts +0 -2
  267. package/dist/test/pull-responder-transmitter.test.d.ts.map +0 -1
  268. package/dist/test/pull-responder-transmitter.test.js +0 -220
  269. package/dist/test/pull-responder-transmitter.test.js.map +0 -1
  270. package/dist/test/push-transmitter.test.d.ts +0 -2
  271. package/dist/test/push-transmitter.test.d.ts.map +0 -1
  272. package/dist/test/push-transmitter.test.js +0 -179
  273. package/dist/test/push-transmitter.test.js.map +0 -1
  274. package/dist/test/reactor-adapters.test.d.ts +0 -2
  275. package/dist/test/reactor-adapters.test.d.ts.map +0 -1
  276. package/dist/test/reactor-adapters.test.js +0 -379
  277. package/dist/test/reactor-adapters.test.js.map +0 -1
  278. package/dist/test/reactor-client.test.d.ts +0 -2
  279. package/dist/test/reactor-client.test.d.ts.map +0 -1
  280. package/dist/test/reactor-client.test.js +0 -212
  281. package/dist/test/reactor-client.test.js.map +0 -1
  282. package/dist/test/reactor-resolvers.test.d.ts +0 -2
  283. package/dist/test/reactor-resolvers.test.d.ts.map +0 -1
  284. package/dist/test/reactor-resolvers.test.js +0 -261
  285. package/dist/test/reactor-resolvers.test.js.map +0 -1
  286. package/dist/test/reactor-subgraph-permissions.test.d.ts +0 -2
  287. package/dist/test/reactor-subgraph-permissions.test.d.ts.map +0 -1
  288. package/dist/test/reactor-subgraph-permissions.test.js +0 -400
  289. package/dist/test/reactor-subgraph-permissions.test.js.map +0 -1
  290. package/dist/test/router.test.d.ts +0 -2
  291. package/dist/test/router.test.d.ts.map +0 -1
  292. package/dist/test/router.test.js +0 -38
  293. package/dist/test/router.test.js.map +0 -1
  294. package/dist/test/subscriptions.test.d.ts +0 -2
  295. package/dist/test/subscriptions.test.d.ts.map +0 -1
  296. package/dist/test/subscriptions.test.js +0 -246
  297. package/dist/test/subscriptions.test.js.map +0 -1
  298. package/dist/test/system.test.d.ts +0 -2
  299. package/dist/test/system.test.d.ts.map +0 -1
  300. package/dist/test/system.test.js +0 -211
  301. package/dist/test/system.test.js.map +0 -1
  302. package/dist/test/three-reactor-gql-sync.test.d.ts +0 -2
  303. package/dist/test/three-reactor-gql-sync.test.d.ts.map +0 -1
  304. package/dist/test/three-reactor-gql-sync.test.js +0 -368
  305. package/dist/test/three-reactor-gql-sync.test.js.map +0 -1
  306. package/dist/test/two-reactor-gql-catchup-duplicate.test.d.ts +0 -2
  307. package/dist/test/two-reactor-gql-catchup-duplicate.test.d.ts.map +0 -1
  308. package/dist/test/two-reactor-gql-catchup-duplicate.test.js +0 -264
  309. package/dist/test/two-reactor-gql-catchup-duplicate.test.js.map +0 -1
  310. package/dist/test/two-reactor-gql-sync.test.d.ts +0 -2
  311. package/dist/test/two-reactor-gql-sync.test.d.ts.map +0 -1
  312. package/dist/test/two-reactor-gql-sync.test.js +0 -348
  313. package/dist/test/two-reactor-gql-sync.test.js.map +0 -1
  314. package/dist/test/utils/gql-resolver-bridge.d.ts +0 -12
  315. package/dist/test/utils/gql-resolver-bridge.d.ts.map +0 -1
  316. package/dist/test/utils/gql-resolver-bridge.js +0 -60
  317. package/dist/test/utils/gql-resolver-bridge.js.map +0 -1
  318. package/dist/test/utils.d.ts +0 -10
  319. package/dist/test/utils.d.ts.map +0 -1
  320. package/dist/test/utils.js +0 -23
  321. package/dist/test/utils.js.map +0 -1
  322. package/dist/tsconfig.tsbuildinfo +0 -1
  323. package/dist/vitest.config.d.ts +0 -3
  324. package/dist/vitest.config.d.ts.map +0 -1
  325. package/dist/vitest.config.js +0 -38
  326. package/dist/vitest.config.js.map +0 -1
@@ -1,636 +0,0 @@
1
- import { sql } from "kysely";
2
- /**
3
- * Service for managing document-level permissions.
4
- *
5
- * Permission levels for documents:
6
- * - READ: Can fetch and read the document
7
- * - WRITE: Can push updates and modify the document
8
- * - ADMIN: Can manage document permissions and settings
9
- *
10
- * Operation permissions:
11
- * - Users and groups can be granted permission to execute specific operations
12
- *
13
- * Global roles (via environment variables):
14
- * - AUTH_ENABLED: Enables authorization checks
15
- * - ADMINS: Comma-separated list of admin addresses (full access)
16
- * - USERS: Comma-separated list of user addresses (read/write access)
17
- * - GUESTS: Comma-separated list of guest addresses (read access)
18
- */
19
- export class DocumentPermissionService {
20
- db;
21
- constructor(db) {
22
- this.db = db;
23
- }
24
- // ============================================
25
- // User Permission Operations
26
- // ============================================
27
- /**
28
- * Get the permission level for a user on a specific document.
29
- * Returns null if no permission is set.
30
- */
31
- async getUserPermission(documentId, userAddress) {
32
- const result = await this.db
33
- .selectFrom("DocumentPermission")
34
- .select("permission")
35
- .where("documentId", "=", documentId)
36
- .where("userAddress", "=", userAddress.toLowerCase())
37
- .executeTakeFirst();
38
- return result?.permission ?? null;
39
- }
40
- /**
41
- * Get all permissions for a document
42
- */
43
- async getDocumentPermissions(documentId) {
44
- const results = await this.db
45
- .selectFrom("DocumentPermission")
46
- .select([
47
- "documentId",
48
- "userAddress",
49
- "permission",
50
- "grantedBy",
51
- "createdAt",
52
- "updatedAt",
53
- ])
54
- .where("documentId", "=", documentId)
55
- .execute();
56
- return results;
57
- }
58
- /**
59
- * Get all documents a user has explicit access to
60
- */
61
- async getUserDocuments(userAddress) {
62
- const results = await this.db
63
- .selectFrom("DocumentPermission")
64
- .select([
65
- "documentId",
66
- "userAddress",
67
- "permission",
68
- "grantedBy",
69
- "createdAt",
70
- "updatedAt",
71
- ])
72
- .where("userAddress", "=", userAddress.toLowerCase())
73
- .execute();
74
- return results;
75
- }
76
- /**
77
- * Grant or update a user's permission on a document.
78
- */
79
- async grantPermission(documentId, userAddress, permission, grantedBy) {
80
- const now = new Date();
81
- const normalizedAddress = userAddress.toLowerCase();
82
- await this.db
83
- .insertInto("DocumentPermission")
84
- .values({
85
- documentId,
86
- userAddress: normalizedAddress,
87
- permission,
88
- grantedBy: grantedBy.toLowerCase(),
89
- createdAt: now,
90
- updatedAt: now,
91
- })
92
- .onConflict((oc) => oc.columns(["documentId", "userAddress"]).doUpdateSet({
93
- permission,
94
- grantedBy: grantedBy.toLowerCase(),
95
- updatedAt: now,
96
- }))
97
- .execute();
98
- const result = await this.db
99
- .selectFrom("DocumentPermission")
100
- .select([
101
- "documentId",
102
- "userAddress",
103
- "permission",
104
- "grantedBy",
105
- "createdAt",
106
- "updatedAt",
107
- ])
108
- .where("documentId", "=", documentId)
109
- .where("userAddress", "=", normalizedAddress)
110
- .executeTakeFirstOrThrow();
111
- return result;
112
- }
113
- /**
114
- * Revoke a user's permission on a document
115
- */
116
- async revokePermission(documentId, userAddress) {
117
- await this.db
118
- .deleteFrom("DocumentPermission")
119
- .where("documentId", "=", documentId)
120
- .where("userAddress", "=", userAddress.toLowerCase())
121
- .execute();
122
- }
123
- /**
124
- * Delete all permissions for a document (used when deleting a document)
125
- */
126
- async deleteAllDocumentPermissions(documentId) {
127
- await this.db
128
- .deleteFrom("DocumentPermission")
129
- .where("documentId", "=", documentId)
130
- .execute();
131
- await this.db
132
- .deleteFrom("DocumentGroupPermission")
133
- .where("documentId", "=", documentId)
134
- .execute();
135
- await this.db
136
- .deleteFrom("OperationUserPermission")
137
- .where("documentId", "=", documentId)
138
- .execute();
139
- await this.db
140
- .deleteFrom("OperationGroupPermission")
141
- .where("documentId", "=", documentId)
142
- .execute();
143
- }
144
- // ============================================
145
- // Access Control Checks
146
- // ============================================
147
- /**
148
- * Check if a user can read a document.
149
- * Returns true if user has READ, WRITE, or ADMIN permission (direct or via group)
150
- */
151
- async canReadDocument(documentId, userAddress) {
152
- if (!userAddress) {
153
- return false;
154
- }
155
- // Check direct user permission
156
- const directPermission = await this.getUserPermission(documentId, userAddress);
157
- if (directPermission !== null) {
158
- return true;
159
- }
160
- // Check group permission
161
- const groupPermission = await this.getUserGroupPermission(documentId, userAddress);
162
- return groupPermission !== null;
163
- }
164
- /**
165
- * Check if a user can write to a document.
166
- * Returns true if user has WRITE or ADMIN permission (direct or via group)
167
- */
168
- async canWriteDocument(documentId, userAddress) {
169
- if (!userAddress) {
170
- return false;
171
- }
172
- // Check direct user permission
173
- const directPermission = await this.getUserPermission(documentId, userAddress);
174
- if (directPermission === "WRITE" || directPermission === "ADMIN") {
175
- return true;
176
- }
177
- // Check group permission
178
- const groupPermission = await this.getUserGroupPermission(documentId, userAddress);
179
- return groupPermission === "WRITE" || groupPermission === "ADMIN";
180
- }
181
- /**
182
- * Check if a user can manage a document (change permissions, settings).
183
- * Returns true if user has ADMIN permission (direct or via group)
184
- */
185
- async canManageDocument(documentId, userAddress) {
186
- if (!userAddress) {
187
- return false;
188
- }
189
- // Check direct user permission
190
- const directPermission = await this.getUserPermission(documentId, userAddress);
191
- if (directPermission === "ADMIN") {
192
- return true;
193
- }
194
- // Check group permission
195
- const groupPermission = await this.getUserGroupPermission(documentId, userAddress);
196
- return groupPermission === "ADMIN";
197
- }
198
- // ============================================
199
- // Access Control Checks (With Parent Hierarchy)
200
- // ============================================
201
- /**
202
- * Check if a user can read a document, including parent permission inheritance.
203
- * Returns true if user has permission on the document OR any parent in the hierarchy.
204
- */
205
- async canRead(documentId, userAddress, getParentIds) {
206
- // Check if user has direct permission on this document
207
- const canReadThis = await this.canReadDocument(documentId, userAddress);
208
- if (canReadThis) {
209
- return true;
210
- }
211
- // Check if user has permission on any parent (inheritance)
212
- const parentIds = await getParentIds(documentId);
213
- for (const parentId of parentIds) {
214
- const canReadParent = await this.canRead(parentId, userAddress, getParentIds);
215
- if (canReadParent) {
216
- return true;
217
- }
218
- }
219
- return false;
220
- }
221
- /**
222
- * Check if a user can write to a document, including parent permission inheritance.
223
- * Returns true if user has write permission on the document OR any parent in the hierarchy.
224
- */
225
- async canWrite(documentId, userAddress, getParentIds) {
226
- // Check if user has direct write permission on this document
227
- const canWriteThis = await this.canWriteDocument(documentId, userAddress);
228
- if (canWriteThis) {
229
- return true;
230
- }
231
- // Check if user has write permission on any parent (inheritance)
232
- const parentIds = await getParentIds(documentId);
233
- for (const parentId of parentIds) {
234
- const canWriteParent = await this.canWrite(parentId, userAddress, getParentIds);
235
- if (canWriteParent) {
236
- return true;
237
- }
238
- }
239
- return false;
240
- }
241
- /**
242
- * Filter a list of document IDs to only include those the user can read.
243
- */
244
- async filterReadableDocuments(documentIds, userAddress, getParentIds) {
245
- const results = [];
246
- for (const docId of documentIds) {
247
- const canReadDoc = await this.canRead(docId, userAddress, getParentIds);
248
- if (canReadDoc) {
249
- results.push(docId);
250
- }
251
- }
252
- return results;
253
- }
254
- // ============================================
255
- // Group Management
256
- // ============================================
257
- /**
258
- * Create a new group
259
- */
260
- async createGroup(name, description) {
261
- const now = new Date();
262
- await this.db
263
- .insertInto("Group")
264
- .values({
265
- name,
266
- description: description ?? null,
267
- createdAt: now,
268
- updatedAt: now,
269
- })
270
- .execute();
271
- const result = await this.db
272
- .selectFrom("Group")
273
- .select(["id", "name", "description", "createdAt", "updatedAt"])
274
- .where("name", "=", name)
275
- .executeTakeFirstOrThrow();
276
- return result;
277
- }
278
- /**
279
- * Delete a group and all its associations
280
- */
281
- async deleteGroup(groupId) {
282
- // Delete group permissions on operations
283
- await this.db
284
- .deleteFrom("OperationGroupPermission")
285
- .where("groupId", "=", groupId)
286
- .execute();
287
- // Delete group document permissions
288
- await this.db
289
- .deleteFrom("DocumentGroupPermission")
290
- .where("groupId", "=", groupId)
291
- .execute();
292
- // Delete user-group memberships
293
- await this.db
294
- .deleteFrom("UserGroup")
295
- .where("groupId", "=", groupId)
296
- .execute();
297
- // Delete the group
298
- await this.db.deleteFrom("Group").where("id", "=", groupId).execute();
299
- }
300
- /**
301
- * Get a group by ID
302
- */
303
- async getGroup(groupId) {
304
- const result = await this.db
305
- .selectFrom("Group")
306
- .select(["id", "name", "description", "createdAt", "updatedAt"])
307
- .where("id", "=", groupId)
308
- .executeTakeFirst();
309
- return result ?? null;
310
- }
311
- /**
312
- * List all groups
313
- */
314
- async listGroups() {
315
- return this.db
316
- .selectFrom("Group")
317
- .select(["id", "name", "description", "createdAt", "updatedAt"])
318
- .execute();
319
- }
320
- /**
321
- * Add a user to a group
322
- */
323
- async addUserToGroup(userAddress, groupId) {
324
- const now = new Date();
325
- const normalizedAddress = userAddress.toLowerCase();
326
- await this.db
327
- .insertInto("UserGroup")
328
- .values({
329
- userAddress: normalizedAddress,
330
- groupId,
331
- createdAt: now,
332
- })
333
- .onConflict((oc) => oc.columns(["userAddress", "groupId"]).doNothing())
334
- .execute();
335
- }
336
- /**
337
- * Remove a user from a group
338
- */
339
- async removeUserFromGroup(userAddress, groupId) {
340
- await this.db
341
- .deleteFrom("UserGroup")
342
- .where("userAddress", "=", userAddress.toLowerCase())
343
- .where("groupId", "=", groupId)
344
- .execute();
345
- }
346
- /**
347
- * Get all groups a user belongs to
348
- */
349
- async getUserGroups(userAddress) {
350
- return this.db
351
- .selectFrom("UserGroup")
352
- .innerJoin("Group", "Group.id", "UserGroup.groupId")
353
- .select([
354
- "Group.id",
355
- "Group.name",
356
- "Group.description",
357
- "Group.createdAt",
358
- "Group.updatedAt",
359
- ])
360
- .where("UserGroup.userAddress", "=", userAddress.toLowerCase())
361
- .execute();
362
- }
363
- /**
364
- * Get all members of a group
365
- */
366
- async getGroupMembers(groupId) {
367
- const results = await this.db
368
- .selectFrom("UserGroup")
369
- .select("userAddress")
370
- .where("groupId", "=", groupId)
371
- .execute();
372
- return results.map((r) => r.userAddress);
373
- }
374
- // ============================================
375
- // Group Document Permissions
376
- // ============================================
377
- /**
378
- * Grant a group permission on a document
379
- */
380
- async grantGroupPermission(documentId, groupId, permission, grantedBy) {
381
- const now = new Date();
382
- await this.db
383
- .insertInto("DocumentGroupPermission")
384
- .values({
385
- documentId,
386
- groupId,
387
- permission,
388
- grantedBy: grantedBy.toLowerCase(),
389
- createdAt: now,
390
- updatedAt: now,
391
- })
392
- .onConflict((oc) => oc.columns(["documentId", "groupId"]).doUpdateSet({
393
- permission,
394
- grantedBy: grantedBy.toLowerCase(),
395
- updatedAt: now,
396
- }))
397
- .execute();
398
- const result = await this.db
399
- .selectFrom("DocumentGroupPermission")
400
- .select([
401
- "documentId",
402
- "groupId",
403
- "permission",
404
- "grantedBy",
405
- "createdAt",
406
- "updatedAt",
407
- ])
408
- .where("documentId", "=", documentId)
409
- .where("groupId", "=", groupId)
410
- .executeTakeFirstOrThrow();
411
- return result;
412
- }
413
- /**
414
- * Revoke a group's permission on a document
415
- */
416
- async revokeGroupPermission(documentId, groupId) {
417
- await this.db
418
- .deleteFrom("DocumentGroupPermission")
419
- .where("documentId", "=", documentId)
420
- .where("groupId", "=", groupId)
421
- .execute();
422
- }
423
- /**
424
- * Get all group permissions for a document
425
- */
426
- async getDocumentGroupPermissions(documentId) {
427
- return this.db
428
- .selectFrom("DocumentGroupPermission")
429
- .select([
430
- "documentId",
431
- "groupId",
432
- "permission",
433
- "grantedBy",
434
- "createdAt",
435
- "updatedAt",
436
- ])
437
- .where("documentId", "=", documentId)
438
- .execute();
439
- }
440
- /**
441
- * Get best permission level a user has on a document via groups
442
- */
443
- async getUserGroupPermission(documentId, userAddress) {
444
- const result = await this.db
445
- .selectFrom("DocumentGroupPermission")
446
- .innerJoin("UserGroup", "UserGroup.groupId", "DocumentGroupPermission.groupId")
447
- .select("DocumentGroupPermission.permission")
448
- .where("DocumentGroupPermission.documentId", "=", documentId)
449
- .where("UserGroup.userAddress", "=", userAddress.toLowerCase())
450
- .execute();
451
- if (result.length === 0) {
452
- return null;
453
- }
454
- // Return highest permission level
455
- if (result.some((r) => r.permission === "ADMIN"))
456
- return "ADMIN";
457
- if (result.some((r) => r.permission === "WRITE"))
458
- return "WRITE";
459
- return "READ";
460
- }
461
- // ============================================
462
- // Operation Permissions
463
- // ============================================
464
- /**
465
- * Grant a user permission to execute an operation on a document
466
- */
467
- async grantOperationPermission(documentId, operationType, userAddress, grantedBy) {
468
- const now = new Date();
469
- const normalizedAddress = userAddress.toLowerCase();
470
- await this.db
471
- .insertInto("OperationUserPermission")
472
- .values({
473
- documentId,
474
- operationType,
475
- userAddress: normalizedAddress,
476
- grantedBy: grantedBy.toLowerCase(),
477
- createdAt: now,
478
- })
479
- .onConflict((oc) => oc.columns(["documentId", "operationType", "userAddress"]).doNothing())
480
- .execute();
481
- const result = await this.db
482
- .selectFrom("OperationUserPermission")
483
- .select([
484
- "documentId",
485
- "operationType",
486
- "userAddress",
487
- "grantedBy",
488
- "createdAt",
489
- ])
490
- .where("documentId", "=", documentId)
491
- .where("operationType", "=", operationType)
492
- .where("userAddress", "=", normalizedAddress)
493
- .executeTakeFirstOrThrow();
494
- return result;
495
- }
496
- /**
497
- * Revoke a user's permission to execute an operation
498
- */
499
- async revokeOperationPermission(documentId, operationType, userAddress) {
500
- await this.db
501
- .deleteFrom("OperationUserPermission")
502
- .where("documentId", "=", documentId)
503
- .where("operationType", "=", operationType)
504
- .where("userAddress", "=", userAddress.toLowerCase())
505
- .execute();
506
- }
507
- /**
508
- * Grant a group permission to execute an operation on a document
509
- */
510
- async grantGroupOperationPermission(documentId, operationType, groupId, grantedBy) {
511
- const now = new Date();
512
- await this.db
513
- .insertInto("OperationGroupPermission")
514
- .values({
515
- documentId,
516
- operationType,
517
- groupId,
518
- grantedBy: grantedBy.toLowerCase(),
519
- createdAt: now,
520
- })
521
- .onConflict((oc) => oc.columns(["documentId", "operationType", "groupId"]).doNothing())
522
- .execute();
523
- const result = await this.db
524
- .selectFrom("OperationGroupPermission")
525
- .select([
526
- "documentId",
527
- "operationType",
528
- "groupId",
529
- "grantedBy",
530
- "createdAt",
531
- ])
532
- .where("documentId", "=", documentId)
533
- .where("operationType", "=", operationType)
534
- .where("groupId", "=", groupId)
535
- .executeTakeFirstOrThrow();
536
- return result;
537
- }
538
- /**
539
- * Revoke a group's permission to execute an operation
540
- */
541
- async revokeGroupOperationPermission(documentId, operationType, groupId) {
542
- await this.db
543
- .deleteFrom("OperationGroupPermission")
544
- .where("documentId", "=", documentId)
545
- .where("operationType", "=", operationType)
546
- .where("groupId", "=", groupId)
547
- .execute();
548
- }
549
- /**
550
- * Get all users with permission to execute an operation
551
- */
552
- async getOperationUserPermissions(documentId, operationType) {
553
- return this.db
554
- .selectFrom("OperationUserPermission")
555
- .select([
556
- "documentId",
557
- "operationType",
558
- "userAddress",
559
- "grantedBy",
560
- "createdAt",
561
- ])
562
- .where("documentId", "=", documentId)
563
- .where("operationType", "=", operationType)
564
- .execute();
565
- }
566
- /**
567
- * Get all groups with permission to execute an operation
568
- */
569
- async getOperationGroupPermissions(documentId, operationType) {
570
- return this.db
571
- .selectFrom("OperationGroupPermission")
572
- .select([
573
- "documentId",
574
- "operationType",
575
- "groupId",
576
- "grantedBy",
577
- "createdAt",
578
- ])
579
- .where("documentId", "=", documentId)
580
- .where("operationType", "=", operationType)
581
- .execute();
582
- }
583
- /**
584
- * Check if a user can execute a specific operation on a document.
585
- * Returns true if user has direct permission or is in a group with permission.
586
- */
587
- async canExecuteOperation(documentId, operationType, userAddress) {
588
- if (!userAddress) {
589
- return false;
590
- }
591
- const normalizedAddress = userAddress.toLowerCase();
592
- // Check direct user permission
593
- const userPermission = await this.db
594
- .selectFrom("OperationUserPermission")
595
- .select("userAddress")
596
- .where("documentId", "=", documentId)
597
- .where("operationType", "=", operationType)
598
- .where("userAddress", "=", normalizedAddress)
599
- .executeTakeFirst();
600
- if (userPermission) {
601
- return true;
602
- }
603
- // Check group permission
604
- const groupPermission = await this.db
605
- .selectFrom("OperationGroupPermission")
606
- .innerJoin("UserGroup", "UserGroup.groupId", "OperationGroupPermission.groupId")
607
- .select("OperationGroupPermission.groupId")
608
- .where("OperationGroupPermission.documentId", "=", documentId)
609
- .where("OperationGroupPermission.operationType", "=", operationType)
610
- .where("UserGroup.userAddress", "=", normalizedAddress)
611
- .executeTakeFirst();
612
- return !!groupPermission;
613
- }
614
- /**
615
- * Check if an operation has any permissions set (is restricted)
616
- */
617
- async isOperationRestricted(documentId, operationType) {
618
- const userPermCount = await this.db
619
- .selectFrom("OperationUserPermission")
620
- .select(sql `count(*)`.as("count"))
621
- .where("documentId", "=", documentId)
622
- .where("operationType", "=", operationType)
623
- .executeTakeFirst();
624
- if (userPermCount && Number(userPermCount.count) > 0) {
625
- return true;
626
- }
627
- const groupPermCount = await this.db
628
- .selectFrom("OperationGroupPermission")
629
- .select(sql `count(*)`.as("count"))
630
- .where("documentId", "=", documentId)
631
- .where("operationType", "=", operationType)
632
- .executeTakeFirst();
633
- return groupPermCount !== undefined && Number(groupPermCount.count) > 0;
634
- }
635
- }
636
- //# sourceMappingURL=document-permission.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"document-permission.service.js","sourceRoot":"","sources":["../../../src/services/document-permission.service.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- import type { Operation } from "document-model";
2
- export type InternalStrandUpdate = {
3
- operations: Operation[];
4
- documentId: string;
5
- documentType: string;
6
- driveId: string;
7
- scope: string;
8
- branch: string;
9
- };
10
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/sync/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,MAAM,oBAAoB,GAAG;IACjC,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/sync/types.ts"],"names":[],"mappings":""}