@seedprotocol/sdk 0.3.19 → 0.3.20
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/README.md +5 -1
- package/dist/addModel.js.map +1 -1
- package/dist/bin.js.map +1 -1
- package/dist/{node.app.db.config.js → node/db/node.app.db.config.js} +1 -1
- package/dist/node/db/node.app.db.config.js.map +1 -0
- package/dist/rpcServer.js.map +1 -1
- package/dist/scripts/vite.config.d.ts +1 -1
- package/dist/src/Item/BaseItem.js.map +1 -1
- package/dist/src/Item/queries.js.map +1 -1
- package/dist/src/Item/service/actors/fetchDataFromEas.js.map +1 -1
- package/dist/src/Item/service/actors/hydrateExistingItem.js.map +1 -1
- package/dist/src/Item/service/actors/hydrateNewItem.js.map +1 -1
- package/dist/src/Item/service/actors/initialize.js.map +1 -1
- package/dist/src/Item/service/actors/reload.js.map +1 -1
- package/dist/src/Item/service/actors/waitForDb.js.map +1 -1
- package/dist/src/Item/service/itemMachineSingle.js.map +1 -1
- package/dist/src/ItemProperty/BaseItemProperty.js.map +1 -1
- package/dist/src/ItemProperty/service/actors/hydrateFromDb.js.map +1 -1
- package/dist/src/ItemProperty/service/actors/initialize.js.map +1 -1
- package/dist/src/ItemProperty/service/actors/resolveRelatedValue.js.map +1 -1
- package/dist/src/ItemProperty/service/actors/resolveRemoteStorage.js.map +1 -1
- package/dist/src/ItemProperty/service/actors/saveValueToDb/analyzeInput.js.map +1 -1
- package/dist/src/ItemProperty/service/actors/saveValueToDb/saveImage.js.map +1 -1
- package/dist/src/ItemProperty/service/actors/saveValueToDb/saveItemStorage.js.map +1 -1
- package/dist/src/ItemProperty/service/actors/saveValueToDb/saveRelation.js.map +1 -1
- package/dist/src/ItemProperty/service/actors/waitForDb.js.map +1 -1
- package/dist/src/ItemProperty/service/propertyMachine.js.map +1 -1
- package/dist/src/browser/Item/Item.js.map +1 -1
- package/dist/src/browser/ItemProperty/ItemProperty.js.map +1 -1
- package/dist/src/browser/db/Db.js.map +1 -1
- package/dist/src/browser/helpers/ArweaveClient.js.map +1 -1
- package/dist/src/browser/helpers/FileManager.js.map +1 -1
- package/dist/src/browser/helpers/QueryClient.js.map +1 -1
- package/dist/src/browser/helpers/eas.js.map +1 -1
- package/dist/src/browser/react/SeedImage.js.map +1 -1
- package/dist/src/browser/react/item.js.map +1 -1
- package/dist/src/browser/react/model.js.map +1 -1
- package/dist/src/browser/react/property.js.map +1 -1
- package/dist/src/browser/react/services.js.map +1 -1
- package/dist/src/browser/react/trash.js.map +1 -1
- package/dist/src/browser/workers/FileDownloader.js.map +1 -1
- package/dist/src/browser/workers/ImageResizer.js.map +1 -1
- package/dist/src/browser/workers/filesDownload.js.map +1 -1
- package/dist/src/browser/workers/imageResize.js.map +1 -1
- package/dist/src/client/ClientManager.js.map +1 -1
- package/dist/src/client/actors/initialize.js.map +1 -1
- package/dist/src/client/actors/saveAppState.js.map +1 -1
- package/dist/src/client/clientManagerMachine.js.map +1 -1
- package/dist/src/db/Db/BaseDb.js.map +1 -1
- package/dist/src/db/configs/seed.schema.config.js.map +1 -1
- package/dist/src/db/read/getExistingItem.js.map +1 -1
- package/dist/src/db/read/getItem.js.map +1 -1
- package/dist/src/db/read/getItemData.js.map +1 -1
- package/dist/src/db/read/getItemProperties.js.map +1 -1
- package/dist/src/db/read/getItemProperty.js.map +1 -1
- package/dist/src/db/read/getItems.js.map +1 -1
- package/dist/src/db/read/getMetadata.js.map +1 -1
- package/dist/src/db/read/getModelSchemas.js.map +1 -1
- package/dist/src/db/read/getModels.js.map +1 -1
- package/dist/src/db/read/getPropertyData.js.map +1 -1
- package/dist/src/db/read/getPublishPayload.d.ts.map +1 -1
- package/dist/src/db/read/getPublishPayload.js +14 -0
- package/dist/src/db/read/getPublishPayload.js.map +1 -1
- package/dist/src/db/read/getPublishUploads.js.map +1 -1
- package/dist/src/db/read/getRelationValueData.js.map +1 -1
- package/dist/src/db/read/getSchemaUidForModel.js.map +1 -1
- package/dist/src/db/read/getSeedData.js.map +1 -1
- package/dist/src/db/read/getStorageTransactionIdForSeedUid.js.map +1 -1
- package/dist/src/db/read/getVersionData.js.map +1 -1
- package/dist/src/db/read/subqueries/metadataLatest.js.map +1 -1
- package/dist/src/db/write/createMetadata.js.map +1 -1
- package/dist/src/db/write/createNewItem.js.map +1 -1
- package/dist/src/db/write/createSeed.js.map +1 -1
- package/dist/src/db/write/createSeeds.js.map +1 -1
- package/dist/src/db/write/createVersion.js.map +1 -1
- package/dist/src/db/write/saveAppState.js.map +1 -1
- package/dist/src/db/write/saveMetadata.js.map +1 -1
- package/dist/src/db/write/updateItemPropertyValue.js.map +1 -1
- package/dist/src/db/write/updateMetadata.js.map +1 -1
- package/dist/src/events/files/download.js.map +1 -1
- package/dist/src/events/files/index.js.map +1 -1
- package/dist/src/events/index.js.map +1 -1
- package/dist/src/events/item/publish.js.map +1 -1
- package/dist/src/events/item/syncDbWithEas.js.map +1 -1
- package/dist/src/events/services/allItems.js.map +1 -1
- package/dist/src/graphql/gql/graphql.js.map +1 -1
- package/dist/src/helpers/ArweaveClient/BaseArweaveClient.js.map +1 -1
- package/dist/src/helpers/ArweaveClient/index.js.map +1 -1
- package/dist/src/helpers/ArweaveClient/queries.js.map +1 -1
- package/dist/src/helpers/EasClient/BaseEasClient.js.map +1 -1
- package/dist/src/helpers/FileManager/BaseFileManager.d.ts.map +1 -1
- package/dist/src/helpers/FileManager/BaseFileManager.js +16 -0
- package/dist/src/helpers/FileManager/BaseFileManager.js.map +1 -1
- package/dist/src/helpers/QueryClient/BaseQueryClient.js.map +1 -1
- package/dist/src/helpers/constants.js.map +1 -1
- package/dist/src/helpers/db.js.map +1 -1
- package/dist/src/helpers/environment.js.map +1 -1
- package/dist/src/helpers/getSchemaForItemProperty.js.map +1 -1
- package/dist/src/helpers/getSegmentedItemProperties.js.map +1 -1
- package/dist/src/helpers/index.js.map +1 -1
- package/dist/src/helpers/scripts.js.map +1 -1
- package/dist/src/helpers/updateMachineContext.js.map +1 -1
- package/dist/src/node/Item/Item.js.map +1 -1
- package/dist/src/node/ItemProperty/ItemProperty.js.map +1 -1
- package/dist/src/node/PathResolver.js +1 -1
- package/dist/src/node/PathResolver.js.map +1 -1
- package/dist/src/node/codegen/drizzle.js.map +1 -1
- package/dist/src/node/db/Db.js.map +1 -1
- package/dist/src/node/helpers/ArweaveClient.js.map +1 -1
- package/dist/src/node/helpers/EasClient.js.map +1 -1
- package/dist/src/node/helpers/FileManager.js.map +1 -1
- package/dist/src/node/helpers/QueryClient.js.map +1 -1
- package/dist/src/node/helpers/index.js.map +1 -1
- package/dist/src/node/webpack/index.js.map +1 -1
- package/dist/src/schema/file/queries.js.map +1 -1
- package/dist/src/schema/image/model.js.map +1 -1
- package/dist/src/schema/model/index.js.map +1 -1
- package/dist/src/schema/property/index.js.map +1 -1
- package/dist/src/seedSchema/AppStateSchema.js.map +1 -1
- package/dist/src/seedSchema/ConfigSchema.js.map +1 -1
- package/dist/src/seedSchema/MetadataSchema.js.map +1 -1
- package/dist/src/seedSchema/ModelSchema.js.map +1 -1
- package/dist/src/seedSchema/ModelUidSchema.js.map +1 -1
- package/dist/src/seedSchema/SeedSchema.js.map +1 -1
- package/dist/src/seedSchema/VersionSchema.js.map +1 -1
- package/dist/src/services/allItems/actors/fetchDbData.js.map +1 -1
- package/dist/src/services/allItems/actors/fetchRelatedItems.js.map +1 -1
- package/dist/src/services/allItems/actors/fetchSeeds.js.map +1 -1
- package/dist/src/services/allItems/actors/fetchVersions.js.map +1 -1
- package/dist/src/services/allItems/actors/initialize.js.map +1 -1
- package/dist/src/services/allItems/actors/processItems.js.map +1 -1
- package/dist/src/services/allItems/itemMachineAll.js.map +1 -1
- package/dist/src/services/db/actors/checkStatus.js.map +1 -1
- package/dist/src/services/db/actors/connectToDb.js.map +1 -1
- package/dist/src/services/db/actors/migrate.js.map +1 -1
- package/dist/src/services/db/actors/validate.js.map +1 -1
- package/dist/src/services/db/actors/waitForFiles.js.map +1 -1
- package/dist/src/services/db/dbMachine.js.map +1 -1
- package/dist/src/services/events.js.map +1 -1
- package/dist/src/services/global/actors/addModelsToDb.js.map +1 -1
- package/dist/src/services/global/actors/getSchemaForModel.js.map +1 -1
- package/dist/src/services/global/actors/initialize.js.map +1 -1
- package/dist/src/services/global/actors/savePublishService.js.map +1 -1
- package/dist/src/services/global/globalMachine.js.map +1 -1
- package/dist/src/services/internal/actors/configureFs.js.map +1 -1
- package/dist/src/services/internal/actors/loadAppDb.js.map +1 -1
- package/dist/src/services/internal/actors/saveConfig.js.map +1 -1
- package/dist/src/services/internal/actors/validateInput.js.map +1 -1
- package/dist/src/services/internal/actors/waitForFiles.js.map +1 -1
- package/dist/src/services/internal/constants.js.map +1 -1
- package/dist/src/services/internal/helpers.js.map +1 -1
- package/dist/src/services/internal/internalMachine.js.map +1 -1
- package/dist/src/services/publish/actors/createPublishAttempt.js.map +1 -1
- package/dist/src/services/publish/actors/preparePublishRequestData.js.map +1 -1
- package/dist/src/services/publish/actors/upload.js.map +1 -1
- package/dist/src/services/publish/actors/validateItemData.js.map +1 -1
- package/dist/src/stores/eas.js.map +1 -1
- package/dist/src/stores/modelClass.js.map +1 -1
- package/package.json +11 -10
- package/dist/node.app.db.config.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../src/schema/model/index.ts"],"sourcesContent":["import { PropertyMetadataKey, TProperty } from '../property'\nimport { TSchema, Type } from '@sinclair/typebox'\nimport { ModelConstructor, ModelValues } from '@/types'\nimport { BaseItem } from '@/Item/BaseItem'\n\nexport const TModelValues = Type.Record(Type.String(), Type.Any())\n\nexport const TModelSchema = Type.Record(Type.String(), TProperty)\nexport const TModelClass = Type.Object({\n schema: TModelSchema,\n create: Type.Function(\n [TModelValues],\n Type.Promise(Type.Record(Type.String(), Type.Any())),\n ),\n})\n\nexport const TModelConstructor = Type.Function([TModelSchema], TModelClass)\n\nexport abstract class IModelClass {\n static originalConstructor: new () => any\n\n static async create(values: ModelValues<any>): Promise<BaseItem<any>> {\n const item = await BaseItem.create(values)\n return item\n }\n\n static getOriginalClass(): new () => any {\n return this.originalConstructor\n }\n}\n\nexport const Model: ModelConstructor = <\n T extends { new(...args: any[]): IModelClass },\n>(\n constructor: T,\n) => {\n class ModelClass extends constructor {\n private static _schema: Record<string, TSchema> = {}\n static originalConstructor = constructor\n\n static _initializeSchema() {\n const properties =\n Reflect.getMetadata(PropertyMetadataKey, this.prototype) || []\n\n properties.forEach(\n ({\n propertyKey,\n propertyType,\n }: {\n propertyKey: string\n propertyType: TSchema\n }) => {\n // console.log(\n // `setting ${propertyKey} to ${JSON.stringify(propertyType)}`,\n // )\n this._schema[propertyKey] = propertyType\n },\n )\n }\n\n static async create(values: ModelValues<any>): Promise<BaseItem<any>> {\n const item = await BaseItem.create(values)\n return item\n }\n\n static getOriginalClass(): T {\n return this.originalConstructor\n }\n\n static get schema() {\n return this._schema\n }\n\n get schema() {\n return this.constructor.prototype._schema\n }\n }\n\n ModelClass._initializeSchema()\n\n return ModelClass as T & IModelClass\n}\n"],"names":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/schema/model/index.ts"],"sourcesContent":["import { PropertyMetadataKey, TProperty } from '../property'\nimport { TSchema, Type } from '@sinclair/typebox'\nimport { ModelConstructor, ModelValues } from '@/types'\nimport { BaseItem } from '@/Item/BaseItem'\n\nexport const TModelValues = Type.Record(Type.String(), Type.Any())\n\nexport const TModelSchema = Type.Record(Type.String(), TProperty)\nexport const TModelClass = Type.Object({\n schema: TModelSchema,\n create: Type.Function(\n [TModelValues],\n Type.Promise(Type.Record(Type.String(), Type.Any())),\n ),\n})\n\nexport const TModelConstructor = Type.Function([TModelSchema], TModelClass)\n\nexport abstract class IModelClass {\n static originalConstructor: new () => any\n\n static async create(values: ModelValues<any>): Promise<BaseItem<any>> {\n const item = await BaseItem.create(values)\n return item\n }\n\n static getOriginalClass(): new () => any {\n return this.originalConstructor\n }\n}\n\nexport const Model: ModelConstructor = <\n T extends { new(...args: any[]): IModelClass },\n>(\n constructor: T,\n) => {\n class ModelClass extends constructor {\n private static _schema: Record<string, TSchema> = {}\n static originalConstructor = constructor\n\n static _initializeSchema() {\n const properties =\n Reflect.getMetadata(PropertyMetadataKey, this.prototype) || []\n\n properties.forEach(\n ({\n propertyKey,\n propertyType,\n }: {\n propertyKey: string\n propertyType: TSchema\n }) => {\n // console.log(\n // `setting ${propertyKey} to ${JSON.stringify(propertyType)}`,\n // )\n this._schema[propertyKey] = propertyType\n },\n )\n }\n\n static async create(values: ModelValues<any>): Promise<BaseItem<any>> {\n const item = await BaseItem.create(values)\n return item\n }\n\n static getOriginalClass(): T {\n return this.originalConstructor\n }\n\n static get schema() {\n return this._schema\n }\n\n get schema() {\n return this.constructor.prototype._schema\n }\n }\n\n ModelClass._initializeSchema()\n\n return ModelClass as T & IModelClass\n}\n"],"names":[],"mappings":";;;;AAKO,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;AAE1D,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,SAAS;AACzD,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC;AACrC,IAAA,MAAM,EAAE,YAAY;AACpB,IAAA,MAAM,EAAE,IAAI,CAAC,QAAQ,CACnB,CAAC,YAAY,CAAC,EACd,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CACrD;AACF,CAAA;AAEgC,IAAI,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,EAAE,WAAW;AAenE,MAAM,KAAK,GAAqB,CAGrC,WAAc,KACZ;IACF,MAAM,UAAW,SAAQ,WAAW,CAAA;AAIlC,QAAA,OAAO,iBAAiB,GAAA;AACtB,YAAA,MAAM,UAAU,GACd,OAAO,CAAC,WAAW,CAAC,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;YAEhE,UAAU,CAAC,OAAO,CAChB,CAAC,EACC,WAAW,EACX,YAAY,GAIb,KAAI;;;;AAIH,gBAAA,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,YAAY;AAC1C,YAAA,CAAC,CACF;QACH;AAEA,QAAA,aAAa,MAAM,CAAC,MAAwB,EAAA;YAC1C,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;AAC1C,YAAA,OAAO,IAAI;QACb;AAEA,QAAA,OAAO,gBAAgB,GAAA;YACrB,OAAO,IAAI,CAAC,mBAAmB;QACjC;AAEA,QAAA,WAAW,MAAM,GAAA;YACf,OAAO,IAAI,CAAC,OAAO;QACrB;AAEA,QAAA,IAAI,MAAM,GAAA;AACR,YAAA,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO;QAC3C;;IAtCe,UAAA,CAAA,OAAO,GAA4B,EAAE;IAC7C,UAAA,CAAA,mBAAmB,GAAG,WAAW;IAwC1C,UAAU,CAAC,iBAAiB,EAAE;AAE9B,IAAA,OAAO,UAA6B;AACtC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../src/schema/property/index.ts"],"sourcesContent":["import { Static, Type } from '@sinclair/typebox'\nimport { PropertyDataType, PropertyDefs, StorageType } from '@/types'\n\nexport const TPropertyDataType = Type.Union([\n Type.Literal('Text'),\n Type.Literal('Number'),\n Type.Literal('List'),\n Type.Literal('Relation'),\n Type.Literal('Image'),\n Type.Literal('Json'),\n Type.Literal('File'),\n Type.Literal('Boolean'),\n Type.Literal('Date'),\n])\n\nexport const TStorageType = Type.Union([\n Type.Literal('ItemStorage'), // Looks for a storageTransactionId property on the item\n Type.Literal('PropertyStorage'), // Looks for a storageTransactionId value on the property\n])\n\nexport const TProperty = Type.Object({\n id: Type.Optional(Type.Number()),\n name: Type.Optional(Type.String()),\n dataType: TPropertyDataType,\n ref: Type.Optional(Type.String()),\n modelId: Type.Optional(Type.Number()),\n refModelId: Type.Optional(Type.Number()),\n refValueType: Type.Optional(TPropertyDataType),\n storageType: Type.Optional(TStorageType),\n localStorageDir: Type.Optional(Type.String()),\n filenameSuffix: Type.Optional(Type.String()),\n})\n\nexport const TPropertyConstructor = Type.Function(\n [\n Type.Optional(Type.Union([Type.String(), TStorageType, Type.Undefined()])),\n Type.Optional(Type.Union([Type.String(), TPropertyDataType])),\n Type.Optional(Type.String()),\n ],\n TProperty,\n)\n\nexport const TPropertyDefs = Type.Record(\n TPropertyDataType,\n TPropertyConstructor,\n)\n\nexport const Property: PropertyDefs = {\n Text: (\n storageType?: StorageType,\n localStorageDir?: string,\n filenameSuffix?: string,\n ) => ({\n dataType: 'Text',\n storageType,\n localStorageDir,\n filenameSuffix,\n TObject: Type.String(),\n }),\n Json: () => ({ dataType: 'Json' }),\n File: () => ({ dataType: 'File' }),\n Number: () => ({ dataType: 'Number' }),\n List: (ref: string, refValueType?: PropertyDataType) => ({\n dataType: 'List',\n ref,\n refValueType,\n }),\n Relation: (ref, refValueType?: PropertyDataType) => ({\n dataType: 'Relation',\n ref,\n refValueType,\n }),\n Image: () => ({ dataType: 'Image' }),\n Boolean: () => ({ dataType: 'Boolean' }),\n Date: () => ({ dataType: 'Date' }),\n}\n\nexport const PropertyMetadataKey = Symbol('property')\n\nexport const PropertyConstructor = (propertyType: Static<typeof TProperty>) => {\n return function (parentClassPrototype: any, propertyKey: string) {\n const existingProperties =\n Reflect.getMetadata(PropertyMetadataKey, parentClassPrototype) || []\n\n existingProperties.push({ propertyKey, propertyType })\n // console.log('existingProperties', existingProperties)\n // console.log('propertyKey', propertyKey)\n // console.log('propertyType', propertyType)\n // console.log('PropertyMetadataKey', PropertyMetadataKey)\n // console.log('typeof target', typeof target)\n Reflect.defineMetadata(\n PropertyMetadataKey,\n existingProperties,\n parentClassPrototype,\n )\n // console.log(\n // `After adding ${propertyKey}:`,\n // Reflect.getMetadata(PropertyMetadataKey, parentClassPrototype),\n // )\n }\n}\n\nexport const Text = (\n storageType?: StorageType,\n srcDir?: string,\n filenameSuffix?: string,\n) => PropertyConstructor(Property.Text(storageType, srcDir, filenameSuffix))\nexport const Number = () => PropertyConstructor(Property.Number())\nexport const Json = () => PropertyConstructor(Property.Json())\nexport const File = () => PropertyConstructor(Property.File())\nexport const Image = () => PropertyConstructor(Property.Image())\nexport const Relation = (ref: string, refValueType?: PropertyDataType) =>\n PropertyConstructor(Property.Relation(ref, refValueType)) // Adjust for actual relation type\nexport const List = (ref: string, reValueType?: PropertyDataType) =>\n PropertyConstructor(Property.List(ref, reValueType)) // Adjust for actual list type\nexport const Boolean = () => PropertyConstructor(Property.Boolean())\nexport const Date = () => PropertyConstructor(Property.Date())\n"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/schema/property/index.ts"],"sourcesContent":["import { Static, Type } from '@sinclair/typebox'\nimport { PropertyDataType, PropertyDefs, StorageType } from '@/types'\n\nexport const TPropertyDataType = Type.Union([\n Type.Literal('Text'),\n Type.Literal('Number'),\n Type.Literal('List'),\n Type.Literal('Relation'),\n Type.Literal('Image'),\n Type.Literal('Json'),\n Type.Literal('File'),\n Type.Literal('Boolean'),\n Type.Literal('Date'),\n])\n\nexport const TStorageType = Type.Union([\n Type.Literal('ItemStorage'), // Looks for a storageTransactionId property on the item\n Type.Literal('PropertyStorage'), // Looks for a storageTransactionId value on the property\n])\n\nexport const TProperty = Type.Object({\n id: Type.Optional(Type.Number()),\n name: Type.Optional(Type.String()),\n dataType: TPropertyDataType,\n ref: Type.Optional(Type.String()),\n modelId: Type.Optional(Type.Number()),\n refModelId: Type.Optional(Type.Number()),\n refValueType: Type.Optional(TPropertyDataType),\n storageType: Type.Optional(TStorageType),\n localStorageDir: Type.Optional(Type.String()),\n filenameSuffix: Type.Optional(Type.String()),\n})\n\nexport const TPropertyConstructor = Type.Function(\n [\n Type.Optional(Type.Union([Type.String(), TStorageType, Type.Undefined()])),\n Type.Optional(Type.Union([Type.String(), TPropertyDataType])),\n Type.Optional(Type.String()),\n ],\n TProperty,\n)\n\nexport const TPropertyDefs = Type.Record(\n TPropertyDataType,\n TPropertyConstructor,\n)\n\nexport const Property: PropertyDefs = {\n Text: (\n storageType?: StorageType,\n localStorageDir?: string,\n filenameSuffix?: string,\n ) => ({\n dataType: 'Text',\n storageType,\n localStorageDir,\n filenameSuffix,\n TObject: Type.String(),\n }),\n Json: () => ({ dataType: 'Json' }),\n File: () => ({ dataType: 'File' }),\n Number: () => ({ dataType: 'Number' }),\n List: (ref: string, refValueType?: PropertyDataType) => ({\n dataType: 'List',\n ref,\n refValueType,\n }),\n Relation: (ref, refValueType?: PropertyDataType) => ({\n dataType: 'Relation',\n ref,\n refValueType,\n }),\n Image: () => ({ dataType: 'Image' }),\n Boolean: () => ({ dataType: 'Boolean' }),\n Date: () => ({ dataType: 'Date' }),\n}\n\nexport const PropertyMetadataKey = Symbol('property')\n\nexport const PropertyConstructor = (propertyType: Static<typeof TProperty>) => {\n return function (parentClassPrototype: any, propertyKey: string) {\n const existingProperties =\n Reflect.getMetadata(PropertyMetadataKey, parentClassPrototype) || []\n\n existingProperties.push({ propertyKey, propertyType })\n // console.log('existingProperties', existingProperties)\n // console.log('propertyKey', propertyKey)\n // console.log('propertyType', propertyType)\n // console.log('PropertyMetadataKey', PropertyMetadataKey)\n // console.log('typeof target', typeof target)\n Reflect.defineMetadata(\n PropertyMetadataKey,\n existingProperties,\n parentClassPrototype,\n )\n // console.log(\n // `After adding ${propertyKey}:`,\n // Reflect.getMetadata(PropertyMetadataKey, parentClassPrototype),\n // )\n }\n}\n\nexport const Text = (\n storageType?: StorageType,\n srcDir?: string,\n filenameSuffix?: string,\n) => PropertyConstructor(Property.Text(storageType, srcDir, filenameSuffix))\nexport const Number = () => PropertyConstructor(Property.Number())\nexport const Json = () => PropertyConstructor(Property.Json())\nexport const File = () => PropertyConstructor(Property.File())\nexport const Image = () => PropertyConstructor(Property.Image())\nexport const Relation = (ref: string, refValueType?: PropertyDataType) =>\n PropertyConstructor(Property.Relation(ref, refValueType)) // Adjust for actual relation type\nexport const List = (ref: string, reValueType?: PropertyDataType) =>\n PropertyConstructor(Property.List(ref, reValueType)) // Adjust for actual list type\nexport const Boolean = () => PropertyConstructor(Property.Boolean())\nexport const Date = () => PropertyConstructor(Property.Date())\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppStateSchema.js","sources":["../../../../src/seedSchema/AppStateSchema.ts"],"sourcesContent":["import { int, sqliteTable, text } from 'drizzle-orm/sqlite-core'\nimport { InferSelectModel } from 'drizzle-orm'\nexport const appState = sqliteTable('appState', {\n key: text('key').unique(),\n value: text('value'),\n createdAt: int('created_at'),\n updatedAt: int('updated_at'),\n})\n\nexport type appStateType = InferSelectModel<typeof appState>\n"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"AppStateSchema.js","sources":["../../../../src/seedSchema/AppStateSchema.ts"],"sourcesContent":["import { int, sqliteTable, text } from 'drizzle-orm/sqlite-core'\nimport { InferSelectModel } from 'drizzle-orm'\nexport const appState = sqliteTable('appState', {\n key: text('key').unique(),\n value: text('value'),\n createdAt: int('created_at'),\n updatedAt: int('updated_at'),\n})\n\nexport type appStateType = InferSelectModel<typeof appState>\n"],"names":[],"mappings":";;AAEO,MAAM,QAAQ,GAAG,WAAW,CAAC,UAAU,EAAE;AAC9C,IAAA,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE;AACzB,IAAA,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;AACpB,IAAA,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC;AAC5B,IAAA,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC;AAC7B,CAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigSchema.js","sources":["../../../../src/seedSchema/ConfigSchema.ts"],"sourcesContent":["import { int, sqliteTable, text, check, blob, } from 'drizzle-orm/sqlite-core'\nimport { InferSelectModel, sql } from 'drizzle-orm'\n\nexport const config = sqliteTable(\n 'config',\n {\n id: int('id').primaryKey({ autoIncrement: true }),\n key: text('key').notNull(),\n text: text('text'),\n json: text('json', {mode: 'json'}),\n blob: blob('blob', {mode: 'buffer'}),\n},\n{\n checks: [\n check('hasValue', sql`key IS NOT NULL OR text IS NOT NULL OR json IS NOT NULL OR blob IS NOT NULL`),\n ],\n})\n\nexport type configType = InferSelectModel<typeof config>"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"ConfigSchema.js","sources":["../../../../src/seedSchema/ConfigSchema.ts"],"sourcesContent":["import { int, sqliteTable, text, check, blob, } from 'drizzle-orm/sqlite-core'\nimport { InferSelectModel, sql } from 'drizzle-orm'\n\nexport const config = sqliteTable(\n 'config',\n {\n id: int('id').primaryKey({ autoIncrement: true }),\n key: text('key').notNull(),\n text: text('text'),\n json: text('json', {mode: 'json'}),\n blob: blob('blob', {mode: 'buffer'}),\n},\n{\n checks: [\n check('hasValue', sql`key IS NOT NULL OR text IS NOT NULL OR json IS NOT NULL OR blob IS NOT NULL`),\n ],\n})\n\nexport type configType = InferSelectModel<typeof config>"],"names":[],"mappings":";;;AAGO,MAAM,MAAM,GAAG,WAAW,CAC/B,QAAQ,EACR;AACE,IAAA,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;AACjD,IAAA,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE;AAC1B,IAAA,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;IAClB,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;IAClC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC,CAAC;CACvC,EACD;AACE,IAAA,MAAM,EAAE;AACN,QAAA,KAAK,CAAC,UAAU,EAAE,GAAG,CAAA,6EAA6E,CAAC;AACpG,KAAA;AACF,CAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MetadataSchema.js","sources":["../../../../src/seedSchema/MetadataSchema.ts"],"sourcesContent":["import { int, sqliteTable, text } from 'drizzle-orm/sqlite-core'\nimport { InferSelectModel } from 'drizzle-orm'\n\nexport const metadata = sqliteTable('metadata', {\n localId: text('local_id').unique(),\n uid: text('uid'),\n propertyName: text('property_name'),\n propertyValue: text('property_value'),\n schemaUid: text('schema_uid'),\n modelType: text('model_type'),\n seedLocalId: text('seed_local_id'),\n seedUid: text('seed_uid'),\n versionLocalId: text('version_local_id'),\n versionUid: text('version_uid'),\n easDataType: text('eas_data_type'),\n refValueType: text('ref_value_type'),\n refModelUid: text('ref_schema_uid'),\n refSeedType: text('ref_seed_type'),\n refResolvedValue: text('ref_resolved_value'),\n refResolvedDisplayValue: text('ref_resolved_display_value'),\n localStorageDir: text('local_storage_dir'),\n attestationRaw: text('attestation_raw'),\n attestationCreatedAt: int('attestation_created_at'),\n contentHash: text('content_hash'),\n createdAt: int('created_at'),\n updatedAt: int('updated_at'),\n})\n\nexport type MetadataType = InferSelectModel<typeof metadata>\n"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"MetadataSchema.js","sources":["../../../../src/seedSchema/MetadataSchema.ts"],"sourcesContent":["import { int, sqliteTable, text } from 'drizzle-orm/sqlite-core'\nimport { InferSelectModel } from 'drizzle-orm'\n\nexport const metadata = sqliteTable('metadata', {\n localId: text('local_id').unique(),\n uid: text('uid'),\n propertyName: text('property_name'),\n propertyValue: text('property_value'),\n schemaUid: text('schema_uid'),\n modelType: text('model_type'),\n seedLocalId: text('seed_local_id'),\n seedUid: text('seed_uid'),\n versionLocalId: text('version_local_id'),\n versionUid: text('version_uid'),\n easDataType: text('eas_data_type'),\n refValueType: text('ref_value_type'),\n refModelUid: text('ref_schema_uid'),\n refSeedType: text('ref_seed_type'),\n refResolvedValue: text('ref_resolved_value'),\n refResolvedDisplayValue: text('ref_resolved_display_value'),\n localStorageDir: text('local_storage_dir'),\n attestationRaw: text('attestation_raw'),\n attestationCreatedAt: int('attestation_created_at'),\n contentHash: text('content_hash'),\n createdAt: int('created_at'),\n updatedAt: int('updated_at'),\n})\n\nexport type MetadataType = InferSelectModel<typeof metadata>\n"],"names":[],"mappings":";;AAGO,MAAM,QAAQ,GAAG,WAAW,CAAC,UAAU,EAAE;AAC9C,IAAA,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE;AAClC,IAAA,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC;AAChB,IAAA,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC;AACnC,IAAA,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC;AACrC,IAAA,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC;AAC7B,IAAA,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC;AAC7B,IAAA,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC;AAClC,IAAA,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC;AACzB,IAAA,cAAc,EAAE,IAAI,CAAC,kBAAkB,CAAC;AACxC,IAAA,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC;AAC/B,IAAA,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC;AAClC,IAAA,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC;AACpC,IAAA,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC;AACnC,IAAA,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC;AAClC,IAAA,gBAAgB,EAAE,IAAI,CAAC,oBAAoB,CAAC;AAC5C,IAAA,uBAAuB,EAAE,IAAI,CAAC,4BAA4B,CAAC;AAC3D,IAAA,eAAe,EAAE,IAAI,CAAC,mBAAmB,CAAC;AAC1C,IAAA,cAAc,EAAE,IAAI,CAAC,iBAAiB,CAAC;AACvC,IAAA,oBAAoB,EAAE,GAAG,CAAC,wBAAwB,CAAC;AACnD,IAAA,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC;AACjC,IAAA,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC;AAC5B,IAAA,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC;AAC7B,CAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModelSchema.js","sources":["../../../../src/seedSchema/ModelSchema.ts"],"sourcesContent":["import { int, sqliteTable, text, unique } from 'drizzle-orm/sqlite-core'\nimport { relations } from 'drizzle-orm'\nimport { InferInsertModel, InferSelectModel } from 'drizzle-orm'\nexport const models = sqliteTable('models', {\n id: int('id').primaryKey({ autoIncrement: true }),\n name: text('name').notNull(),\n})\n\nexport const modelsRelations = relations(models, ({ many }) => ({\n properties: many(properties),\n}))\n\nexport type NewModelRecord = typeof models.$inferInsert\nexport type ModelRecordType = typeof models.$inferSelect\n\nexport const properties = sqliteTable(\n 'properties',\n {\n id: int('id').primaryKey({ autoIncrement: true }),\n name: text('name').notNull(),\n dataType: text('data_type').notNull(),\n readEndpoint: text('read_endpoint'),\n updateEndpoint: text('update_endpoint'),\n modelId: int('model_id')\n .notNull()\n .references(() => models.id),\n refModelId: int('ref_model_id').references(() => models.id),\n refValueType: text('ref_value_type'),\n },\n (table) => {\n return {\n uniqueNameModelId: unique('unique_name_model_id').on(\n table.name,\n table.modelId,\n ),\n }\n },\n)\n\nexport const propertiesRelations = relations(properties, ({ one }) => ({\n model: one(models),\n refModel: one(models),\n}))\n\nexport type NewPropertyRecord = InferInsertModel<typeof properties>\nexport type PropertyType = InferSelectModel<typeof properties>\n"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"ModelSchema.js","sources":["../../../../src/seedSchema/ModelSchema.ts"],"sourcesContent":["import { int, sqliteTable, text, unique } from 'drizzle-orm/sqlite-core'\nimport { relations } from 'drizzle-orm'\nimport { InferInsertModel, InferSelectModel } from 'drizzle-orm'\nexport const models = sqliteTable('models', {\n id: int('id').primaryKey({ autoIncrement: true }),\n name: text('name').notNull(),\n})\n\nexport const modelsRelations = relations(models, ({ many }) => ({\n properties: many(properties),\n}))\n\nexport type NewModelRecord = typeof models.$inferInsert\nexport type ModelRecordType = typeof models.$inferSelect\n\nexport const properties = sqliteTable(\n 'properties',\n {\n id: int('id').primaryKey({ autoIncrement: true }),\n name: text('name').notNull(),\n dataType: text('data_type').notNull(),\n readEndpoint: text('read_endpoint'),\n updateEndpoint: text('update_endpoint'),\n modelId: int('model_id')\n .notNull()\n .references(() => models.id),\n refModelId: int('ref_model_id').references(() => models.id),\n refValueType: text('ref_value_type'),\n },\n (table) => {\n return {\n uniqueNameModelId: unique('unique_name_model_id').on(\n table.name,\n table.modelId,\n ),\n }\n },\n)\n\nexport const propertiesRelations = relations(properties, ({ one }) => ({\n model: one(models),\n refModel: one(models),\n}))\n\nexport type NewPropertyRecord = InferInsertModel<typeof properties>\nexport type PropertyType = InferSelectModel<typeof properties>\n"],"names":[],"mappings":";;;AAGO,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,EAAE;AAC1C,IAAA,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;AACjD,IAAA,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE;AAC7B,CAAA;AAE8B,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM;AAC9D,IAAA,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC;AAC7B,CAAA,CAAC;AAKK,MAAM,UAAU,GAAG,WAAW,CACnC,YAAY,EACZ;AACE,IAAA,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;AACjD,IAAA,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE;AAC5B,IAAA,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE;AACrC,IAAA,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC;AACnC,IAAA,cAAc,EAAE,IAAI,CAAC,iBAAiB,CAAC;AACvC,IAAA,OAAO,EAAE,GAAG,CAAC,UAAU;AACpB,SAAA,OAAO;AACP,SAAA,UAAU,CAAC,MAAM,MAAM,CAAC,EAAE,CAAC;AAC9B,IAAA,UAAU,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC,UAAU,CAAC,MAAM,MAAM,CAAC,EAAE,CAAC;AAC3D,IAAA,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC;CACrC,EACD,CAAC,KAAK,KAAI;IACR,OAAO;AACL,QAAA,iBAAiB,EAAE,MAAM,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAClD,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,OAAO,CACd;KACF;AACH,CAAC;AAGgC,SAAS,CAAC,UAAU,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM;AACrE,IAAA,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC;AAClB,IAAA,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC;AACtB,CAAA,CAAC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModelUidSchema.js","sources":["../../../../src/seedSchema/ModelUidSchema.ts"],"sourcesContent":["import { int, sqliteTable, text } from 'drizzle-orm/sqlite-core'\nimport { relations } from 'drizzle-orm'\nimport { models } from './ModelSchema'\n\nexport const modelUids = sqliteTable('model_uids', {\n id: int('id').primaryKey({ autoIncrement: true }),\n uid: text('uid').notNull(),\n modelId: int('model_id')\n .notNull()\n .unique()\n .references(() => models.id),\n})\n\nexport const modelRelations = relations(modelUids, ({ many, one }) => ({\n model: one(models),\n}))\n"],"names":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"ModelUidSchema.js","sources":["../../../../src/seedSchema/ModelUidSchema.ts"],"sourcesContent":["import { int, sqliteTable, text } from 'drizzle-orm/sqlite-core'\nimport { relations } from 'drizzle-orm'\nimport { models } from './ModelSchema'\n\nexport const modelUids = sqliteTable('model_uids', {\n id: int('id').primaryKey({ autoIncrement: true }),\n uid: text('uid').notNull(),\n modelId: int('model_id')\n .notNull()\n .unique()\n .references(() => models.id),\n})\n\nexport const modelRelations = relations(modelUids, ({ many, one }) => ({\n model: one(models),\n}))\n"],"names":[],"mappings":";;;;AAIO,MAAM,SAAS,GAAG,WAAW,CAAC,YAAY,EAAE;AACjD,IAAA,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;AACjD,IAAA,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE;AAC1B,IAAA,OAAO,EAAE,GAAG,CAAC,UAAU;AACpB,SAAA,OAAO;AACP,SAAA,MAAM;AACN,SAAA,UAAU,CAAC,MAAM,MAAM,CAAC,EAAE,CAAC;AAC/B,CAAA;AAE6B,SAAS,CAAC,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM;AACrE,IAAA,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC;AACnB,CAAA,CAAC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SeedSchema.js","sources":["../../../../src/seedSchema/SeedSchema.ts"],"sourcesContent":["import { InferSelectModel } from 'drizzle-orm'\nimport { int, sqliteTable, text } from 'drizzle-orm/sqlite-core'\n\nexport const seeds = sqliteTable(\n 'seeds',\n {\n localId: text('local_id').unique(),\n uid: text('uid'),\n schemaUid: text('schema_uid'),\n type: text('type'),\n attestationRaw: text('attestation_raw'),\n attestationCreatedAt: int('attestation_created_at'),\n createdAt: int('created_at'),\n updatedAt: int('updated_at'),\n _markedForDeletion: int('_marked_for_deletion'),\n },\n // {\n // triggers: [\n // sql<string>`CREATE TRIGGER IF NOT EXISTS seeds_created_at_trigger\n // BEFORE INSERT\n // ON seeds\n // FOR EACH ROW\n // BEGIN\n // SELECT strftime('%s', 'now') * 1000 INTO NEW.created_at;\n // END;`,\n // ],\n // },\n)\n\nexport type SeedType = InferSelectModel<typeof seeds>\n"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"SeedSchema.js","sources":["../../../../src/seedSchema/SeedSchema.ts"],"sourcesContent":["import { InferSelectModel } from 'drizzle-orm'\nimport { int, sqliteTable, text } from 'drizzle-orm/sqlite-core'\n\nexport const seeds = sqliteTable(\n 'seeds',\n {\n localId: text('local_id').unique(),\n uid: text('uid'),\n schemaUid: text('schema_uid'),\n type: text('type'),\n attestationRaw: text('attestation_raw'),\n attestationCreatedAt: int('attestation_created_at'),\n createdAt: int('created_at'),\n updatedAt: int('updated_at'),\n _markedForDeletion: int('_marked_for_deletion'),\n },\n // {\n // triggers: [\n // sql<string>`CREATE TRIGGER IF NOT EXISTS seeds_created_at_trigger\n // BEFORE INSERT\n // ON seeds\n // FOR EACH ROW\n // BEGIN\n // SELECT strftime('%s', 'now') * 1000 INTO NEW.created_at;\n // END;`,\n // ],\n // },\n)\n\nexport type SeedType = InferSelectModel<typeof seeds>\n"],"names":[],"mappings":";;AAGO,MAAM,KAAK,GAAG,WAAW,CAC9B,OAAO,EACP;AACE,IAAA,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE;AAClC,IAAA,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC;AAChB,IAAA,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC;AAC7B,IAAA,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;AAClB,IAAA,cAAc,EAAE,IAAI,CAAC,iBAAiB,CAAC;AACvC,IAAA,oBAAoB,EAAE,GAAG,CAAC,wBAAwB,CAAC;AACnD,IAAA,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC;AAC5B,IAAA,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC;AAC5B,IAAA,kBAAkB,EAAE,GAAG,CAAC,sBAAsB,CAAC;AAChD,CAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VersionSchema.js","sources":["../../../../src/seedSchema/VersionSchema.ts"],"sourcesContent":["import { int, sqliteTable, text } from 'drizzle-orm/sqlite-core'\nimport { InferSelectModel } from 'drizzle-orm'\n\nexport const versions = sqliteTable('versions', {\n localId: text('local_id').unique(),\n uid: text('uid'),\n seedLocalId: text('seed_local_id'),\n seedUid: text('seed_uid'),\n seedType: text('seed_type'),\n note: text('note'),\n createdAt: int('created_at'),\n updatedAt: int('updated_at'),\n attestationCreatedAt: int('attestation_created_at'),\n attestationRaw: text('attestation_raw'),\n})\n\nexport type VersionsType = InferSelectModel<typeof versions>\n"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"VersionSchema.js","sources":["../../../../src/seedSchema/VersionSchema.ts"],"sourcesContent":["import { int, sqliteTable, text } from 'drizzle-orm/sqlite-core'\nimport { InferSelectModel } from 'drizzle-orm'\n\nexport const versions = sqliteTable('versions', {\n localId: text('local_id').unique(),\n uid: text('uid'),\n seedLocalId: text('seed_local_id'),\n seedUid: text('seed_uid'),\n seedType: text('seed_type'),\n note: text('note'),\n createdAt: int('created_at'),\n updatedAt: int('updated_at'),\n attestationCreatedAt: int('attestation_created_at'),\n attestationRaw: text('attestation_raw'),\n})\n\nexport type VersionsType = InferSelectModel<typeof versions>\n"],"names":[],"mappings":";;AAGO,MAAM,QAAQ,GAAG,WAAW,CAAC,UAAU,EAAE;AAC9C,IAAA,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE;AAClC,IAAA,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC;AAChB,IAAA,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC;AAClC,IAAA,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC;AACzB,IAAA,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC;AAC3B,IAAA,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;AAClB,IAAA,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC;AAC5B,IAAA,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC;AAC5B,IAAA,oBAAoB,EAAE,GAAG,CAAC,wBAAwB,CAAC;AACnD,IAAA,cAAc,EAAE,IAAI,CAAC,iBAAiB,CAAC;AACxC,CAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchDbData.js","sources":["../../../../../../src/services/allItems/actors/fetchDbData.ts"],"sourcesContent":["import { EventObject, fromCallback } from 'xstate'\nimport { AllItemsMachineContext, FromCallbackInput } from '@/types'\n\nexport const fetchDbData = fromCallback<\n EventObject,\n FromCallbackInput<AllItemsMachineContext>\n>(\n ({ sendBack, input: { context } }) => {\n const { modelNamePlural, times } = context\n\n const _fetchDbData = async (): Promise<void> => { }\n\n _fetchDbData().then(() => {\n sendBack({ type: 'fetchDbDataSuccess' })\n })\n\n return () => { }\n },\n)\n"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"fetchDbData.js","sources":["../../../../../../src/services/allItems/actors/fetchDbData.ts"],"sourcesContent":["import { EventObject, fromCallback } from 'xstate'\nimport { AllItemsMachineContext, FromCallbackInput } from '@/types'\n\nexport const fetchDbData = fromCallback<\n EventObject,\n FromCallbackInput<AllItemsMachineContext>\n>(\n ({ sendBack, input: { context } }) => {\n const { modelNamePlural, times } = context\n\n const _fetchDbData = async (): Promise<void> => { }\n\n _fetchDbData().then(() => {\n sendBack({ type: 'fetchDbDataSuccess' })\n })\n\n return () => { }\n },\n)\n"],"names":[],"mappings":";;AAGO,MAAM,WAAW,GAAG,YAAY,CAIrC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,KAAI;AACnC,IAAA,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,GAAG,OAAO;AAE1C,IAAA,MAAM,YAAY,GAAG,YAA0B,EAAG,CAAC;AAEnD,IAAA,YAAY,EAAE,CAAC,IAAI,CAAC,MAAK;AACvB,QAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC;AAC1C,IAAA,CAAC,CAAC;AAEF,IAAA,OAAO,MAAK,EAAG,CAAC;AAClB,CAAC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchRelatedItems.js","sources":["../../../../../../src/services/allItems/actors/fetchRelatedItems.ts"],"sourcesContent":["import { EventObject, fromCallback } from 'xstate'\nimport {\n GET_ALL_PROPERTIES_FOR_ALL_VERSIONS,\n GET_SEED_IDS,\n GET_VERSIONS,\n} from '@/Item/queries'\nimport {\n models as modelsTable,\n modelUids,\n PropertyType,\n} from '@/seedSchema'\nimport { Attestation } from '@/graphql/gql/graphql'\nimport {\n AllItemsMachineContext,\n FromCallbackInput,\n ModelClassType,\n} from '@/types'\nimport { getAddressesFromDb } from '@/helpers/db'\nimport { eq } from 'drizzle-orm'\nimport { BaseDb } from '@/db/Db/BaseDb'\nimport { BaseEasClient } from '@/helpers/EasClient/BaseEasClient'\nimport { BaseQueryClient } from '@/helpers/QueryClient/BaseQueryClient'\n\n\nexport const fetchRelatedItems = fromCallback<\n EventObject,\n FromCallbackInput<AllItemsMachineContext>\n>(({ sendBack, input: { context } }) => {\n const { ModelClass, modelName } = context\n\n const appDb = BaseDb.getAppDb()\n\n const relatedProperties = new Map<string, PropertyType>()\n const relatedVersionsBySeedUid = new Map<string, Attestation[]>()\n const schemaUidsByModelName = new Map<string, string>()\n const mostRecentVersionsBySeedUid = new Map<string, Attestation>()\n const mostRecentPropertiesBySeedUid = new Map<string, Attestation[]>()\n const seedUidsByMostRecentVersionUid = new Map<string, string>()\n\n const _fetchRelatedItems = async () => {\n // Get related properties\n for (const [propertyName, propertyDef] of Object.entries(\n (ModelClass as ModelClassType).schema,\n )) {\n if (propertyDef && propertyDef.ref && propertyDef.refModelId) {\n relatedProperties.set(propertyName, propertyDef)\n }\n }\n\n const addresses = await getAddressesFromDb(appDb)\n\n // Get the models they point to from sdkConfigDb\n for (const [propertyName, propertyDef] of relatedProperties.entries()) {\n const relatedModelQuery = await appDb\n .select({\n id: modelsTable.id,\n name: modelsTable.name,\n uid: modelUids.uid,\n })\n .from(modelsTable)\n .leftJoin(modelUids, eq(modelsTable.id, modelUids.modelId))\n .where(eq(modelsTable.id, propertyDef.refModelId))\n .limit(1)\n\n if (relatedModelQuery && relatedModelQuery.length > 0) {\n const relatedModel = relatedModelQuery[0]\n const relatedModelUid = relatedModel.uid\n // Exclude the current model's schemaUid since we already have its versions\n if (relatedModelUid && relatedModelUid !== ModelClass.schemaUid) {\n schemaUidsByModelName.set(relatedModel.name, relatedModelUid)\n }\n }\n }\n\n const queryKey = [`getRelatedSeedIds${modelName}`]\n\n const queryClient = BaseQueryClient.getQueryClient()\n const easClient = BaseEasClient.getEasClient()\n\n const { itemSeedIds: relatedSeedIdAttestations } =\n await queryClient.fetchQuery({\n queryKey,\n queryFn: async () =>\n easClient.request(GET_SEED_IDS, {\n where: {\n schema: {\n is: {\n id: {\n in: Array.from(schemaUidsByModelName.values()),\n },\n },\n },\n attester: {\n in: addresses,\n },\n },\n }),\n })\n\n const relatedSeedIds = relatedSeedIdAttestations.map((seed) => seed.id)\n\n const { itemVersions: relatedVersions } = await queryClient.fetchQuery({\n queryKey: [`getRelatedVersions${modelName}`],\n queryFn: async () =>\n easClient.request(GET_VERSIONS, {\n where: {\n refUID: {\n in: relatedSeedIds,\n },\n attester: {\n in: addresses,\n },\n },\n }),\n })\n\n // Index versions by seedUid\n for (const version of relatedVersions) {\n const existingVersionsForSeedUid =\n relatedVersionsBySeedUid.get(version.refUID) || []\n existingVersionsForSeedUid.push(version)\n relatedVersionsBySeedUid.set(version.refUID, existingVersionsForSeedUid)\n }\n\n // Sort the indexed versions by timeCreated and index the most recent\n for (const [\n seedUid,\n versionsForSeed,\n ] of relatedVersionsBySeedUid.entries()) {\n const versionsForSeedSorted = versionsForSeed.sort(\n (a: Attestation, b: Attestation) => {\n return a.timeCreated - b.timeCreated\n },\n )\n relatedVersionsBySeedUid.set(seedUid, versionsForSeedSorted)\n mostRecentVersionsBySeedUid.set(seedUid, versionsForSeedSorted[0])\n seedUidsByMostRecentVersionUid.set(versionsForSeedSorted[0].id, seedUid)\n }\n\n // Extract the ids of the most recent versions\n const mostRecentVersionIds = Array.from(\n mostRecentVersionsBySeedUid.values(),\n ).map((version) => version.id)\n\n const { allProperties } = await queryClient.fetchQuery({\n queryKey: [`getAllProperties${modelName}`],\n queryFn: async () =>\n easClient.request(GET_ALL_PROPERTIES_FOR_ALL_VERSIONS, {\n where: {\n refUID: {\n in: mostRecentVersionIds,\n },\n attester: {\n in: addresses,\n },\n },\n }),\n })\n\n for (const propertyAttestation of allProperties) {\n const seedUidForProperty = seedUidsByMostRecentVersionUid.get(\n propertyAttestation.refUID,\n )\n const existingPropertiesForSeedUid =\n mostRecentPropertiesBySeedUid.get(seedUidForProperty!) || []\n existingPropertiesForSeedUid.push(propertyAttestation)\n mostRecentPropertiesBySeedUid.set(\n seedUidForProperty!,\n existingPropertiesForSeedUid,\n )\n }\n }\n\n _fetchRelatedItems().then(() => {\n sendBack({\n type: 'fetchRelatedItemsSuccess',\n mostRecentPropertiesBySeedUid,\n relatedVersionsBySeedUid,\n relatedProperties,\n schemaUidsByModelName,\n })\n return\n })\n})\n"],"names":["modelsTable"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fetchRelatedItems.js","sources":["../../../../../../src/services/allItems/actors/fetchRelatedItems.ts"],"sourcesContent":["import { EventObject, fromCallback } from 'xstate'\nimport {\n GET_ALL_PROPERTIES_FOR_ALL_VERSIONS,\n GET_SEED_IDS,\n GET_VERSIONS,\n} from '@/Item/queries'\nimport {\n models as modelsTable,\n modelUids,\n PropertyType,\n} from '@/seedSchema'\nimport { Attestation } from '@/graphql/gql/graphql'\nimport {\n AllItemsMachineContext,\n FromCallbackInput,\n ModelClassType,\n} from '@/types'\nimport { getAddressesFromDb } from '@/helpers/db'\nimport { eq } from 'drizzle-orm'\nimport { BaseDb } from '@/db/Db/BaseDb'\nimport { BaseEasClient } from '@/helpers/EasClient/BaseEasClient'\nimport { BaseQueryClient } from '@/helpers/QueryClient/BaseQueryClient'\n\n\nexport const fetchRelatedItems = fromCallback<\n EventObject,\n FromCallbackInput<AllItemsMachineContext>\n>(({ sendBack, input: { context } }) => {\n const { ModelClass, modelName } = context\n\n const appDb = BaseDb.getAppDb()\n\n const relatedProperties = new Map<string, PropertyType>()\n const relatedVersionsBySeedUid = new Map<string, Attestation[]>()\n const schemaUidsByModelName = new Map<string, string>()\n const mostRecentVersionsBySeedUid = new Map<string, Attestation>()\n const mostRecentPropertiesBySeedUid = new Map<string, Attestation[]>()\n const seedUidsByMostRecentVersionUid = new Map<string, string>()\n\n const _fetchRelatedItems = async () => {\n // Get related properties\n for (const [propertyName, propertyDef] of Object.entries(\n (ModelClass as ModelClassType).schema,\n )) {\n if (propertyDef && propertyDef.ref && propertyDef.refModelId) {\n relatedProperties.set(propertyName, propertyDef)\n }\n }\n\n const addresses = await getAddressesFromDb(appDb)\n\n // Get the models they point to from sdkConfigDb\n for (const [propertyName, propertyDef] of relatedProperties.entries()) {\n const relatedModelQuery = await appDb\n .select({\n id: modelsTable.id,\n name: modelsTable.name,\n uid: modelUids.uid,\n })\n .from(modelsTable)\n .leftJoin(modelUids, eq(modelsTable.id, modelUids.modelId))\n .where(eq(modelsTable.id, propertyDef.refModelId))\n .limit(1)\n\n if (relatedModelQuery && relatedModelQuery.length > 0) {\n const relatedModel = relatedModelQuery[0]\n const relatedModelUid = relatedModel.uid\n // Exclude the current model's schemaUid since we already have its versions\n if (relatedModelUid && relatedModelUid !== ModelClass.schemaUid) {\n schemaUidsByModelName.set(relatedModel.name, relatedModelUid)\n }\n }\n }\n\n const queryKey = [`getRelatedSeedIds${modelName}`]\n\n const queryClient = BaseQueryClient.getQueryClient()\n const easClient = BaseEasClient.getEasClient()\n\n const { itemSeedIds: relatedSeedIdAttestations } =\n await queryClient.fetchQuery({\n queryKey,\n queryFn: async () =>\n easClient.request(GET_SEED_IDS, {\n where: {\n schema: {\n is: {\n id: {\n in: Array.from(schemaUidsByModelName.values()),\n },\n },\n },\n attester: {\n in: addresses,\n },\n },\n }),\n })\n\n const relatedSeedIds = relatedSeedIdAttestations.map((seed) => seed.id)\n\n const { itemVersions: relatedVersions } = await queryClient.fetchQuery({\n queryKey: [`getRelatedVersions${modelName}`],\n queryFn: async () =>\n easClient.request(GET_VERSIONS, {\n where: {\n refUID: {\n in: relatedSeedIds,\n },\n attester: {\n in: addresses,\n },\n },\n }),\n })\n\n // Index versions by seedUid\n for (const version of relatedVersions) {\n const existingVersionsForSeedUid =\n relatedVersionsBySeedUid.get(version.refUID) || []\n existingVersionsForSeedUid.push(version)\n relatedVersionsBySeedUid.set(version.refUID, existingVersionsForSeedUid)\n }\n\n // Sort the indexed versions by timeCreated and index the most recent\n for (const [\n seedUid,\n versionsForSeed,\n ] of relatedVersionsBySeedUid.entries()) {\n const versionsForSeedSorted = versionsForSeed.sort(\n (a: Attestation, b: Attestation) => {\n return a.timeCreated - b.timeCreated\n },\n )\n relatedVersionsBySeedUid.set(seedUid, versionsForSeedSorted)\n mostRecentVersionsBySeedUid.set(seedUid, versionsForSeedSorted[0])\n seedUidsByMostRecentVersionUid.set(versionsForSeedSorted[0].id, seedUid)\n }\n\n // Extract the ids of the most recent versions\n const mostRecentVersionIds = Array.from(\n mostRecentVersionsBySeedUid.values(),\n ).map((version) => version.id)\n\n const { allProperties } = await queryClient.fetchQuery({\n queryKey: [`getAllProperties${modelName}`],\n queryFn: async () =>\n easClient.request(GET_ALL_PROPERTIES_FOR_ALL_VERSIONS, {\n where: {\n refUID: {\n in: mostRecentVersionIds,\n },\n attester: {\n in: addresses,\n },\n },\n }),\n })\n\n for (const propertyAttestation of allProperties) {\n const seedUidForProperty = seedUidsByMostRecentVersionUid.get(\n propertyAttestation.refUID,\n )\n const existingPropertiesForSeedUid =\n mostRecentPropertiesBySeedUid.get(seedUidForProperty!) || []\n existingPropertiesForSeedUid.push(propertyAttestation)\n mostRecentPropertiesBySeedUid.set(\n seedUidForProperty!,\n existingPropertiesForSeedUid,\n )\n }\n }\n\n _fetchRelatedItems().then(() => {\n sendBack({\n type: 'fetchRelatedItemsSuccess',\n mostRecentPropertiesBySeedUid,\n relatedVersionsBySeedUid,\n relatedProperties,\n schemaUidsByModelName,\n })\n return\n })\n})\n"],"names":["modelsTable"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchSeeds.js","sources":["../../../../../../src/services/allItems/actors/fetchSeeds.ts"],"sourcesContent":["import { EventObject, fromCallback } from 'xstate'\nimport { GET_SEEDS } from '@/Item/queries'\nimport { AllItemsMachineContext, FromCallbackInput } from '@/types'\nimport { Attestation } from '@/graphql/gql/graphql'\nimport { BaseEasClient } from '@/helpers/EasClient/BaseEasClient'\nimport { BaseQueryClient } from '@/helpers/QueryClient/BaseQueryClient'\nimport debug from 'debug'\n\n\nconst logger = debug('seedSdk:allItemsActors:fetchSeeds')\n\nexport const fetchSeeds = fromCallback<\n EventObject,\n FromCallbackInput<AllItemsMachineContext>\n>(\n ({ sendBack, input: { context } }) => {\n const { queryVariables, modelName } = context\n\n if (!queryVariables) {\n throw new Error('No queryVariables found')\n }\n\n let itemSeeds: Attestation[] | undefined\n\n const _fetchSeeds = async () => {\n const queryKey = [`getSeeds${modelName}`]\n\n const queryClient = BaseQueryClient.getQueryClient()\n const easClient = BaseEasClient.getEasClient()\n\n const results = await queryClient.fetchQuery({\n queryKey,\n queryFn: async () => easClient.request(GET_SEEDS, queryVariables),\n })\n\n itemSeeds = results.itemSeeds\n }\n\n _fetchSeeds().then(() => {\n sendBack({ type: 'fetchSeedsSuccess', itemSeeds })\n })\n\n return () => { }\n },\n)\n"],"names":[],"mappings":";;;;;;AASe,KAAK,CAAC,mCAAmC;
|
|
1
|
+
{"version":3,"file":"fetchSeeds.js","sources":["../../../../../../src/services/allItems/actors/fetchSeeds.ts"],"sourcesContent":["import { EventObject, fromCallback } from 'xstate'\nimport { GET_SEEDS } from '@/Item/queries'\nimport { AllItemsMachineContext, FromCallbackInput } from '@/types'\nimport { Attestation } from '@/graphql/gql/graphql'\nimport { BaseEasClient } from '@/helpers/EasClient/BaseEasClient'\nimport { BaseQueryClient } from '@/helpers/QueryClient/BaseQueryClient'\nimport debug from 'debug'\n\n\nconst logger = debug('seedSdk:allItemsActors:fetchSeeds')\n\nexport const fetchSeeds = fromCallback<\n EventObject,\n FromCallbackInput<AllItemsMachineContext>\n>(\n ({ sendBack, input: { context } }) => {\n const { queryVariables, modelName } = context\n\n if (!queryVariables) {\n throw new Error('No queryVariables found')\n }\n\n let itemSeeds: Attestation[] | undefined\n\n const _fetchSeeds = async () => {\n const queryKey = [`getSeeds${modelName}`]\n\n const queryClient = BaseQueryClient.getQueryClient()\n const easClient = BaseEasClient.getEasClient()\n\n const results = await queryClient.fetchQuery({\n queryKey,\n queryFn: async () => easClient.request(GET_SEEDS, queryVariables),\n })\n\n itemSeeds = results.itemSeeds\n }\n\n _fetchSeeds().then(() => {\n sendBack({ type: 'fetchSeedsSuccess', itemSeeds })\n })\n\n return () => { }\n },\n)\n"],"names":[],"mappings":";;;;;;AASe,KAAK,CAAC,mCAAmC;AAEjD,MAAM,UAAU,GAAG,YAAY,CAIpC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,KAAI;AACnC,IAAA,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG,OAAO;IAE7C,IAAI,CAAC,cAAc,EAAE;AACnB,QAAA,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC;IAC5C;AAEA,IAAA,IAAI,SAAoC;AAExC,IAAA,MAAM,WAAW,GAAG,YAAW;AAC7B,QAAA,MAAM,QAAQ,GAAG,CAAC,WAAW,SAAS,CAAA,CAAE,CAAC;AAEzC,QAAA,MAAM,WAAW,GAAG,eAAe,CAAC,cAAc,EAAE;AACpD,QAAA,MAAM,SAAS,GAAG,aAAa,CAAC,YAAY,EAAE;AAE9C,QAAA,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,UAAU,CAAC;YAC3C,QAAQ;AACR,YAAA,OAAO,EAAE,YAAY,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC;AAClE,SAAA,CAAC;AAEF,QAAA,SAAS,GAAG,OAAO,CAAC,SAAS;AAC/B,IAAA,CAAC;AAED,IAAA,WAAW,EAAE,CAAC,IAAI,CAAC,MAAK;QACtB,QAAQ,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,CAAC;AACpD,IAAA,CAAC,CAAC;AAEF,IAAA,OAAO,MAAK,EAAG,CAAC;AAClB,CAAC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchVersions.js","sources":["../../../../../../src/services/allItems/actors/fetchVersions.ts"],"sourcesContent":["import { EventObject, fromCallback } from 'xstate'\nimport { GET_VERSIONS } from '@/Item/queries'\nimport { AllItemsMachineContext, FromCallbackInput } from '@/types'\nimport { Attestation } from '@/graphql/gql/graphql'\nimport { BaseEasClient } from '@/helpers/EasClient/BaseEasClient'\nimport { BaseQueryClient } from '@/helpers/QueryClient/BaseQueryClient'\n\n\nexport const fetchVersions = fromCallback<\n EventObject,\n FromCallbackInput<AllItemsMachineContext>\n>(\n ({ sendBack, input: { context } }) => {\n const { itemSeeds, modelName } = context\n\n if (!itemSeeds) {\n throw new Error('No queryVariables found')\n }\n\n let itemVersions: Attestation[] | undefined\n\n const _fetchVersions = async () => {\n const queryClient = BaseQueryClient.getQueryClient()\n const easClient = BaseEasClient.getEasClient()\n\n const seedIds = itemSeeds.map((seed) => seed.id)\n\n const results = await queryClient.fetchQuery({\n queryKey: [`getVersions${modelName}`],\n queryFn: async () =>\n easClient.request(GET_VERSIONS, {\n where: {\n refUID: {\n in: seedIds,\n },\n },\n }),\n })\n\n itemVersions = results.itemVersions\n }\n\n _fetchVersions().then(() => {\n sendBack({ type: 'fetchVersionsSuccess', itemVersions })\n })\n\n return () => { }\n },\n)\n"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"fetchVersions.js","sources":["../../../../../../src/services/allItems/actors/fetchVersions.ts"],"sourcesContent":["import { EventObject, fromCallback } from 'xstate'\nimport { GET_VERSIONS } from '@/Item/queries'\nimport { AllItemsMachineContext, FromCallbackInput } from '@/types'\nimport { Attestation } from '@/graphql/gql/graphql'\nimport { BaseEasClient } from '@/helpers/EasClient/BaseEasClient'\nimport { BaseQueryClient } from '@/helpers/QueryClient/BaseQueryClient'\n\n\nexport const fetchVersions = fromCallback<\n EventObject,\n FromCallbackInput<AllItemsMachineContext>\n>(\n ({ sendBack, input: { context } }) => {\n const { itemSeeds, modelName } = context\n\n if (!itemSeeds) {\n throw new Error('No queryVariables found')\n }\n\n let itemVersions: Attestation[] | undefined\n\n const _fetchVersions = async () => {\n const queryClient = BaseQueryClient.getQueryClient()\n const easClient = BaseEasClient.getEasClient()\n\n const seedIds = itemSeeds.map((seed) => seed.id)\n\n const results = await queryClient.fetchQuery({\n queryKey: [`getVersions${modelName}`],\n queryFn: async () =>\n easClient.request(GET_VERSIONS, {\n where: {\n refUID: {\n in: seedIds,\n },\n },\n }),\n })\n\n itemVersions = results.itemVersions\n }\n\n _fetchVersions().then(() => {\n sendBack({ type: 'fetchVersionsSuccess', itemVersions })\n })\n\n return () => { }\n },\n)\n"],"names":[],"mappings":";;;;;AAQO,MAAM,aAAa,GAAG,YAAY,CAIvC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,KAAI;AACnC,IAAA,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,OAAO;IAExC,IAAI,CAAC,SAAS,EAAE;AACd,QAAA,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC;IAC5C;AAEA,IAAA,IAAI,YAAuC;AAE3C,IAAA,MAAM,cAAc,GAAG,YAAW;AAChC,QAAA,MAAM,WAAW,GAAG,eAAe,CAAC,cAAc,EAAE;AACpD,QAAA,MAAM,SAAS,GAAG,aAAa,CAAC,YAAY,EAAE;AAE9C,QAAA,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;AAEhD,QAAA,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,UAAU,CAAC;AAC3C,YAAA,QAAQ,EAAE,CAAC,CAAA,WAAA,EAAc,SAAS,EAAE,CAAC;YACrC,OAAO,EAAE,YACP,SAAS,CAAC,OAAO,CAAC,YAAY,EAAE;AAC9B,gBAAA,KAAK,EAAE;AACL,oBAAA,MAAM,EAAE;AACN,wBAAA,EAAE,EAAE,OAAO;AACZ,qBAAA;AACF,iBAAA;aACF,CAAC;AACL,SAAA,CAAC;AAEF,QAAA,YAAY,GAAG,OAAO,CAAC,YAAY;AACrC,IAAA,CAAC;AAED,IAAA,cAAc,EAAE,CAAC,IAAI,CAAC,MAAK;QACzB,QAAQ,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,YAAY,EAAE,CAAC;AAC1D,IAAA,CAAC,CAAC;AAEF,IAAA,OAAO,MAAK,EAAG,CAAC;AAClB,CAAC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initialize.js","sources":["../../../../../../src/services/allItems/actors/initialize.ts"],"sourcesContent":["import { EventObject, fromCallback } from 'xstate'\nimport { GET_SCHEMAS } from '@/Item/queries'\nimport pluralize from 'pluralize'\nimport { BaseEasClient } from '@/helpers/EasClient/BaseEasClient'\nimport { BaseQueryClient } from '@/helpers/QueryClient/BaseQueryClient'\nimport { toSnakeCase } from '@/helpers'\nimport {\n models as modelsTable,\n modelUids,\n properties,\n} from '@/seedSchema'\nimport { eq } from 'drizzle-orm'\nimport { SchemaWhereInput } from '@/graphql/gql/graphql'\nimport { INTERNAL_DATA_TYPES } from '@/helpers/constants'\nimport { getAddressesFromDb } from '@/helpers/db'\nimport { eventEmitter } from '@/eventBus'\nimport { BaseDb } from '@/db/Db/BaseDb'\n\nimport { AllItemsMachineContext, FromCallbackInput } from '@/types'\n\n\ntype Times = {\n initialize?: {\n start: number | null\n end: number | null\n }\n fetchDbData?: {\n start: number | null\n end: number | null\n }\n fetchSeeds?: {\n start: number | null\n end: number | null\n }\n fetchVersions?: {\n start: number | null\n end: number | null\n }\n fetchRelatedItems?: {\n start: number | null\n end: number | null\n }\n processItems?: {\n start: number | null\n end: number | null\n }\n}\n\ntype InternalDataType = keyof typeof INTERNAL_DATA_TYPES;\n\nexport const initialize = fromCallback<\n EventObject,\n FromCallbackInput<AllItemsMachineContext>\n>(({ sendBack, input: { context } }) => {\n const { modelName, modelAddedToDb, ModelClass, times } = context\n\n const newTimes: Times = {\n initialize: {\n start: Date.now(),\n end: null,\n },\n }\n\n let modelNameLowercase: string | undefined\n let modelNamePlural: string | undefined\n let queryVariables: Record<string, unknown> | undefined\n let appDb\n\n const _initialize = async () => {\n appDb = BaseDb.getAppDb()\n\n // const rows = await getItemsDataFromDb(modelName)\n //\n // if (rows && rows.length > 0) {\n // for (const itemData of rows) {\n // const {\n // versionLocalId,\n // versionUid,\n // createdAt,\n // seedLocalId,\n // seedUid,\n // attestationCreatedAt,\n // } = itemData\n //\n // eventEmitter.emit('item.create.request', {\n // itemData: {\n // versionLocalId,\n // versionUid,\n // createdAt,\n // seedLocalId,\n // seedUid,\n // attestationCreatedAt,\n // },\n // ModelClass,\n // })\n // }\n // }\n\n modelNameLowercase = modelName.toLowerCase()\n modelNamePlural = pluralize(modelNameLowercase!)\n\n const queryClient = BaseQueryClient.getQueryClient()\n const easClient = BaseEasClient.getEasClient()\n\n const modelSchemas = await queryClient.fetchQuery({\n queryKey: [`getSchemas${modelName}`],\n queryFn: async () =>\n easClient.request(GET_SCHEMAS, {\n where: {\n schema: {\n equals: `bytes32 ${toSnakeCase(modelName)}`,\n },\n },\n }),\n })\n\n if (\n !modelSchemas ||\n !modelSchemas.schemas ||\n modelSchemas.schemas.length === 0\n ) {\n throw new Error(`No schema found for ${modelName}`)\n }\n\n const modelSchema = modelSchemas.schemas[0]\n\n if (!modelSchema.id) {\n throw new Error(\n `No schema ID found for schema ${JSON.stringify(modelSchema)}`,\n )\n }\n\n const foundModels = await appDb\n .select({\n id: modelsTable.id,\n name: modelsTable.name,\n uid: modelUids.uid,\n })\n .from(modelsTable)\n .leftJoin(modelUids, eq(modelsTable.id, modelUids.modelId))\n .where(eq(modelsTable.name, modelName))\n .limit(1)\n\n const foundModel = foundModels[0]\n\n if (!foundModel) {\n sendBack({ type: 'modelNotFound', modelName })\n return\n }\n\n await appDb\n .insert(modelUids)\n .values({\n modelId: foundModel.id,\n uid: modelSchema.id,\n })\n .onConflictDoNothing()\n\n const addresses = await getAddressesFromDb()\n\n queryVariables = {\n where: {\n attester: {\n in: addresses,\n },\n schemaId: {\n equals: modelSchema.id,\n },\n decodedDataJson: {\n contains: modelSchema.id,\n },\n },\n }\n }\n\n const initializeHandler = () => {\n _initialize().then(() => {\n sendBack({\n type: 'initializeSuccess',\n modelName,\n modelNameLowercase,\n modelNamePlural,\n queryVariables,\n })\n newTimes!.initialize!.end = Date.now()\n sendBack({ type: 'updateTimes', times: newTimes })\n })\n }\n\n if (modelAddedToDb) {\n initializeHandler()\n }\n\n const dbReadyHandler = (event) => {\n initializeHandler()\n }\n\n eventEmitter.addListener('allDbsLoaded', dbReadyHandler)\n\n return () => {\n eventEmitter.removeListener('allDbsLoaded', dbReadyHandler)\n }\n})\n"],"names":["modelsTable"],"mappings":";;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"initialize.js","sources":["../../../../../../src/services/allItems/actors/initialize.ts"],"sourcesContent":["import { EventObject, fromCallback } from 'xstate'\nimport { GET_SCHEMAS } from '@/Item/queries'\nimport pluralize from 'pluralize'\nimport { BaseEasClient } from '@/helpers/EasClient/BaseEasClient'\nimport { BaseQueryClient } from '@/helpers/QueryClient/BaseQueryClient'\nimport { toSnakeCase } from '@/helpers'\nimport {\n models as modelsTable,\n modelUids,\n properties,\n} from '@/seedSchema'\nimport { eq } from 'drizzle-orm'\nimport { SchemaWhereInput } from '@/graphql/gql/graphql'\nimport { INTERNAL_DATA_TYPES } from '@/helpers/constants'\nimport { getAddressesFromDb } from '@/helpers/db'\nimport { eventEmitter } from '@/eventBus'\nimport { BaseDb } from '@/db/Db/BaseDb'\n\nimport { AllItemsMachineContext, FromCallbackInput } from '@/types'\n\n\ntype Times = {\n initialize?: {\n start: number | null\n end: number | null\n }\n fetchDbData?: {\n start: number | null\n end: number | null\n }\n fetchSeeds?: {\n start: number | null\n end: number | null\n }\n fetchVersions?: {\n start: number | null\n end: number | null\n }\n fetchRelatedItems?: {\n start: number | null\n end: number | null\n }\n processItems?: {\n start: number | null\n end: number | null\n }\n}\n\ntype InternalDataType = keyof typeof INTERNAL_DATA_TYPES;\n\nexport const initialize = fromCallback<\n EventObject,\n FromCallbackInput<AllItemsMachineContext>\n>(({ sendBack, input: { context } }) => {\n const { modelName, modelAddedToDb, ModelClass, times } = context\n\n const newTimes: Times = {\n initialize: {\n start: Date.now(),\n end: null,\n },\n }\n\n let modelNameLowercase: string | undefined\n let modelNamePlural: string | undefined\n let queryVariables: Record<string, unknown> | undefined\n let appDb\n\n const _initialize = async () => {\n appDb = BaseDb.getAppDb()\n\n // const rows = await getItemsDataFromDb(modelName)\n //\n // if (rows && rows.length > 0) {\n // for (const itemData of rows) {\n // const {\n // versionLocalId,\n // versionUid,\n // createdAt,\n // seedLocalId,\n // seedUid,\n // attestationCreatedAt,\n // } = itemData\n //\n // eventEmitter.emit('item.create.request', {\n // itemData: {\n // versionLocalId,\n // versionUid,\n // createdAt,\n // seedLocalId,\n // seedUid,\n // attestationCreatedAt,\n // },\n // ModelClass,\n // })\n // }\n // }\n\n modelNameLowercase = modelName.toLowerCase()\n modelNamePlural = pluralize(modelNameLowercase!)\n\n const queryClient = BaseQueryClient.getQueryClient()\n const easClient = BaseEasClient.getEasClient()\n\n const modelSchemas = await queryClient.fetchQuery({\n queryKey: [`getSchemas${modelName}`],\n queryFn: async () =>\n easClient.request(GET_SCHEMAS, {\n where: {\n schema: {\n equals: `bytes32 ${toSnakeCase(modelName)}`,\n },\n },\n }),\n })\n\n if (\n !modelSchemas ||\n !modelSchemas.schemas ||\n modelSchemas.schemas.length === 0\n ) {\n throw new Error(`No schema found for ${modelName}`)\n }\n\n const modelSchema = modelSchemas.schemas[0]\n\n if (!modelSchema.id) {\n throw new Error(\n `No schema ID found for schema ${JSON.stringify(modelSchema)}`,\n )\n }\n\n const foundModels = await appDb\n .select({\n id: modelsTable.id,\n name: modelsTable.name,\n uid: modelUids.uid,\n })\n .from(modelsTable)\n .leftJoin(modelUids, eq(modelsTable.id, modelUids.modelId))\n .where(eq(modelsTable.name, modelName))\n .limit(1)\n\n const foundModel = foundModels[0]\n\n if (!foundModel) {\n sendBack({ type: 'modelNotFound', modelName })\n return\n }\n\n await appDb\n .insert(modelUids)\n .values({\n modelId: foundModel.id,\n uid: modelSchema.id,\n })\n .onConflictDoNothing()\n\n const addresses = await getAddressesFromDb()\n\n queryVariables = {\n where: {\n attester: {\n in: addresses,\n },\n schemaId: {\n equals: modelSchema.id,\n },\n decodedDataJson: {\n contains: modelSchema.id,\n },\n },\n }\n }\n\n const initializeHandler = () => {\n _initialize().then(() => {\n sendBack({\n type: 'initializeSuccess',\n modelName,\n modelNameLowercase,\n modelNamePlural,\n queryVariables,\n })\n newTimes!.initialize!.end = Date.now()\n sendBack({ type: 'updateTimes', times: newTimes })\n })\n }\n\n if (modelAddedToDb) {\n initializeHandler()\n }\n\n const dbReadyHandler = (event) => {\n initializeHandler()\n }\n\n eventEmitter.addListener('allDbsLoaded', dbReadyHandler)\n\n return () => {\n eventEmitter.removeListener('allDbsLoaded', dbReadyHandler)\n }\n})\n"],"names":["modelsTable"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processItems.js","sources":["../../../../../../src/services/allItems/actors/processItems.ts"],"sourcesContent":["import { EventObject, fromCallback } from 'xstate'\nimport { AllItemsMachineContext, FromCallbackInput } from '@/types'\nimport { Attestation } from '@/graphql/gql/graphql'\nimport { eventEmitter } from '@/eventBus'\n\nexport const processItems = fromCallback<\n EventObject,\n FromCallbackInput<AllItemsMachineContext>\n>(\n ({ sendBack, input: { context } }) => {\n const {\n itemVersions,\n itemSeeds,\n ModelClass,\n schemaUidsByModelName,\n mostRecentPropertiesBySeedUid,\n times,\n // relatedProperties,\n // relatedVersionsBySchemaUid,\n // relatedVersionsBySeedUid,\n } = context\n\n if (!itemVersions || !itemSeeds) {\n throw new Error('No itemVersions or itemSeeds found')\n }\n\n const _processItems = async () => {\n // For each itemSeed, find all the Versions\n for (const itemSeed of itemSeeds.slice(8, 16)) {\n const versionsForSeed = itemVersions.filter(\n (version) => version.refUID === itemSeed.id,\n )\n\n if (versionsForSeed.length === 0) {\n continue\n }\n\n // Find the most recent Version for each Seed\n const recentVersionsMap: { [seedId: string]: Attestation } = {}\n versionsForSeed.forEach((version: Attestation) => {\n const existingVersion = recentVersionsMap[version.refUID]\n if (\n !existingVersion ||\n new Date(version.timeCreated * 1000) >\n new Date(existingVersion.timeCreated * 1000)\n ) {\n recentVersionsMap[version.refUID] = version\n }\n })\n }\n }\n\n _processItems().then(() => {\n sendBack({ type: 'processItemsSuccess' })\n const modelName = ModelClass.originalConstructor.name\n eventEmitter.emit('item.requestAll', {\n modelName,\n })\n eventEmitter.emit('service.save', {\n modelName,\n })\n sendBack({\n type: 'updateTimes',\n times: {\n ...times,\n processItems: {\n start: null,\n end: Date.now(),\n },\n },\n })\n })\n },\n)\n"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"processItems.js","sources":["../../../../../../src/services/allItems/actors/processItems.ts"],"sourcesContent":["import { EventObject, fromCallback } from 'xstate'\nimport { AllItemsMachineContext, FromCallbackInput } from '@/types'\nimport { Attestation } from '@/graphql/gql/graphql'\nimport { eventEmitter } from '@/eventBus'\n\nexport const processItems = fromCallback<\n EventObject,\n FromCallbackInput<AllItemsMachineContext>\n>(\n ({ sendBack, input: { context } }) => {\n const {\n itemVersions,\n itemSeeds,\n ModelClass,\n schemaUidsByModelName,\n mostRecentPropertiesBySeedUid,\n times,\n // relatedProperties,\n // relatedVersionsBySchemaUid,\n // relatedVersionsBySeedUid,\n } = context\n\n if (!itemVersions || !itemSeeds) {\n throw new Error('No itemVersions or itemSeeds found')\n }\n\n const _processItems = async () => {\n // For each itemSeed, find all the Versions\n for (const itemSeed of itemSeeds.slice(8, 16)) {\n const versionsForSeed = itemVersions.filter(\n (version) => version.refUID === itemSeed.id,\n )\n\n if (versionsForSeed.length === 0) {\n continue\n }\n\n // Find the most recent Version for each Seed\n const recentVersionsMap: { [seedId: string]: Attestation } = {}\n versionsForSeed.forEach((version: Attestation) => {\n const existingVersion = recentVersionsMap[version.refUID]\n if (\n !existingVersion ||\n new Date(version.timeCreated * 1000) >\n new Date(existingVersion.timeCreated * 1000)\n ) {\n recentVersionsMap[version.refUID] = version\n }\n })\n }\n }\n\n _processItems().then(() => {\n sendBack({ type: 'processItemsSuccess' })\n const modelName = ModelClass.originalConstructor.name\n eventEmitter.emit('item.requestAll', {\n modelName,\n })\n eventEmitter.emit('service.save', {\n modelName,\n })\n sendBack({\n type: 'updateTimes',\n times: {\n ...times,\n processItems: {\n start: null,\n end: Date.now(),\n },\n },\n })\n })\n },\n)\n"],"names":[],"mappings":";;;AAKO,MAAM,YAAY,GAAG,YAAY,CAItC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,KAAI;IACnC,MAAM,EACJ,YAAY,EACZ,SAAS,EACT,UAAU,EACV,qBAAqB,EACrB,6BAA6B,EAC7B,KAAK;;;;AAIN,MAAA,GAAG,OAAO;AAEX,IAAA,IAAI,CAAC,YAAY,IAAI,CAAC,SAAS,EAAE;AAC/B,QAAA,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC;IACvD;AAEA,IAAA,MAAM,aAAa,GAAG,YAAW;;AAE/B,QAAA,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;AAC7C,YAAA,MAAM,eAAe,GAAG,YAAY,CAAC,MAAM,CACzC,CAAC,OAAO,KAAK,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,EAAE,CAC5C;AAED,YAAA,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE;gBAChC;YACF;;YAGA,MAAM,iBAAiB,GAAsC,EAAE;AAC/D,YAAA,eAAe,CAAC,OAAO,CAAC,CAAC,OAAoB,KAAI;gBAC/C,MAAM,eAAe,GAAG,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC;AACzD,gBAAA,IACE,CAAC,eAAe;AAChB,oBAAA,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;wBACpC,IAAI,IAAI,CAAC,eAAe,CAAC,WAAW,GAAG,IAAI,CAAC,EAC5C;AACA,oBAAA,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO;gBAC7C;AACF,YAAA,CAAC,CAAC;QACJ;AACF,IAAA,CAAC;AAED,IAAA,aAAa,EAAE,CAAC,IAAI,CAAC,MAAK;AACxB,QAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC;AACzC,QAAA,MAAM,SAAS,GAAG,UAAU,CAAC,mBAAmB,CAAC,IAAI;AACrD,QAAA,YAAY,CAAC,IAAI,CAAC,iBAAiB,EAAE;YACnC,SAAS;AACV,SAAA,CAAC;AACF,QAAA,YAAY,CAAC,IAAI,CAAC,cAAc,EAAE;YAChC,SAAS;AACV,SAAA,CAAC;AACF,QAAA,QAAQ,CAAC;AACP,YAAA,IAAI,EAAE,aAAa;AACnB,YAAA,KAAK,EAAE;AACL,gBAAA,GAAG,KAAK;AACR,gBAAA,YAAY,EAAE;AACZ,oBAAA,KAAK,EAAE,IAAI;AACX,oBAAA,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE;AAChB,iBAAA;AACF,aAAA;AACF,SAAA,CAAC;AACJ,IAAA,CAAC,CAAC;AACJ,CAAC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"itemMachineAll.js","sources":["../../../../../src/services/allItems/itemMachineAll.ts"],"sourcesContent":["import { assign, setup } from 'xstate'\nimport { MachineIds } from '@/services/internal/constants'\nimport { AllItemsMachineContext } from '@/types'\nimport { eventEmitter } from '@/eventBus'\nimport { initialize } from '../allItems/actors/initialize'\nimport { fetchDbData } from '../allItems/actors/fetchDbData'\nimport { fetchSeeds } from '../allItems/actors/fetchSeeds'\nimport { fetchVersions } from '../allItems/actors/fetchVersions'\nimport { fetchRelatedItems } from '../allItems/actors/fetchRelatedItems'\nimport { processItems } from '../allItems/actors/processItems'\n\n\nexport const itemMachineAll = setup({\n types: {\n context: {} as Partial<AllItemsMachineContext>,\n input: {} as Partial<AllItemsMachineContext> | undefined,\n },\n actors: {\n initialize,\n fetchDbData,\n fetchSeeds,\n fetchVersions,\n fetchRelatedItems,\n processItems,\n },\n}).createMachine({\n id: MachineIds.ALL_ITEMS,\n initial: 'uninitialized',\n context: ({ input }) => input as AllItemsMachineContext,\n on: {\n updateTimes: {\n actions: assign({\n times: ({ event }) => event.times,\n }),\n },\n },\n states: {\n idle: {\n entry: ({ self, context }) => {\n eventEmitter.emit('service.saveState.request', {\n state: self.getPersistedSnapshot(),\n serviceId: `${MachineIds.ALL_ITEMS}_${context.modelName}`,\n })\n },\n },\n uninitialized: {\n on: {\n modelsFound: {\n target: 'initializing',\n actions: assign({\n modelAddedToDb: true,\n }),\n },\n },\n },\n initializing: {\n on: {\n initializeSuccess: {\n target: 'fetchingSeeds',\n actions: assign({\n modelName: ({ event }) => event.modelName,\n modelNameLowercase: ({ event }) => event.modelNameLowercase,\n modelNamePlural: ({ event }) => event.modelNamePlural,\n queryVariables: ({ event }) => event.queryVariables,\n }),\n },\n modelsNotFound: 'idle',\n },\n invoke: {\n src: 'initialize',\n input: ({ context }) => ({ context }),\n },\n },\n fetchingSeeds: {\n on: {\n fetchSeedsSuccess: {\n target: 'fetchingVersions',\n actions: assign({\n itemSeeds: ({ event }) => event.itemSeeds,\n }),\n },\n },\n invoke: {\n src: 'fetchSeeds',\n input: ({ context }) => ({ context }),\n },\n },\n fetchingVersions: {\n on: {\n fetchVersionsSuccess: {\n target: 'fetchingRelatedItems',\n actions: assign({\n itemVersions: ({ event }) => event.itemVersions,\n }),\n },\n },\n invoke: {\n src: 'fetchVersions',\n input: ({ context }) => ({ context }),\n },\n },\n fetchingRelatedItems: {\n on: {\n fetchRelatedItemsSuccess: {\n target: 'processingItems',\n actions: assign({\n relatedProperties: ({ event }) => event.relatedProperties,\n relatedVersionsBySeedUid: ({ event }) =>\n event.relatedVersionsBySeedUid,\n relatedVersionsBySchemaUid: ({ event }) =>\n event.relatedVersionsBySchemaUid,\n schemaUidsByModelName: ({ event }) => event.schemaUidsByModelName,\n mostRecentPropertiesBySeedUid: ({ event }) =>\n event.mostRecentPropertiesBySeedUid,\n }),\n },\n },\n invoke: {\n src: 'fetchRelatedItems',\n input: ({ context }) => ({ context }),\n },\n },\n processingItems: {\n on: {\n processItemsSuccess: 'idle',\n itemCreated: {\n actions: assign({\n items: ({ context, event }) => {\n if (context && context.items) {\n const foundItem = context.items.find((item) => {\n if (!item.versionLocalId) {\n return false\n }\n return (\n item.versionLocalId === event.item.versionLocalId ||\n item.versionUid === event.item.versionUid\n )\n })\n if (foundItem) {\n return context.items\n }\n return [...context.items, event.item]\n }\n if (context && !context.items) {\n return [event.item]\n }\n },\n }),\n },\n },\n invoke: {\n src: 'processItems',\n input: ({ context, self }) => ({ context, self }),\n },\n },\n },\n})\n"],"names":[],"mappings":";;;;;;;;;;AAYO,MAAM,cAAc,GAAG,KAAK,CAAC;AAClC,IAAA,KAAK,EAAE;AACL,QAAA,OAAO,EAAE,EAAqC;AAC9C,QAAA,KAAK,EAAE,EAAiD;AACzD,KAAA;AACD,IAAA,MAAM,EAAE;QACN,UAAU;QACV,WAAW;QACX,UAAU;QACV,aAAa;QACb,iBAAiB;QACjB,YAAY;AACb,KAAA;CACF,CAAC,CAAC,aAAa,CAAC;IACf,EAAE,EAAE,UAAU,CAAC,SAAS;AACxB,IAAA,OAAO,EAAE,eAAe;IACxB,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,KAA+B;AACvD,IAAA,EAAE,EAAE;AACF,QAAA,WAAW,EAAE;YACX,OAAO,EAAE,MAAM,CAAC;gBACd,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,KAAK,CAAC,KAAK;aAClC,CAAC;AACH,SAAA;AACF,KAAA;AACD,IAAA,MAAM,EAAE;AACN,QAAA,IAAI,EAAE;YACJ,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAI;AAC3B,gBAAA,YAAY,CAAC,IAAI,CAAC,2BAA2B,EAAE;AAC7C,oBAAA,KAAK,EAAE,IAAI,CAAC,oBAAoB,EAAE;oBAClC,SAAS,EAAE,GAAG,UAAU,CAAC,SAAS,
|
|
1
|
+
{"version":3,"file":"itemMachineAll.js","sources":["../../../../../src/services/allItems/itemMachineAll.ts"],"sourcesContent":["import { assign, setup } from 'xstate'\nimport { MachineIds } from '@/services/internal/constants'\nimport { AllItemsMachineContext } from '@/types'\nimport { eventEmitter } from '@/eventBus'\nimport { initialize } from '../allItems/actors/initialize'\nimport { fetchDbData } from '../allItems/actors/fetchDbData'\nimport { fetchSeeds } from '../allItems/actors/fetchSeeds'\nimport { fetchVersions } from '../allItems/actors/fetchVersions'\nimport { fetchRelatedItems } from '../allItems/actors/fetchRelatedItems'\nimport { processItems } from '../allItems/actors/processItems'\n\n\nexport const itemMachineAll = setup({\n types: {\n context: {} as Partial<AllItemsMachineContext>,\n input: {} as Partial<AllItemsMachineContext> | undefined,\n },\n actors: {\n initialize,\n fetchDbData,\n fetchSeeds,\n fetchVersions,\n fetchRelatedItems,\n processItems,\n },\n}).createMachine({\n id: MachineIds.ALL_ITEMS,\n initial: 'uninitialized',\n context: ({ input }) => input as AllItemsMachineContext,\n on: {\n updateTimes: {\n actions: assign({\n times: ({ event }) => event.times,\n }),\n },\n },\n states: {\n idle: {\n entry: ({ self, context }) => {\n eventEmitter.emit('service.saveState.request', {\n state: self.getPersistedSnapshot(),\n serviceId: `${MachineIds.ALL_ITEMS}_${context.modelName}`,\n })\n },\n },\n uninitialized: {\n on: {\n modelsFound: {\n target: 'initializing',\n actions: assign({\n modelAddedToDb: true,\n }),\n },\n },\n },\n initializing: {\n on: {\n initializeSuccess: {\n target: 'fetchingSeeds',\n actions: assign({\n modelName: ({ event }) => event.modelName,\n modelNameLowercase: ({ event }) => event.modelNameLowercase,\n modelNamePlural: ({ event }) => event.modelNamePlural,\n queryVariables: ({ event }) => event.queryVariables,\n }),\n },\n modelsNotFound: 'idle',\n },\n invoke: {\n src: 'initialize',\n input: ({ context }) => ({ context }),\n },\n },\n fetchingSeeds: {\n on: {\n fetchSeedsSuccess: {\n target: 'fetchingVersions',\n actions: assign({\n itemSeeds: ({ event }) => event.itemSeeds,\n }),\n },\n },\n invoke: {\n src: 'fetchSeeds',\n input: ({ context }) => ({ context }),\n },\n },\n fetchingVersions: {\n on: {\n fetchVersionsSuccess: {\n target: 'fetchingRelatedItems',\n actions: assign({\n itemVersions: ({ event }) => event.itemVersions,\n }),\n },\n },\n invoke: {\n src: 'fetchVersions',\n input: ({ context }) => ({ context }),\n },\n },\n fetchingRelatedItems: {\n on: {\n fetchRelatedItemsSuccess: {\n target: 'processingItems',\n actions: assign({\n relatedProperties: ({ event }) => event.relatedProperties,\n relatedVersionsBySeedUid: ({ event }) =>\n event.relatedVersionsBySeedUid,\n relatedVersionsBySchemaUid: ({ event }) =>\n event.relatedVersionsBySchemaUid,\n schemaUidsByModelName: ({ event }) => event.schemaUidsByModelName,\n mostRecentPropertiesBySeedUid: ({ event }) =>\n event.mostRecentPropertiesBySeedUid,\n }),\n },\n },\n invoke: {\n src: 'fetchRelatedItems',\n input: ({ context }) => ({ context }),\n },\n },\n processingItems: {\n on: {\n processItemsSuccess: 'idle',\n itemCreated: {\n actions: assign({\n items: ({ context, event }) => {\n if (context && context.items) {\n const foundItem = context.items.find((item) => {\n if (!item.versionLocalId) {\n return false\n }\n return (\n item.versionLocalId === event.item.versionLocalId ||\n item.versionUid === event.item.versionUid\n )\n })\n if (foundItem) {\n return context.items\n }\n return [...context.items, event.item]\n }\n if (context && !context.items) {\n return [event.item]\n }\n },\n }),\n },\n },\n invoke: {\n src: 'processItems',\n input: ({ context, self }) => ({ context, self }),\n },\n },\n },\n})\n"],"names":[],"mappings":";;;;;;;;;;AAYO,MAAM,cAAc,GAAG,KAAK,CAAC;AAClC,IAAA,KAAK,EAAE;AACL,QAAA,OAAO,EAAE,EAAqC;AAC9C,QAAA,KAAK,EAAE,EAAiD;AACzD,KAAA;AACD,IAAA,MAAM,EAAE;QACN,UAAU;QACV,WAAW;QACX,UAAU;QACV,aAAa;QACb,iBAAiB;QACjB,YAAY;AACb,KAAA;CACF,CAAC,CAAC,aAAa,CAAC;IACf,EAAE,EAAE,UAAU,CAAC,SAAS;AACxB,IAAA,OAAO,EAAE,eAAe;IACxB,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,KAA+B;AACvD,IAAA,EAAE,EAAE;AACF,QAAA,WAAW,EAAE;YACX,OAAO,EAAE,MAAM,CAAC;gBACd,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,KAAK,CAAC,KAAK;aAClC,CAAC;AACH,SAAA;AACF,KAAA;AACD,IAAA,MAAM,EAAE;AACN,QAAA,IAAI,EAAE;YACJ,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAI;AAC3B,gBAAA,YAAY,CAAC,IAAI,CAAC,2BAA2B,EAAE;AAC7C,oBAAA,KAAK,EAAE,IAAI,CAAC,oBAAoB,EAAE;oBAClC,SAAS,EAAE,GAAG,UAAU,CAAC,SAAS,CAAA,CAAA,EAAI,OAAO,CAAC,SAAS,CAAA,CAAE;AAC1D,iBAAA,CAAC;YACJ,CAAC;AACF,SAAA;AACD,QAAA,aAAa,EAAE;AACb,YAAA,EAAE,EAAE;AACF,gBAAA,WAAW,EAAE;AACX,oBAAA,MAAM,EAAE,cAAc;oBACtB,OAAO,EAAE,MAAM,CAAC;AACd,wBAAA,cAAc,EAAE,IAAI;qBACrB,CAAC;AACH,iBAAA;AACF,aAAA;AACF,SAAA;AACD,QAAA,YAAY,EAAE;AACZ,YAAA,EAAE,EAAE;AACF,gBAAA,iBAAiB,EAAE;AACjB,oBAAA,MAAM,EAAE,eAAe;oBACvB,OAAO,EAAE,MAAM,CAAC;wBACd,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,KAAK,CAAC,SAAS;wBACzC,kBAAkB,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,KAAK,CAAC,kBAAkB;wBAC3D,eAAe,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,KAAK,CAAC,eAAe;wBACrD,cAAc,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,KAAK,CAAC,cAAc;qBACpD,CAAC;AACH,iBAAA;AACD,gBAAA,cAAc,EAAE,MAAM;AACvB,aAAA;AACD,YAAA,MAAM,EAAE;AACN,gBAAA,GAAG,EAAE,YAAY;AACjB,gBAAA,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AACtC,aAAA;AACF,SAAA;AACD,QAAA,aAAa,EAAE;AACb,YAAA,EAAE,EAAE;AACF,gBAAA,iBAAiB,EAAE;AACjB,oBAAA,MAAM,EAAE,kBAAkB;oBAC1B,OAAO,EAAE,MAAM,CAAC;wBACd,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,KAAK,CAAC,SAAS;qBAC1C,CAAC;AACH,iBAAA;AACF,aAAA;AACD,YAAA,MAAM,EAAE;AACN,gBAAA,GAAG,EAAE,YAAY;AACjB,gBAAA,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AACtC,aAAA;AACF,SAAA;AACD,QAAA,gBAAgB,EAAE;AAChB,YAAA,EAAE,EAAE;AACF,gBAAA,oBAAoB,EAAE;AACpB,oBAAA,MAAM,EAAE,sBAAsB;oBAC9B,OAAO,EAAE,MAAM,CAAC;wBACd,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,KAAK,CAAC,YAAY;qBAChD,CAAC;AACH,iBAAA;AACF,aAAA;AACD,YAAA,MAAM,EAAE;AACN,gBAAA,GAAG,EAAE,eAAe;AACpB,gBAAA,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AACtC,aAAA;AACF,SAAA;AACD,QAAA,oBAAoB,EAAE;AACpB,YAAA,EAAE,EAAE;AACF,gBAAA,wBAAwB,EAAE;AACxB,oBAAA,MAAM,EAAE,iBAAiB;oBACzB,OAAO,EAAE,MAAM,CAAC;wBACd,iBAAiB,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,KAAK,CAAC,iBAAiB;wBACzD,wBAAwB,EAAE,CAAC,EAAE,KAAK,EAAE,KAClC,KAAK,CAAC,wBAAwB;wBAChC,0BAA0B,EAAE,CAAC,EAAE,KAAK,EAAE,KACpC,KAAK,CAAC,0BAA0B;wBAClC,qBAAqB,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,KAAK,CAAC,qBAAqB;wBACjE,6BAA6B,EAAE,CAAC,EAAE,KAAK,EAAE,KACvC,KAAK,CAAC,6BAA6B;qBACtC,CAAC;AACH,iBAAA;AACF,aAAA;AACD,YAAA,MAAM,EAAE;AACN,gBAAA,GAAG,EAAE,mBAAmB;AACxB,gBAAA,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AACtC,aAAA;AACF,SAAA;AACD,QAAA,eAAe,EAAE;AACf,YAAA,EAAE,EAAE;AACF,gBAAA,mBAAmB,EAAE,MAAM;AAC3B,gBAAA,WAAW,EAAE;oBACX,OAAO,EAAE,MAAM,CAAC;wBACd,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAI;AAC5B,4BAAA,IAAI,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE;gCAC5B,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,KAAI;AAC5C,oCAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;AACxB,wCAAA,OAAO,KAAK;oCACd;oCACA,QACE,IAAI,CAAC,cAAc,KAAK,KAAK,CAAC,IAAI,CAAC,cAAc;wCACjD,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC,IAAI,CAAC,UAAU;AAE7C,gCAAA,CAAC,CAAC;gCACF,IAAI,SAAS,EAAE;oCACb,OAAO,OAAO,CAAC,KAAK;gCACtB;gCACA,OAAO,CAAC,GAAG,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC;4BACvC;AACA,4BAAA,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;AAC7B,gCAAA,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;4BACrB;wBACF,CAAC;qBACF,CAAC;AACH,iBAAA;AACF,aAAA;AACD,YAAA,MAAM,EAAE;AACN,gBAAA,GAAG,EAAE,cAAc;AACnB,gBAAA,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAClD,aAAA;AACF,SAAA;AACF,KAAA;AACF,CAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkStatus.js","sources":["../../../../../../src/services/db/actors/checkStatus.ts"],"sourcesContent":["import { EventObject, fromCallback } from 'xstate'\nimport { DbServiceContext, FromCallbackInput } from '@/types'\nimport {\n BROWSER_FS_TOP_DIR,\n DB_CHECK_STATUS_EXISTS,\n DB_CHECK_STATUS_UPDATE_PATHS,\n DB_CHECK_STATUS_DOES_NOT_EXIST,\n} from '@/services/internal/constants'\nimport debug from 'debug'\nimport { isBrowser } from '@/helpers/environment'\nimport { BaseFileManager } from '@/helpers'\n\nconst logger = debug('seedSdk:services:db:actors:checkStatus')\n\nexport const checkStatus = fromCallback<\n EventObject,\n FromCallbackInput<DbServiceContext>\n>(({ sendBack, input: { context, event, } }) => {\n const { dbName, } = context\n let { pathToDir, } = context\n\n\n logger('[db/actors] checkStatus context', context)\n if (isBrowser()) {\n pathToDir = BROWSER_FS_TOP_DIR\n }\n const pathToDbDir = `${pathToDir}/db`\n const pathToDb = `${pathToDbDir}/${dbName}.sqlite3`\n\n sendBack({\n type: DB_CHECK_STATUS_UPDATE_PATHS,\n pathToDb,\n pathToDir,\n pathToDbDir,\n })\n\n const _checkStatus = async (): Promise<void> => {\n logger('[db/actors] _checkStatus pathToDb', pathToDb)\n const exists = await BaseFileManager.pathExists(pathToDb)\n if (exists) {\n sendBack({\n type: DB_CHECK_STATUS_EXISTS,\n })\n return\n }\n \n sendBack({ type: DB_CHECK_STATUS_DOES_NOT_EXIST })\n }\n\n _checkStatus().then(() => {\n return\n })\n})\n"],"names":[],"mappings":";;;;;;;AAYA,MAAM,MAAM,GAAG,KAAK,CAAC,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"checkStatus.js","sources":["../../../../../../src/services/db/actors/checkStatus.ts"],"sourcesContent":["import { EventObject, fromCallback } from 'xstate'\nimport { DbServiceContext, FromCallbackInput } from '@/types'\nimport {\n BROWSER_FS_TOP_DIR,\n DB_CHECK_STATUS_EXISTS,\n DB_CHECK_STATUS_UPDATE_PATHS,\n DB_CHECK_STATUS_DOES_NOT_EXIST,\n} from '@/services/internal/constants'\nimport debug from 'debug'\nimport { isBrowser } from '@/helpers/environment'\nimport { BaseFileManager } from '@/helpers'\n\nconst logger = debug('seedSdk:services:db:actors:checkStatus')\n\nexport const checkStatus = fromCallback<\n EventObject,\n FromCallbackInput<DbServiceContext>\n>(({ sendBack, input: { context, event, } }) => {\n const { dbName, } = context\n let { pathToDir, } = context\n\n\n logger('[db/actors] checkStatus context', context)\n if (isBrowser()) {\n pathToDir = BROWSER_FS_TOP_DIR\n }\n const pathToDbDir = `${pathToDir}/db`\n const pathToDb = `${pathToDbDir}/${dbName}.sqlite3`\n\n sendBack({\n type: DB_CHECK_STATUS_UPDATE_PATHS,\n pathToDb,\n pathToDir,\n pathToDbDir,\n })\n\n const _checkStatus = async (): Promise<void> => {\n logger('[db/actors] _checkStatus pathToDb', pathToDb)\n const exists = await BaseFileManager.pathExists(pathToDb)\n if (exists) {\n sendBack({\n type: DB_CHECK_STATUS_EXISTS,\n })\n return\n }\n \n sendBack({ type: DB_CHECK_STATUS_DOES_NOT_EXIST })\n }\n\n _checkStatus().then(() => {\n return\n })\n})\n"],"names":[],"mappings":";;;;;;;AAYA,MAAM,MAAM,GAAG,KAAK,CAAC,wCAAwC,CAAC;AAEvD,MAAM,WAAW,GAAG,YAAY,CAGrC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,GAAG,EAAE,KAAI;AAC7C,IAAA,MAAM,EAAE,MAAM,GAAG,GAAG,OAAO;AAC3B,IAAA,IAAI,EAAE,SAAS,GAAG,GAAG,OAAO;AAG5B,IAAA,MAAM,CAAC,iCAAiC,EAAE,OAAO,CAAC;IAClD,IAAI,SAAS,EAAE,EAAE;QACf,SAAS,GAAG,kBAAkB;IAChC;AACA,IAAA,MAAM,WAAW,GAAG,CAAA,EAAG,SAAS,KAAK;AACrC,IAAA,MAAM,QAAQ,GAAG,CAAA,EAAG,WAAW,CAAA,CAAA,EAAI,MAAM,UAAU;AAEnD,IAAA,QAAQ,CAAC;AACP,QAAA,IAAI,EAAE,4BAA4B;QAClC,QAAQ;QACR,SAAS;QACT,WAAW;AACZ,KAAA,CAAC;AAEF,IAAA,MAAM,YAAY,GAAG,YAA0B;AAC7C,QAAA,MAAM,CAAC,mCAAmC,EAAE,QAAQ,CAAC;QACrD,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,QAAQ,CAAC;QACzD,IAAI,MAAM,EAAE;AACV,YAAA,QAAQ,CAAC;AACP,gBAAA,IAAI,EAAE,sBAAsB;AAC7B,aAAA,CAAC;YACF;QACF;AAEA,QAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,8BAA8B,EAAE,CAAC;AACpD,IAAA,CAAC;AAED,IAAA,YAAY,EAAE,CAAC,IAAI,CAAC,MAAK;QACvB;AACF,IAAA,CAAC,CAAC;AACJ,CAAC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connectToDb.js","sources":["../../../../../../src/services/db/actors/connectToDb.ts"],"sourcesContent":["import { EventObject, fromCallback } from 'xstate'\nimport { DbServiceContext, FromCallbackInput } from '@/types'\nimport { DB_CREATING_SUCCESS } from '@/services/internal/constants'\nimport debug from 'debug'\nimport { BaseDb } from '@/db/Db/BaseDb'\n\nconst logger = debug('seedSdk:services:db:actors:connectToDb')\n\nexport const connectToDb = fromCallback<\n EventObject,\n FromCallbackInput<DbServiceContext>\n>(({ sendBack, input: { context } }) => {\n logger('[db/actors] connectToDb context', context)\n\n const { dbName, pathToDir } = context\n\n if (!pathToDir || !dbName) {\n throw new Error('pathToDir and dbName are required')\n }\n\n let isConnecting = false\n\n const _connectToDb = async (): Promise<void> => {\n if (isConnecting) {\n return\n }\n isConnecting = true\n\n\n const dbId = await BaseDb.connectToDb(pathToDir,)\n if (dbId) {\n sendBack({ type: DB_CREATING_SUCCESS, dbId, })\n }\n isConnecting = false\n }\n\n _connectToDb().then(() => {\n return\n })\n\n})\n"],"names":[],"mappings":";;;;;AAMA,MAAM,MAAM,GAAG,KAAK,CAAC,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"connectToDb.js","sources":["../../../../../../src/services/db/actors/connectToDb.ts"],"sourcesContent":["import { EventObject, fromCallback } from 'xstate'\nimport { DbServiceContext, FromCallbackInput } from '@/types'\nimport { DB_CREATING_SUCCESS } from '@/services/internal/constants'\nimport debug from 'debug'\nimport { BaseDb } from '@/db/Db/BaseDb'\n\nconst logger = debug('seedSdk:services:db:actors:connectToDb')\n\nexport const connectToDb = fromCallback<\n EventObject,\n FromCallbackInput<DbServiceContext>\n>(({ sendBack, input: { context } }) => {\n logger('[db/actors] connectToDb context', context)\n\n const { dbName, pathToDir } = context\n\n if (!pathToDir || !dbName) {\n throw new Error('pathToDir and dbName are required')\n }\n\n let isConnecting = false\n\n const _connectToDb = async (): Promise<void> => {\n if (isConnecting) {\n return\n }\n isConnecting = true\n\n\n const dbId = await BaseDb.connectToDb(pathToDir,)\n if (dbId) {\n sendBack({ type: DB_CREATING_SUCCESS, dbId, })\n }\n isConnecting = false\n }\n\n _connectToDb().then(() => {\n return\n })\n\n})\n"],"names":[],"mappings":";;;;;AAMA,MAAM,MAAM,GAAG,KAAK,CAAC,wCAAwC,CAAC;AAEvD,MAAM,WAAW,GAAG,YAAY,CAGrC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,KAAI;AACrC,IAAA,MAAM,CAAC,iCAAiC,EAAE,OAAO,CAAC;AAElD,IAAA,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO;AAErC,IAAA,IAAI,CAAC,SAAS,IAAI,CAAC,MAAM,EAAE;AACzB,QAAA,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC;IACtD;IAEA,IAAI,YAAY,GAAG,KAAK;AAExB,IAAA,MAAM,YAAY,GAAG,YAA0B;QAC7C,IAAI,YAAY,EAAE;YAChB;QACF;QACA,YAAY,GAAG,IAAI;QAGnB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,SAAS,CAAE;QACjD,IAAI,IAAI,EAAE;YACR,QAAQ,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,GAAG,CAAC;QAChD;QACA,YAAY,GAAG,KAAK;AACtB,IAAA,CAAC;AAED,IAAA,YAAY,EAAE,CAAC,IAAI,CAAC,MAAK;QACvB;AACF,IAAA,CAAC,CAAC;AAEJ,CAAC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate.js","sources":["../../../../../../src/services/db/actors/migrate.ts"],"sourcesContent":["import { EventObject, fromCallback } from 'xstate'\nimport { DbServiceContext, FromCallbackInput, SqliteWasmResult } from '@/types'\nimport {\n BROWSER_FS_TOP_DIR,\n DB_MIGRATING_SUCCESS,\n} from '@/services/internal/constants'\nimport debug from 'debug'\nimport { BaseDb } from '@/db/Db/BaseDb'\nimport { isBrowser } from '@/helpers/environment'\nimport { BaseFileManager } from '@/helpers/FileManager/BaseFileManager'\n\nconst logger = debug('seedSdk:services:db:actors:migrate')\n\n\n\nexport const migrate = fromCallback<\n EventObject,\n FromCallbackInput<DbServiceContext>\n>(({ sendBack, input: { context } }) => {\n const { pathToDbDir, dbId, dbName } = context\n\n logger('[db/actors] migrate context', context)\n\n let journalExists = false\n\n\n const _checkForFiles = async (): Promise<void> => {\n const journalPath = `/${pathToDbDir}/meta/_journal.json`\n\n journalExists = await BaseFileManager.pathExists(journalPath)\n\n if (!journalExists && isBrowser()) {\n await BaseFileManager.waitForFile(journalPath,)\n }\n }\n\n const _migrate = async (): Promise<void> => {\n await BaseDb.migrate(pathToDbDir, dbName, dbId)\n }\n\n _checkForFiles()\n .then(() => {\n if (!isBrowser()) {\n return _migrate()\n }\n if (journalExists) {\n return _migrate()\n }\n })\n .then(() => {\n logger('sending db migrating success')\n sendBack({ type: DB_MIGRATING_SUCCESS, dbName })\n })\n\n return () => { }\n})\n"],"names":[],"mappings":";;;;;;;AAWA,MAAM,MAAM,GAAG,KAAK,CAAC,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"migrate.js","sources":["../../../../../../src/services/db/actors/migrate.ts"],"sourcesContent":["import { EventObject, fromCallback } from 'xstate'\nimport { DbServiceContext, FromCallbackInput, SqliteWasmResult } from '@/types'\nimport {\n BROWSER_FS_TOP_DIR,\n DB_MIGRATING_SUCCESS,\n} from '@/services/internal/constants'\nimport debug from 'debug'\nimport { BaseDb } from '@/db/Db/BaseDb'\nimport { isBrowser } from '@/helpers/environment'\nimport { BaseFileManager } from '@/helpers/FileManager/BaseFileManager'\n\nconst logger = debug('seedSdk:services:db:actors:migrate')\n\n\n\nexport const migrate = fromCallback<\n EventObject,\n FromCallbackInput<DbServiceContext>\n>(({ sendBack, input: { context } }) => {\n const { pathToDbDir, dbId, dbName } = context\n\n logger('[db/actors] migrate context', context)\n\n let journalExists = false\n\n\n const _checkForFiles = async (): Promise<void> => {\n const journalPath = `/${pathToDbDir}/meta/_journal.json`\n\n journalExists = await BaseFileManager.pathExists(journalPath)\n\n if (!journalExists && isBrowser()) {\n await BaseFileManager.waitForFile(journalPath,)\n }\n }\n\n const _migrate = async (): Promise<void> => {\n await BaseDb.migrate(pathToDbDir, dbName, dbId)\n }\n\n _checkForFiles()\n .then(() => {\n if (!isBrowser()) {\n return _migrate()\n }\n if (journalExists) {\n return _migrate()\n }\n })\n .then(() => {\n logger('sending db migrating success')\n sendBack({ type: DB_MIGRATING_SUCCESS, dbName })\n })\n\n return () => { }\n})\n"],"names":[],"mappings":";;;;;;;AAWA,MAAM,MAAM,GAAG,KAAK,CAAC,oCAAoC,CAAC;AAInD,MAAM,OAAO,GAAG,YAAY,CAGjC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,KAAI;IACrC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO;AAE7C,IAAA,MAAM,CAAC,6BAA6B,EAAE,OAAO,CAAC;IAE9C,IAAI,aAAa,GAAG,KAAK;AAGzB,IAAA,MAAM,cAAc,GAAG,YAA0B;AAC/C,QAAA,MAAM,WAAW,GAAG,CAAA,CAAA,EAAI,WAAW,qBAAqB;QAExD,aAAa,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,WAAW,CAAC;AAE7D,QAAA,IAAI,CAAC,aAAa,IAAI,SAAS,EAAE,EAAE;AACjC,YAAA,MAAM,eAAe,CAAC,WAAW,CAAC,WAAW,CAAE;QACjD;AACF,IAAA,CAAC;AAED,IAAA,MAAM,QAAQ,GAAG,YAA0B;QACzC,MAAM,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC;AACjD,IAAA,CAAC;AAED,IAAA,cAAc;SACX,IAAI,CAAC,MAAK;AACT,QAAA,IAAI,CAAC,SAAS,EAAE,EAAE;YAChB,OAAO,QAAQ,EAAE;QACnB;QACA,IAAI,aAAa,EAAE;YACjB,OAAO,QAAQ,EAAE;QACnB;AACF,IAAA,CAAC;SACA,IAAI,CAAC,MAAK;QACT,MAAM,CAAC,8BAA8B,CAAC;QACtC,QAAQ,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,CAAC;AAClD,IAAA,CAAC,CAAC;AAEJ,IAAA,OAAO,MAAK,EAAG,CAAC;AAClB,CAAC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sources":["../../../../../../src/services/db/actors/validate.ts"],"sourcesContent":["import { EventObject, fromCallback } from 'xstate'\nimport { DbServiceContext, FromCallbackInput } from '@/types/machines'\nimport {\n DB_VALIDATING_SUCCESS,\n DB_VALIDATING_WAIT,\n} from '@/services/internal/constants'\nimport { BaseFileManager } from '@/helpers/FileManager/BaseFileManager'\n\nexport const validate = fromCallback<\n EventObject,\n FromCallbackInput<DbServiceContext>\n>(({ sendBack, input: { context } }) => {\n const { pathToDir, pathToDb } = context\n\n const pathsToCheck = [\n pathToDir,\n `${pathToDir}/db`,\n `${pathToDir}/db/meta`,\n `${pathToDir}/db/meta/_journal.json`,\n ]\n\n const _validate = async (): Promise<boolean> => {\n // If any of the necessary files don't exist, we wipe them all and recreate\n let exists = false\n\n for (const path of pathsToCheck) {\n if (!path) {\n continue\n }\n exists = await BaseFileManager.pathExists(path)\n if (!exists) {\n sendBack({\n type: DB_VALIDATING_WAIT,\n })\n return false\n }\n }\n return exists\n }\n\n _validate().then((allFilesExist) => {\n if (allFilesExist) {\n sendBack({ type: DB_VALIDATING_SUCCESS, pathToDb, pathToDir })\n return\n }\n sendBack({ type: DB_VALIDATING_WAIT })\n })\n})\n"],"names":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"validate.js","sources":["../../../../../../src/services/db/actors/validate.ts"],"sourcesContent":["import { EventObject, fromCallback } from 'xstate'\nimport { DbServiceContext, FromCallbackInput } from '@/types/machines'\nimport {\n DB_VALIDATING_SUCCESS,\n DB_VALIDATING_WAIT,\n} from '@/services/internal/constants'\nimport { BaseFileManager } from '@/helpers/FileManager/BaseFileManager'\n\nexport const validate = fromCallback<\n EventObject,\n FromCallbackInput<DbServiceContext>\n>(({ sendBack, input: { context } }) => {\n const { pathToDir, pathToDb } = context\n\n const pathsToCheck = [\n pathToDir,\n `${pathToDir}/db`,\n `${pathToDir}/db/meta`,\n `${pathToDir}/db/meta/_journal.json`,\n ]\n\n const _validate = async (): Promise<boolean> => {\n // If any of the necessary files don't exist, we wipe them all and recreate\n let exists = false\n\n for (const path of pathsToCheck) {\n if (!path) {\n continue\n }\n exists = await BaseFileManager.pathExists(path)\n if (!exists) {\n sendBack({\n type: DB_VALIDATING_WAIT,\n })\n return false\n }\n }\n return exists\n }\n\n _validate().then((allFilesExist) => {\n if (allFilesExist) {\n sendBack({ type: DB_VALIDATING_SUCCESS, pathToDb, pathToDir })\n return\n }\n sendBack({ type: DB_VALIDATING_WAIT })\n })\n})\n"],"names":[],"mappings":";;;;AAQO,MAAM,QAAQ,GAAG,YAAY,CAGlC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,KAAI;AACrC,IAAA,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,OAAO;AAEvC,IAAA,MAAM,YAAY,GAAG;QACnB,SAAS;AACT,QAAA,CAAA,EAAG,SAAS,CAAA,GAAA,CAAK;AACjB,QAAA,CAAA,EAAG,SAAS,CAAA,QAAA,CAAU;AACtB,QAAA,CAAA,EAAG,SAAS,CAAA,sBAAA,CAAwB;KACrC;AAED,IAAA,MAAM,SAAS,GAAG,YAA6B;;QAE7C,IAAI,MAAM,GAAG,KAAK;AAElB,QAAA,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE;YAC/B,IAAI,CAAC,IAAI,EAAE;gBACT;YACF;YACA,MAAM,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC;YAC/C,IAAI,CAAC,MAAM,EAAE;AACX,gBAAA,QAAQ,CAAC;AACP,oBAAA,IAAI,EAAE,kBAAkB;AACzB,iBAAA,CAAC;AACF,gBAAA,OAAO,KAAK;YACd;QACF;AACA,QAAA,OAAO,MAAM;AACf,IAAA,CAAC;AAED,IAAA,SAAS,EAAE,CAAC,IAAI,CAAC,CAAC,aAAa,KAAI;QACjC,IAAI,aAAa,EAAE;YACjB,QAAQ,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;YAC9D;QACF;AACA,QAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;AACxC,IAAA,CAAC,CAAC;AACJ,CAAC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"waitForFiles.js","sources":["../../../../../../src/services/db/actors/waitForFiles.ts"],"sourcesContent":["import { EventObject, fromCallback } from 'xstate'\nimport { DbServiceContext, FromCallbackInput } from '@/types'\nimport { DB_WAITING_FOR_FILES_RECEIVED } from '@/services/internal/constants'\nimport debug from 'debug'\nimport { isBrowser } from '@/helpers/environment'\nimport { BaseFileManager } from '@/helpers/FileManager/BaseFileManager'\nconst logger = debug('seedSdk:services:db:actors:waitForFiles')\n\nexport const waitForFiles = fromCallback<\n EventObject,\n FromCallbackInput<DbServiceContext>\n>(({ sendBack, input: { context } }) => {\n\n if (!isBrowser()) {\n sendBack({ type: DB_WAITING_FOR_FILES_RECEIVED })\n return\n }\n\n const { pathToDbDir } = context\n\n const _waitForFiles = async (): Promise<void> => {\n return new Promise((resolve) => {\n const interval = setInterval(async () => {\n const journalExists = await BaseFileManager.pathExists(\n `${pathToDbDir}/meta/_journal.json`,\n )\n if (journalExists) {\n clearInterval(interval)\n resolve()\n }\n }, 1000)\n })\n }\n\n _waitForFiles().then(() => {\n sendBack({ type: DB_WAITING_FOR_FILES_RECEIVED })\n return\n })\n})\n"],"names":[],"mappings":";;;;;;AAMe,KAAK,CAAC,yCAAyC;
|
|
1
|
+
{"version":3,"file":"waitForFiles.js","sources":["../../../../../../src/services/db/actors/waitForFiles.ts"],"sourcesContent":["import { EventObject, fromCallback } from 'xstate'\nimport { DbServiceContext, FromCallbackInput } from '@/types'\nimport { DB_WAITING_FOR_FILES_RECEIVED } from '@/services/internal/constants'\nimport debug from 'debug'\nimport { isBrowser } from '@/helpers/environment'\nimport { BaseFileManager } from '@/helpers/FileManager/BaseFileManager'\nconst logger = debug('seedSdk:services:db:actors:waitForFiles')\n\nexport const waitForFiles = fromCallback<\n EventObject,\n FromCallbackInput<DbServiceContext>\n>(({ sendBack, input: { context } }) => {\n\n if (!isBrowser()) {\n sendBack({ type: DB_WAITING_FOR_FILES_RECEIVED })\n return\n }\n\n const { pathToDbDir } = context\n\n const _waitForFiles = async (): Promise<void> => {\n return new Promise((resolve) => {\n const interval = setInterval(async () => {\n const journalExists = await BaseFileManager.pathExists(\n `${pathToDbDir}/meta/_journal.json`,\n )\n if (journalExists) {\n clearInterval(interval)\n resolve()\n }\n }, 1000)\n })\n }\n\n _waitForFiles().then(() => {\n sendBack({ type: DB_WAITING_FOR_FILES_RECEIVED })\n return\n })\n})\n"],"names":[],"mappings":";;;;;;AAMe,KAAK,CAAC,yCAAyC;AAEvD,MAAM,YAAY,GAAG,YAAY,CAGtC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,KAAI;AAErC,IAAA,IAAI,CAAC,SAAS,EAAE,EAAE;AAChB,QAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,6BAA6B,EAAE,CAAC;QACjD;IACF;AAEA,IAAA,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO;AAE/B,IAAA,MAAM,aAAa,GAAG,YAA0B;AAC9C,QAAA,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,KAAI;AAC7B,YAAA,MAAM,QAAQ,GAAG,WAAW,CAAC,YAAW;gBACtC,MAAM,aAAa,GAAG,MAAM,eAAe,CAAC,UAAU,CACpD,CAAA,EAAG,WAAW,CAAA,mBAAA,CAAqB,CACpC;gBACD,IAAI,aAAa,EAAE;oBACjB,aAAa,CAAC,QAAQ,CAAC;AACvB,oBAAA,OAAO,EAAE;gBACX;YACF,CAAC,EAAE,IAAI,CAAC;AACV,QAAA,CAAC,CAAC;AACJ,IAAA,CAAC;AAED,IAAA,aAAa,EAAE,CAAC,IAAI,CAAC,MAAK;AACxB,QAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,6BAA6B,EAAE,CAAC;QACjD;AACF,IAAA,CAAC,CAAC;AACJ,CAAC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dbMachine.js","sources":["../../../../../src/services/db/dbMachine.ts"],"sourcesContent":["import { assign, setup } from 'xstate'\nimport {\n DB_CHECK_STATUS_EXISTS,\n DB_CHECK_STATUS_UPDATE_PATHS,\n DB_CREATING_SUCCESS,\n DB_MIGRATING_SUCCESS,\n DB_MIGRATING_WAIT,\n DB_VALIDATING_SUCCESS,\n DB_VALIDATING_WAIT,\n DB_WAITING_FOR_FILES_RECEIVED,\n DbState,\n MachineIds,\n} from '../internal/constants'\nimport debug from 'debug'\nimport { DbServiceContext } from '@/types'\nimport { checkStatus } from '@/services/db/actors/checkStatus'\nimport { connectToDb } from '@/services/db/actors/connectToDb'\nimport { validate } from '@/services/db/actors/validate'\nimport { migrate } from '@/services/db/actors/migrate'\nimport { waitForFiles } from './actors/waitForFiles'\n\nconst logger = debug('seedSdk:services:db:machine')\n\nconst {\n CHECKING_STATUS,\n VALIDATING,\n WAITING_FOR_FILES,\n CONNECTING_TO_DB,\n MIGRATING,\n} = DbState\n\nconst dbMachine = setup({\n types: {\n context: {} as Partial<DbServiceContext>,\n input: {} as Partial<DbServiceContext> | undefined,\n },\n actors: {\n checkStatus,\n validate,\n connectToDb,\n migrate,\n waitForFiles,\n },\n}).createMachine({\n id: MachineIds.DB,\n initial: CHECKING_STATUS,\n context: ({ input }) => input as DbServiceContext,\n on: {\n [DB_WAITING_FOR_FILES_RECEIVED]: {\n actions: assign({\n hasFiles: ({ event }) => {\n logger('[db/machine] DB_WAITING_FOR_FILES_RECEIVED event:', event)\n return true\n },\n }),\n },\n updateHasFiles: {\n target: `.${CHECKING_STATUS}`,\n actions: assign({\n hasFiles: ({ context, event }) => {\n logger('[db/machine] updateHasFiles event:', event)\n logger('[db/machine] updateHasFiles context:', context)\n return event.hasFiles\n },\n }),\n },\n },\n states: {\n idle: {\n on: {\n start: CHECKING_STATUS,\n },\n meta: {\n displayText: 'DB starting ...',\n percentComplete: 0,\n },\n },\n [CHECKING_STATUS]: {\n on: {\n [DB_CHECK_STATUS_UPDATE_PATHS]: {\n actions: assign({\n pathToDb: ({ event }) => event.pathToDb,\n pathToDir: ({ event }) => event.pathToDir,\n pathToDbDir: ({ event }) => event.pathToDbDir,\n }),\n },\n [DB_CHECK_STATUS_EXISTS]: CONNECTING_TO_DB,\n },\n invoke: {\n src: 'checkStatus',\n input: ({ context, event }) => ({ context, event }),\n },\n meta: {\n displayText: 'Checking DB status',\n percentComplete: 60,\n },\n },\n [CONNECTING_TO_DB]: {\n on: {\n [DB_CREATING_SUCCESS]: {\n target: VALIDATING,\n actions: assign({\n dbId: ({ event }) => event.dbId,\n }),\n },\n },\n invoke: {\n src: 'connectToDb',\n input: ({ context }) => ({ context }),\n },\n meta: {\n displayText: 'Connecting to local DB',\n percentComplete: 70,\n },\n },\n [VALIDATING]: {\n on: {\n [DB_VALIDATING_SUCCESS]: {\n target: MIGRATING,\n },\n [DB_VALIDATING_WAIT]: {\n target: WAITING_FOR_FILES,\n },\n },\n invoke: {\n src: 'validate',\n input: ({ context }) => ({ context }),\n },\n meta: {\n displayText: 'Validating DB',\n percentComplete: 80,\n },\n },\n [WAITING_FOR_FILES]: {\n on: {\n [DB_WAITING_FOR_FILES_RECEIVED]: {\n target: MIGRATING,\n actions: assign({\n hasFiles: true,\n }),\n },\n [DB_MIGRATING_SUCCESS]: 'ready',\n },\n invoke: {\n src: 'waitForFiles',\n input: ({ context }) => ({ context }),\n },\n },\n [MIGRATING]: {\n on: {\n [DB_MIGRATING_WAIT]: WAITING_FOR_FILES,\n [DB_MIGRATING_SUCCESS]: {\n target: 'ready',\n },\n },\n invoke: {\n src: 'migrate',\n input: ({ context }) => ({ context }),\n },\n meta: {\n displayText: 'Migrating DB',\n percentComplete: 90,\n },\n },\n ready: {\n target: 'idle',\n meta: {\n displayText: 'Wrapping up the db ...',\n percentComplete: 100,\n },\n },\n },\n})\n\nexport { dbMachine }\n"],"names":[],"mappings":";;;;;;;;;AAqBA,MAAM,MAAM,GAAG,KAAK,CAAC,6BAA6B,CAAC;AAEnD,MAAM,EACJ,eAAe,EACf,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,SAAS,GACV,GAAG,OAAO;
|
|
1
|
+
{"version":3,"file":"dbMachine.js","sources":["../../../../../src/services/db/dbMachine.ts"],"sourcesContent":["import { assign, setup } from 'xstate'\nimport {\n DB_CHECK_STATUS_EXISTS,\n DB_CHECK_STATUS_UPDATE_PATHS,\n DB_CREATING_SUCCESS,\n DB_MIGRATING_SUCCESS,\n DB_MIGRATING_WAIT,\n DB_VALIDATING_SUCCESS,\n DB_VALIDATING_WAIT,\n DB_WAITING_FOR_FILES_RECEIVED,\n DbState,\n MachineIds,\n} from '../internal/constants'\nimport debug from 'debug'\nimport { DbServiceContext } from '@/types'\nimport { checkStatus } from '@/services/db/actors/checkStatus'\nimport { connectToDb } from '@/services/db/actors/connectToDb'\nimport { validate } from '@/services/db/actors/validate'\nimport { migrate } from '@/services/db/actors/migrate'\nimport { waitForFiles } from './actors/waitForFiles'\n\nconst logger = debug('seedSdk:services:db:machine')\n\nconst {\n CHECKING_STATUS,\n VALIDATING,\n WAITING_FOR_FILES,\n CONNECTING_TO_DB,\n MIGRATING,\n} = DbState\n\nconst dbMachine = setup({\n types: {\n context: {} as Partial<DbServiceContext>,\n input: {} as Partial<DbServiceContext> | undefined,\n },\n actors: {\n checkStatus,\n validate,\n connectToDb,\n migrate,\n waitForFiles,\n },\n}).createMachine({\n id: MachineIds.DB,\n initial: CHECKING_STATUS,\n context: ({ input }) => input as DbServiceContext,\n on: {\n [DB_WAITING_FOR_FILES_RECEIVED]: {\n actions: assign({\n hasFiles: ({ event }) => {\n logger('[db/machine] DB_WAITING_FOR_FILES_RECEIVED event:', event)\n return true\n },\n }),\n },\n updateHasFiles: {\n target: `.${CHECKING_STATUS}`,\n actions: assign({\n hasFiles: ({ context, event }) => {\n logger('[db/machine] updateHasFiles event:', event)\n logger('[db/machine] updateHasFiles context:', context)\n return event.hasFiles\n },\n }),\n },\n },\n states: {\n idle: {\n on: {\n start: CHECKING_STATUS,\n },\n meta: {\n displayText: 'DB starting ...',\n percentComplete: 0,\n },\n },\n [CHECKING_STATUS]: {\n on: {\n [DB_CHECK_STATUS_UPDATE_PATHS]: {\n actions: assign({\n pathToDb: ({ event }) => event.pathToDb,\n pathToDir: ({ event }) => event.pathToDir,\n pathToDbDir: ({ event }) => event.pathToDbDir,\n }),\n },\n [DB_CHECK_STATUS_EXISTS]: CONNECTING_TO_DB,\n },\n invoke: {\n src: 'checkStatus',\n input: ({ context, event }) => ({ context, event }),\n },\n meta: {\n displayText: 'Checking DB status',\n percentComplete: 60,\n },\n },\n [CONNECTING_TO_DB]: {\n on: {\n [DB_CREATING_SUCCESS]: {\n target: VALIDATING,\n actions: assign({\n dbId: ({ event }) => event.dbId,\n }),\n },\n },\n invoke: {\n src: 'connectToDb',\n input: ({ context }) => ({ context }),\n },\n meta: {\n displayText: 'Connecting to local DB',\n percentComplete: 70,\n },\n },\n [VALIDATING]: {\n on: {\n [DB_VALIDATING_SUCCESS]: {\n target: MIGRATING,\n },\n [DB_VALIDATING_WAIT]: {\n target: WAITING_FOR_FILES,\n },\n },\n invoke: {\n src: 'validate',\n input: ({ context }) => ({ context }),\n },\n meta: {\n displayText: 'Validating DB',\n percentComplete: 80,\n },\n },\n [WAITING_FOR_FILES]: {\n on: {\n [DB_WAITING_FOR_FILES_RECEIVED]: {\n target: MIGRATING,\n actions: assign({\n hasFiles: true,\n }),\n },\n [DB_MIGRATING_SUCCESS]: 'ready',\n },\n invoke: {\n src: 'waitForFiles',\n input: ({ context }) => ({ context }),\n },\n },\n [MIGRATING]: {\n on: {\n [DB_MIGRATING_WAIT]: WAITING_FOR_FILES,\n [DB_MIGRATING_SUCCESS]: {\n target: 'ready',\n },\n },\n invoke: {\n src: 'migrate',\n input: ({ context }) => ({ context }),\n },\n meta: {\n displayText: 'Migrating DB',\n percentComplete: 90,\n },\n },\n ready: {\n target: 'idle',\n meta: {\n displayText: 'Wrapping up the db ...',\n percentComplete: 100,\n },\n },\n },\n})\n\nexport { dbMachine }\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sources":["../../../../src/services/events.ts"],"sourcesContent":["import { eventEmitter } from '@/eventBus'\nimport debug from 'debug'\n\nconst logger = debug('seedSdk:services:events')\n\nconst handleServiceSaveState = (event: any) => {\n const { state, serviceId } = event\n logger(`[browser] [service.saveState.request] serviceId: ${serviceId}`)\n localStorage.setItem(`seed_sdk_service_${serviceId}`, JSON.stringify(state))\n}\n\nexport const setupServicesEventHandlers = () => {\n eventEmitter.addListener('service.saveState.request', handleServiceSaveState)\n}\n"],"names":[],"mappings":";;;AAGA,MAAM,MAAM,GAAG,KAAK,CAAC,yBAAyB,CAAC;AAE/C,MAAM,sBAAsB,GAAG,CAAC,KAAU,KAAI;AAC5C,IAAA,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,KAAK;AAClC,IAAA,MAAM,CAAC,CAAA,iDAAA,EAAoD,SAAS,CAAA,CAAE,CAAC;AACvE,IAAA,YAAY,CAAC,OAAO,CAAC,CAAA,iBAAA,EAAoB,SAAS,CAAE,
|
|
1
|
+
{"version":3,"file":"events.js","sources":["../../../../src/services/events.ts"],"sourcesContent":["import { eventEmitter } from '@/eventBus'\nimport debug from 'debug'\n\nconst logger = debug('seedSdk:services:events')\n\nconst handleServiceSaveState = (event: any) => {\n const { state, serviceId } = event\n logger(`[browser] [service.saveState.request] serviceId: ${serviceId}`)\n localStorage.setItem(`seed_sdk_service_${serviceId}`, JSON.stringify(state))\n}\n\nexport const setupServicesEventHandlers = () => {\n eventEmitter.addListener('service.saveState.request', handleServiceSaveState)\n}\n"],"names":[],"mappings":";;;AAGA,MAAM,MAAM,GAAG,KAAK,CAAC,yBAAyB,CAAC;AAE/C,MAAM,sBAAsB,GAAG,CAAC,KAAU,KAAI;AAC5C,IAAA,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,KAAK;AAClC,IAAA,MAAM,CAAC,CAAA,iDAAA,EAAoD,SAAS,CAAA,CAAE,CAAC;AACvE,IAAA,YAAY,CAAC,OAAO,CAAC,CAAA,iBAAA,EAAoB,SAAS,CAAA,CAAE,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAEM,MAAM,0BAA0B,GAAG,MAAK;AAC7C,IAAA,YAAY,CAAC,WAAW,CAAC,2BAA2B,EAAE,sBAAsB,CAAC;AAC/E;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addModelsToDb.js","sources":["../../../../../../src/services/global/actors/addModelsToDb.ts"],"sourcesContent":["import { EventObject, fromCallback } from 'xstate'\nimport { models as modelsTable, modelUids } from '@/seedSchema'\nimport { eq } from 'drizzle-orm'\nimport { toSnakeCase, BaseEasClient, BaseQueryClient } from '@/helpers'\nimport { BaseDb } from '@/db/Db/BaseDb'\nimport { GLOBAL_ADDING_MODELS_TO_DB_SUCCESS } from '@/services/internal/constants'\nimport { eventEmitter } from '@/eventBus'\nimport { FromCallbackInput, GlobalMachineContext } from '@/types'\nimport debug from 'debug'\nimport { GET_SCHEMAS } from '@/Item/queries'\n\nconst logger = debug('seedSdk:services:global:actors:addModelsToDb')\n\nexport const addModelsToDb = fromCallback<\n EventObject,\n FromCallbackInput<GlobalMachineContext>\n>(({ sendBack, input: { context } }) => {\n const { models } = context\n\n const _addModelsToDb = async () => {\n const appDb = BaseDb.getAppDb()\n\n if (!models) {\n return\n }\n\n const { models: SeedModels } = await import(\n '@/db/configs/seed.schema.config'\n )\n\n const allModels = {\n ...SeedModels,\n ...models,\n }\n\n let hasModelsInDb = false\n const schemaDefsByModelName = new Map<\n string,\n {\n dbId: number\n schemaDef: string\n }\n >()\n\n for (const [modelName, _] of Object.entries(allModels)) {\n logger(\n '[helpers/db] [addModelsToInternalDb] starting modelName:',\n modelName,\n )\n\n let foundModel\n\n const foundModelsQuery = await appDb\n .select()\n .from(modelsTable)\n .where(eq(modelsTable.name, modelName))\n\n if (!foundModelsQuery || foundModelsQuery.length === 0) {\n await appDb.insert(modelsTable).values({\n name: modelName,\n })\n\n logger('[global/actors] [addModelsToDb] inserted model:', modelName)\n const foundModels = await appDb\n .select({\n id: modelsTable.id,\n name: modelsTable.name,\n uid: modelUids.uid,\n })\n .from(modelsTable)\n .leftJoin(modelUids, eq(modelsTable.id, modelUids.modelId))\n .where(eq(modelsTable.name, modelName))\n .limit(1)\n\n foundModel = foundModels[0]\n }\n\n if (foundModelsQuery && foundModelsQuery.length > 0) {\n foundModel = foundModelsQuery[0]\n }\n\n if (!foundModel) {\n hasModelsInDb = false\n break\n }\n\n schemaDefsByModelName.set(modelName, {\n dbId: foundModel.id,\n schemaDef: `bytes32 ${toSnakeCase(modelName)}`,\n })\n }\n\n if (!hasModelsInDb) {\n return false\n }\n\n const schemaDefs = Array.from(schemaDefsByModelName.values()).map(\n ({ schemaDef }) => schemaDef,\n )\n\n const queryClient = BaseQueryClient.getQueryClient()\n const easClient = BaseEasClient.getEasClient()\n\n const { schemas } = await queryClient.fetchQuery({\n queryKey: [`getSchemasVersion`],\n queryFn: async () =>\n easClient.request(GET_SCHEMAS, {\n where: {\n schema: {\n in: schemaDefs,\n },\n },\n }),\n })\n\n if (!schemas || schemas.length === 0) {\n throw new Error(`No schemas found`)\n }\n\n for (const schema of schemas) {\n const modelId = Array.from(schemaDefsByModelName.values()).find(\n ({ schemaDef }) => schemaDef === schema.schema,\n )?.dbId\n\n if (!modelId) {\n throw new Error(`No modelId found for schema ${schema.schema}`)\n }\n\n await appDb\n .insert(modelUids)\n .values({\n modelId,\n uid: schema.id,\n })\n .onConflictDoNothing()\n }\n }\n\n _addModelsToDb().then((hasModelsInDb) => {\n sendBack({ type: GLOBAL_ADDING_MODELS_TO_DB_SUCCESS })\n if (hasModelsInDb) {\n }\n for (const [modelName, model] of Object.entries(models)) {\n const service = context[`${modelName}Service`]\n service.send({ type: 'modelsFound' })\n }\n eventEmitter.emit('syncDbWithEas')\n return\n })\n\n return () => { }\n})\n"],"names":["models","modelsTable"],"mappings":";;;;;;;;;;;;;;;;;;AAWA,MAAM,MAAM,GAAG,KAAK,CAAC,8CAA8C,CAAC;
|
|
1
|
+
{"version":3,"file":"addModelsToDb.js","sources":["../../../../../../src/services/global/actors/addModelsToDb.ts"],"sourcesContent":["import { EventObject, fromCallback } from 'xstate'\nimport { models as modelsTable, modelUids } from '@/seedSchema'\nimport { eq } from 'drizzle-orm'\nimport { toSnakeCase, BaseEasClient, BaseQueryClient } from '@/helpers'\nimport { BaseDb } from '@/db/Db/BaseDb'\nimport { GLOBAL_ADDING_MODELS_TO_DB_SUCCESS } from '@/services/internal/constants'\nimport { eventEmitter } from '@/eventBus'\nimport { FromCallbackInput, GlobalMachineContext } from '@/types'\nimport debug from 'debug'\nimport { GET_SCHEMAS } from '@/Item/queries'\n\nconst logger = debug('seedSdk:services:global:actors:addModelsToDb')\n\nexport const addModelsToDb = fromCallback<\n EventObject,\n FromCallbackInput<GlobalMachineContext>\n>(({ sendBack, input: { context } }) => {\n const { models } = context\n\n const _addModelsToDb = async () => {\n const appDb = BaseDb.getAppDb()\n\n if (!models) {\n return\n }\n\n const { models: SeedModels } = await import(\n '@/db/configs/seed.schema.config'\n )\n\n const allModels = {\n ...SeedModels,\n ...models,\n }\n\n let hasModelsInDb = false\n const schemaDefsByModelName = new Map<\n string,\n {\n dbId: number\n schemaDef: string\n }\n >()\n\n for (const [modelName, _] of Object.entries(allModels)) {\n logger(\n '[helpers/db] [addModelsToInternalDb] starting modelName:',\n modelName,\n )\n\n let foundModel\n\n const foundModelsQuery = await appDb\n .select()\n .from(modelsTable)\n .where(eq(modelsTable.name, modelName))\n\n if (!foundModelsQuery || foundModelsQuery.length === 0) {\n await appDb.insert(modelsTable).values({\n name: modelName,\n })\n\n logger('[global/actors] [addModelsToDb] inserted model:', modelName)\n const foundModels = await appDb\n .select({\n id: modelsTable.id,\n name: modelsTable.name,\n uid: modelUids.uid,\n })\n .from(modelsTable)\n .leftJoin(modelUids, eq(modelsTable.id, modelUids.modelId))\n .where(eq(modelsTable.name, modelName))\n .limit(1)\n\n foundModel = foundModels[0]\n }\n\n if (foundModelsQuery && foundModelsQuery.length > 0) {\n foundModel = foundModelsQuery[0]\n }\n\n if (!foundModel) {\n hasModelsInDb = false\n break\n }\n\n schemaDefsByModelName.set(modelName, {\n dbId: foundModel.id,\n schemaDef: `bytes32 ${toSnakeCase(modelName)}`,\n })\n }\n\n if (!hasModelsInDb) {\n return false\n }\n\n const schemaDefs = Array.from(schemaDefsByModelName.values()).map(\n ({ schemaDef }) => schemaDef,\n )\n\n const queryClient = BaseQueryClient.getQueryClient()\n const easClient = BaseEasClient.getEasClient()\n\n const { schemas } = await queryClient.fetchQuery({\n queryKey: [`getSchemasVersion`],\n queryFn: async () =>\n easClient.request(GET_SCHEMAS, {\n where: {\n schema: {\n in: schemaDefs,\n },\n },\n }),\n })\n\n if (!schemas || schemas.length === 0) {\n throw new Error(`No schemas found`)\n }\n\n for (const schema of schemas) {\n const modelId = Array.from(schemaDefsByModelName.values()).find(\n ({ schemaDef }) => schemaDef === schema.schema,\n )?.dbId\n\n if (!modelId) {\n throw new Error(`No modelId found for schema ${schema.schema}`)\n }\n\n await appDb\n .insert(modelUids)\n .values({\n modelId,\n uid: schema.id,\n })\n .onConflictDoNothing()\n }\n }\n\n _addModelsToDb().then((hasModelsInDb) => {\n sendBack({ type: GLOBAL_ADDING_MODELS_TO_DB_SUCCESS })\n if (hasModelsInDb) {\n }\n for (const [modelName, model] of Object.entries(models)) {\n const service = context[`${modelName}Service`]\n service.send({ type: 'modelsFound' })\n }\n eventEmitter.emit('syncDbWithEas')\n return\n })\n\n return () => { }\n})\n"],"names":["models","modelsTable"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getSchemaForModel.js","sources":["../../../../../../src/services/global/actors/getSchemaForModel.ts"],"sourcesContent":["import { EventObject, fromCallback } from 'xstate'\nimport {\n FromCallbackInput,\n GetSchemaForModelEvent,\n GlobalMachineContext,\n} from '@/types'\nimport debug from 'debug'\n\nconst logger = debug('seedSdk:services:global:actors:getSchemaForModel')\n\nexport const getSchemaForModel = fromCallback<\n EventObject,\n FromCallbackInput<GlobalMachineContext, GetSchemaForModelEvent>\n>(({ sendBack, input: { context, event } }) => {\n const { modelName } = event\n\n if (!modelName) {\n console.warn('No modelName found')\n return\n }\n\n const { models } = context\n\n if (!models) {\n console.warn('No models found')\n return\n }\n\n const model = Object.entries(models).find(\n ([modelNameFromConfig]) => modelNameFromConfig === modelName,\n )\n\n if (!model) {\n throw new Error(`Model ${modelName} not found`)\n }\n\n logger('[service/actor] [getSchemaForModel] model:', model)\n\n sendBack({ type: 'schemaForModel', schema: model.schema })\n\n return () => {}\n})\n"],"names":[],"mappings":";;;AAQA,MAAM,MAAM,GAAG,KAAK,CAAC,kDAAkD,CAAC;
|
|
1
|
+
{"version":3,"file":"getSchemaForModel.js","sources":["../../../../../../src/services/global/actors/getSchemaForModel.ts"],"sourcesContent":["import { EventObject, fromCallback } from 'xstate'\nimport {\n FromCallbackInput,\n GetSchemaForModelEvent,\n GlobalMachineContext,\n} from '@/types'\nimport debug from 'debug'\n\nconst logger = debug('seedSdk:services:global:actors:getSchemaForModel')\n\nexport const getSchemaForModel = fromCallback<\n EventObject,\n FromCallbackInput<GlobalMachineContext, GetSchemaForModelEvent>\n>(({ sendBack, input: { context, event } }) => {\n const { modelName } = event\n\n if (!modelName) {\n console.warn('No modelName found')\n return\n }\n\n const { models } = context\n\n if (!models) {\n console.warn('No models found')\n return\n }\n\n const model = Object.entries(models).find(\n ([modelNameFromConfig]) => modelNameFromConfig === modelName,\n )\n\n if (!model) {\n throw new Error(`Model ${modelName} not found`)\n }\n\n logger('[service/actor] [getSchemaForModel] model:', model)\n\n sendBack({ type: 'schemaForModel', schema: model.schema })\n\n return () => {}\n})\n"],"names":[],"mappings":";;;AAQA,MAAM,MAAM,GAAG,KAAK,CAAC,kDAAkD,CAAC;AAEjE,MAAM,iBAAiB,GAAG,YAAY,CAG3C,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,KAAI;AAC5C,IAAA,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK;IAE3B,IAAI,CAAC,SAAS,EAAE;AACd,QAAA,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC;QAClC;IACF;AAEA,IAAA,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO;IAE1B,IAAI,CAAC,MAAM,EAAE;AACX,QAAA,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC;QAC/B;IACF;IAEA,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CACvC,CAAC,CAAC,mBAAmB,CAAC,KAAK,mBAAmB,KAAK,SAAS,CAC7D;IAED,IAAI,CAAC,KAAK,EAAE;AACV,QAAA,MAAM,IAAI,KAAK,CAAC,SAAS,SAAS,CAAA,UAAA,CAAY,CAAC;IACjD;AAEA,IAAA,MAAM,CAAC,4CAA4C,EAAE,KAAK,CAAC;AAE3D,IAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;AAE1D,IAAA,OAAO,MAAK,EAAE,CAAC;AACjB,CAAC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initialize.js","sources":["../../../../../../src/services/global/actors/initialize.ts"],"sourcesContent":["import { EventObject, fromCallback, Subscription, waitFor } from 'xstate'\nimport { getEnvironment } from '@/helpers/environment'\nimport {\n GLOBAL_INITIALIZING_CREATE_ALL_ITEMS_SERVICES,\n GLOBAL_INITIALIZING_INTERNAL_SERVICE_READY,\n GLOBAL_INITIALIZING_SEND_CONFIG,\n} from '@/services/internal/constants'\nimport debug from 'debug'\nimport { FromCallbackInput, GlobalMachineContext } from '@/types'\nimport { BaseDb } from '@/db/Db/BaseDb'\nimport { appState } from '@/seedSchema'\nimport { like } from 'drizzle-orm'\nimport { fetchSchemaUids } from '@/stores/eas'\n\nconst logger = debug('seedSdk:services:global:actors:initialize')\n\nexport const initialize = fromCallback<\n EventObject,\n FromCallbackInput<GlobalMachineContext, EventObject>\n>(({ sendBack, input: { event, context } }) => {\n const { internalService, models, endpoints, arweaveDomain, addresses, } = context\n\n if (!internalService) {\n throw new Error('internalService is required')\n }\n\n if (!models) {\n throw new Error('models is required')\n }\n\n const environment = getEnvironment()\n let easSubscription: Subscription | undefined\n\n const _initInternal = async (): Promise<void> => {\n internalService.send({\n type: 'init',\n endpoints,\n addresses,\n arweaveDomain,\n })\n await waitFor(internalService, (snapshot) => {\n logger('snapshot.value:', snapshot.value)\n return snapshot.value === 'ready'\n })\n logger('[sdk] [internal] sending init')\n }\n\n const _initAllItemsServices = async (): Promise<void> => {\n const appDb = BaseDb.getAppDb()\n\n const rows = await appDb\n .select()\n .from(appState)\n .where(like(appState.key, 'snapshot__%'))\n\n const payloadObj: {\n create: Record<string, any>,\n restore: Record<string, any>,\n } = {\n create: {},\n restore: {},\n }\n\n const modelNamesRestored: string[] = []\n\n if (rows && rows.length > 0) {\n for (const row of rows) {\n const modelName = row.key.replace('snapshot__', '')\n payloadObj.restore[modelName] = JSON.parse(row.value)\n modelNamesRestored.push(modelName)\n }\n }\n for (const [modelName, ModelClass] of Object.entries(models)) {\n if (!modelNamesRestored.includes(modelName)) {\n payloadObj.create[modelName] = ModelClass\n }\n }\n sendBack({\n type: GLOBAL_INITIALIZING_CREATE_ALL_ITEMS_SERVICES,\n ...payloadObj,\n })\n }\n\n const _initEas = async (): Promise<void> => {\n await fetchSchemaUids()\n }\n\n _initInternal()\n .then(() => {\n return _initAllItemsServices()\n })\n .then(() => {\n return _initEas()\n })\n .then(() => {\n logger('[global/actors] Internal initialized')\n sendBack({ type: GLOBAL_INITIALIZING_INTERNAL_SERVICE_READY })\n })\n\n\n sendBack({ type: GLOBAL_INITIALIZING_SEND_CONFIG, environment })\n\n return () => {\n easSubscription?.unsubscribe()\n }\n})\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AAcA,MAAM,MAAM,GAAG,KAAK,CAAC,2CAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"initialize.js","sources":["../../../../../../src/services/global/actors/initialize.ts"],"sourcesContent":["import { EventObject, fromCallback, Subscription, waitFor } from 'xstate'\nimport { getEnvironment } from '@/helpers/environment'\nimport {\n GLOBAL_INITIALIZING_CREATE_ALL_ITEMS_SERVICES,\n GLOBAL_INITIALIZING_INTERNAL_SERVICE_READY,\n GLOBAL_INITIALIZING_SEND_CONFIG,\n} from '@/services/internal/constants'\nimport debug from 'debug'\nimport { FromCallbackInput, GlobalMachineContext } from '@/types'\nimport { BaseDb } from '@/db/Db/BaseDb'\nimport { appState } from '@/seedSchema'\nimport { like } from 'drizzle-orm'\nimport { fetchSchemaUids } from '@/stores/eas'\n\nconst logger = debug('seedSdk:services:global:actors:initialize')\n\nexport const initialize = fromCallback<\n EventObject,\n FromCallbackInput<GlobalMachineContext, EventObject>\n>(({ sendBack, input: { event, context } }) => {\n const { internalService, models, endpoints, arweaveDomain, addresses, } = context\n\n if (!internalService) {\n throw new Error('internalService is required')\n }\n\n if (!models) {\n throw new Error('models is required')\n }\n\n const environment = getEnvironment()\n let easSubscription: Subscription | undefined\n\n const _initInternal = async (): Promise<void> => {\n internalService.send({\n type: 'init',\n endpoints,\n addresses,\n arweaveDomain,\n })\n await waitFor(internalService, (snapshot) => {\n logger('snapshot.value:', snapshot.value)\n return snapshot.value === 'ready'\n })\n logger('[sdk] [internal] sending init')\n }\n\n const _initAllItemsServices = async (): Promise<void> => {\n const appDb = BaseDb.getAppDb()\n\n const rows = await appDb\n .select()\n .from(appState)\n .where(like(appState.key, 'snapshot__%'))\n\n const payloadObj: {\n create: Record<string, any>,\n restore: Record<string, any>,\n } = {\n create: {},\n restore: {},\n }\n\n const modelNamesRestored: string[] = []\n\n if (rows && rows.length > 0) {\n for (const row of rows) {\n const modelName = row.key.replace('snapshot__', '')\n payloadObj.restore[modelName] = JSON.parse(row.value)\n modelNamesRestored.push(modelName)\n }\n }\n for (const [modelName, ModelClass] of Object.entries(models)) {\n if (!modelNamesRestored.includes(modelName)) {\n payloadObj.create[modelName] = ModelClass\n }\n }\n sendBack({\n type: GLOBAL_INITIALIZING_CREATE_ALL_ITEMS_SERVICES,\n ...payloadObj,\n })\n }\n\n const _initEas = async (): Promise<void> => {\n await fetchSchemaUids()\n }\n\n _initInternal()\n .then(() => {\n return _initAllItemsServices()\n })\n .then(() => {\n return _initEas()\n })\n .then(() => {\n logger('[global/actors] Internal initialized')\n sendBack({ type: GLOBAL_INITIALIZING_INTERNAL_SERVICE_READY })\n })\n\n\n sendBack({ type: GLOBAL_INITIALIZING_SEND_CONFIG, environment })\n\n return () => {\n easSubscription?.unsubscribe()\n }\n})\n"],"names":[],"mappings":"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"}
|