@seedprotocol/sdk 0.3.2 → 0.3.4

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 (391) hide show
  1. package/dist/bin.js +28 -126
  2. package/dist/bin.js.map +1 -1
  3. package/dist/main.js +15 -24
  4. package/dist/main.js.map +1 -1
  5. package/dist/src/Item/BaseItem.js +309 -0
  6. package/dist/src/Item/BaseItem.js.map +1 -0
  7. package/dist/src/Item/index.js +4 -0
  8. package/dist/src/Item/index.js.map +1 -0
  9. package/dist/src/Item/queries.js +94 -0
  10. package/dist/src/Item/queries.js.map +1 -0
  11. package/dist/src/Item/service/actors/fetchDataFromEas.js +74 -0
  12. package/dist/src/Item/service/actors/fetchDataFromEas.js.map +1 -0
  13. package/dist/src/Item/service/actors/hydrateExistingItem.js +119 -0
  14. package/dist/src/Item/service/actors/hydrateExistingItem.js.map +1 -0
  15. package/dist/src/Item/service/actors/hydrateNewItem.js +28 -0
  16. package/dist/src/Item/service/actors/hydrateNewItem.js.map +1 -0
  17. package/dist/src/Item/service/actors/initialize.js +39 -0
  18. package/dist/src/Item/service/actors/initialize.js.map +1 -0
  19. package/dist/src/Item/service/actors/reload.js +26 -0
  20. package/dist/src/Item/service/actors/reload.js.map +1 -0
  21. package/dist/src/Item/service/actors/waitForDb.js +22 -0
  22. package/dist/src/Item/service/actors/waitForDb.js.map +1 -0
  23. package/dist/src/Item/service/itemMachineSingle.js +154 -0
  24. package/dist/src/Item/service/itemMachineSingle.js.map +1 -0
  25. package/dist/src/ItemProperty/BaseItemProperty.d.ts.map +1 -1
  26. package/dist/src/ItemProperty/BaseItemProperty.js +306 -0
  27. package/dist/src/ItemProperty/BaseItemProperty.js.map +1 -0
  28. package/dist/src/ItemProperty/service/actors/hydrateFromDb.d.ts.map +1 -1
  29. package/dist/src/ItemProperty/service/actors/hydrateFromDb.js +196 -0
  30. package/dist/src/ItemProperty/service/actors/hydrateFromDb.js.map +1 -0
  31. package/dist/src/ItemProperty/service/actors/initialize.d.ts.map +1 -1
  32. package/dist/src/ItemProperty/service/actors/initialize.js +60 -0
  33. package/dist/src/ItemProperty/service/actors/initialize.js.map +1 -0
  34. package/dist/src/ItemProperty/service/actors/resolveRelatedValue.d.ts.map +1 -1
  35. package/dist/src/ItemProperty/service/actors/resolveRelatedValue.js +317 -0
  36. package/dist/src/ItemProperty/service/actors/resolveRelatedValue.js.map +1 -0
  37. package/dist/src/ItemProperty/service/actors/resolveRemoteStorage.d.ts.map +1 -1
  38. package/dist/src/ItemProperty/service/actors/resolveRemoteStorage.js +62 -0
  39. package/dist/src/ItemProperty/service/actors/resolveRemoteStorage.js.map +1 -0
  40. package/dist/src/ItemProperty/service/actors/saveValueToDb/analyzeInput.js +100 -0
  41. package/dist/src/ItemProperty/service/actors/saveValueToDb/analyzeInput.js.map +1 -0
  42. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveImageSrc.d.ts.map +1 -1
  43. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveImageSrc.js +178 -0
  44. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveImageSrc.js.map +1 -0
  45. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveItemStorage.d.ts.map +1 -1
  46. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveItemStorage.js +117 -0
  47. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveItemStorage.js.map +1 -0
  48. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveRelation.js +81 -0
  49. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveRelation.js.map +1 -0
  50. package/dist/src/ItemProperty/service/actors/waitForDb.js +22 -0
  51. package/dist/src/ItemProperty/service/actors/waitForDb.js.map +1 -0
  52. package/dist/src/ItemProperty/service/propertyMachine.js +198 -0
  53. package/dist/src/ItemProperty/service/propertyMachine.js.map +1 -0
  54. package/dist/src/browser/Item/Item.js +11 -0
  55. package/dist/src/browser/Item/Item.js.map +1 -0
  56. package/dist/src/browser/Item/index.js +2 -0
  57. package/dist/src/browser/Item/index.js.map +1 -0
  58. package/dist/src/browser/ItemProperty/ItemProperty.js +11 -0
  59. package/dist/src/browser/ItemProperty/ItemProperty.js.map +1 -0
  60. package/dist/src/browser/db/Db.d.ts +10 -5
  61. package/dist/src/browser/db/Db.d.ts.map +1 -1
  62. package/dist/src/browser/db/Db.js +218 -0
  63. package/dist/src/browser/db/Db.js.map +1 -0
  64. package/dist/src/browser/db/sqlWasmClient.d.ts +0 -12
  65. package/dist/src/browser/db/sqlWasmClient.d.ts.map +1 -1
  66. package/dist/{ArweaveClient-C0g0es2v.js → src/browser/helpers/ArweaveClient.js} +3 -3
  67. package/dist/{ArweaveClient-C0g0es2v.js.map → src/browser/helpers/ArweaveClient.js.map} +1 -1
  68. package/dist/src/browser/helpers/FileManager.d.ts +2 -0
  69. package/dist/src/browser/helpers/FileManager.d.ts.map +1 -1
  70. package/dist/src/browser/helpers/FileManager.js +308 -0
  71. package/dist/src/browser/helpers/FileManager.js.map +1 -0
  72. package/dist/src/browser/helpers/QueryClient.d.ts.map +1 -1
  73. package/dist/{QueryClient-hzOtFe99.js → src/browser/helpers/QueryClient.js} +2 -5
  74. package/dist/src/browser/helpers/QueryClient.js.map +1 -0
  75. package/dist/src/browser/index.d.ts +2 -1
  76. package/dist/src/browser/index.d.ts.map +1 -1
  77. package/dist/src/browser/react/db.js +6 -0
  78. package/dist/src/browser/react/db.js.map +1 -0
  79. package/dist/src/browser/react/item.js +260 -0
  80. package/dist/src/browser/react/item.js.map +1 -0
  81. package/dist/src/browser/react/property.js +107 -0
  82. package/dist/src/browser/react/property.js.map +1 -0
  83. package/dist/src/browser/react/services.d.ts.map +1 -1
  84. package/dist/src/browser/react/services.js +299 -0
  85. package/dist/src/browser/react/services.js.map +1 -0
  86. package/dist/src/browser/react/trash.js +25 -0
  87. package/dist/src/browser/react/trash.js.map +1 -0
  88. package/dist/src/browser/workers/FileDownloader.js +49 -0
  89. package/dist/src/browser/workers/FileDownloader.js.map +1 -0
  90. package/dist/src/browser/workers/ImageResizer.d.ts.map +1 -1
  91. package/dist/src/browser/workers/ImageResizer.js +62 -0
  92. package/dist/src/browser/workers/ImageResizer.js.map +1 -0
  93. package/dist/src/browser/workers/dbWorker.d.ts +1 -0
  94. package/dist/src/browser/workers/dbWorker.d.ts.map +1 -0
  95. package/dist/src/browser/workers/filesDownload.js +241 -0
  96. package/dist/src/browser/workers/filesDownload.js.map +1 -0
  97. package/dist/src/browser/workers/imageResize.js +379 -0
  98. package/dist/src/browser/workers/imageResize.js.map +1 -0
  99. package/dist/src/client/ClientManager.d.ts +12 -12
  100. package/dist/src/client/ClientManager.d.ts.map +1 -1
  101. package/dist/src/client/ClientManager.js +59 -0
  102. package/dist/src/client/ClientManager.js.map +1 -0
  103. package/dist/src/client/actions/setAddresses.js +19 -0
  104. package/dist/src/client/actions/setAddresses.js.map +1 -0
  105. package/dist/src/client/actors/initialize.d.ts.map +1 -1
  106. package/dist/src/client/actors/initialize.js +84 -0
  107. package/dist/src/client/actors/initialize.js.map +1 -0
  108. package/dist/src/client/actors/saveAppState.js +44 -0
  109. package/dist/src/client/actors/saveAppState.js.map +1 -0
  110. package/dist/src/client/clientManagerMachine.js +61 -0
  111. package/dist/src/client/clientManagerMachine.js.map +1 -0
  112. package/dist/src/db/Db/BaseDb.d.ts +1 -2
  113. package/dist/src/db/Db/BaseDb.d.ts.map +1 -1
  114. package/dist/src/db/Db/BaseDb.js +22 -0
  115. package/dist/src/db/Db/BaseDb.js.map +1 -0
  116. package/dist/{seed.schema.config-DzDX8e7g.js → src/db/configs/seed.schema.config.js} +3 -25
  117. package/dist/src/db/configs/seed.schema.config.js.map +1 -0
  118. package/dist/src/db/read/getExistingItem.js +29 -0
  119. package/dist/src/db/read/getExistingItem.js.map +1 -0
  120. package/dist/src/db/read/getItem.js +26 -0
  121. package/dist/src/db/read/getItem.js.map +1 -0
  122. package/dist/src/db/read/getItemData.js +84 -0
  123. package/dist/src/db/read/getItemData.js.map +1 -0
  124. package/dist/src/db/read/getItemProperties.js +49 -0
  125. package/dist/src/db/read/getItemProperties.js.map +1 -0
  126. package/dist/src/db/read/getItemProperty.js +30 -0
  127. package/dist/src/db/read/getItemProperty.js.map +1 -0
  128. package/dist/src/db/read/getItems.js +49 -0
  129. package/dist/src/db/read/getItems.js.map +1 -0
  130. package/dist/src/db/read/getMetadata.js +32 -0
  131. package/dist/src/db/read/getMetadata.js.map +1 -0
  132. package/dist/src/db/read/getModelSchemas.js +69 -0
  133. package/dist/src/db/read/getModelSchemas.js.map +1 -0
  134. package/dist/src/db/read/getPropertyData.js +38 -0
  135. package/dist/src/db/read/getPropertyData.js.map +1 -0
  136. package/dist/src/db/read/getPublishPayload.js +213 -0
  137. package/dist/src/db/read/getPublishPayload.js.map +1 -0
  138. package/dist/src/db/read/getPublishUploads.d.ts.map +1 -1
  139. package/dist/src/db/read/getPublishUploads.js +134 -0
  140. package/dist/src/db/read/getPublishUploads.js.map +1 -0
  141. package/dist/src/db/read/getRelationValueData.js +30 -0
  142. package/dist/src/db/read/getRelationValueData.js.map +1 -0
  143. package/dist/src/db/read/getSchemaUidForModel.js +28 -0
  144. package/dist/src/db/read/getSchemaUidForModel.js.map +1 -0
  145. package/dist/src/db/read/getSeedData.js +28 -0
  146. package/dist/src/db/read/getSeedData.js.map +1 -0
  147. package/dist/src/db/read/getStorageTransactionIdForSeedUid.js +30 -0
  148. package/dist/src/db/read/getStorageTransactionIdForSeedUid.js.map +1 -0
  149. package/dist/src/db/read/getVersionData.js +33 -0
  150. package/dist/src/db/read/getVersionData.js.map +1 -0
  151. package/dist/src/db/read/subqueries/metadataLatest.js +35 -0
  152. package/dist/src/db/read/subqueries/metadataLatest.js.map +1 -0
  153. package/dist/src/db/read/subqueries/versionData.js +27 -0
  154. package/dist/src/db/read/subqueries/versionData.js.map +1 -0
  155. package/dist/src/db/write/createMetadata.d.ts.map +1 -1
  156. package/dist/src/db/write/createMetadata.js +63 -0
  157. package/dist/src/db/write/createMetadata.js.map +1 -0
  158. package/dist/src/db/write/createNewItem.js +38 -0
  159. package/dist/src/db/write/createNewItem.js.map +1 -0
  160. package/dist/src/db/write/createSeed.js +29 -0
  161. package/dist/src/db/write/createSeed.js.map +1 -0
  162. package/dist/src/db/write/createSeeds.js +25 -0
  163. package/dist/src/db/write/createSeeds.js.map +1 -0
  164. package/dist/src/db/write/createVersion.js +25 -0
  165. package/dist/src/db/write/createVersion.js.map +1 -0
  166. package/dist/src/db/write/deleteItem.js +21 -0
  167. package/dist/src/db/write/deleteItem.js.map +1 -0
  168. package/dist/src/db/write/saveAppState.js +26 -0
  169. package/dist/src/db/write/saveAppState.js.map +1 -0
  170. package/dist/src/db/write/saveMetadata.js +22 -0
  171. package/dist/src/db/write/saveMetadata.js.map +1 -0
  172. package/dist/src/db/write/updateItemPropertyValue.js +161 -0
  173. package/dist/src/db/write/updateItemPropertyValue.js.map +1 -0
  174. package/dist/src/db/write/updateMetadata.js +25 -0
  175. package/dist/src/db/write/updateMetadata.js.map +1 -0
  176. package/dist/src/eventBus.js +6 -0
  177. package/dist/src/eventBus.js.map +1 -0
  178. package/dist/src/events/files/download.js +161 -0
  179. package/dist/src/events/files/download.js.map +1 -0
  180. package/dist/src/events/files/index.d.ts.map +1 -1
  181. package/dist/src/events/files/index.js +61 -0
  182. package/dist/src/events/files/index.js.map +1 -0
  183. package/dist/src/events/index.js +28 -0
  184. package/dist/src/events/index.js.map +1 -0
  185. package/dist/src/events/item/index.js +28 -0
  186. package/dist/src/events/item/index.js.map +1 -0
  187. package/dist/src/events/item/publish.js +19 -0
  188. package/dist/src/events/item/publish.js.map +1 -0
  189. package/dist/src/events/item/syncDbWithEas.js +428 -0
  190. package/dist/src/events/item/syncDbWithEas.js.map +1 -0
  191. package/dist/src/events/services/allItems.js +20 -0
  192. package/dist/src/events/services/allItems.js.map +1 -0
  193. package/dist/src/events/services/index.js +9 -0
  194. package/dist/src/events/services/index.js.map +1 -0
  195. package/dist/src/graphql/gql/gql.js +38 -0
  196. package/dist/src/graphql/gql/gql.js.map +1 -0
  197. package/dist/src/graphql/gql/graphql.js +106 -0
  198. package/dist/src/graphql/gql/graphql.js.map +1 -0
  199. package/dist/src/helpers/ArweaveClient/BaseArweaveClient.js +11 -0
  200. package/dist/src/helpers/ArweaveClient/BaseArweaveClient.js.map +1 -0
  201. package/dist/src/helpers/ArweaveClient/index.js +45 -0
  202. package/dist/src/helpers/ArweaveClient/index.js.map +1 -0
  203. package/dist/src/helpers/ArweaveClient/queries.js +16 -0
  204. package/dist/src/helpers/ArweaveClient/queries.js.map +1 -0
  205. package/dist/src/helpers/EasClient/BaseEasClient.js +14 -0
  206. package/dist/src/helpers/EasClient/BaseEasClient.js.map +1 -0
  207. package/dist/src/helpers/FileManager/BaseFileManager.d.ts +3 -0
  208. package/dist/src/helpers/FileManager/BaseFileManager.d.ts.map +1 -1
  209. package/dist/src/helpers/FileManager/BaseFileManager.js +55 -0
  210. package/dist/src/helpers/FileManager/BaseFileManager.js.map +1 -0
  211. package/dist/src/helpers/QueryClient/BaseQueryClient.js +11 -0
  212. package/dist/src/helpers/QueryClient/BaseQueryClient.js.map +1 -0
  213. package/dist/src/helpers/constants.js +73 -0
  214. package/dist/src/helpers/constants.js.map +1 -0
  215. package/dist/src/helpers/db.js +43 -0
  216. package/dist/src/helpers/db.js.map +1 -0
  217. package/dist/src/helpers/environment.js +24 -0
  218. package/dist/src/helpers/environment.js.map +1 -0
  219. package/dist/src/helpers/files.d.ts.map +1 -1
  220. package/dist/src/helpers/getSchemaForItemProperty.js +51 -0
  221. package/dist/src/helpers/getSchemaForItemProperty.js.map +1 -0
  222. package/dist/src/helpers/getSegmentedItemProperties.js +50 -0
  223. package/dist/src/helpers/getSegmentedItemProperties.js.map +1 -0
  224. package/dist/src/helpers/index.d.ts.map +1 -1
  225. package/dist/src/helpers/index.js +101 -0
  226. package/dist/src/helpers/index.js.map +1 -0
  227. package/dist/src/helpers/updateMachineContext.js +20 -0
  228. package/dist/src/helpers/updateMachineContext.js.map +1 -0
  229. package/dist/src/index.d.ts +1 -5
  230. package/dist/src/index.d.ts.map +1 -1
  231. package/dist/src/interfaces/IDb.d.ts.map +1 -1
  232. package/dist/src/node/codegen/drizzle.d.ts.map +1 -1
  233. package/dist/src/node/codegen/drizzle.js +58 -0
  234. package/dist/src/node/codegen/drizzle.js.map +1 -0
  235. package/dist/src/node/constants.js +29 -0
  236. package/dist/src/node/constants.js.map +1 -0
  237. package/dist/src/node/db/Db.d.ts +5 -6
  238. package/dist/src/node/db/Db.d.ts.map +1 -1
  239. package/dist/{ArweaveClient-CzkBgiZY.js → src/node/helpers/ArweaveClient.js} +3 -3
  240. package/dist/{ArweaveClient-CzkBgiZY.js.map → src/node/helpers/ArweaveClient.js.map} +1 -1
  241. package/dist/{EasClient-DQ93i2ci.js → src/node/helpers/EasClient.js} +3 -3
  242. package/dist/{EasClient-DQ93i2ci.js.map → src/node/helpers/EasClient.js.map} +1 -1
  243. package/dist/src/node/helpers/FileManager.d.ts.map +1 -1
  244. package/dist/{QueryClient-Bmnv_moN.js → src/node/helpers/QueryClient.js} +2 -4
  245. package/dist/{QueryClient-Bmnv_moN.js.map → src/node/helpers/QueryClient.js.map} +1 -1
  246. package/dist/src/node/helpers/index.d.ts.map +1 -1
  247. package/dist/src/node/helpers/index.js +28 -0
  248. package/dist/src/node/helpers/index.js.map +1 -0
  249. package/dist/src/node/seed.d.ts +0 -6
  250. package/dist/src/node/seed.d.ts.map +1 -1
  251. package/dist/src/node/webpack/index.d.ts.map +1 -1
  252. package/dist/src/node/webpack/index.js +89 -0
  253. package/dist/src/node/webpack/index.js.map +1 -0
  254. package/dist/src/schema/file/fetchAll/actors.d.ts.map +1 -1
  255. package/dist/src/schema/file/queries.js +48 -0
  256. package/dist/src/schema/file/queries.js.map +1 -0
  257. package/dist/src/schema/model/index.js +44 -0
  258. package/dist/src/schema/model/index.js.map +1 -0
  259. package/dist/src/schema/property/index.js +82 -0
  260. package/dist/src/schema/property/index.js.map +1 -0
  261. package/dist/src/seedSchema/AppStateSchema.js +11 -0
  262. package/dist/src/seedSchema/AppStateSchema.js.map +1 -0
  263. package/dist/src/seedSchema/MetadataSchema.js +29 -0
  264. package/dist/src/seedSchema/MetadataSchema.js.map +1 -0
  265. package/dist/src/seedSchema/ModelSchema.js +33 -0
  266. package/dist/src/seedSchema/ModelSchema.js.map +1 -0
  267. package/dist/src/seedSchema/ModelUidSchema.js +18 -0
  268. package/dist/src/seedSchema/ModelUidSchema.js.map +1 -0
  269. package/dist/src/seedSchema/SeedSchema.js +16 -0
  270. package/dist/src/seedSchema/SeedSchema.js.map +1 -0
  271. package/dist/src/seedSchema/VersionSchema.js +17 -0
  272. package/dist/src/seedSchema/VersionSchema.js.map +1 -0
  273. package/dist/src/services/allItems/actors/fetchDbData.js +13 -0
  274. package/dist/src/services/allItems/actors/fetchDbData.js.map +1 -0
  275. package/dist/src/services/allItems/actors/fetchRelatedItems.js +137 -0
  276. package/dist/src/services/allItems/actors/fetchRelatedItems.js.map +1 -0
  277. package/dist/src/services/allItems/actors/fetchSeeds.js +31 -0
  278. package/dist/src/services/allItems/actors/fetchSeeds.js.map +1 -0
  279. package/dist/src/services/allItems/actors/fetchVersions.js +35 -0
  280. package/dist/src/services/allItems/actors/fetchVersions.js.map +1 -0
  281. package/dist/src/services/allItems/actors/initialize.js +144 -0
  282. package/dist/src/services/allItems/actors/initialize.js.map +1 -0
  283. package/dist/src/services/allItems/actors/processItems.js +55 -0
  284. package/dist/src/services/allItems/actors/processItems.js.map +1 -0
  285. package/dist/src/services/allItems/itemMachineAll.js +153 -0
  286. package/dist/src/services/allItems/itemMachineAll.js.map +1 -0
  287. package/dist/src/services/db/actors/checkStatus.d.ts.map +1 -1
  288. package/dist/src/services/db/actors/checkStatus.js +41 -0
  289. package/dist/src/services/db/actors/checkStatus.js.map +1 -0
  290. package/dist/src/services/db/actors/connectToDb.d.ts.map +1 -1
  291. package/dist/src/services/db/actors/connectToDb.js +31 -0
  292. package/dist/src/services/db/actors/connectToDb.js.map +1 -0
  293. package/dist/src/services/db/actors/migrate.d.ts.map +1 -1
  294. package/dist/src/services/db/actors/migrate.js +40 -0
  295. package/dist/src/services/db/actors/migrate.js.map +1 -0
  296. package/dist/src/services/db/actors/validate.d.ts.map +1 -1
  297. package/dist/src/services/db/actors/validate.js +40 -0
  298. package/dist/src/services/db/actors/validate.js.map +1 -0
  299. package/dist/src/services/db/actors/waitForFiles.d.ts.map +1 -1
  300. package/dist/src/services/db/actors/waitForFiles.js +32 -0
  301. package/dist/src/services/db/actors/waitForFiles.js.map +1 -0
  302. package/dist/src/services/db/dbMachine.d.ts.map +1 -1
  303. package/dist/src/services/db/dbMachine.js +156 -0
  304. package/dist/src/services/db/dbMachine.js.map +1 -0
  305. package/dist/src/services/events.js +15 -0
  306. package/dist/src/services/events.js.map +1 -0
  307. package/dist/src/services/global/actors/addModelsToDb.js +115 -0
  308. package/dist/src/services/global/actors/addModelsToDb.js.map +1 -0
  309. package/dist/src/services/global/actors/getSchemaForModel.js +26 -0
  310. package/dist/src/services/global/actors/getSchemaForModel.js.map +1 -0
  311. package/dist/src/services/global/actors/initialize.d.ts.map +1 -1
  312. package/dist/src/services/global/actors/initialize.js +86 -0
  313. package/dist/src/services/global/actors/initialize.js.map +1 -0
  314. package/dist/src/services/global/actors/savePublishService.js +22 -0
  315. package/dist/src/services/global/actors/savePublishService.js.map +1 -0
  316. package/dist/src/services/global/globalMachine.d.ts +90 -90
  317. package/dist/src/services/global/globalMachine.d.ts.map +1 -1
  318. package/dist/src/services/global/globalMachine.js +246 -0
  319. package/dist/src/services/global/globalMachine.js.map +1 -0
  320. package/dist/src/services/internal/actors/configureFs.d.ts.map +1 -1
  321. package/dist/src/services/internal/actors/configureFs.js +70 -0
  322. package/dist/src/services/internal/actors/configureFs.js.map +1 -0
  323. package/dist/src/services/internal/actors/loadAppDb.d.ts.map +1 -1
  324. package/dist/src/services/internal/actors/loadAppDb.js +22 -0
  325. package/dist/src/services/internal/actors/loadAppDb.js.map +1 -0
  326. package/dist/src/services/internal/actors/prepareDb.d.ts.map +1 -1
  327. package/dist/src/services/internal/actors/saveConfig.js +88 -0
  328. package/dist/src/services/internal/actors/saveConfig.js.map +1 -0
  329. package/dist/src/services/internal/actors/validateInput.js +34 -0
  330. package/dist/src/services/internal/actors/validateInput.js.map +1 -0
  331. package/dist/src/services/internal/actors/waitForFiles.js +33 -0
  332. package/dist/src/services/internal/actors/waitForFiles.js.map +1 -0
  333. package/dist/src/services/internal/constants.js +85 -0
  334. package/dist/src/services/internal/constants.js.map +1 -0
  335. package/dist/src/services/internal/helpers.d.ts.map +1 -1
  336. package/dist/src/services/internal/helpers.js +171 -0
  337. package/dist/src/services/internal/helpers.js.map +1 -0
  338. package/dist/src/services/internal/internalMachine.d.ts +0 -10
  339. package/dist/src/services/internal/internalMachine.d.ts.map +1 -1
  340. package/dist/src/services/internal/internalMachine.js +188 -0
  341. package/dist/src/services/internal/internalMachine.js.map +1 -0
  342. package/dist/src/services/publish/actors/createPublishAttempt.js +14 -0
  343. package/dist/src/services/publish/actors/createPublishAttempt.js.map +1 -0
  344. package/dist/src/services/publish/actors/preparePublishRequestData.js +70 -0
  345. package/dist/src/services/publish/actors/preparePublishRequestData.js.map +1 -0
  346. package/dist/src/services/publish/actors/upload.js +55 -0
  347. package/dist/src/services/publish/actors/upload.js.map +1 -0
  348. package/dist/src/services/publish/actors/validateItemData.js +18 -0
  349. package/dist/src/services/publish/actors/validateItemData.js.map +1 -0
  350. package/dist/src/services/publish/publishMachine.js +71 -0
  351. package/dist/src/services/publish/publishMachine.js.map +1 -0
  352. package/dist/src/stores/eas.js +40 -0
  353. package/dist/src/stores/eas.js.map +1 -0
  354. package/dist/src/stores/modelClass.js +16 -0
  355. package/dist/src/stores/modelClass.js.map +1 -0
  356. package/dist/src/types/index.d.ts.map +1 -1
  357. package/package.json +7 -6
  358. package/dist/Db-Bn2_MKKq.js +0 -82
  359. package/dist/Db-Bn2_MKKq.js.map +0 -1
  360. package/dist/Db-DL9szGvt.js +0 -385
  361. package/dist/Db-DL9szGvt.js.map +0 -1
  362. package/dist/EasClient-B9a3NsTi.js +0 -10
  363. package/dist/EasClient-B9a3NsTi.js.map +0 -1
  364. package/dist/FileManager-Gci1k5HJ.js +0 -50
  365. package/dist/FileManager-Gci1k5HJ.js.map +0 -1
  366. package/dist/Item-CUQ8wILT.js +0 -35
  367. package/dist/Item-CUQ8wILT.js.map +0 -1
  368. package/dist/ItemProperty-DjGDsSEN.js +0 -34
  369. package/dist/ItemProperty-DjGDsSEN.js.map +0 -1
  370. package/dist/QueryClient-hzOtFe99.js.map +0 -1
  371. package/dist/constants-Bhl5dZpN.js +0 -227
  372. package/dist/constants-Bhl5dZpN.js.map +0 -1
  373. package/dist/index-DJjmh3u9.js +0 -8934
  374. package/dist/index-DJjmh3u9.js.map +0 -1
  375. package/dist/index-DtB4Tlwd.js +0 -26
  376. package/dist/index-DtB4Tlwd.js.map +0 -1
  377. package/dist/seed.schema.config-DzDX8e7g.js.map +0 -1
  378. package/dist/src/browser/db/index.d.ts +0 -2
  379. package/dist/src/browser/db/index.d.ts.map +0 -1
  380. package/dist/src/db/Db/index.d.ts +0 -5
  381. package/dist/src/db/Db/index.d.ts.map +0 -1
  382. package/dist/src/helpers/EasClient/index.d.ts +0 -5
  383. package/dist/src/helpers/EasClient/index.d.ts.map +0 -1
  384. package/dist/src/helpers/FileManager/index.d.ts +0 -5
  385. package/dist/src/helpers/FileManager/index.d.ts.map +0 -1
  386. package/dist/src/helpers/QueryClient/index.d.ts +0 -5
  387. package/dist/src/helpers/QueryClient/index.d.ts.map +0 -1
  388. package/dist/src/node/index.d.ts +0 -2
  389. package/dist/src/node/index.d.ts.map +0 -1
  390. package/dist/src/services/global/index.d.ts +0 -2
  391. package/dist/src/services/global/index.d.ts.map +0 -1
@@ -0,0 +1,29 @@
1
+ import { sqliteTable, int, text } from 'drizzle-orm/sqlite-core';
2
+
3
+ const metadata = sqliteTable('metadata', {
4
+ localId: text('local_id').unique(),
5
+ uid: text('uid'),
6
+ propertyName: text('property_name'),
7
+ propertyValue: text('property_value'),
8
+ schemaUid: text('schema_uid'),
9
+ modelType: text('model_type'),
10
+ seedLocalId: text('seed_local_id'),
11
+ seedUid: text('seed_uid'),
12
+ versionLocalId: text('version_local_id'),
13
+ versionUid: text('version_uid'),
14
+ easDataType: text('eas_data_type'),
15
+ refValueType: text('ref_value_type'),
16
+ refModelUid: text('ref_schema_uid'),
17
+ refSeedType: text('ref_seed_type'),
18
+ refResolvedValue: text('ref_resolved_value'),
19
+ refResolvedDisplayValue: text('ref_resolved_display_value'),
20
+ localStorageDir: text('local_storage_dir'),
21
+ attestationRaw: text('attestation_raw'),
22
+ attestationCreatedAt: int('attestation_created_at'),
23
+ contentHash: text('content_hash'),
24
+ createdAt: int('created_at'),
25
+ updatedAt: int('updated_at'),
26
+ });
27
+
28
+ export { metadata };
29
+ //# sourceMappingURL=MetadataSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MetadataSchema.js","sources":["../../../../src/seedSchema/MetadataSchema.ts"],"sourcesContent":["import { int, sqliteTable, text } from 'drizzle-orm/sqlite-core'\n\nexport const metadata = sqliteTable('metadata', {\n localId: text('local_id').unique(),\n uid: text('uid'),\n propertyName: text('property_name'),\n propertyValue: text('property_value'),\n schemaUid: text('schema_uid'),\n modelType: text('model_type'),\n seedLocalId: text('seed_local_id'),\n seedUid: text('seed_uid'),\n versionLocalId: text('version_local_id'),\n versionUid: text('version_uid'),\n easDataType: text('eas_data_type'),\n refValueType: text('ref_value_type'),\n refModelUid: text('ref_schema_uid'),\n refSeedType: text('ref_seed_type'),\n refResolvedValue: text('ref_resolved_value'),\n refResolvedDisplayValue: text('ref_resolved_display_value'),\n localStorageDir: text('local_storage_dir'),\n attestationRaw: text('attestation_raw'),\n attestationCreatedAt: int('attestation_created_at'),\n contentHash: text('content_hash'),\n createdAt: int('created_at'),\n updatedAt: int('updated_at'),\n})\n\nexport type MetadataType = metadata.$inferSelect\n"],"names":[],"mappings":";;AAEa,MAAA,QAAQ,GAAG,WAAW,CAAC,UAAU,EAAE;AAC9C,IAAA,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE;AAClC,IAAA,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC;AAChB,IAAA,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC;AACnC,IAAA,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC;AACrC,IAAA,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC;AAC7B,IAAA,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC;AAC7B,IAAA,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC;AAClC,IAAA,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC;AACzB,IAAA,cAAc,EAAE,IAAI,CAAC,kBAAkB,CAAC;AACxC,IAAA,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC;AAC/B,IAAA,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC;AAClC,IAAA,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC;AACpC,IAAA,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC;AACnC,IAAA,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC;AAClC,IAAA,gBAAgB,EAAE,IAAI,CAAC,oBAAoB,CAAC;AAC5C,IAAA,uBAAuB,EAAE,IAAI,CAAC,4BAA4B,CAAC;AAC3D,IAAA,eAAe,EAAE,IAAI,CAAC,mBAAmB,CAAC;AAC1C,IAAA,cAAc,EAAE,IAAI,CAAC,iBAAiB,CAAC;AACvC,IAAA,oBAAoB,EAAE,GAAG,CAAC,wBAAwB,CAAC;AACnD,IAAA,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC;AACjC,IAAA,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC;AAC5B,IAAA,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC;AAC7B,CAAA;;;;"}
@@ -0,0 +1,33 @@
1
+ import { sqliteTable, text, int, unique } from 'drizzle-orm/sqlite-core';
2
+ import { relations } from 'drizzle-orm';
3
+
4
+ const models = sqliteTable('models', {
5
+ id: int('id').primaryKey({ autoIncrement: true }),
6
+ name: text('name').notNull(),
7
+ });
8
+ relations(models, ({ many }) => ({
9
+ properties: many(properties),
10
+ }));
11
+ const properties = sqliteTable('properties', {
12
+ id: int('id').primaryKey({ autoIncrement: true }),
13
+ name: text('name').notNull(),
14
+ dataType: text('data_type').notNull(),
15
+ readEndpoint: text('read_endpoint'),
16
+ updateEndpoint: text('update_endpoint'),
17
+ modelId: int('model_id')
18
+ .notNull()
19
+ .references(() => models.id),
20
+ refModelId: int('ref_model_id').references(() => models.id),
21
+ refValueType: text('ref_value_type'),
22
+ }, (table) => {
23
+ return {
24
+ uniqueNameModelId: unique('unique_name_model_id').on(table.name, table.modelId),
25
+ };
26
+ });
27
+ relations(properties, ({ one }) => ({
28
+ model: one(models),
29
+ refModel: one(models),
30
+ }));
31
+
32
+ export { models, properties };
33
+ //# sourceMappingURL=ModelSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModelSchema.js","sources":["../../../../src/seedSchema/ModelSchema.ts"],"sourcesContent":["import { int, sqliteTable, text, unique } from 'drizzle-orm/sqlite-core'\nimport { relations } from 'drizzle-orm'\n\nexport const models = sqliteTable('models', {\n id: int('id').primaryKey({ autoIncrement: true }),\n name: text('name').notNull(),\n})\n\nexport const modelsRelations = relations(models, ({ many }) => ({\n properties: many(properties),\n}))\n\nexport type NewModelRecord = typeof models.$inferInsert\nexport type ModelRecordType = typeof models.$inferSelect\n\nexport const properties = sqliteTable(\n 'properties',\n {\n id: int('id').primaryKey({ autoIncrement: true }),\n name: text('name').notNull(),\n dataType: text('data_type').notNull(),\n readEndpoint: text('read_endpoint'),\n updateEndpoint: text('update_endpoint'),\n modelId: int('model_id')\n .notNull()\n .references(() => models.id),\n refModelId: int('ref_model_id').references(() => models.id),\n refValueType: text('ref_value_type'),\n },\n (table) => {\n return {\n uniqueNameModelId: unique('unique_name_model_id').on(\n table.name,\n table.modelId,\n ),\n }\n },\n)\n\nexport const propertiesRelations = relations(properties, ({ one }) => ({\n model: one(models),\n refModel: one(models),\n}))\n\nexport type NewPropertyRecord = typeof properties.$inferInsert\nexport type PropertyType = typeof properties.$inferSelect\n"],"names":[],"mappings":";;;AAGa,MAAA,MAAM,GAAG,WAAW,CAAC,QAAQ,EAAE;AAC1C,IAAA,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;AACjD,IAAA,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE;AAC7B,CAAA;AAE8B,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM;AAC9D,IAAA,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC;AAC7B,CAAA,CAAC;AAKW,MAAA,UAAU,GAAG,WAAW,CACnC,YAAY,EACZ;AACE,IAAA,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;AACjD,IAAA,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE;AAC5B,IAAA,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE;AACrC,IAAA,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC;AACnC,IAAA,cAAc,EAAE,IAAI,CAAC,iBAAiB,CAAC;AACvC,IAAA,OAAO,EAAE,GAAG,CAAC,UAAU;AACpB,SAAA,OAAO;AACP,SAAA,UAAU,CAAC,MAAM,MAAM,CAAC,EAAE,CAAC;AAC9B,IAAA,UAAU,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC,UAAU,CAAC,MAAM,MAAM,CAAC,EAAE,CAAC;AAC3D,IAAA,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC;CACrC,EACD,CAAC,KAAK,KAAI;IACR,OAAO;AACL,QAAA,iBAAiB,EAAE,MAAM,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAClD,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,OAAO,CACd;KACF;AACH,CAAC;AAGgC,SAAS,CAAC,UAAU,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM;AACrE,IAAA,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC;AAClB,IAAA,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC;AACtB,CAAA,CAAC;;;;"}
@@ -0,0 +1,18 @@
1
+ import { sqliteTable, int, text } from 'drizzle-orm/sqlite-core';
2
+ import { relations } from 'drizzle-orm';
3
+ import { models } from './ModelSchema.js';
4
+
5
+ const modelUids = sqliteTable('model_uids', {
6
+ id: int('id').primaryKey({ autoIncrement: true }),
7
+ uid: text('uid').notNull(),
8
+ modelId: int('model_id')
9
+ .notNull()
10
+ .unique()
11
+ .references(() => models.id),
12
+ });
13
+ relations(modelUids, ({ many, one }) => ({
14
+ model: one(models),
15
+ }));
16
+
17
+ export { modelUids };
18
+ //# sourceMappingURL=ModelUidSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModelUidSchema.js","sources":["../../../../src/seedSchema/ModelUidSchema.ts"],"sourcesContent":["import { int, sqliteTable, text } from 'drizzle-orm/sqlite-core'\nimport { relations } from 'drizzle-orm'\nimport { models } from './ModelSchema'\n\nexport const modelUids = sqliteTable('model_uids', {\n id: int('id').primaryKey({ autoIncrement: true }),\n uid: text('uid').notNull(),\n modelId: int('model_id')\n .notNull()\n .unique()\n .references(() => models.id),\n})\n\nexport const modelRelations = relations(modelUids, ({ many, one }) => ({\n model: one(models),\n}))\n"],"names":[],"mappings":";;;;AAIa,MAAA,SAAS,GAAG,WAAW,CAAC,YAAY,EAAE;AACjD,IAAA,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;AACjD,IAAA,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE;AAC1B,IAAA,OAAO,EAAE,GAAG,CAAC,UAAU;AACpB,SAAA,OAAO;AACP,SAAA,MAAM;AACN,SAAA,UAAU,CAAC,MAAM,MAAM,CAAC,EAAE,CAAC;AAC/B,CAAA;AAE6B,SAAS,CAAC,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM;AACrE,IAAA,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC;AACnB,CAAA,CAAC;;;;"}
@@ -0,0 +1,16 @@
1
+ import { sqliteTable, int, text } from 'drizzle-orm/sqlite-core';
2
+
3
+ const seeds = sqliteTable('seeds', {
4
+ localId: text('local_id').unique(),
5
+ uid: text('uid'),
6
+ schemaUid: text('schema_uid'),
7
+ type: text('type'),
8
+ attestationRaw: text('attestation_raw'),
9
+ attestationCreatedAt: int('attestation_created_at'),
10
+ createdAt: int('created_at'),
11
+ updatedAt: int('updated_at'),
12
+ _markedForDeletion: int('_marked_for_deletion'),
13
+ });
14
+
15
+ export { seeds };
16
+ //# sourceMappingURL=SeedSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SeedSchema.js","sources":["../../../../src/seedSchema/SeedSchema.ts"],"sourcesContent":["import { int, sqliteTable, text } from 'drizzle-orm/sqlite-core'\n\nexport const seeds = sqliteTable(\n 'seeds',\n {\n localId: text('local_id').unique(),\n uid: text('uid'),\n schemaUid: text('schema_uid'),\n type: text('type'),\n attestationRaw: text('attestation_raw'),\n attestationCreatedAt: int('attestation_created_at'),\n createdAt: int('created_at'),\n updatedAt: int('updated_at'),\n _markedForDeletion: int('_marked_for_deletion'),\n },\n // {\n // triggers: [\n // sql<string>`CREATE TRIGGER IF NOT EXISTS seeds_created_at_trigger\n // BEFORE INSERT\n // ON seeds\n // FOR EACH ROW\n // BEGIN\n // SELECT strftime('%s', 'now') * 1000 INTO NEW.created_at;\n // END;`,\n // ],\n // },\n)\n\nexport type SeedType = seeds.$inferSelect\n"],"names":[],"mappings":";;AAEa,MAAA,KAAK,GAAG,WAAW,CAC9B,OAAO,EACP;AACE,IAAA,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE;AAClC,IAAA,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC;AAChB,IAAA,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC;AAC7B,IAAA,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;AAClB,IAAA,cAAc,EAAE,IAAI,CAAC,iBAAiB,CAAC;AACvC,IAAA,oBAAoB,EAAE,GAAG,CAAC,wBAAwB,CAAC;AACnD,IAAA,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC;AAC5B,IAAA,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC;AAC5B,IAAA,kBAAkB,EAAE,GAAG,CAAC,sBAAsB,CAAC;AAChD,CAAA;;;;"}
@@ -0,0 +1,17 @@
1
+ import { sqliteTable, text, int } from 'drizzle-orm/sqlite-core';
2
+
3
+ const versions = sqliteTable('versions', {
4
+ localId: text('local_id').unique(),
5
+ uid: text('uid'),
6
+ seedLocalId: text('seed_local_id'),
7
+ seedUid: text('seed_uid'),
8
+ seedType: text('seed_type'),
9
+ note: text('note'),
10
+ createdAt: int('created_at'),
11
+ updatedAt: int('updated_at'),
12
+ attestationCreatedAt: int('attestation_created_at'),
13
+ attestationRaw: text('attestation_raw'),
14
+ });
15
+
16
+ export { versions };
17
+ //# sourceMappingURL=VersionSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VersionSchema.js","sources":["../../../../src/seedSchema/VersionSchema.ts"],"sourcesContent":["import { int, sqliteTable, text } from 'drizzle-orm/sqlite-core'\n\nexport const versions = sqliteTable('versions', {\n localId: text('local_id').unique(),\n uid: text('uid'),\n seedLocalId: text('seed_local_id'),\n seedUid: text('seed_uid'),\n seedType: text('seed_type'),\n note: text('note'),\n createdAt: int('created_at'),\n updatedAt: int('updated_at'),\n attestationCreatedAt: int('attestation_created_at'),\n attestationRaw: text('attestation_raw'),\n})\n\nexport type VersionsType = versions.$inferSelect\n"],"names":[],"mappings":";;AAEa,MAAA,QAAQ,GAAG,WAAW,CAAC,UAAU,EAAE;AAC9C,IAAA,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE;AAClC,IAAA,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC;AAChB,IAAA,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC;AAClC,IAAA,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC;AACzB,IAAA,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC;AAC3B,IAAA,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;AAClB,IAAA,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC;AAC5B,IAAA,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC;AAC5B,IAAA,oBAAoB,EAAE,GAAG,CAAC,wBAAwB,CAAC;AACnD,IAAA,cAAc,EAAE,IAAI,CAAC,iBAAiB,CAAC;AACxC,CAAA;;;;"}
@@ -0,0 +1,13 @@
1
+ import { fromCallback } from 'xstate';
2
+
3
+ const fetchDbData = fromCallback(({ sendBack, input: { context } }) => {
4
+ const { modelNamePlural, times } = context;
5
+ const _fetchDbData = async () => { };
6
+ _fetchDbData().then(() => {
7
+ sendBack({ type: 'fetchDbDataSuccess' });
8
+ });
9
+ return () => { };
10
+ });
11
+
12
+ export { fetchDbData };
13
+ //# sourceMappingURL=fetchDbData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchDbData.js","sources":["../../../../../../src/services/allItems/actors/fetchDbData.ts"],"sourcesContent":["import { EventObject, fromCallback } from 'xstate'\nimport { AllItemsMachineContext, FromCallbackInput } from '@/types'\n\nexport const fetchDbData = fromCallback<\n EventObject,\n FromCallbackInput<AllItemsMachineContext>\n>(\n ({ sendBack, input: { context } }) => {\n const { modelNamePlural, times } = context\n\n const _fetchDbData = async (): Promise<void> => { }\n\n _fetchDbData().then(() => {\n sendBack({ type: 'fetchDbDataSuccess' })\n })\n\n return () => { }\n },\n)\n"],"names":[],"mappings":";;AAGa,MAAA,WAAW,GAAG,YAAY,CAIrC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,KAAI;AACnC,IAAA,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,GAAG,OAAO;AAE1C,IAAA,MAAM,YAAY,GAAG,YAA0B,GAAI;AAEnD,IAAA,YAAY,EAAE,CAAC,IAAI,CAAC,MAAK;AACvB,QAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC;AAC1C,KAAC,CAAC;AAEF,IAAA,OAAO,MAAQ,GAAC;AAClB,CAAC;;;;"}
@@ -0,0 +1,137 @@
1
+ import { fromCallback } from 'xstate';
2
+ import { GET_SEED_IDS, GET_VERSIONS, GET_ALL_PROPERTIES_FOR_ALL_VERSIONS } from '../../../Item/queries.js';
3
+ import '../../../seedSchema/SeedSchema.js';
4
+ import '../../../seedSchema/VersionSchema.js';
5
+ import '../../../seedSchema/MetadataSchema.js';
6
+ import '../../../seedSchema/AppStateSchema.js';
7
+ import { models } from '../../../seedSchema/ModelSchema.js';
8
+ import { modelUids } from '../../../seedSchema/ModelUidSchema.js';
9
+ import { getAddressesFromDb } from '../../../helpers/db.js';
10
+ import { eq } from 'drizzle-orm';
11
+ import { BaseDb } from '../../../db/Db/BaseDb.js';
12
+ import { BaseEasClient } from '../../../helpers/EasClient/BaseEasClient.js';
13
+ import { BaseQueryClient } from '../../../helpers/QueryClient/BaseQueryClient.js';
14
+
15
+ const fetchRelatedItems = fromCallback(({ sendBack, input: { context } }) => {
16
+ const { ModelClass, modelName } = context;
17
+ const appDb = BaseDb.getAppDb();
18
+ const relatedProperties = new Map();
19
+ const relatedVersionsBySeedUid = new Map();
20
+ const schemaUidsByModelName = new Map();
21
+ const mostRecentVersionsBySeedUid = new Map();
22
+ const mostRecentPropertiesBySeedUid = new Map();
23
+ const seedUidsByMostRecentVersionUid = new Map();
24
+ const _fetchRelatedItems = async () => {
25
+ // Get related properties
26
+ for (const [propertyName, propertyDef] of Object.entries(ModelClass.schema)) {
27
+ if (propertyDef && propertyDef.ref && propertyDef.refModelId) {
28
+ relatedProperties.set(propertyName, propertyDef);
29
+ }
30
+ }
31
+ const addresses = await getAddressesFromDb();
32
+ // Get the models they point to from sdkConfigDb
33
+ for (const [propertyName, propertyDef] of relatedProperties.entries()) {
34
+ const relatedModelQuery = await appDb
35
+ .select({
36
+ id: models.id,
37
+ name: models.name,
38
+ uid: modelUids.uid,
39
+ })
40
+ .from(models)
41
+ .leftJoin(modelUids, eq(models.id, modelUids.modelId))
42
+ .where(eq(models.id, propertyDef.refModelId))
43
+ .limit(1);
44
+ if (relatedModelQuery && relatedModelQuery.length > 0) {
45
+ const relatedModel = relatedModelQuery[0];
46
+ const relatedModelUid = relatedModel.uid;
47
+ // Exclude the current model's schemaUid since we already have its versions
48
+ if (relatedModelUid && relatedModelUid !== ModelClass.schemaUid) {
49
+ schemaUidsByModelName.set(relatedModel.name, relatedModelUid);
50
+ }
51
+ }
52
+ }
53
+ const queryKey = [`getRelatedSeedIds${modelName}`];
54
+ const queryClient = BaseQueryClient.getQueryClient();
55
+ const easClient = BaseEasClient.getEasClient();
56
+ const { itemSeedIds: relatedSeedIdAttestations } = await queryClient.fetchQuery({
57
+ queryKey,
58
+ queryFn: async () => easClient.request(GET_SEED_IDS, {
59
+ where: {
60
+ schema: {
61
+ is: {
62
+ id: {
63
+ in: Array.from(schemaUidsByModelName.values()),
64
+ },
65
+ },
66
+ },
67
+ attester: {
68
+ in: addresses,
69
+ },
70
+ },
71
+ }),
72
+ });
73
+ const relatedSeedIds = relatedSeedIdAttestations.map((seed) => seed.id);
74
+ const { itemVersions: relatedVersions } = await queryClient.fetchQuery({
75
+ queryKey: [`getRelatedVersions${modelName}`],
76
+ queryFn: async () => easClient.request(GET_VERSIONS, {
77
+ where: {
78
+ refUID: {
79
+ in: relatedSeedIds,
80
+ },
81
+ attester: {
82
+ in: addresses,
83
+ },
84
+ },
85
+ }),
86
+ });
87
+ // Index versions by seedUid
88
+ for (const version of relatedVersions) {
89
+ const existingVersionsForSeedUid = relatedVersionsBySeedUid.get(version.refUID) || [];
90
+ existingVersionsForSeedUid.push(version);
91
+ relatedVersionsBySeedUid.set(version.refUID, existingVersionsForSeedUid);
92
+ }
93
+ // Sort the indexed versions by timeCreated and index the most recent
94
+ for (const [seedUid, versionsForSeed,] of relatedVersionsBySeedUid.entries()) {
95
+ const versionsForSeedSorted = versionsForSeed.sort((a, b) => {
96
+ return a.timeCreated - b.timeCreated;
97
+ });
98
+ relatedVersionsBySeedUid.set(seedUid, versionsForSeedSorted);
99
+ mostRecentVersionsBySeedUid.set(seedUid, versionsForSeedSorted[0]);
100
+ seedUidsByMostRecentVersionUid.set(versionsForSeedSorted[0].id, seedUid);
101
+ }
102
+ // Extract the ids of the most recent versions
103
+ const mostRecentVersionIds = Array.from(mostRecentVersionsBySeedUid.values()).map((version) => version.id);
104
+ const { allProperties } = await queryClient.fetchQuery({
105
+ queryKey: [`getAllProperties${modelName}`],
106
+ queryFn: async () => easClient.request(GET_ALL_PROPERTIES_FOR_ALL_VERSIONS, {
107
+ where: {
108
+ refUID: {
109
+ in: mostRecentVersionIds,
110
+ },
111
+ attester: {
112
+ in: addresses,
113
+ },
114
+ },
115
+ }),
116
+ });
117
+ for (const propertyAttestation of allProperties) {
118
+ const seedUidForProperty = seedUidsByMostRecentVersionUid.get(propertyAttestation.refUID);
119
+ const existingPropertiesForSeedUid = mostRecentPropertiesBySeedUid.get(seedUidForProperty) || [];
120
+ existingPropertiesForSeedUid.push(propertyAttestation);
121
+ mostRecentPropertiesBySeedUid.set(seedUidForProperty, existingPropertiesForSeedUid);
122
+ }
123
+ };
124
+ _fetchRelatedItems().then(() => {
125
+ sendBack({
126
+ type: 'fetchRelatedItemsSuccess',
127
+ mostRecentPropertiesBySeedUid,
128
+ relatedVersionsBySeedUid,
129
+ relatedProperties,
130
+ schemaUidsByModelName,
131
+ });
132
+ return;
133
+ });
134
+ });
135
+
136
+ export { fetchRelatedItems };
137
+ //# sourceMappingURL=fetchRelatedItems.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchRelatedItems.js","sources":["../../../../../../src/services/allItems/actors/fetchRelatedItems.ts"],"sourcesContent":["import { EventObject, fromCallback } from 'xstate'\nimport {\n GET_ALL_PROPERTIES_FOR_ALL_VERSIONS,\n GET_SEED_IDS,\n GET_VERSIONS,\n} from '@/Item/queries'\nimport {\n models as modelsTable,\n modelUids,\n PropertyType,\n} from '@/seedSchema'\nimport { Attestation } from '@/graphql/gql/graphql'\nimport {\n AllItemsMachineContext,\n FromCallbackInput,\n ModelClassType,\n} from '@/types'\nimport { getAddressesFromDb } from '@/helpers/db'\nimport { eq } from 'drizzle-orm'\nimport { BaseDb } from '@/db/Db/BaseDb'\nimport { BaseEasClient } from '@/helpers/EasClient/BaseEasClient'\nimport { BaseQueryClient } from '@/helpers/QueryClient/BaseQueryClient'\n\n\nexport const fetchRelatedItems = fromCallback<\n EventObject,\n FromCallbackInput<AllItemsMachineContext>\n>(({ sendBack, input: { context } }) => {\n const { ModelClass, modelName } = context\n\n const appDb = BaseDb.getAppDb()\n\n const relatedProperties = new Map<string, PropertyType>()\n const relatedVersionsBySeedUid = new Map<string, Attestation[]>()\n const schemaUidsByModelName = new Map<string, string>()\n const mostRecentVersionsBySeedUid = new Map<string, Attestation>()\n const mostRecentPropertiesBySeedUid = new Map<string, Attestation[]>()\n const seedUidsByMostRecentVersionUid = new Map<string, string>()\n\n const _fetchRelatedItems = async () => {\n // Get related properties\n for (const [propertyName, propertyDef] of Object.entries(\n (ModelClass as ModelClassType).schema,\n )) {\n if (propertyDef && propertyDef.ref && propertyDef.refModelId) {\n relatedProperties.set(propertyName, propertyDef)\n }\n }\n\n const addresses = await getAddressesFromDb(appDb)\n\n // Get the models they point to from sdkConfigDb\n for (const [propertyName, propertyDef] of relatedProperties.entries()) {\n const relatedModelQuery = await appDb\n .select({\n id: modelsTable.id,\n name: modelsTable.name,\n uid: modelUids.uid,\n })\n .from(modelsTable)\n .leftJoin(modelUids, eq(modelsTable.id, modelUids.modelId))\n .where(eq(modelsTable.id, propertyDef.refModelId))\n .limit(1)\n\n if (relatedModelQuery && relatedModelQuery.length > 0) {\n const relatedModel = relatedModelQuery[0]\n const relatedModelUid = relatedModel.uid\n // Exclude the current model's schemaUid since we already have its versions\n if (relatedModelUid && relatedModelUid !== ModelClass.schemaUid) {\n schemaUidsByModelName.set(relatedModel.name, relatedModelUid)\n }\n }\n }\n\n const queryKey = [`getRelatedSeedIds${modelName}`]\n\n const queryClient = BaseQueryClient.getQueryClient()\n const easClient = BaseEasClient.getEasClient()\n\n const { itemSeedIds: relatedSeedIdAttestations } =\n await queryClient.fetchQuery({\n queryKey,\n queryFn: async () =>\n easClient.request(GET_SEED_IDS, {\n where: {\n schema: {\n is: {\n id: {\n in: Array.from(schemaUidsByModelName.values()),\n },\n },\n },\n attester: {\n in: addresses,\n },\n },\n }),\n })\n\n const relatedSeedIds = relatedSeedIdAttestations.map((seed) => seed.id)\n\n const { itemVersions: relatedVersions } = await queryClient.fetchQuery({\n queryKey: [`getRelatedVersions${modelName}`],\n queryFn: async () =>\n easClient.request(GET_VERSIONS, {\n where: {\n refUID: {\n in: relatedSeedIds,\n },\n attester: {\n in: addresses,\n },\n },\n }),\n })\n\n // Index versions by seedUid\n for (const version of relatedVersions) {\n const existingVersionsForSeedUid =\n relatedVersionsBySeedUid.get(version.refUID) || []\n existingVersionsForSeedUid.push(version)\n relatedVersionsBySeedUid.set(version.refUID, existingVersionsForSeedUid)\n }\n\n // Sort the indexed versions by timeCreated and index the most recent\n for (const [\n seedUid,\n versionsForSeed,\n ] of relatedVersionsBySeedUid.entries()) {\n const versionsForSeedSorted = versionsForSeed.sort(\n (a: Attestation, b: Attestation) => {\n return a.timeCreated - b.timeCreated\n },\n )\n relatedVersionsBySeedUid.set(seedUid, versionsForSeedSorted)\n mostRecentVersionsBySeedUid.set(seedUid, versionsForSeedSorted[0])\n seedUidsByMostRecentVersionUid.set(versionsForSeedSorted[0].id, seedUid)\n }\n\n // Extract the ids of the most recent versions\n const mostRecentVersionIds = Array.from(\n mostRecentVersionsBySeedUid.values(),\n ).map((version) => version.id)\n\n const { allProperties } = await queryClient.fetchQuery({\n queryKey: [`getAllProperties${modelName}`],\n queryFn: async () =>\n easClient.request(GET_ALL_PROPERTIES_FOR_ALL_VERSIONS, {\n where: {\n refUID: {\n in: mostRecentVersionIds,\n },\n attester: {\n in: addresses,\n },\n },\n }),\n })\n\n for (const propertyAttestation of allProperties) {\n const seedUidForProperty = seedUidsByMostRecentVersionUid.get(\n propertyAttestation.refUID,\n )\n const existingPropertiesForSeedUid =\n mostRecentPropertiesBySeedUid.get(seedUidForProperty!) || []\n existingPropertiesForSeedUid.push(propertyAttestation)\n mostRecentPropertiesBySeedUid.set(\n seedUidForProperty!,\n existingPropertiesForSeedUid,\n )\n }\n }\n\n _fetchRelatedItems().then(() => {\n sendBack({\n type: 'fetchRelatedItemsSuccess',\n mostRecentPropertiesBySeedUid,\n relatedVersionsBySeedUid,\n relatedProperties,\n schemaUidsByModelName,\n })\n return\n })\n})\n"],"names":["modelsTable"],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import { fromCallback } from 'xstate';
2
+ import { GET_SEEDS } from '../../../Item/queries.js';
3
+ import { BaseEasClient } from '../../../helpers/EasClient/BaseEasClient.js';
4
+ import { BaseQueryClient } from '../../../helpers/QueryClient/BaseQueryClient.js';
5
+ import debug from 'debug';
6
+
7
+ debug('seedSdk:allItemsActors:fetchSeeds');
8
+ const fetchSeeds = fromCallback(({ sendBack, input: { context } }) => {
9
+ const { queryVariables, modelName } = context;
10
+ if (!queryVariables) {
11
+ throw new Error('No queryVariables found');
12
+ }
13
+ let itemSeeds;
14
+ const _fetchSeeds = async () => {
15
+ const queryKey = [`getSeeds${modelName}`];
16
+ const queryClient = BaseQueryClient.getQueryClient();
17
+ const easClient = BaseEasClient.getEasClient();
18
+ const results = await queryClient.fetchQuery({
19
+ queryKey,
20
+ queryFn: async () => easClient.request(GET_SEEDS, queryVariables),
21
+ });
22
+ itemSeeds = results.itemSeeds;
23
+ };
24
+ _fetchSeeds().then(() => {
25
+ sendBack({ type: 'fetchSeedsSuccess', itemSeeds });
26
+ });
27
+ return () => { };
28
+ });
29
+
30
+ export { fetchSeeds };
31
+ //# sourceMappingURL=fetchSeeds.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchSeeds.js","sources":["../../../../../../src/services/allItems/actors/fetchSeeds.ts"],"sourcesContent":["import { EventObject, fromCallback } from 'xstate'\nimport { GET_SEEDS } from '@/Item/queries'\nimport { AllItemsMachineContext, FromCallbackInput } from '@/types'\nimport { Attestation } from '@/graphql/gql/graphql'\nimport { BaseEasClient } from '@/helpers/EasClient/BaseEasClient'\nimport { BaseQueryClient } from '@/helpers/QueryClient/BaseQueryClient'\nimport debug from 'debug'\n\n\nconst logger = debug('seedSdk:allItemsActors:fetchSeeds')\n\nexport const fetchSeeds = fromCallback<\n EventObject,\n FromCallbackInput<AllItemsMachineContext>\n>(\n ({ sendBack, input: { context } }) => {\n const { queryVariables, modelName } = context\n\n if (!queryVariables) {\n throw new Error('No queryVariables found')\n }\n\n let itemSeeds: Attestation[] | undefined\n\n const _fetchSeeds = async () => {\n const queryKey = [`getSeeds${modelName}`]\n\n const queryClient = BaseQueryClient.getQueryClient()\n const easClient = BaseEasClient.getEasClient()\n\n const results = await queryClient.fetchQuery({\n queryKey,\n queryFn: async () => easClient.request(GET_SEEDS, queryVariables),\n })\n\n itemSeeds = results.itemSeeds\n }\n\n _fetchSeeds().then(() => {\n sendBack({ type: 'fetchSeedsSuccess', itemSeeds })\n })\n\n return () => { }\n },\n)\n"],"names":[],"mappings":";;;;;;AASe,KAAK,CAAC,mCAAmC;AAE3C,MAAA,UAAU,GAAG,YAAY,CAIpC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,KAAI;AACnC,IAAA,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG,OAAO;IAE7C,IAAI,CAAC,cAAc,EAAE;AACnB,QAAA,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC;;AAG5C,IAAA,IAAI,SAAoC;AAExC,IAAA,MAAM,WAAW,GAAG,YAAW;AAC7B,QAAA,MAAM,QAAQ,GAAG,CAAC,WAAW,SAAS,CAAA,CAAE,CAAC;AAEzC,QAAA,MAAM,WAAW,GAAG,eAAe,CAAC,cAAc,EAAE;AACpD,QAAA,MAAM,SAAS,GAAG,aAAa,CAAC,YAAY,EAAE;AAE9C,QAAA,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,UAAU,CAAC;YAC3C,QAAQ;AACR,YAAA,OAAO,EAAE,YAAY,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC;AAClE,SAAA,CAAC;AAEF,QAAA,SAAS,GAAG,OAAO,CAAC,SAAS;AAC/B,KAAC;AAED,IAAA,WAAW,EAAE,CAAC,IAAI,CAAC,MAAK;QACtB,QAAQ,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,CAAC;AACpD,KAAC,CAAC;AAEF,IAAA,OAAO,MAAQ,GAAC;AAClB,CAAC;;;;"}
@@ -0,0 +1,35 @@
1
+ import { fromCallback } from 'xstate';
2
+ import { GET_VERSIONS } from '../../../Item/queries.js';
3
+ import { BaseEasClient } from '../../../helpers/EasClient/BaseEasClient.js';
4
+ import { BaseQueryClient } from '../../../helpers/QueryClient/BaseQueryClient.js';
5
+
6
+ const fetchVersions = fromCallback(({ sendBack, input: { context } }) => {
7
+ const { itemSeeds, modelName } = context;
8
+ if (!itemSeeds) {
9
+ throw new Error('No queryVariables found');
10
+ }
11
+ let itemVersions;
12
+ const _fetchVersions = async () => {
13
+ const queryClient = BaseQueryClient.getQueryClient();
14
+ const easClient = BaseEasClient.getEasClient();
15
+ const seedIds = itemSeeds.map((seed) => seed.id);
16
+ const results = await queryClient.fetchQuery({
17
+ queryKey: [`getVersions${modelName}`],
18
+ queryFn: async () => easClient.request(GET_VERSIONS, {
19
+ where: {
20
+ refUID: {
21
+ in: seedIds,
22
+ },
23
+ },
24
+ }),
25
+ });
26
+ itemVersions = results.itemVersions;
27
+ };
28
+ _fetchVersions().then(() => {
29
+ sendBack({ type: 'fetchVersionsSuccess', itemVersions });
30
+ });
31
+ return () => { };
32
+ });
33
+
34
+ export { fetchVersions };
35
+ //# sourceMappingURL=fetchVersions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchVersions.js","sources":["../../../../../../src/services/allItems/actors/fetchVersions.ts"],"sourcesContent":["import { EventObject, fromCallback } from 'xstate'\nimport { GET_VERSIONS } from '@/Item/queries'\nimport { AllItemsMachineContext, FromCallbackInput } from '@/types'\nimport { Attestation } from '@/graphql/gql/graphql'\nimport { BaseEasClient } from '@/helpers/EasClient/BaseEasClient'\nimport { BaseQueryClient } from '@/helpers/QueryClient/BaseQueryClient'\n\n\nexport const fetchVersions = fromCallback<\n EventObject,\n FromCallbackInput<AllItemsMachineContext>\n>(\n ({ sendBack, input: { context } }) => {\n const { itemSeeds, modelName } = context\n\n if (!itemSeeds) {\n throw new Error('No queryVariables found')\n }\n\n let itemVersions: Attestation[] | undefined\n\n const _fetchVersions = async () => {\n const queryClient = BaseQueryClient.getQueryClient()\n const easClient = BaseEasClient.getEasClient()\n\n const seedIds = itemSeeds.map((seed) => seed.id)\n\n const results = await queryClient.fetchQuery({\n queryKey: [`getVersions${modelName}`],\n queryFn: async () =>\n easClient.request(GET_VERSIONS, {\n where: {\n refUID: {\n in: seedIds,\n },\n },\n }),\n })\n\n itemVersions = results.itemVersions\n }\n\n _fetchVersions().then(() => {\n sendBack({ type: 'fetchVersionsSuccess', itemVersions })\n })\n\n return () => { }\n },\n)\n"],"names":[],"mappings":";;;;;AAQa,MAAA,aAAa,GAAG,YAAY,CAIvC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,KAAI;AACnC,IAAA,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,OAAO;IAExC,IAAI,CAAC,SAAS,EAAE;AACd,QAAA,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC;;AAG5C,IAAA,IAAI,YAAuC;AAE3C,IAAA,MAAM,cAAc,GAAG,YAAW;AAChC,QAAA,MAAM,WAAW,GAAG,eAAe,CAAC,cAAc,EAAE;AACpD,QAAA,MAAM,SAAS,GAAG,aAAa,CAAC,YAAY,EAAE;AAE9C,QAAA,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;AAEhD,QAAA,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,UAAU,CAAC;AAC3C,YAAA,QAAQ,EAAE,CAAC,CAAc,WAAA,EAAA,SAAS,EAAE,CAAC;YACrC,OAAO,EAAE,YACP,SAAS,CAAC,OAAO,CAAC,YAAY,EAAE;AAC9B,gBAAA,KAAK,EAAE;AACL,oBAAA,MAAM,EAAE;AACN,wBAAA,EAAE,EAAE,OAAO;AACZ,qBAAA;AACF,iBAAA;aACF,CAAC;AACL,SAAA,CAAC;AAEF,QAAA,YAAY,GAAG,OAAO,CAAC,YAAY;AACrC,KAAC;AAED,IAAA,cAAc,EAAE,CAAC,IAAI,CAAC,MAAK;QACzB,QAAQ,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,YAAY,EAAE,CAAC;AAC1D,KAAC,CAAC;AAEF,IAAA,OAAO,MAAQ,GAAC;AAClB,CAAC;;;;"}
@@ -0,0 +1,144 @@
1
+ import { fromCallback } from 'xstate';
2
+ import { GET_SCHEMAS } from '../../../Item/queries.js';
3
+ import pluralize from 'pluralize';
4
+ import { BaseEasClient } from '../../../helpers/EasClient/BaseEasClient.js';
5
+ import { BaseQueryClient } from '../../../helpers/QueryClient/BaseQueryClient.js';
6
+ import { toSnakeCase } from '../../../helpers/index.js';
7
+ import '../../../seedSchema/SeedSchema.js';
8
+ import '../../../seedSchema/VersionSchema.js';
9
+ import '../../../seedSchema/MetadataSchema.js';
10
+ import '../../../seedSchema/AppStateSchema.js';
11
+ import { models } from '../../../seedSchema/ModelSchema.js';
12
+ import { modelUids } from '../../../seedSchema/ModelUidSchema.js';
13
+ import { eq } from 'drizzle-orm';
14
+ import { getAddressesFromDb } from '../../../helpers/db.js';
15
+ import { eventEmitter } from '../../../eventBus.js';
16
+ import { BaseDb } from '../../../db/Db/BaseDb.js';
17
+
18
+ const initialize = fromCallback(({ sendBack, input: { context } }) => {
19
+ const { modelName, modelAddedToDb, ModelClass, times } = context;
20
+ const newTimes = {
21
+ initialize: {
22
+ start: Date.now(),
23
+ end: null,
24
+ },
25
+ };
26
+ let modelNameLowercase;
27
+ let modelNamePlural;
28
+ let queryVariables;
29
+ let appDb;
30
+ const _initialize = async () => {
31
+ appDb = BaseDb.getAppDb();
32
+ // const rows = await getItemsDataFromDb(modelName)
33
+ //
34
+ // if (rows && rows.length > 0) {
35
+ // for (const itemData of rows) {
36
+ // const {
37
+ // versionLocalId,
38
+ // versionUid,
39
+ // createdAt,
40
+ // seedLocalId,
41
+ // seedUid,
42
+ // attestationCreatedAt,
43
+ // } = itemData
44
+ //
45
+ // eventEmitter.emit('item.create.request', {
46
+ // itemData: {
47
+ // versionLocalId,
48
+ // versionUid,
49
+ // createdAt,
50
+ // seedLocalId,
51
+ // seedUid,
52
+ // attestationCreatedAt,
53
+ // },
54
+ // ModelClass,
55
+ // })
56
+ // }
57
+ // }
58
+ modelNameLowercase = modelName.toLowerCase();
59
+ modelNamePlural = pluralize(modelNameLowercase);
60
+ const queryClient = BaseQueryClient.getQueryClient();
61
+ const easClient = BaseEasClient.getEasClient();
62
+ const modelSchemas = await queryClient.fetchQuery({
63
+ queryKey: [`getSchemas${modelName}`],
64
+ queryFn: async () => easClient.request(GET_SCHEMAS, {
65
+ where: {
66
+ schema: {
67
+ equals: `bytes32 ${toSnakeCase(modelName)}`,
68
+ },
69
+ },
70
+ }),
71
+ });
72
+ if (!modelSchemas ||
73
+ !modelSchemas.schemas ||
74
+ modelSchemas.schemas.length === 0) {
75
+ throw new Error(`No schema found for ${modelName}`);
76
+ }
77
+ const modelSchema = modelSchemas.schemas[0];
78
+ if (!modelSchema.id) {
79
+ throw new Error(`No schema ID found for schema ${JSON.stringify(modelSchema)}`);
80
+ }
81
+ const foundModels = await appDb
82
+ .select({
83
+ id: models.id,
84
+ name: models.name,
85
+ uid: modelUids.uid,
86
+ })
87
+ .from(models)
88
+ .leftJoin(modelUids, eq(models.id, modelUids.modelId))
89
+ .where(eq(models.name, modelName))
90
+ .limit(1);
91
+ const foundModel = foundModels[0];
92
+ if (!foundModel) {
93
+ sendBack({ type: 'modelNotFound', modelName });
94
+ return;
95
+ }
96
+ await appDb
97
+ .insert(modelUids)
98
+ .values({
99
+ modelId: foundModel.id,
100
+ uid: modelSchema.id,
101
+ })
102
+ .onConflictDoNothing();
103
+ const addresses = await getAddressesFromDb();
104
+ queryVariables = {
105
+ where: {
106
+ attester: {
107
+ in: addresses,
108
+ },
109
+ schemaId: {
110
+ equals: modelSchema.id,
111
+ },
112
+ decodedDataJson: {
113
+ contains: modelSchema.id,
114
+ },
115
+ },
116
+ };
117
+ };
118
+ const initializeHandler = () => {
119
+ _initialize().then(() => {
120
+ sendBack({
121
+ type: 'initializeSuccess',
122
+ modelName,
123
+ modelNameLowercase,
124
+ modelNamePlural,
125
+ queryVariables,
126
+ });
127
+ newTimes.initialize.end = Date.now();
128
+ sendBack({ type: 'updateTimes', times: newTimes });
129
+ });
130
+ };
131
+ if (modelAddedToDb) {
132
+ initializeHandler();
133
+ }
134
+ const dbReadyHandler = (event) => {
135
+ initializeHandler();
136
+ };
137
+ eventEmitter.addListener('allDbsLoaded', dbReadyHandler);
138
+ return () => {
139
+ eventEmitter.removeListener('allDbsLoaded', dbReadyHandler);
140
+ };
141
+ });
142
+
143
+ export { initialize };
144
+ //# sourceMappingURL=initialize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initialize.js","sources":["../../../../../../src/services/allItems/actors/initialize.ts"],"sourcesContent":["import { EventObject, fromCallback } from 'xstate'\nimport { GET_SCHEMAS } from '@/Item/queries'\nimport pluralize from 'pluralize'\nimport { BaseEasClient } from '@/helpers/EasClient/BaseEasClient'\nimport { BaseQueryClient } from '@/helpers/QueryClient/BaseQueryClient'\nimport { toSnakeCase } from '@/helpers'\nimport {\n models as modelsTable,\n modelUids,\n properties,\n} from '@/seedSchema'\nimport { eq } from 'drizzle-orm'\nimport { SchemaWhereInput } from '@/graphql/gql/graphql'\nimport { INTERNAL_DATA_TYPES } from '@/helpers/constants'\nimport { getAddressesFromDb } from '@/helpers/db'\nimport { eventEmitter } from '@/eventBus'\nimport { BaseDb } from '@/db/Db/BaseDb'\n\nimport { AllItemsMachineContext, FromCallbackInput } from '@/types'\n\n\ntype Times = {\n initialize?: {\n start: number | null\n end: number | null\n }\n fetchDbData?: {\n start: number | null\n end: number | null\n }\n fetchSeeds?: {\n start: number | null\n end: number | null\n }\n fetchVersions?: {\n start: number | null\n end: number | null\n }\n fetchRelatedItems?: {\n start: number | null\n end: number | null\n }\n processItems?: {\n start: number | null\n end: number | null\n }\n}\n\ntype InternalDataType = keyof typeof INTERNAL_DATA_TYPES;\n\nexport const initialize = fromCallback<\n EventObject,\n FromCallbackInput<AllItemsMachineContext>\n>(({ sendBack, input: { context } }) => {\n const { modelName, modelAddedToDb, ModelClass, times } = context\n\n const newTimes: Times = {\n initialize: {\n start: Date.now(),\n end: null,\n },\n }\n\n let modelNameLowercase: string | undefined\n let modelNamePlural: string | undefined\n let queryVariables: Record<string, unknown> | undefined\n let appDb\n\n const _initialize = async () => {\n appDb = BaseDb.getAppDb()\n\n // const rows = await getItemsDataFromDb(modelName)\n //\n // if (rows && rows.length > 0) {\n // for (const itemData of rows) {\n // const {\n // versionLocalId,\n // versionUid,\n // createdAt,\n // seedLocalId,\n // seedUid,\n // attestationCreatedAt,\n // } = itemData\n //\n // eventEmitter.emit('item.create.request', {\n // itemData: {\n // versionLocalId,\n // versionUid,\n // createdAt,\n // seedLocalId,\n // seedUid,\n // attestationCreatedAt,\n // },\n // ModelClass,\n // })\n // }\n // }\n\n modelNameLowercase = modelName.toLowerCase()\n modelNamePlural = pluralize(modelNameLowercase!)\n\n const queryClient = BaseQueryClient.getQueryClient()\n const easClient = BaseEasClient.getEasClient()\n\n const modelSchemas = await queryClient.fetchQuery({\n queryKey: [`getSchemas${modelName}`],\n queryFn: async () =>\n easClient.request(GET_SCHEMAS, {\n where: {\n schema: {\n equals: `bytes32 ${toSnakeCase(modelName)}`,\n },\n },\n }),\n })\n\n if (\n !modelSchemas ||\n !modelSchemas.schemas ||\n modelSchemas.schemas.length === 0\n ) {\n throw new Error(`No schema found for ${modelName}`)\n }\n\n const modelSchema = modelSchemas.schemas[0]\n\n if (!modelSchema.id) {\n throw new Error(\n `No schema ID found for schema ${JSON.stringify(modelSchema)}`,\n )\n }\n\n const foundModels = await appDb\n .select({\n id: modelsTable.id,\n name: modelsTable.name,\n uid: modelUids.uid,\n })\n .from(modelsTable)\n .leftJoin(modelUids, eq(modelsTable.id, modelUids.modelId))\n .where(eq(modelsTable.name, modelName))\n .limit(1)\n\n const foundModel = foundModels[0]\n\n if (!foundModel) {\n sendBack({ type: 'modelNotFound', modelName })\n return\n }\n\n await appDb\n .insert(modelUids)\n .values({\n modelId: foundModel.id,\n uid: modelSchema.id,\n })\n .onConflictDoNothing()\n\n const addresses = await getAddressesFromDb()\n\n queryVariables = {\n where: {\n attester: {\n in: addresses,\n },\n schemaId: {\n equals: modelSchema.id,\n },\n decodedDataJson: {\n contains: modelSchema.id,\n },\n },\n }\n }\n\n const initializeHandler = () => {\n _initialize().then(() => {\n sendBack({\n type: 'initializeSuccess',\n modelName,\n modelNameLowercase,\n modelNamePlural,\n queryVariables,\n })\n newTimes!.initialize!.end = Date.now()\n sendBack({ type: 'updateTimes', times: newTimes })\n })\n }\n\n if (modelAddedToDb) {\n initializeHandler()\n }\n\n const dbReadyHandler = (event) => {\n initializeHandler()\n }\n\n eventEmitter.addListener('allDbsLoaded', dbReadyHandler)\n\n return () => {\n eventEmitter.removeListener('allDbsLoaded', dbReadyHandler)\n }\n})\n"],"names":["modelsTable"],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ import { fromCallback } from 'xstate';
2
+ import { eventEmitter } from '../../../eventBus.js';
3
+
4
+ const processItems = fromCallback(({ sendBack, input: { context } }) => {
5
+ const { itemVersions, itemSeeds, ModelClass, schemaUidsByModelName, mostRecentPropertiesBySeedUid, times,
6
+ // relatedProperties,
7
+ // relatedVersionsBySchemaUid,
8
+ // relatedVersionsBySeedUid,
9
+ } = context;
10
+ if (!itemVersions || !itemSeeds) {
11
+ throw new Error('No itemVersions or itemSeeds found');
12
+ }
13
+ const _processItems = async () => {
14
+ // For each itemSeed, find all the Versions
15
+ for (const itemSeed of itemSeeds.slice(8, 16)) {
16
+ const versionsForSeed = itemVersions.filter((version) => version.refUID === itemSeed.id);
17
+ if (versionsForSeed.length === 0) {
18
+ continue;
19
+ }
20
+ // Find the most recent Version for each Seed
21
+ const recentVersionsMap = {};
22
+ versionsForSeed.forEach((version) => {
23
+ const existingVersion = recentVersionsMap[version.refUID];
24
+ if (!existingVersion ||
25
+ new Date(version.timeCreated * 1000) >
26
+ new Date(existingVersion.timeCreated * 1000)) {
27
+ recentVersionsMap[version.refUID] = version;
28
+ }
29
+ });
30
+ }
31
+ };
32
+ _processItems().then(() => {
33
+ sendBack({ type: 'processItemsSuccess' });
34
+ const modelName = ModelClass.originalConstructor.name;
35
+ eventEmitter.emit('item.requestAll', {
36
+ modelName,
37
+ });
38
+ eventEmitter.emit('service.save', {
39
+ modelName,
40
+ });
41
+ sendBack({
42
+ type: 'updateTimes',
43
+ times: {
44
+ ...times,
45
+ processItems: {
46
+ start: null,
47
+ end: Date.now(),
48
+ },
49
+ },
50
+ });
51
+ });
52
+ });
53
+
54
+ export { processItems };
55
+ //# sourceMappingURL=processItems.js.map