@seedprotocol/sdk 0.3.3 → 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.
- package/dist/bin.js +11 -109
- package/dist/bin.js.map +1 -1
- package/dist/main.js +15 -23
- package/dist/main.js.map +1 -1
- package/dist/src/Item/BaseItem.js +309 -0
- package/dist/src/Item/BaseItem.js.map +1 -0
- package/dist/src/Item/index.js +4 -0
- package/dist/src/Item/index.js.map +1 -0
- package/dist/src/Item/queries.js +94 -0
- package/dist/src/Item/queries.js.map +1 -0
- package/dist/src/Item/service/actors/fetchDataFromEas.js +74 -0
- package/dist/src/Item/service/actors/fetchDataFromEas.js.map +1 -0
- package/dist/src/Item/service/actors/hydrateExistingItem.js +119 -0
- package/dist/src/Item/service/actors/hydrateExistingItem.js.map +1 -0
- package/dist/src/Item/service/actors/hydrateNewItem.js +28 -0
- package/dist/src/Item/service/actors/hydrateNewItem.js.map +1 -0
- package/dist/src/Item/service/actors/initialize.js +39 -0
- package/dist/src/Item/service/actors/initialize.js.map +1 -0
- package/dist/src/Item/service/actors/reload.js +26 -0
- package/dist/src/Item/service/actors/reload.js.map +1 -0
- package/dist/src/Item/service/actors/waitForDb.js +22 -0
- package/dist/src/Item/service/actors/waitForDb.js.map +1 -0
- package/dist/src/Item/service/itemMachineSingle.js +154 -0
- package/dist/src/Item/service/itemMachineSingle.js.map +1 -0
- package/dist/src/ItemProperty/BaseItemProperty.js +306 -0
- package/dist/src/ItemProperty/BaseItemProperty.js.map +1 -0
- package/dist/src/ItemProperty/service/actors/hydrateFromDb.js +196 -0
- package/dist/src/ItemProperty/service/actors/hydrateFromDb.js.map +1 -0
- package/dist/src/ItemProperty/service/actors/initialize.js +60 -0
- package/dist/src/ItemProperty/service/actors/initialize.js.map +1 -0
- package/dist/src/ItemProperty/service/actors/resolveRelatedValue.js +317 -0
- package/dist/src/ItemProperty/service/actors/resolveRelatedValue.js.map +1 -0
- package/dist/src/ItemProperty/service/actors/resolveRemoteStorage.js +62 -0
- package/dist/src/ItemProperty/service/actors/resolveRemoteStorage.js.map +1 -0
- package/dist/src/ItemProperty/service/actors/saveValueToDb/analyzeInput.js +100 -0
- package/dist/src/ItemProperty/service/actors/saveValueToDb/analyzeInput.js.map +1 -0
- package/dist/src/ItemProperty/service/actors/saveValueToDb/saveImageSrc.js +178 -0
- package/dist/src/ItemProperty/service/actors/saveValueToDb/saveImageSrc.js.map +1 -0
- package/dist/src/ItemProperty/service/actors/saveValueToDb/saveItemStorage.js +117 -0
- package/dist/src/ItemProperty/service/actors/saveValueToDb/saveItemStorage.js.map +1 -0
- package/dist/src/ItemProperty/service/actors/saveValueToDb/saveRelation.js +81 -0
- package/dist/src/ItemProperty/service/actors/saveValueToDb/saveRelation.js.map +1 -0
- package/dist/src/ItemProperty/service/actors/waitForDb.js +22 -0
- package/dist/src/ItemProperty/service/actors/waitForDb.js.map +1 -0
- package/dist/src/ItemProperty/service/propertyMachine.js +198 -0
- package/dist/src/ItemProperty/service/propertyMachine.js.map +1 -0
- package/dist/src/browser/Item/Item.js +11 -0
- package/dist/src/browser/Item/Item.js.map +1 -0
- package/dist/src/browser/Item/index.js +2 -0
- package/dist/src/browser/Item/index.js.map +1 -0
- package/dist/src/browser/ItemProperty/ItemProperty.js +11 -0
- package/dist/src/browser/ItemProperty/ItemProperty.js.map +1 -0
- package/dist/src/browser/db/Db.d.ts +10 -5
- package/dist/src/browser/db/Db.d.ts.map +1 -1
- package/dist/src/browser/db/Db.js +218 -0
- package/dist/src/browser/db/Db.js.map +1 -0
- package/dist/src/browser/db/sqlWasmClient.d.ts +0 -12
- package/dist/src/browser/db/sqlWasmClient.d.ts.map +1 -1
- package/dist/{ArweaveClient-2RMCxfNZ.js → src/browser/helpers/ArweaveClient.js} +3 -3
- package/dist/{ArweaveClient-COlwyYTF.js.map → src/browser/helpers/ArweaveClient.js.map} +1 -1
- package/dist/src/browser/helpers/FileManager.d.ts.map +1 -1
- package/dist/src/browser/helpers/FileManager.js +308 -0
- package/dist/src/browser/helpers/FileManager.js.map +1 -0
- package/dist/src/browser/helpers/QueryClient.d.ts.map +1 -1
- package/dist/{QueryClient-W4slRa7O.js → src/browser/helpers/QueryClient.js} +2 -5
- package/dist/src/browser/helpers/QueryClient.js.map +1 -0
- package/dist/src/browser/index.d.ts +2 -1
- package/dist/src/browser/index.d.ts.map +1 -1
- package/dist/src/browser/react/db.js +6 -0
- package/dist/src/browser/react/db.js.map +1 -0
- package/dist/src/browser/react/item.js +260 -0
- package/dist/src/browser/react/item.js.map +1 -0
- package/dist/src/browser/react/property.js +107 -0
- package/dist/src/browser/react/property.js.map +1 -0
- package/dist/src/browser/react/services.d.ts.map +1 -1
- package/dist/src/browser/react/services.js +299 -0
- package/dist/src/browser/react/services.js.map +1 -0
- package/dist/src/browser/react/trash.js +25 -0
- package/dist/src/browser/react/trash.js.map +1 -0
- package/dist/src/browser/workers/FileDownloader.js +49 -0
- package/dist/src/browser/workers/FileDownloader.js.map +1 -0
- package/dist/src/browser/workers/ImageResizer.js +62 -0
- package/dist/src/browser/workers/ImageResizer.js.map +1 -0
- package/dist/src/browser/workers/dbWorker.d.ts +1 -0
- package/dist/src/browser/workers/dbWorker.d.ts.map +1 -0
- package/dist/src/browser/workers/filesDownload.js +241 -0
- package/dist/src/browser/workers/filesDownload.js.map +1 -0
- package/dist/src/browser/workers/imageResize.js +379 -0
- package/dist/src/browser/workers/imageResize.js.map +1 -0
- package/dist/src/client/ClientManager.d.ts +18 -2
- package/dist/src/client/ClientManager.d.ts.map +1 -1
- package/dist/src/client/ClientManager.js +59 -0
- package/dist/src/client/ClientManager.js.map +1 -0
- package/dist/src/client/actions/setAddresses.js +19 -0
- package/dist/src/client/actions/setAddresses.js.map +1 -0
- package/dist/src/client/actors/initialize.d.ts.map +1 -1
- package/dist/src/client/actors/initialize.js +84 -0
- package/dist/src/client/actors/initialize.js.map +1 -0
- package/dist/src/client/actors/saveAppState.js +44 -0
- package/dist/src/client/actors/saveAppState.js.map +1 -0
- package/dist/src/client/clientManagerMachine.js +61 -0
- package/dist/src/client/clientManagerMachine.js.map +1 -0
- package/dist/src/db/Db/BaseDb.d.ts +1 -2
- package/dist/src/db/Db/BaseDb.d.ts.map +1 -1
- package/dist/src/db/Db/BaseDb.js +22 -0
- package/dist/src/db/Db/BaseDb.js.map +1 -0
- package/dist/{seed.schema.config-DmTl3a9U.js → src/db/configs/seed.schema.config.js} +3 -24
- package/dist/src/db/configs/seed.schema.config.js.map +1 -0
- package/dist/src/db/read/getExistingItem.js +29 -0
- package/dist/src/db/read/getExistingItem.js.map +1 -0
- package/dist/src/db/read/getItem.js +26 -0
- package/dist/src/db/read/getItem.js.map +1 -0
- package/dist/src/db/read/getItemData.js +84 -0
- package/dist/src/db/read/getItemData.js.map +1 -0
- package/dist/src/db/read/getItemProperties.js +49 -0
- package/dist/src/db/read/getItemProperties.js.map +1 -0
- package/dist/src/db/read/getItemProperty.js +30 -0
- package/dist/src/db/read/getItemProperty.js.map +1 -0
- package/dist/src/db/read/getItems.js +49 -0
- package/dist/src/db/read/getItems.js.map +1 -0
- package/dist/src/db/read/getMetadata.js +32 -0
- package/dist/src/db/read/getMetadata.js.map +1 -0
- package/dist/src/db/read/getModelSchemas.js +69 -0
- package/dist/src/db/read/getModelSchemas.js.map +1 -0
- package/dist/src/db/read/getPropertyData.js +38 -0
- package/dist/src/db/read/getPropertyData.js.map +1 -0
- package/dist/src/db/read/getPublishPayload.js +213 -0
- package/dist/src/db/read/getPublishPayload.js.map +1 -0
- package/dist/src/db/read/getPublishUploads.d.ts.map +1 -1
- package/dist/src/db/read/getPublishUploads.js +134 -0
- package/dist/src/db/read/getPublishUploads.js.map +1 -0
- package/dist/src/db/read/getRelationValueData.js +30 -0
- package/dist/src/db/read/getRelationValueData.js.map +1 -0
- package/dist/src/db/read/getSchemaUidForModel.js +28 -0
- package/dist/src/db/read/getSchemaUidForModel.js.map +1 -0
- package/dist/src/db/read/getSeedData.js +28 -0
- package/dist/src/db/read/getSeedData.js.map +1 -0
- package/dist/src/db/read/getStorageTransactionIdForSeedUid.js +30 -0
- package/dist/src/db/read/getStorageTransactionIdForSeedUid.js.map +1 -0
- package/dist/src/db/read/getVersionData.js +33 -0
- package/dist/src/db/read/getVersionData.js.map +1 -0
- package/dist/src/db/read/subqueries/metadataLatest.js +35 -0
- package/dist/src/db/read/subqueries/metadataLatest.js.map +1 -0
- package/dist/src/db/read/subqueries/versionData.js +27 -0
- package/dist/src/db/read/subqueries/versionData.js.map +1 -0
- package/dist/src/db/write/createMetadata.js +63 -0
- package/dist/src/db/write/createMetadata.js.map +1 -0
- package/dist/src/db/write/createNewItem.js +38 -0
- package/dist/src/db/write/createNewItem.js.map +1 -0
- package/dist/src/db/write/createSeed.js +29 -0
- package/dist/src/db/write/createSeed.js.map +1 -0
- package/dist/src/db/write/createSeeds.js +25 -0
- package/dist/src/db/write/createSeeds.js.map +1 -0
- package/dist/src/db/write/createVersion.js +25 -0
- package/dist/src/db/write/createVersion.js.map +1 -0
- package/dist/src/db/write/deleteItem.js +21 -0
- package/dist/src/db/write/deleteItem.js.map +1 -0
- package/dist/src/db/write/saveAppState.js +26 -0
- package/dist/src/db/write/saveAppState.js.map +1 -0
- package/dist/src/db/write/saveMetadata.js +22 -0
- package/dist/src/db/write/saveMetadata.js.map +1 -0
- package/dist/src/db/write/updateItemPropertyValue.js +161 -0
- package/dist/src/db/write/updateItemPropertyValue.js.map +1 -0
- package/dist/src/db/write/updateMetadata.js +25 -0
- package/dist/src/db/write/updateMetadata.js.map +1 -0
- package/dist/src/eventBus.js +6 -0
- package/dist/src/eventBus.js.map +1 -0
- package/dist/src/events/files/download.js +161 -0
- package/dist/src/events/files/download.js.map +1 -0
- package/dist/src/events/files/index.d.ts.map +1 -1
- package/dist/src/events/files/index.js +61 -0
- package/dist/src/events/files/index.js.map +1 -0
- package/dist/src/events/index.js +28 -0
- package/dist/src/events/index.js.map +1 -0
- package/dist/src/events/item/index.js +28 -0
- package/dist/src/events/item/index.js.map +1 -0
- package/dist/src/events/item/publish.js +19 -0
- package/dist/src/events/item/publish.js.map +1 -0
- package/dist/src/events/item/syncDbWithEas.js +428 -0
- package/dist/src/events/item/syncDbWithEas.js.map +1 -0
- package/dist/src/events/services/allItems.js +20 -0
- package/dist/src/events/services/allItems.js.map +1 -0
- package/dist/src/events/services/index.js +9 -0
- package/dist/src/events/services/index.js.map +1 -0
- package/dist/src/graphql/gql/gql.js +38 -0
- package/dist/src/graphql/gql/gql.js.map +1 -0
- package/dist/src/graphql/gql/graphql.js +106 -0
- package/dist/src/graphql/gql/graphql.js.map +1 -0
- package/dist/src/helpers/ArweaveClient/BaseArweaveClient.js +11 -0
- package/dist/src/helpers/ArweaveClient/BaseArweaveClient.js.map +1 -0
- package/dist/src/helpers/ArweaveClient/index.js +45 -0
- package/dist/src/helpers/ArweaveClient/index.js.map +1 -0
- package/dist/src/helpers/ArweaveClient/queries.js +16 -0
- package/dist/src/helpers/ArweaveClient/queries.js.map +1 -0
- package/dist/src/helpers/EasClient/BaseEasClient.js +14 -0
- package/dist/src/helpers/EasClient/BaseEasClient.js.map +1 -0
- package/dist/src/helpers/FileManager/BaseFileManager.js +55 -0
- package/dist/src/helpers/FileManager/BaseFileManager.js.map +1 -0
- package/dist/src/helpers/QueryClient/BaseQueryClient.js +11 -0
- package/dist/src/helpers/QueryClient/BaseQueryClient.js.map +1 -0
- package/dist/src/helpers/constants.js +73 -0
- package/dist/src/helpers/constants.js.map +1 -0
- package/dist/src/helpers/db.js +43 -0
- package/dist/src/helpers/db.js.map +1 -0
- package/dist/src/helpers/environment.js +24 -0
- package/dist/src/helpers/environment.js.map +1 -0
- package/dist/src/helpers/getSchemaForItemProperty.js +51 -0
- package/dist/src/helpers/getSchemaForItemProperty.js.map +1 -0
- package/dist/src/helpers/getSegmentedItemProperties.js +50 -0
- package/dist/src/helpers/getSegmentedItemProperties.js.map +1 -0
- package/dist/src/helpers/index.js +101 -0
- package/dist/src/helpers/index.js.map +1 -0
- package/dist/src/helpers/updateMachineContext.js +20 -0
- package/dist/src/helpers/updateMachineContext.js.map +1 -0
- package/dist/src/interfaces/IDb.d.ts.map +1 -1
- package/dist/src/node/codegen/drizzle.js +58 -0
- package/dist/src/node/codegen/drizzle.js.map +1 -0
- package/dist/src/node/constants.js +29 -0
- package/dist/src/node/constants.js.map +1 -0
- package/dist/src/node/db/Db.d.ts +5 -6
- package/dist/src/node/db/Db.d.ts.map +1 -1
- package/dist/{ArweaveClient-COlwyYTF.js → src/node/helpers/ArweaveClient.js} +3 -3
- package/dist/{ArweaveClient-2RMCxfNZ.js.map → src/node/helpers/ArweaveClient.js.map} +1 -1
- package/dist/{EasClient-CFnb5g-r.js → src/node/helpers/EasClient.js} +3 -3
- package/dist/{EasClient-CFnb5g-r.js.map → src/node/helpers/EasClient.js.map} +1 -1
- package/dist/src/node/helpers/FileManager.d.ts.map +1 -1
- package/dist/{QueryClient-ZUsZ1Qxq.js → src/node/helpers/QueryClient.js} +2 -4
- package/dist/{QueryClient-ZUsZ1Qxq.js.map → src/node/helpers/QueryClient.js.map} +1 -1
- package/dist/src/node/helpers/index.d.ts.map +1 -1
- package/dist/src/node/helpers/index.js +28 -0
- package/dist/src/node/helpers/index.js.map +1 -0
- package/dist/src/node/seed.d.ts +0 -6
- package/dist/src/node/seed.d.ts.map +1 -1
- package/dist/src/node/webpack/index.d.ts.map +1 -1
- package/dist/src/node/webpack/index.js +89 -0
- package/dist/src/node/webpack/index.js.map +1 -0
- package/dist/src/schema/file/queries.js +48 -0
- package/dist/src/schema/file/queries.js.map +1 -0
- package/dist/src/schema/model/index.js +44 -0
- package/dist/src/schema/model/index.js.map +1 -0
- package/dist/src/schema/property/index.js +82 -0
- package/dist/src/schema/property/index.js.map +1 -0
- package/dist/src/seedSchema/AppStateSchema.js +11 -0
- package/dist/src/seedSchema/AppStateSchema.js.map +1 -0
- package/dist/src/seedSchema/MetadataSchema.js +29 -0
- package/dist/src/seedSchema/MetadataSchema.js.map +1 -0
- package/dist/src/seedSchema/ModelSchema.js +33 -0
- package/dist/src/seedSchema/ModelSchema.js.map +1 -0
- package/dist/src/seedSchema/ModelUidSchema.js +18 -0
- package/dist/src/seedSchema/ModelUidSchema.js.map +1 -0
- package/dist/src/seedSchema/SeedSchema.js +16 -0
- package/dist/src/seedSchema/SeedSchema.js.map +1 -0
- package/dist/src/seedSchema/VersionSchema.js +17 -0
- package/dist/src/seedSchema/VersionSchema.js.map +1 -0
- package/dist/src/services/allItems/actors/fetchDbData.js +13 -0
- package/dist/src/services/allItems/actors/fetchDbData.js.map +1 -0
- package/dist/src/services/allItems/actors/fetchRelatedItems.js +137 -0
- package/dist/src/services/allItems/actors/fetchRelatedItems.js.map +1 -0
- package/dist/src/services/allItems/actors/fetchSeeds.js +31 -0
- package/dist/src/services/allItems/actors/fetchSeeds.js.map +1 -0
- package/dist/src/services/allItems/actors/fetchVersions.js +35 -0
- package/dist/src/services/allItems/actors/fetchVersions.js.map +1 -0
- package/dist/src/services/allItems/actors/initialize.js +144 -0
- package/dist/src/services/allItems/actors/initialize.js.map +1 -0
- package/dist/src/services/allItems/actors/processItems.js +55 -0
- package/dist/src/services/allItems/actors/processItems.js.map +1 -0
- package/dist/src/services/allItems/itemMachineAll.js +153 -0
- package/dist/src/services/allItems/itemMachineAll.js.map +1 -0
- package/dist/src/services/db/actors/checkStatus.d.ts.map +1 -1
- package/dist/src/services/db/actors/checkStatus.js +41 -0
- package/dist/src/services/db/actors/checkStatus.js.map +1 -0
- package/dist/src/services/db/actors/connectToDb.d.ts.map +1 -1
- package/dist/src/services/db/actors/connectToDb.js +31 -0
- package/dist/src/services/db/actors/connectToDb.js.map +1 -0
- package/dist/src/services/db/actors/migrate.js +40 -0
- package/dist/src/services/db/actors/migrate.js.map +1 -0
- package/dist/src/services/db/actors/validate.d.ts.map +1 -1
- package/dist/src/services/db/actors/validate.js +40 -0
- package/dist/src/services/db/actors/validate.js.map +1 -0
- package/dist/src/services/db/actors/waitForFiles.js +32 -0
- package/dist/src/services/db/actors/waitForFiles.js.map +1 -0
- package/dist/src/services/db/dbMachine.d.ts.map +1 -1
- package/dist/src/services/db/dbMachine.js +156 -0
- package/dist/src/services/db/dbMachine.js.map +1 -0
- package/dist/src/services/events.js +15 -0
- package/dist/src/services/events.js.map +1 -0
- package/dist/src/services/global/actors/addModelsToDb.js +115 -0
- package/dist/src/services/global/actors/addModelsToDb.js.map +1 -0
- package/dist/src/services/global/actors/getSchemaForModel.js +26 -0
- package/dist/src/services/global/actors/getSchemaForModel.js.map +1 -0
- package/dist/src/services/global/actors/initialize.d.ts.map +1 -1
- package/dist/src/services/global/actors/initialize.js +86 -0
- package/dist/src/services/global/actors/initialize.js.map +1 -0
- package/dist/src/services/global/actors/savePublishService.js +22 -0
- package/dist/src/services/global/actors/savePublishService.js.map +1 -0
- package/dist/src/services/global/globalMachine.d.ts +90 -90
- package/dist/src/services/global/globalMachine.d.ts.map +1 -1
- package/dist/src/services/global/globalMachine.js +246 -0
- package/dist/src/services/global/globalMachine.js.map +1 -0
- package/dist/src/services/internal/actors/configureFs.js +70 -0
- package/dist/src/services/internal/actors/configureFs.js.map +1 -0
- package/dist/src/services/internal/actors/loadAppDb.d.ts.map +1 -1
- package/dist/src/services/internal/actors/loadAppDb.js +22 -0
- package/dist/src/services/internal/actors/loadAppDb.js.map +1 -0
- package/dist/src/services/internal/actors/prepareDb.d.ts.map +1 -1
- package/dist/src/services/internal/actors/saveConfig.js +88 -0
- package/dist/src/services/internal/actors/saveConfig.js.map +1 -0
- package/dist/src/services/internal/actors/validateInput.js +34 -0
- package/dist/src/services/internal/actors/validateInput.js.map +1 -0
- package/dist/src/services/internal/actors/waitForFiles.js +33 -0
- package/dist/src/services/internal/actors/waitForFiles.js.map +1 -0
- package/dist/src/services/internal/constants.js +85 -0
- package/dist/src/services/internal/constants.js.map +1 -0
- package/dist/src/services/internal/helpers.js +171 -0
- package/dist/src/services/internal/helpers.js.map +1 -0
- package/dist/src/services/internal/internalMachine.d.ts +0 -10
- package/dist/src/services/internal/internalMachine.d.ts.map +1 -1
- package/dist/src/services/internal/internalMachine.js +188 -0
- package/dist/src/services/internal/internalMachine.js.map +1 -0
- package/dist/src/services/publish/actors/createPublishAttempt.js +14 -0
- package/dist/src/services/publish/actors/createPublishAttempt.js.map +1 -0
- package/dist/src/services/publish/actors/preparePublishRequestData.js +70 -0
- package/dist/src/services/publish/actors/preparePublishRequestData.js.map +1 -0
- package/dist/src/services/publish/actors/upload.js +55 -0
- package/dist/src/services/publish/actors/upload.js.map +1 -0
- package/dist/src/services/publish/actors/validateItemData.js +18 -0
- package/dist/src/services/publish/actors/validateItemData.js.map +1 -0
- package/dist/src/services/publish/publishMachine.js +71 -0
- package/dist/src/services/publish/publishMachine.js.map +1 -0
- package/dist/src/stores/eas.js +40 -0
- package/dist/src/stores/eas.js.map +1 -0
- package/dist/src/stores/modelClass.js +16 -0
- package/dist/src/stores/modelClass.js.map +1 -0
- package/dist/src/types/index.d.ts.map +1 -1
- package/package.json +7 -6
- package/dist/Db-CRWMiKY9.js +0 -384
- package/dist/Db-CRWMiKY9.js.map +0 -1
- package/dist/Db-G5dIgZv-.js +0 -81
- package/dist/Db-G5dIgZv-.js.map +0 -1
- package/dist/EasClient-CO5puCWa.js +0 -10
- package/dist/EasClient-CO5puCWa.js.map +0 -1
- package/dist/FileManager-BOixZyex.js +0 -50
- package/dist/FileManager-BOixZyex.js.map +0 -1
- package/dist/FileManager-gKGTTa4s.js +0 -1045
- package/dist/FileManager-gKGTTa4s.js.map +0 -1
- package/dist/Item-BD2_tuda.js +0 -34
- package/dist/Item-BD2_tuda.js.map +0 -1
- package/dist/ItemProperty-CjcrzEmg.js +0 -33
- package/dist/ItemProperty-CjcrzEmg.js.map +0 -1
- package/dist/QueryClient-W4slRa7O.js.map +0 -1
- package/dist/constants-C-6Pg8FW.js +0 -235
- package/dist/constants-C-6Pg8FW.js.map +0 -1
- package/dist/index-BxAVepOO.js +0 -25
- package/dist/index-BxAVepOO.js.map +0 -1
- package/dist/index-D-O-gmXo.js +0 -7930
- package/dist/index-D-O-gmXo.js.map +0 -1
- package/dist/seed.schema.config-DmTl3a9U.js.map +0 -1
- package/dist/src/browser/db/index.d.ts +0 -2
- package/dist/src/browser/db/index.d.ts.map +0 -1
- package/dist/src/db/Db/index.d.ts +0 -5
- package/dist/src/db/Db/index.d.ts.map +0 -1
- package/dist/src/helpers/EasClient/index.d.ts +0 -5
- package/dist/src/helpers/EasClient/index.d.ts.map +0 -1
- package/dist/src/helpers/FileManager/index.d.ts +0 -5
- package/dist/src/helpers/FileManager/index.d.ts.map +0 -1
- package/dist/src/helpers/QueryClient/index.d.ts +0 -5
- package/dist/src/helpers/QueryClient/index.d.ts.map +0 -1
- package/dist/src/node/index.d.ts +0 -2
- package/dist/src/node/index.d.ts.map +0 -1
- package/dist/src/services/global/index.d.ts +0 -2
- package/dist/src/services/global/index.d.ts.map +0 -1
|
@@ -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":"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mB,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;;;;"}
|
|
@@ -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":"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"}
|