@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 @@
1
+ {"version":3,"file":"initialize.js","sources":["../../../../../../src/ItemProperty/service/actors/initialize.ts"],"sourcesContent":["import { EventObject, fromCallback } from 'xstate'\nimport { FromCallbackInput } from '@/types/machines'\nimport { PropertyMachineContext } from '@/types/property'\nimport { getSchemaUidForSchemaDefinition } from '@/stores/eas'\nimport { BaseFileManager } from '@/helpers/FileManager/BaseFileManager'\n\nexport const initialize = fromCallback<\n EventObject,\n FromCallbackInput<PropertyMachineContext, EventObject>\n>(({ sendBack, input: { context } }) => {\n const { isRelation, propertyName, storageTransactionId } = context\n let { schemaUid } = context\n\n if (!schemaUid) {\n schemaUid = getSchemaUidForSchemaDefinition(propertyName)\n if (schemaUid) {\n sendBack({ type: 'updateContext', schemaUid })\n }\n }\n\n if (isRelation) {\n sendBack({ type: 'isRelatedProperty' })\n sendBack({ type: 'initializeSuccess' })\n return\n }\n\n if (!isRelation) {\n if (\n (propertyName !== 'html' && propertyName !== 'json') ||\n !storageTransactionId\n ) {\n sendBack({ type: 'initializeSuccess' })\n return\n }\n\n const _getContentsFromFileSystem = async () => {\n if (propertyName === 'html') {\n const htmlFilePath = `/files/html/${storageTransactionId}.html`\n const exists = await BaseFileManager.pathExists(htmlFilePath)\n if (!exists) {\n return\n }\n const renderValue = await BaseFileManager.readFileAsString(htmlFilePath)\n .catch((error) => {\n console.warn('Error reading html file', error)\n })\n sendBack({ type: 'updateContext', renderValue })\n return\n }\n if (propertyName === 'json') {\n const jsonFilePath = `/files/json/${storageTransactionId}.json`\n const exists = await BaseFileManager.pathExists(jsonFilePath)\n if (!exists) {\n return\n }\n const renderValue = await BaseFileManager.readFileAsString(jsonFilePath)\n .catch((error) => {\n console.warn('Error reading json file', error)\n })\n sendBack({ type: 'updateContext', renderValue })\n return\n }\n }\n\n _getContentsFromFileSystem().then(() => {\n sendBack({ type: 'initializeSuccess' })\n })\n }\n})\n"],"names":[],"mappings":";;;;AAMa,MAAA,UAAU,GAAG,YAAY,CAGpC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,KAAI;IACrC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,oBAAoB,EAAE,GAAG,OAAO;AAClE,IAAA,IAAI,EAAE,SAAS,EAAE,GAAG,OAAO;IAE3B,IAAI,CAAC,SAAS,EAAE;AACd,QAAA,SAAS,GAAG,+BAA+B,CAAC,YAAY,CAAC;QACzD,IAAI,SAAS,EAAE;YACb,QAAQ,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC;;;IAIlD,IAAI,UAAU,EAAE;AACd,QAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC;AACvC,QAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC;QACvC;;IAGF,IAAI,CAAC,UAAU,EAAE;QACf,IACE,CAAC,YAAY,KAAK,MAAM,IAAI,YAAY,KAAK,MAAM;YACnD,CAAC,oBAAoB,EACrB;AACA,YAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC;YACvC;;AAGF,QAAA,MAAM,0BAA0B,GAAG,YAAW;AAC5C,YAAA,IAAI,YAAY,KAAK,MAAM,EAAE;AAC3B,gBAAA,MAAM,YAAY,GAAG,CAAe,YAAA,EAAA,oBAAoB,OAAO;gBAC/D,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,YAAY,CAAC;gBAC7D,IAAI,CAAC,MAAM,EAAE;oBACX;;gBAEF,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,gBAAgB,CAAC,YAAY;AACpE,qBAAA,KAAK,CAAC,CAAC,KAAK,KAAI;AACf,oBAAA,OAAO,CAAC,IAAI,CAAC,yBAAyB,EAAE,KAAK,CAAC;AAChD,iBAAC,CAAC;gBACJ,QAAQ,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,WAAW,EAAE,CAAC;gBAChD;;AAEF,YAAA,IAAI,YAAY,KAAK,MAAM,EAAE;AAC3B,gBAAA,MAAM,YAAY,GAAG,CAAe,YAAA,EAAA,oBAAoB,OAAO;gBAC/D,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,YAAY,CAAC;gBAC7D,IAAI,CAAC,MAAM,EAAE;oBACX;;gBAEF,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,gBAAgB,CAAC,YAAY;AACpE,qBAAA,KAAK,CAAC,CAAC,KAAK,KAAI;AACf,oBAAA,OAAO,CAAC,IAAI,CAAC,yBAAyB,EAAE,KAAK,CAAC;AAChD,iBAAC,CAAC;gBACJ,QAAQ,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,WAAW,EAAE,CAAC;gBAChD;;AAEJ,SAAC;AAED,QAAA,0BAA0B,EAAE,CAAC,IAAI,CAAC,MAAK;AACrC,YAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC;AACzC,SAAC,CAAC;;AAEN,CAAC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"resolveRelatedValue.d.ts","sourceRoot":"","sources":["../../../../../src/ItemProperty/service/actors/resolveRelatedValue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAgB,MAAM,QAAQ,CAAA;AAIlD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAWpD,eAAO,MAAM,mBAAmB,oGA+L9B,CAAA"}
1
+ {"version":3,"file":"resolveRelatedValue.d.ts","sourceRoot":"","sources":["../../../../../src/ItemProperty/service/actors/resolveRelatedValue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAgB,MAAM,QAAQ,CAAA;AAGlD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAWpD,eAAO,MAAM,mBAAmB,oGA6L9B,CAAA"}
@@ -0,0 +1,317 @@
1
+ import { fromCallback } from 'xstate';
2
+ import { convertTxIdToImageSrc } from '../../../helpers/index.js';
3
+ import debug from 'debug';
4
+ import { getStorageTransactionIdForSeedUid } from '../../../db/read/getStorageTransactionIdForSeedUid.js';
5
+ import { getRelationValueData } from '../../../db/read/getRelationValueData.js';
6
+ import { BaseFileManager } from '../../../helpers/FileManager/BaseFileManager.js';
7
+
8
+ const logger = debug('seedSdk:property:actors:resolveRelatedValue');
9
+ const storageTransactionIdToContentUrl = new Map();
10
+ const refResolvedValueToContentUrl = new Map();
11
+ const seedUidToContentUrl = new Map();
12
+ const resolveRelatedValue = fromCallback(({ sendBack, input: { context } }) => {
13
+ const { isRelation, propertyValue, propertyName, seedUid, propertyRecordSchema, populatedFromDb, schemaUid, } = context;
14
+ const _resolveRelatedValue = async () => {
15
+ if (!propertyValue || !isRelation || populatedFromDb) {
16
+ return;
17
+ }
18
+ let parsedValue;
19
+ try {
20
+ parsedValue = JSON.parse(propertyValue);
21
+ }
22
+ catch (error) {
23
+ logger(`${propertyName} value is not a JSON string.`);
24
+ }
25
+ if (!parsedValue && seedUidToContentUrl.has(propertyValue)) {
26
+ const contentUrl = seedUidToContentUrl.get(propertyValue);
27
+ sendBack({
28
+ type: 'updateContext',
29
+ renderValue: contentUrl,
30
+ });
31
+ sendBack({
32
+ type: 'resolvingRelatedValueSuccess',
33
+ refResolvedDisplayValue: contentUrl,
34
+ });
35
+ return true;
36
+ }
37
+ if (Array.isArray(propertyValue)) {
38
+ // TODO: Handle array of seedUids
39
+ logger(`${propertyName} value is an array of seedUids`);
40
+ return;
41
+ }
42
+ if (Array.isArray(parsedValue)) {
43
+ logger(`${propertyName} value is a stringified array of seedUids`);
44
+ return;
45
+ }
46
+ const storageTransactionId = await getStorageTransactionIdForSeedUid(propertyValue);
47
+ if (storageTransactionId) {
48
+ if (storageTransactionIdToContentUrl.has(storageTransactionId)) {
49
+ const contentUrl = storageTransactionIdToContentUrl.get(storageTransactionId);
50
+ sendBack({
51
+ type: 'updateContext',
52
+ renderValue: contentUrl,
53
+ });
54
+ sendBack({
55
+ type: 'resolvingRelatedValueSuccess',
56
+ refResolvedDisplayValue: contentUrl,
57
+ refResolvedValue: storageTransactionId,
58
+ });
59
+ return true;
60
+ }
61
+ const contentUrl = await convertTxIdToImageSrc(storageTransactionId);
62
+ if (contentUrl) {
63
+ seedUidToContentUrl.set(propertyValue, contentUrl);
64
+ }
65
+ sendBack({
66
+ type: 'updateContext',
67
+ renderValue: contentUrl,
68
+ });
69
+ sendBack({
70
+ type: 'resolvingRelatedValueSuccess',
71
+ refResolvedDisplayValue: contentUrl,
72
+ refResolvedValue: storageTransactionId,
73
+ });
74
+ return true;
75
+ }
76
+ const relationValueData = await getRelationValueData(propertyValue);
77
+ if (relationValueData) {
78
+ const { refResolvedValue } = relationValueData;
79
+ const propertyValueFromDb = relationValueData.propertyValue;
80
+ // This handles a local-only relation value and resolves from the filesystem
81
+ if (refResolvedValue &&
82
+ propertyRecordSchema.dataType === 'Relation' &&
83
+ propertyValueFromDb.length === 10 &&
84
+ propertyRecordSchema.ref) {
85
+ if (refResolvedValueToContentUrl.has(refResolvedValue)) {
86
+ const contentUrl = refResolvedValueToContentUrl.get(refResolvedValue);
87
+ sendBack({
88
+ type: 'updateContext',
89
+ renderValue: contentUrl,
90
+ });
91
+ sendBack({
92
+ type: 'resolvingRelatedValueSuccess',
93
+ refResolvedDisplayValue: contentUrl,
94
+ });
95
+ return true;
96
+ }
97
+ const fileExists = await BaseFileManager.pathExists('/files/images/' + refResolvedValue);
98
+ if (fileExists) {
99
+ const file = await BaseFileManager.readFile('/files/images/' + refResolvedValue);
100
+ const contentUrl = URL.createObjectURL(file);
101
+ refResolvedValueToContentUrl.set(refResolvedValue, contentUrl);
102
+ sendBack({
103
+ type: 'updateContext',
104
+ renderValue: contentUrl,
105
+ });
106
+ sendBack({
107
+ type: 'resolvingRelatedValueSuccess',
108
+ refResolvedDisplayValue: contentUrl,
109
+ });
110
+ return true;
111
+ }
112
+ }
113
+ if (typeof propertyValueFromDb === 'string') {
114
+ // Check files for a filename that matches the propertyValue
115
+ if (propertyRecordSchema &&
116
+ propertyRecordSchema.refValueType === 'ImageSrc') {
117
+ let contentUrl;
118
+ if (storageTransactionIdToContentUrl.has(propertyValueFromDb)) {
119
+ contentUrl =
120
+ storageTransactionIdToContentUrl.get(propertyValueFromDb);
121
+ }
122
+ if (!contentUrl) {
123
+ const imageFileExists = await BaseFileManager.pathExists(`/images/${propertyValue}`);
124
+ if (imageFileExists) {
125
+ const file = await BaseFileManager.readFile(`/images/${propertyValue}`);
126
+ contentUrl = URL.createObjectURL(file);
127
+ storageTransactionIdToContentUrl.set(propertyValueFromDb, contentUrl);
128
+ }
129
+ }
130
+ if (contentUrl) {
131
+ sendBack({
132
+ type: 'updateContext',
133
+ renderValue: contentUrl,
134
+ });
135
+ sendBack({
136
+ type: 'resolvingRelatedValueSuccess',
137
+ refResolvedDisplayValue: contentUrl,
138
+ });
139
+ return true;
140
+ }
141
+ }
142
+ }
143
+ }
144
+ };
145
+ _resolveRelatedValue().then((success) => {
146
+ // if (success) {
147
+ // sendBack({
148
+ // type: 'resolvingRelatedValueDone',
149
+ // })
150
+ // }
151
+ // return
152
+ sendBack({
153
+ type: 'resolvingRelatedValueDone',
154
+ });
155
+ });
156
+ });
157
+ // const eventKey = `storage.transaction.${initialValue}.contentUrl.response`
158
+ //
159
+ // const contentUrlListener = async (event) => {
160
+ // console.log('[itemProperty] [constructor] contentUrlListener', event)
161
+ // }
162
+ //
163
+ // eventEmitter.once(eventKey, contentUrlListener)
164
+ //
165
+ // const ready = getArePropertyEventHandlersReady()
166
+ //
167
+ // console.log('[itemProperty] [constructor] ready', ready)
168
+ //
169
+ // eventEmitter.emit('storage.transaction.contentUrl.request', {
170
+ // storageTransactionId: initialValue,
171
+ // })
172
+ // Related property values can either be seedUid or seedUid[]
173
+ // let relatedSeedUid: string
174
+ // let relatedSeedUids: string[]
175
+ //
176
+ // if (Array.isArray(propertyValue)) {
177
+ // relatedSeedUids = propertyValue
178
+ // } else {
179
+ // relatedSeedUid = propertyValue
180
+ // }
181
+ //
182
+ // if (relatedSeedUid) {
183
+ // console.log(
184
+ // `[property/actors] [resolveRelatedValue] seedUid: ${relatedSeedUid}`,
185
+ // )
186
+ // const latestVersionOfRelatedSeedQuery = await appDb.run(
187
+ // sql.raw(
188
+ // `
189
+ // SELECT local_id, uid, MAX(attestation_created_at)
190
+ // FROM versions
191
+ // WHERE seed_uid = '${relatedSeedUid}';
192
+ // `,
193
+ // ),
194
+ // )
195
+ // if (
196
+ // latestVersionOfRelatedSeedQuery &&
197
+ // latestVersionOfRelatedSeedQuery.rows &&
198
+ // latestVersionOfRelatedSeedQuery.rows.length > 0
199
+ // ) {
200
+ // const latestVersionOfRelatedSeed =
201
+ // latestVersionOfRelatedSeedQuery.rows[0]
202
+ // console.log(
203
+ // '[property/actors] [resolveRelatedValue] latestVersionOfRelatedSeed',
204
+ // latestVersionOfRelatedSeed,
205
+ // )
206
+ // const storageIdQuery = await appDb.run(
207
+ // sql.raw(
208
+ // `
209
+ // SELECT property_value, MAX(attestation_created_at), ref_resolved_display_value, ref_resolved_value
210
+ // FROM metadata
211
+ // WHERE seed_uid = '${relatedSeedUid}'
212
+ // AND property_name = 'storageTransactionId';
213
+ // `,
214
+ // ),
215
+ // )
216
+ //
217
+ // if (
218
+ // storageIdQuery &&
219
+ // storageIdQuery.rows &&
220
+ // storageIdQuery.rows.length > 0
221
+ // ) {
222
+ // const storageId = storageIdQuery.rows[0][0]
223
+ //
224
+ // if (!storageId) {
225
+ // console.error(
226
+ // `storageId not found for ${propertyName} with relatedSeedUid ${relatedSeedUid}`,
227
+ // )
228
+ // }
229
+ //
230
+ // const refResolvedDisplayValue = storageIdQuery.rows[0][2]
231
+ // let resolvedValue = storageIdQuery.rows[0][3]
232
+ //
233
+ // if (refResolvedDisplayValue && resolvedValue) {
234
+ // sendBack({
235
+ // type: 'resolvingRelatedValueSuccess',
236
+ // refResolvedDisplayValue,
237
+ // resolvedValue,
238
+ // })
239
+ // return
240
+ // }
241
+ //
242
+ // console.log(
243
+ // '[property/actors] [resolveRelatedValue] storageId',
244
+ // storageId,
245
+ // )
246
+ //
247
+ // const contentUrl = await convertTxIdToImageSrc(storageId)
248
+ //
249
+ // if (!contentUrl) {
250
+ // throw new Error(
251
+ // `contentUrl not found for ${propertyName} with relatedSeedUid ${relatedSeedUid}`,
252
+ // )
253
+ // }
254
+ //
255
+ // await appDb.run(
256
+ // sql.raw(
257
+ // `UPDATE metadata
258
+ // SET ref_resolved_display_value = '${contentUrl}',
259
+ // ref_resolved_value = '${storageId}'
260
+ // WHERE seed_uid = '${relatedSeedUid}'
261
+ // AND property_name = 'storageTransactionId';
262
+ // `,
263
+ // ),
264
+ // )
265
+ //
266
+ // sendBack({
267
+ // type: 'resolvingRelatedValueSuccess',
268
+ // refResolvedDisplayValue: contentUrl,
269
+ // resolvedValue: storageId,
270
+ // })
271
+ // }
272
+ // }
273
+ //
274
+ // const versionUidQuery = await appDb.run(
275
+ // sql.raw(
276
+ // `
277
+ // SELECT uid
278
+ // FROM versions
279
+ // WHERE seed_uid = '${relatedSeedUid}';
280
+ // `,
281
+ // ),
282
+ // )
283
+ //
284
+ // if (
285
+ // versionUidQuery &&
286
+ // versionUidQuery.rows &&
287
+ // versionUidQuery.rows.length > 0
288
+ // ) {
289
+ // const versionUids = versionUidQuery.rows.map((row) => row[0])
290
+ // console.log(
291
+ // '[property/actors] [resolveRelatedValue] versionUids',
292
+ // versionUids,
293
+ // )
294
+ // const { itemProperties } = await easClient.request(GET_PROPERTIES, {
295
+ // where: {
296
+ // refUID: {
297
+ // in: versionUids,
298
+ // },
299
+ // decodedDataJson: {
300
+ // contains: 'storage_transaction_id',
301
+ // },
302
+ // },
303
+ // })
304
+ //
305
+ // console.log(
306
+ // '[property/actors] [resolveRelatedValue] itemProperties',
307
+ // itemProperties,
308
+ // )
309
+ //
310
+ // if (itemProperties && itemProperties.length > 0) {
311
+ // await savePropertiesToDb(itemProperties)
312
+ // }
313
+ // }
314
+ // }
315
+
316
+ export { resolveRelatedValue };
317
+ //# sourceMappingURL=resolveRelatedValue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveRelatedValue.js","sources":["../../../../../../src/ItemProperty/service/actors/resolveRelatedValue.ts"],"sourcesContent":["import { EventObject, fromCallback } from 'xstate'\nimport { BaseFileManager, convertTxIdToImageSrc } from '@/helpers'\nimport debug from 'debug'\nimport { FromCallbackInput } from '@/types/machines'\nimport { PropertyMachineContext } from '@/types/property'\nimport { getStorageTransactionIdForSeedUid } from '@/db/read/getStorageTransactionIdForSeedUid'\nimport { getRelationValueData } from '@/db/read/getRelationValueData'\n\nconst logger = debug('seedSdk:property:actors:resolveRelatedValue')\n\nconst storageTransactionIdToContentUrl = new Map<string, string>()\nconst refResolvedValueToContentUrl = new Map<string, string>()\nconst seedUidToContentUrl = new Map<string, string>()\n\nexport const resolveRelatedValue = fromCallback<\n EventObject,\n FromCallbackInput<PropertyMachineContext, EventObject>\n>(({ sendBack, input: { context } }) => {\n const {\n isRelation,\n propertyValue,\n propertyName,\n seedUid,\n propertyRecordSchema,\n populatedFromDb,\n schemaUid,\n } = context\n\n const _resolveRelatedValue = async () => {\n if (!propertyValue || !isRelation || populatedFromDb) {\n return\n }\n\n let parsedValue\n\n try {\n parsedValue = JSON.parse(propertyValue)\n } catch (error) {\n logger(`${propertyName} value is not a JSON string.`)\n }\n\n if (!parsedValue && seedUidToContentUrl.has(propertyValue)) {\n const contentUrl = seedUidToContentUrl.get(propertyValue)\n sendBack({\n type: 'updateContext',\n renderValue: contentUrl,\n })\n sendBack({\n type: 'resolvingRelatedValueSuccess',\n refResolvedDisplayValue: contentUrl,\n })\n return true\n }\n\n if (Array.isArray(propertyValue)) {\n // TODO: Handle array of seedUids\n logger(`${propertyName} value is an array of seedUids`)\n return\n }\n\n if (Array.isArray(parsedValue)) {\n logger(`${propertyName} value is a stringified array of seedUids`)\n return\n }\n\n const storageTransactionId =\n await getStorageTransactionIdForSeedUid(propertyValue)\n\n if (storageTransactionId) {\n if (storageTransactionIdToContentUrl.has(storageTransactionId)) {\n const contentUrl =\n storageTransactionIdToContentUrl.get(storageTransactionId)\n sendBack({\n type: 'updateContext',\n renderValue: contentUrl,\n })\n sendBack({\n type: 'resolvingRelatedValueSuccess',\n refResolvedDisplayValue: contentUrl,\n refResolvedValue: storageTransactionId,\n })\n return true\n }\n\n const contentUrl = await convertTxIdToImageSrc(storageTransactionId)\n if (contentUrl) {\n seedUidToContentUrl.set(propertyValue, contentUrl)\n }\n sendBack({\n type: 'updateContext',\n renderValue: contentUrl,\n })\n sendBack({\n type: 'resolvingRelatedValueSuccess',\n refResolvedDisplayValue: contentUrl,\n refResolvedValue: storageTransactionId,\n })\n return true\n }\n\n const relationValueData = await getRelationValueData(propertyValue)\n\n if (relationValueData) {\n const { refResolvedValue } = relationValueData\n const propertyValueFromDb = relationValueData.propertyValue\n\n // This handles a local-only relation value and resolves from the filesystem\n if (\n refResolvedValue &&\n propertyRecordSchema.dataType === 'Relation' &&\n propertyValueFromDb.length === 10 &&\n propertyRecordSchema.ref\n ) {\n if (refResolvedValueToContentUrl.has(refResolvedValue)) {\n const contentUrl = refResolvedValueToContentUrl.get(refResolvedValue)\n sendBack({\n type: 'updateContext',\n renderValue: contentUrl,\n })\n sendBack({\n type: 'resolvingRelatedValueSuccess',\n refResolvedDisplayValue: contentUrl,\n })\n return true\n }\n\n const fileExists = await BaseFileManager.pathExists(\n '/files/images/' + refResolvedValue,\n )\n if (fileExists) {\n const file = await BaseFileManager.readFile(\n '/files/images/' + refResolvedValue,\n )\n const contentUrl = URL.createObjectURL(file)\n refResolvedValueToContentUrl.set(refResolvedValue, contentUrl)\n sendBack({\n type: 'updateContext',\n renderValue: contentUrl,\n })\n sendBack({\n type: 'resolvingRelatedValueSuccess',\n refResolvedDisplayValue: contentUrl,\n })\n return true\n }\n }\n\n if (typeof propertyValueFromDb === 'string') {\n // Check files for a filename that matches the propertyValue\n if (\n propertyRecordSchema &&\n propertyRecordSchema.refValueType === 'ImageSrc'\n ) {\n let contentUrl\n\n if (storageTransactionIdToContentUrl.has(propertyValueFromDb)) {\n contentUrl =\n storageTransactionIdToContentUrl.get(propertyValueFromDb)\n }\n\n if (!contentUrl) {\n const imageFileExists = await BaseFileManager.pathExists(\n `/images/${propertyValue}`,\n )\n if (imageFileExists) {\n const file = await BaseFileManager.readFile(\n `/images/${propertyValue}`,\n )\n contentUrl = URL.createObjectURL(file)\n storageTransactionIdToContentUrl.set(\n propertyValueFromDb,\n contentUrl,\n )\n }\n }\n\n if (contentUrl) {\n sendBack({\n type: 'updateContext',\n renderValue: contentUrl,\n })\n sendBack({\n type: 'resolvingRelatedValueSuccess',\n refResolvedDisplayValue: contentUrl,\n })\n return true\n }\n }\n }\n }\n }\n\n _resolveRelatedValue().then((success) => {\n // if (success) {\n // sendBack({\n // type: 'resolvingRelatedValueDone',\n // })\n // }\n // return\n sendBack({\n type: 'resolvingRelatedValueDone',\n })\n })\n})\n\n// const eventKey = `storage.transaction.${initialValue}.contentUrl.response`\n//\n// const contentUrlListener = async (event) => {\n// console.log('[itemProperty] [constructor] contentUrlListener', event)\n// }\n//\n// eventEmitter.once(eventKey, contentUrlListener)\n//\n// const ready = getArePropertyEventHandlersReady()\n//\n// console.log('[itemProperty] [constructor] ready', ready)\n//\n// eventEmitter.emit('storage.transaction.contentUrl.request', {\n// storageTransactionId: initialValue,\n// })\n\n// Related property values can either be seedUid or seedUid[]\n// let relatedSeedUid: string\n// let relatedSeedUids: string[]\n//\n// if (Array.isArray(propertyValue)) {\n// relatedSeedUids = propertyValue\n// } else {\n// relatedSeedUid = propertyValue\n// }\n//\n// if (relatedSeedUid) {\n// console.log(\n// `[property/actors] [resolveRelatedValue] seedUid: ${relatedSeedUid}`,\n// )\n// const latestVersionOfRelatedSeedQuery = await appDb.run(\n// sql.raw(\n// `\n// SELECT local_id, uid, MAX(attestation_created_at)\n// FROM versions\n// WHERE seed_uid = '${relatedSeedUid}';\n// `,\n// ),\n// )\n// if (\n// latestVersionOfRelatedSeedQuery &&\n// latestVersionOfRelatedSeedQuery.rows &&\n// latestVersionOfRelatedSeedQuery.rows.length > 0\n// ) {\n// const latestVersionOfRelatedSeed =\n// latestVersionOfRelatedSeedQuery.rows[0]\n// console.log(\n// '[property/actors] [resolveRelatedValue] latestVersionOfRelatedSeed',\n// latestVersionOfRelatedSeed,\n// )\n// const storageIdQuery = await appDb.run(\n// sql.raw(\n// `\n// SELECT property_value, MAX(attestation_created_at), ref_resolved_display_value, ref_resolved_value\n// FROM metadata\n// WHERE seed_uid = '${relatedSeedUid}'\n// AND property_name = 'storageTransactionId';\n// `,\n// ),\n// )\n//\n// if (\n// storageIdQuery &&\n// storageIdQuery.rows &&\n// storageIdQuery.rows.length > 0\n// ) {\n// const storageId = storageIdQuery.rows[0][0]\n//\n// if (!storageId) {\n// console.error(\n// `storageId not found for ${propertyName} with relatedSeedUid ${relatedSeedUid}`,\n// )\n// }\n//\n// const refResolvedDisplayValue = storageIdQuery.rows[0][2]\n// let resolvedValue = storageIdQuery.rows[0][3]\n//\n// if (refResolvedDisplayValue && resolvedValue) {\n// sendBack({\n// type: 'resolvingRelatedValueSuccess',\n// refResolvedDisplayValue,\n// resolvedValue,\n// })\n// return\n// }\n//\n// console.log(\n// '[property/actors] [resolveRelatedValue] storageId',\n// storageId,\n// )\n//\n// const contentUrl = await convertTxIdToImageSrc(storageId)\n//\n// if (!contentUrl) {\n// throw new Error(\n// `contentUrl not found for ${propertyName} with relatedSeedUid ${relatedSeedUid}`,\n// )\n// }\n//\n// await appDb.run(\n// sql.raw(\n// `UPDATE metadata\n// SET ref_resolved_display_value = '${contentUrl}',\n// ref_resolved_value = '${storageId}'\n// WHERE seed_uid = '${relatedSeedUid}'\n// AND property_name = 'storageTransactionId';\n// `,\n// ),\n// )\n//\n// sendBack({\n// type: 'resolvingRelatedValueSuccess',\n// refResolvedDisplayValue: contentUrl,\n// resolvedValue: storageId,\n// })\n// }\n// }\n//\n// const versionUidQuery = await appDb.run(\n// sql.raw(\n// `\n// SELECT uid\n// FROM versions\n// WHERE seed_uid = '${relatedSeedUid}';\n// `,\n// ),\n// )\n//\n// if (\n// versionUidQuery &&\n// versionUidQuery.rows &&\n// versionUidQuery.rows.length > 0\n// ) {\n// const versionUids = versionUidQuery.rows.map((row) => row[0])\n// console.log(\n// '[property/actors] [resolveRelatedValue] versionUids',\n// versionUids,\n// )\n// const { itemProperties } = await easClient.request(GET_PROPERTIES, {\n// where: {\n// refUID: {\n// in: versionUids,\n// },\n// decodedDataJson: {\n// contains: 'storage_transaction_id',\n// },\n// },\n// })\n//\n// console.log(\n// '[property/actors] [resolveRelatedValue] itemProperties',\n// itemProperties,\n// )\n//\n// if (itemProperties && itemProperties.length > 0) {\n// await savePropertiesToDb(itemProperties)\n// }\n// }\n// }"],"names":[],"mappings":";;;;;;;AAQA,MAAM,MAAM,GAAG,KAAK,CAAC,6CAA6C,CAAC;AAEnE,MAAM,gCAAgC,GAAG,IAAI,GAAG,EAAkB;AAClE,MAAM,4BAA4B,GAAG,IAAI,GAAG,EAAkB;AAC9D,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAkB;AAExC,MAAA,mBAAmB,GAAG,YAAY,CAG7C,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,KAAI;AACrC,IAAA,MAAM,EACJ,UAAU,EACV,aAAa,EACb,YAAY,EACZ,OAAO,EACP,oBAAoB,EACpB,eAAe,EACf,SAAS,GACV,GAAG,OAAO;AAEX,IAAA,MAAM,oBAAoB,GAAG,YAAW;QACtC,IAAI,CAAC,aAAa,IAAI,CAAC,UAAU,IAAI,eAAe,EAAE;YACpD;;AAGF,QAAA,IAAI,WAAW;AAEf,QAAA,IAAI;AACF,YAAA,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;;QACvC,OAAO,KAAK,EAAE;AACd,YAAA,MAAM,CAAC,CAAA,EAAG,YAAY,CAAA,4BAAA,CAA8B,CAAC;;QAGvD,IAAI,CAAC,WAAW,IAAI,mBAAmB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE;YAC1D,MAAM,UAAU,GAAG,mBAAmB,CAAC,GAAG,CAAC,aAAa,CAAC;AACzD,YAAA,QAAQ,CAAC;AACP,gBAAA,IAAI,EAAE,eAAe;AACrB,gBAAA,WAAW,EAAE,UAAU;AACxB,aAAA,CAAC;AACF,YAAA,QAAQ,CAAC;AACP,gBAAA,IAAI,EAAE,8BAA8B;AACpC,gBAAA,uBAAuB,EAAE,UAAU;AACpC,aAAA,CAAC;AACF,YAAA,OAAO,IAAI;;AAGb,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;;AAEhC,YAAA,MAAM,CAAC,CAAA,EAAG,YAAY,CAAA,8BAAA,CAAgC,CAAC;YACvD;;AAGF,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;AAC9B,YAAA,MAAM,CAAC,CAAA,EAAG,YAAY,CAAA,yCAAA,CAA2C,CAAC;YAClE;;AAGF,QAAA,MAAM,oBAAoB,GACxB,MAAM,iCAAiC,CAAC,aAAa,CAAC;QAExD,IAAI,oBAAoB,EAAE;AACxB,YAAA,IAAI,gCAAgC,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE;gBAC9D,MAAM,UAAU,GACd,gCAAgC,CAAC,GAAG,CAAC,oBAAoB,CAAC;AAC5D,gBAAA,QAAQ,CAAC;AACP,oBAAA,IAAI,EAAE,eAAe;AACrB,oBAAA,WAAW,EAAE,UAAU;AACxB,iBAAA,CAAC;AACF,gBAAA,QAAQ,CAAC;AACP,oBAAA,IAAI,EAAE,8BAA8B;AACpC,oBAAA,uBAAuB,EAAE,UAAU;AACnC,oBAAA,gBAAgB,EAAE,oBAAoB;AACvC,iBAAA,CAAC;AACF,gBAAA,OAAO,IAAI;;AAGb,YAAA,MAAM,UAAU,GAAG,MAAM,qBAAqB,CAAC,oBAAoB,CAAC;YACpE,IAAI,UAAU,EAAE;AACd,gBAAA,mBAAmB,CAAC,GAAG,CAAC,aAAa,EAAE,UAAU,CAAC;;AAEpD,YAAA,QAAQ,CAAC;AACP,gBAAA,IAAI,EAAE,eAAe;AACrB,gBAAA,WAAW,EAAE,UAAU;AACxB,aAAA,CAAC;AACF,YAAA,QAAQ,CAAC;AACP,gBAAA,IAAI,EAAE,8BAA8B;AACpC,gBAAA,uBAAuB,EAAE,UAAU;AACnC,gBAAA,gBAAgB,EAAE,oBAAoB;AACvC,aAAA,CAAC;AACF,YAAA,OAAO,IAAI;;AAGb,QAAA,MAAM,iBAAiB,GAAG,MAAM,oBAAoB,CAAC,aAAa,CAAC;QAEnE,IAAI,iBAAiB,EAAE;AACrB,YAAA,MAAM,EAAE,gBAAgB,EAAE,GAAG,iBAAiB;AAC9C,YAAA,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,aAAa;;AAG3D,YAAA,IACE,gBAAgB;gBAChB,oBAAoB,CAAC,QAAQ,KAAK,UAAU;gBAC5C,mBAAmB,CAAC,MAAM,KAAK,EAAE;gBACjC,oBAAoB,CAAC,GAAG,EACxB;AACA,gBAAA,IAAI,4BAA4B,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE;oBACtD,MAAM,UAAU,GAAG,4BAA4B,CAAC,GAAG,CAAC,gBAAgB,CAAC;AACrE,oBAAA,QAAQ,CAAC;AACP,wBAAA,IAAI,EAAE,eAAe;AACrB,wBAAA,WAAW,EAAE,UAAU;AACxB,qBAAA,CAAC;AACF,oBAAA,QAAQ,CAAC;AACP,wBAAA,IAAI,EAAE,8BAA8B;AACpC,wBAAA,uBAAuB,EAAE,UAAU;AACpC,qBAAA,CAAC;AACF,oBAAA,OAAO,IAAI;;gBAGb,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,UAAU,CACjD,gBAAgB,GAAG,gBAAgB,CACpC;gBACD,IAAI,UAAU,EAAE;oBACd,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,QAAQ,CACzC,gBAAgB,GAAG,gBAAgB,CACpC;oBACD,MAAM,UAAU,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC;AAC5C,oBAAA,4BAA4B,CAAC,GAAG,CAAC,gBAAgB,EAAE,UAAU,CAAC;AAC9D,oBAAA,QAAQ,CAAC;AACP,wBAAA,IAAI,EAAE,eAAe;AACrB,wBAAA,WAAW,EAAE,UAAU;AACxB,qBAAA,CAAC;AACF,oBAAA,QAAQ,CAAC;AACP,wBAAA,IAAI,EAAE,8BAA8B;AACpC,wBAAA,uBAAuB,EAAE,UAAU;AACpC,qBAAA,CAAC;AACF,oBAAA,OAAO,IAAI;;;AAIf,YAAA,IAAI,OAAO,mBAAmB,KAAK,QAAQ,EAAE;;AAE3C,gBAAA,IACE,oBAAoB;AACpB,oBAAA,oBAAoB,CAAC,YAAY,KAAK,UAAU,EAChD;AACA,oBAAA,IAAI,UAAU;AAEd,oBAAA,IAAI,gCAAgC,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAAE;wBAC7D,UAAU;AACR,4BAAA,gCAAgC,CAAC,GAAG,CAAC,mBAAmB,CAAC;;oBAG7D,IAAI,CAAC,UAAU,EAAE;wBACf,MAAM,eAAe,GAAG,MAAM,eAAe,CAAC,UAAU,CACtD,CAAW,QAAA,EAAA,aAAa,CAAE,CAAA,CAC3B;wBACD,IAAI,eAAe,EAAE;4BACnB,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,QAAQ,CACzC,CAAW,QAAA,EAAA,aAAa,CAAE,CAAA,CAC3B;AACD,4BAAA,UAAU,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC;AACtC,4BAAA,gCAAgC,CAAC,GAAG,CAClC,mBAAmB,EACnB,UAAU,CACX;;;oBAIL,IAAI,UAAU,EAAE;AACd,wBAAA,QAAQ,CAAC;AACP,4BAAA,IAAI,EAAE,eAAe;AACrB,4BAAA,WAAW,EAAE,UAAU;AACxB,yBAAA,CAAC;AACF,wBAAA,QAAQ,CAAC;AACP,4BAAA,IAAI,EAAE,8BAA8B;AACpC,4BAAA,uBAAuB,EAAE,UAAU;AACpC,yBAAA,CAAC;AACF,wBAAA,OAAO,IAAI;;;;;AAKrB,KAAC;AAED,IAAA,oBAAoB,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,KAAI;;;;;;;AAOtC,QAAA,QAAQ,CAAC;AACP,YAAA,IAAI,EAAE,2BAA2B;AAClC,SAAA,CAAC;AACJ,KAAC,CAAC;AACJ,CAAC;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"resolveRemoteStorage.d.ts","sourceRoot":"","sources":["../../../../../src/ItemProperty/service/actors/resolveRemoteStorage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAgB,MAAM,QAAQ,CAAA;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAIpD,eAAO,MAAM,oBAAoB,oGAkF/B,CAAA"}
1
+ {"version":3,"file":"resolveRemoteStorage.d.ts","sourceRoot":"","sources":["../../../../../src/ItemProperty/service/actors/resolveRemoteStorage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAgB,MAAM,QAAQ,CAAA;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAKpD,eAAO,MAAM,oBAAoB,oGAoF/B,CAAA"}
@@ -0,0 +1,62 @@
1
+ import { fromCallback } from 'xstate';
2
+ import { BaseFileManager } from '../../../helpers/FileManager/BaseFileManager.js';
3
+
4
+ const resolveRemoteStorage = fromCallback(({ sendBack, input: { context } }) => {
5
+ const { propertyInstances } = context;
6
+ if (!propertyInstances) {
7
+ throw new Error(`propertyInstances not found for ${context.seedLocalId}`);
8
+ }
9
+ if (!propertyInstances.has('storageTransactionId')) {
10
+ return;
11
+ }
12
+ const storageTransactionId = propertyInstances.get('storageTransactionId');
13
+ const _resolveRemoteStorage = async () => {
14
+ const path = await import('path-browserify');
15
+ const filesDirExists = await BaseFileManager.pathExists('/files');
16
+ if (!filesDirExists) {
17
+ await BaseFileManager.createDirIfNotExists('/files');
18
+ }
19
+ const htmlDir = path.join('/files', 'html');
20
+ const htmlExists = await BaseFileManager.pathExists(htmlDir);
21
+ const fs = await BaseFileManager.getFs();
22
+ if (htmlExists) {
23
+ const htmlFiles = await fs.promises.readdir(htmlDir);
24
+ const matchingHtmlFile = htmlFiles.find((file) => file === `${storageTransactionId}.html`);
25
+ if (matchingHtmlFile) {
26
+ const htmlString = await fs.promises.readFile(path.join(htmlDir, matchingHtmlFile), 'utf8');
27
+ sendBack({
28
+ type: 'updateValue',
29
+ propertyName: 'html',
30
+ propertyValue: htmlString,
31
+ });
32
+ }
33
+ }
34
+ if (!htmlExists) {
35
+ await fs.promises.mkdir(htmlDir);
36
+ }
37
+ const jsonDir = path.join('/files', 'json');
38
+ const jsonExists = await fs.promises.exists(jsonDir);
39
+ if (jsonExists) {
40
+ const jsonFiles = await fs.promises.readdir(jsonDir);
41
+ const matchingJsonFile = jsonFiles.find((file) => file === `${storageTransactionId}.json`);
42
+ if (matchingJsonFile) {
43
+ const jsonString = await fs.promises.readFile(path.join(jsonDir, matchingJsonFile), 'utf8');
44
+ sendBack({
45
+ type: 'updateValue',
46
+ propertyName: 'json',
47
+ propertyValue: jsonString,
48
+ });
49
+ }
50
+ }
51
+ if (!jsonExists) {
52
+ await fs.promises.mkdir(jsonDir);
53
+ }
54
+ };
55
+ _resolveRemoteStorage().then(() => {
56
+ sendBack({ type: 'resolveRemoteStorageSuccess' });
57
+ return;
58
+ });
59
+ });
60
+
61
+ export { resolveRemoteStorage };
62
+ //# sourceMappingURL=resolveRemoteStorage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveRemoteStorage.js","sources":["../../../../../../src/ItemProperty/service/actors/resolveRemoteStorage.ts"],"sourcesContent":["import { EventObject, fromCallback } from 'xstate'\nimport { FromCallbackInput } from '@/types/machines'\nimport { PropertyMachineContext } from '@/types/property'\nimport { BaseFileManager } from '@/helpers/FileManager/BaseFileManager'\n\n\nexport const resolveRemoteStorage = fromCallback<\n EventObject,\n FromCallbackInput<PropertyMachineContext, EventObject>\n>(({ sendBack, input: { context } }) => {\n const { propertyInstances } = context\n\n if (!propertyInstances) {\n throw new Error(`propertyInstances not found for ${context.seedLocalId}`)\n }\n\n if (!propertyInstances.has('storageTransactionId')) {\n return\n }\n\n const storageTransactionId = propertyInstances.get('storageTransactionId')\n\n const _resolveRemoteStorage = async (): Promise<void> => {\n const path = await import('path-browserify')\n\n const filesDirExists = await BaseFileManager.pathExists('/files')\n\n if (!filesDirExists) {\n await BaseFileManager.createDirIfNotExists('/files')\n }\n\n const htmlDir = path.join('/files', 'html')\n\n const htmlExists = await BaseFileManager.pathExists(htmlDir)\n\n const fs = await BaseFileManager.getFs()\n\n if (htmlExists) {\n const htmlFiles = await fs.promises.readdir(htmlDir)\n const matchingHtmlFile = htmlFiles.find(\n (file) => file === `${storageTransactionId}.html`,\n )\n if (matchingHtmlFile) {\n const htmlString = await fs.promises.readFile(\n path.join(htmlDir, matchingHtmlFile),\n 'utf8',\n )\n sendBack({\n type: 'updateValue',\n propertyName: 'html',\n propertyValue: htmlString,\n })\n }\n }\n\n if (!htmlExists) {\n await fs.promises.mkdir(htmlDir)\n }\n\n const jsonDir = path.join('/files', 'json')\n\n const jsonExists = await fs.promises.exists(jsonDir)\n\n if (jsonExists) {\n const jsonFiles = await fs.promises.readdir(jsonDir)\n const matchingJsonFile = jsonFiles.find(\n (file) => file === `${storageTransactionId}.json`,\n )\n if (matchingJsonFile) {\n const jsonString = await fs.promises.readFile(\n path.join(jsonDir, matchingJsonFile),\n 'utf8',\n )\n sendBack({\n type: 'updateValue',\n propertyName: 'json',\n propertyValue: jsonString,\n })\n }\n }\n\n if (!jsonExists) {\n await fs.promises.mkdir(jsonDir)\n }\n }\n\n _resolveRemoteStorage().then(() => {\n sendBack({ type: 'resolveRemoteStorageSuccess' })\n return\n })\n})\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,100 @@
1
+ import { fromCallback } from 'xstate';
2
+ import { updateItemPropertyValue } from '../../../../db/write/updateItemPropertyValue.js';
3
+ import { getSchemaForItemProperty } from '../../../../helpers/getSchemaForItemProperty.js';
4
+ import { INTERNAL_DATA_TYPES } from '../../../../helpers/constants.js';
5
+
6
+ const analyzeInput = fromCallback(({ sendBack, input: { context, event } }) => {
7
+ const { localId, propertyName: propertyNameRaw, seedLocalId, versionLocalId, versionUid, propertyValue: existingValue, propertyRecordSchema, modelName, } = context;
8
+ let { schemaUid } = context;
9
+ let newValue;
10
+ if (event) {
11
+ newValue = event.newValue;
12
+ }
13
+ if (existingValue === newValue) {
14
+ sendBack({ type: 'saveValueToDbSuccess' });
15
+ return;
16
+ }
17
+ if (!propertyRecordSchema) {
18
+ throw new Error('Missing propertyRecordSchema');
19
+ }
20
+ const _analyzeInput = async () => {
21
+ let propertyName = propertyNameRaw;
22
+ if (propertyRecordSchema.refValueType &&
23
+ propertyRecordSchema.refValueType !== 'ImageSrc' &&
24
+ propertyRecordSchema.dataType === 'Relation') {
25
+ sendBack({
26
+ type: 'saveRelation',
27
+ newValue,
28
+ });
29
+ return false;
30
+ }
31
+ if (propertyRecordSchema.refValueType === 'ImageSrc' ||
32
+ propertyRecordSchema.dataType === 'ImageSrc') {
33
+ sendBack({
34
+ type: 'saveImageSrc',
35
+ newValue,
36
+ });
37
+ return false;
38
+ }
39
+ if (propertyRecordSchema.storageType &&
40
+ propertyRecordSchema.storageType === 'ItemStorage') {
41
+ sendBack({
42
+ type: 'saveItemStorage',
43
+ newValue,
44
+ });
45
+ return false;
46
+ }
47
+ if (!schemaUid) {
48
+ let easDataType;
49
+ if (propertyRecordSchema.dataType) {
50
+ easDataType = INTERNAL_DATA_TYPES[propertyRecordSchema.dataType]
51
+ .eas;
52
+ }
53
+ const schemaFromEas = await getSchemaForItemProperty({
54
+ propertyName,
55
+ easDataType,
56
+ });
57
+ if (schemaFromEas) {
58
+ schemaUid = schemaFromEas.id;
59
+ }
60
+ }
61
+ const result = await updateItemPropertyValue({
62
+ localId,
63
+ propertyName,
64
+ newValue,
65
+ seedLocalId,
66
+ versionLocalId,
67
+ versionUid,
68
+ modelName,
69
+ schemaUid,
70
+ });
71
+ let updatedContext = {
72
+ propertyValue: newValue,
73
+ };
74
+ if (localId) {
75
+ updatedContext.localId = localId;
76
+ }
77
+ if (schemaUid) {
78
+ updatedContext.schemaUid = schemaUid;
79
+ }
80
+ if (!localId && result?.localId) {
81
+ updatedContext.localId = result.localId;
82
+ }
83
+ if (!schemaUid && result?.schemaUid) {
84
+ updatedContext.schemaUid = result.schemaUid;
85
+ }
86
+ sendBack({
87
+ type: 'updateContext',
88
+ ...updatedContext,
89
+ });
90
+ return true;
91
+ };
92
+ _analyzeInput().then((isDone) => {
93
+ if (isDone) {
94
+ sendBack({ type: 'saveValueToDbSuccess' });
95
+ }
96
+ });
97
+ });
98
+
99
+ export { analyzeInput };
100
+ //# sourceMappingURL=analyzeInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyzeInput.js","sources":["../../../../../../../src/ItemProperty/service/actors/saveValueToDb/analyzeInput.ts"],"sourcesContent":["import { EventObject, fromCallback } from 'xstate'\nimport { FromCallbackInput } from '@/types/machines'\nimport {\n ItemPropertyValueType,\n PropertyMachineContext,\n SaveValueToDbEvent,\n} from '@/types/property'\nimport { updateItemPropertyValue } from '@/db/write/updateItemPropertyValue'\n\nimport { getSchemaForItemProperty } from '@/helpers/getSchemaForItemProperty'\nimport { INTERNAL_DATA_TYPES } from '@/helpers/constants'\nimport { TypedData } from '@ethereum-attestation-service/eas-sdk/dist/offchain/typed-data-handler'\n\nexport const analyzeInput = fromCallback<\n EventObject,\n FromCallbackInput<PropertyMachineContext, SaveValueToDbEvent>\n>(({ sendBack, input: { context, event } }) => {\n const {\n localId,\n propertyName: propertyNameRaw,\n seedLocalId,\n versionLocalId,\n versionUid,\n propertyValue: existingValue,\n propertyRecordSchema,\n modelName,\n } = context\n\n let { schemaUid } = context\n\n let newValue: ItemPropertyValueType\n\n if (event) {\n newValue = event.newValue\n }\n\n if (existingValue === newValue) {\n sendBack({ type: 'saveValueToDbSuccess' })\n return\n }\n\n if (!propertyRecordSchema) {\n throw new Error('Missing propertyRecordSchema')\n }\n\n const _analyzeInput = async (): Promise<boolean> => {\n let propertyName = propertyNameRaw\n\n if (\n propertyRecordSchema.refValueType &&\n propertyRecordSchema.refValueType !== 'ImageSrc' &&\n propertyRecordSchema.dataType === 'Relation'\n ) {\n sendBack({\n type: 'saveRelation',\n newValue,\n })\n return false\n }\n\n if (\n propertyRecordSchema.refValueType === 'ImageSrc' ||\n propertyRecordSchema.dataType === 'ImageSrc'\n ) {\n sendBack({\n type: 'saveImageSrc',\n newValue,\n })\n return false\n }\n\n if (\n propertyRecordSchema.storageType &&\n propertyRecordSchema.storageType === 'ItemStorage'\n ) {\n sendBack({\n type: 'saveItemStorage',\n newValue,\n })\n return false\n }\n\n if (!schemaUid) {\n let easDataType\n\n if (propertyRecordSchema.dataType) {\n easDataType = INTERNAL_DATA_TYPES[propertyRecordSchema.dataType]\n .eas as TypedData['type']\n }\n\n const schemaFromEas = await getSchemaForItemProperty({\n propertyName,\n easDataType,\n })\n if (schemaFromEas) {\n schemaUid = schemaFromEas.id\n }\n }\n\n const result = await updateItemPropertyValue({\n localId,\n propertyName,\n newValue,\n seedLocalId,\n versionLocalId,\n versionUid,\n modelName,\n schemaUid,\n })\n\n let updatedContext: Partial<PropertyMachineContext> = {\n propertyValue: newValue,\n }\n\n if (localId) {\n updatedContext.localId = localId\n }\n\n if (schemaUid) {\n updatedContext.schemaUid = schemaUid\n }\n\n if (!localId && result?.localId) {\n updatedContext.localId = result.localId\n }\n\n if (!schemaUid && result?.schemaUid) {\n updatedContext.schemaUid = result.schemaUid\n }\n\n sendBack({\n type: 'updateContext',\n ...updatedContext,\n })\n\n return true\n }\n\n _analyzeInput().then((isDone) => {\n if (isDone) {\n sendBack({ type: 'saveValueToDbSuccess' })\n }\n })\n})\n"],"names":[],"mappings":";;;;;AAaa,MAAA,YAAY,GAAG,YAAY,CAGtC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,KAAI;IAC5C,MAAM,EACJ,OAAO,EACP,YAAY,EAAE,eAAe,EAC7B,WAAW,EACX,cAAc,EACd,UAAU,EACV,aAAa,EAAE,aAAa,EAC5B,oBAAoB,EACpB,SAAS,GACV,GAAG,OAAO;AAEX,IAAA,IAAI,EAAE,SAAS,EAAE,GAAG,OAAO;AAE3B,IAAA,IAAI,QAA+B;IAEnC,IAAI,KAAK,EAAE;AACT,QAAA,QAAQ,GAAG,KAAK,CAAC,QAAQ;;AAG3B,IAAA,IAAI,aAAa,KAAK,QAAQ,EAAE;AAC9B,QAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,CAAC;QAC1C;;IAGF,IAAI,CAAC,oBAAoB,EAAE;AACzB,QAAA,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC;;AAGjD,IAAA,MAAM,aAAa,GAAG,YAA6B;QACjD,IAAI,YAAY,GAAG,eAAe;QAElC,IACE,oBAAoB,CAAC,YAAY;YACjC,oBAAoB,CAAC,YAAY,KAAK,UAAU;AAChD,YAAA,oBAAoB,CAAC,QAAQ,KAAK,UAAU,EAC5C;AACA,YAAA,QAAQ,CAAC;AACP,gBAAA,IAAI,EAAE,cAAc;gBACpB,QAAQ;AACT,aAAA,CAAC;AACF,YAAA,OAAO,KAAK;;AAGd,QAAA,IACE,oBAAoB,CAAC,YAAY,KAAK,UAAU;AAChD,YAAA,oBAAoB,CAAC,QAAQ,KAAK,UAAU,EAC5C;AACA,YAAA,QAAQ,CAAC;AACP,gBAAA,IAAI,EAAE,cAAc;gBACpB,QAAQ;AACT,aAAA,CAAC;AACF,YAAA,OAAO,KAAK;;QAGd,IACE,oBAAoB,CAAC,WAAW;AAChC,YAAA,oBAAoB,CAAC,WAAW,KAAK,aAAa,EAClD;AACA,YAAA,QAAQ,CAAC;AACP,gBAAA,IAAI,EAAE,iBAAiB;gBACvB,QAAQ;AACT,aAAA,CAAC;AACF,YAAA,OAAO,KAAK;;QAGd,IAAI,CAAC,SAAS,EAAE;AACd,YAAA,IAAI,WAAW;AAEf,YAAA,IAAI,oBAAoB,CAAC,QAAQ,EAAE;AACjC,gBAAA,WAAW,GAAG,mBAAmB,CAAC,oBAAoB,CAAC,QAAQ;AAC5D,qBAAA,GAAwB;;AAG7B,YAAA,MAAM,aAAa,GAAG,MAAM,wBAAwB,CAAC;gBACnD,YAAY;gBACZ,WAAW;AACZ,aAAA,CAAC;YACF,IAAI,aAAa,EAAE;AACjB,gBAAA,SAAS,GAAG,aAAa,CAAC,EAAE;;;AAIhC,QAAA,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC;YAC3C,OAAO;YACP,YAAY;YACZ,QAAQ;YACR,WAAW;YACX,cAAc;YACd,UAAU;YACV,SAAS;YACT,SAAS;AACV,SAAA,CAAC;AAEF,QAAA,IAAI,cAAc,GAAoC;AACpD,YAAA,aAAa,EAAE,QAAQ;SACxB;QAED,IAAI,OAAO,EAAE;AACX,YAAA,cAAc,CAAC,OAAO,GAAG,OAAO;;QAGlC,IAAI,SAAS,EAAE;AACb,YAAA,cAAc,CAAC,SAAS,GAAG,SAAS;;AAGtC,QAAA,IAAI,CAAC,OAAO,IAAI,MAAM,EAAE,OAAO,EAAE;AAC/B,YAAA,cAAc,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO;;AAGzC,QAAA,IAAI,CAAC,SAAS,IAAI,MAAM,EAAE,SAAS,EAAE;AACnC,YAAA,cAAc,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS;;AAG7C,QAAA,QAAQ,CAAC;AACP,YAAA,IAAI,EAAE,eAAe;AACrB,YAAA,GAAG,cAAc;AAClB,SAAA,CAAC;AAEF,QAAA,OAAO,IAAI;AACb,KAAC;AAED,IAAA,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,KAAI;QAC9B,IAAI,MAAM,EAAE;AACV,YAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,CAAC;;AAE9C,KAAC,CAAC;AACJ,CAAC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"saveImageSrc.d.ts","sourceRoot":"","sources":["../../../../../../src/ItemProperty/service/actors/saveValueToDb/saveImageSrc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAgB,MAAM,QAAQ,CAAA;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,EAGL,kBAAkB,EACnB,MAAM,kBAAkB,CAAA;AAkDzB,eAAO,MAAM,YAAY,2GAyLvB,CAAA"}
1
+ {"version":3,"file":"saveImageSrc.d.ts","sourceRoot":"","sources":["../../../../../../src/ItemProperty/service/actors/saveValueToDb/saveImageSrc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAgB,MAAM,QAAQ,CAAA;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,EAGL,kBAAkB,EACnB,MAAM,kBAAkB,CAAA;AA+CzB,eAAO,MAAM,YAAY,2GA2LvB,CAAA"}