@seedprotocol/sdk 0.3.14 → 0.3.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (192) hide show
  1. package/dist/addModel.js +93 -0
  2. package/dist/addModel.js.map +1 -0
  3. package/dist/bin.js +8 -5
  4. package/dist/bin.js.map +1 -1
  5. package/dist/main.js +1 -0
  6. package/dist/main.js.map +1 -1
  7. package/dist/protos/seed.proto +97 -0
  8. package/dist/rpcServer.js +358 -0
  9. package/dist/rpcServer.js.map +1 -0
  10. package/dist/scripts/addModel.d.ts +3 -0
  11. package/dist/scripts/addModel.d.ts.map +1 -0
  12. package/dist/scripts/bin.d.ts.map +1 -1
  13. package/dist/scripts/rpcServer.cursor.d.ts +2 -0
  14. package/dist/scripts/rpcServer.cursor.d.ts.map +1 -0
  15. package/dist/scripts/rpcServer.d.ts +3 -0
  16. package/dist/scripts/rpcServer.d.ts.map +1 -0
  17. package/dist/scripts/vite.config.d.ts +3 -0
  18. package/dist/scripts/vite.config.d.ts.map +1 -0
  19. package/dist/seedSchema/AppStateSchema.ts +2 -2
  20. package/dist/seedSchema/ConfigSchema.ts +18 -14
  21. package/dist/seedSchema/MetadataSchema.ts +2 -1
  22. package/dist/seedSchema/ModelSchema.ts +3 -3
  23. package/dist/seedSchema/SeedSchema.ts +2 -1
  24. package/dist/seedSchema/VersionSchema.ts +2 -1
  25. package/dist/seedSchema/index.ts +1 -0
  26. package/dist/src/Item/BaseItem.d.ts +1 -1
  27. package/dist/src/Item/BaseItem.d.ts.map +1 -1
  28. package/dist/src/Item/BaseItem.js.map +1 -1
  29. package/dist/src/ItemProperty/BaseItemProperty.d.ts +55 -192
  30. package/dist/src/ItemProperty/BaseItemProperty.d.ts.map +1 -1
  31. package/dist/src/ItemProperty/service/actors/hydrateFromDb.d.ts +2 -1
  32. package/dist/src/ItemProperty/service/actors/hydrateFromDb.d.ts.map +1 -1
  33. package/dist/src/ItemProperty/service/actors/hydrateFromDb.js +2 -1
  34. package/dist/src/ItemProperty/service/actors/hydrateFromDb.js.map +1 -1
  35. package/dist/src/ItemProperty/service/actors/initialize.d.ts +2 -1
  36. package/dist/src/ItemProperty/service/actors/initialize.d.ts.map +1 -1
  37. package/dist/src/ItemProperty/service/actors/resolveRelatedValue.d.ts +2 -1
  38. package/dist/src/ItemProperty/service/actors/resolveRelatedValue.d.ts.map +1 -1
  39. package/dist/src/ItemProperty/service/actors/resolveRemoteStorage.d.ts +2 -1
  40. package/dist/src/ItemProperty/service/actors/resolveRemoteStorage.d.ts.map +1 -1
  41. package/dist/src/ItemProperty/service/actors/resolveRemoteStorage.js +1 -1
  42. package/dist/src/ItemProperty/service/actors/resolveRemoteStorage.js.map +1 -1
  43. package/dist/src/ItemProperty/service/actors/saveValueToDb/analyzeInput.d.ts +2 -2
  44. package/dist/src/ItemProperty/service/actors/saveValueToDb/analyzeInput.d.ts.map +1 -1
  45. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveImage.d.ts +2 -2
  46. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveImage.d.ts.map +1 -1
  47. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveItemStorage.d.ts +2 -2
  48. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveItemStorage.d.ts.map +1 -1
  49. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveItemStorage.js +1 -0
  50. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveItemStorage.js.map +1 -1
  51. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveRelation.d.ts +2 -2
  52. package/dist/src/ItemProperty/service/actors/saveValueToDb/saveRelation.d.ts.map +1 -1
  53. package/dist/src/ItemProperty/service/actors/waitForDb.d.ts +2 -2
  54. package/dist/src/ItemProperty/service/actors/waitForDb.d.ts.map +1 -1
  55. package/dist/src/ItemProperty/service/propertyMachine.d.ts +60 -195
  56. package/dist/src/ItemProperty/service/propertyMachine.d.ts.map +1 -1
  57. package/dist/src/browser/helpers/FileManager.d.ts +1 -0
  58. package/dist/src/browser/helpers/FileManager.d.ts.map +1 -1
  59. package/dist/src/browser/helpers/FileManager.js +3 -0
  60. package/dist/src/browser/helpers/FileManager.js.map +1 -1
  61. package/dist/src/browser/react/services.js +1 -0
  62. package/dist/src/browser/react/services.js.map +1 -1
  63. package/dist/src/client/ClientManager.js +1 -0
  64. package/dist/src/client/ClientManager.js.map +1 -1
  65. package/dist/src/client/actors/initialize.d.ts.map +1 -1
  66. package/dist/src/client/actors/initialize.js +28 -14
  67. package/dist/src/client/actors/initialize.js.map +1 -1
  68. package/dist/src/client/actors/saveAppState.js +1 -0
  69. package/dist/src/client/actors/saveAppState.js.map +1 -1
  70. package/dist/src/client/index.d.ts +1 -1
  71. package/dist/src/client/index.d.ts.map +1 -1
  72. package/dist/src/db/Db/BaseDb.d.ts +1 -0
  73. package/dist/src/db/Db/BaseDb.d.ts.map +1 -1
  74. package/dist/src/db/Db/BaseDb.js +3 -0
  75. package/dist/src/db/Db/BaseDb.js.map +1 -1
  76. package/dist/src/db/read/getExistingItem.js +1 -0
  77. package/dist/src/db/read/getExistingItem.js.map +1 -1
  78. package/dist/src/db/read/getItemData.js +1 -0
  79. package/dist/src/db/read/getItemData.js.map +1 -1
  80. package/dist/src/db/read/getItemProperties.js +1 -0
  81. package/dist/src/db/read/getItemProperties.js.map +1 -1
  82. package/dist/src/db/read/getItemProperty.js +1 -0
  83. package/dist/src/db/read/getItemProperty.js.map +1 -1
  84. package/dist/src/db/read/getItems.js +1 -0
  85. package/dist/src/db/read/getItems.js.map +1 -1
  86. package/dist/src/db/read/getMetadata.js +1 -0
  87. package/dist/src/db/read/getMetadata.js.map +1 -1
  88. package/dist/src/db/read/getModelSchemas.js +1 -0
  89. package/dist/src/db/read/getModelSchemas.js.map +1 -1
  90. package/dist/src/db/read/getModels.js +1 -0
  91. package/dist/src/db/read/getModels.js.map +1 -1
  92. package/dist/src/db/read/getPropertyData.js +1 -0
  93. package/dist/src/db/read/getPropertyData.js.map +1 -1
  94. package/dist/src/db/read/getRelationValueData.js +1 -0
  95. package/dist/src/db/read/getRelationValueData.js.map +1 -1
  96. package/dist/src/db/read/getSeedData.js +1 -0
  97. package/dist/src/db/read/getSeedData.js.map +1 -1
  98. package/dist/src/db/read/getStorageTransactionIdForSeedUid.js +1 -0
  99. package/dist/src/db/read/getStorageTransactionIdForSeedUid.js.map +1 -1
  100. package/dist/src/db/read/getVersionData.js +1 -0
  101. package/dist/src/db/read/getVersionData.js.map +1 -1
  102. package/dist/src/db/read/subqueries/metadataLatest.js +1 -0
  103. package/dist/src/db/read/subqueries/metadataLatest.js.map +1 -1
  104. package/dist/src/db/read/subqueries/versionData.js +1 -0
  105. package/dist/src/db/read/subqueries/versionData.js.map +1 -1
  106. package/dist/src/db/write/createMetadata.js +1 -0
  107. package/dist/src/db/write/createMetadata.js.map +1 -1
  108. package/dist/src/db/write/createSeed.js +1 -0
  109. package/dist/src/db/write/createSeed.js.map +1 -1
  110. package/dist/src/db/write/createSeeds.js +1 -0
  111. package/dist/src/db/write/createSeeds.js.map +1 -1
  112. package/dist/src/db/write/createVersion.js +1 -0
  113. package/dist/src/db/write/createVersion.js.map +1 -1
  114. package/dist/src/db/write/deleteItem.js +1 -0
  115. package/dist/src/db/write/deleteItem.js.map +1 -1
  116. package/dist/src/db/write/saveAppState.js +1 -0
  117. package/dist/src/db/write/saveAppState.js.map +1 -1
  118. package/dist/src/db/write/saveMetadata.js +1 -0
  119. package/dist/src/db/write/saveMetadata.js.map +1 -1
  120. package/dist/src/db/write/updateItemPropertyValue.js +1 -0
  121. package/dist/src/db/write/updateItemPropertyValue.js.map +1 -1
  122. package/dist/src/db/write/updateMetadata.js +1 -0
  123. package/dist/src/db/write/updateMetadata.js.map +1 -1
  124. package/dist/src/events/files/download.js +1 -0
  125. package/dist/src/events/files/download.js.map +1 -1
  126. package/dist/src/events/item/syncDbWithEas.js +1 -0
  127. package/dist/src/events/item/syncDbWithEas.js.map +1 -1
  128. package/dist/src/helpers/FileManager/BaseFileManager.d.ts +2 -1
  129. package/dist/src/helpers/FileManager/BaseFileManager.d.ts.map +1 -1
  130. package/dist/src/helpers/FileManager/BaseFileManager.js +3 -0
  131. package/dist/src/helpers/FileManager/BaseFileManager.js.map +1 -1
  132. package/dist/src/helpers/db.js +1 -0
  133. package/dist/src/helpers/db.js.map +1 -1
  134. package/dist/src/helpers/environment.js +6 -1
  135. package/dist/src/helpers/environment.js.map +1 -1
  136. package/dist/src/helpers/index.d.ts.map +1 -1
  137. package/dist/src/helpers/index.js.map +1 -1
  138. package/dist/src/interfaces/IItem.d.ts +1 -1
  139. package/dist/src/interfaces/IItem.d.ts.map +1 -1
  140. package/dist/src/node/Item/Item.js +11 -0
  141. package/dist/src/node/Item/Item.js.map +1 -0
  142. package/dist/src/node/ItemProperty/ItemProperty.js +10 -0
  143. package/dist/src/node/ItemProperty/ItemProperty.js.map +1 -0
  144. package/dist/src/node/codegen/drizzle.js +36 -2
  145. package/dist/src/node/codegen/drizzle.js.map +1 -1
  146. package/dist/src/node/db/Db.d.ts.map +1 -1
  147. package/dist/src/node/db/Db.js +64 -0
  148. package/dist/src/node/db/Db.js.map +1 -0
  149. package/dist/src/node/helpers/FileManager.d.ts +1 -0
  150. package/dist/src/node/helpers/FileManager.d.ts.map +1 -1
  151. package/dist/src/node/helpers/FileManager.js +53 -0
  152. package/dist/src/node/helpers/FileManager.js.map +1 -0
  153. package/dist/src/seedSchema/AppStateSchema.d.ts +2 -1
  154. package/dist/src/seedSchema/AppStateSchema.d.ts.map +1 -1
  155. package/dist/src/seedSchema/AppStateSchema.js.map +1 -1
  156. package/dist/src/seedSchema/ConfigSchema.d.ts +2 -0
  157. package/dist/src/seedSchema/ConfigSchema.d.ts.map +1 -1
  158. package/dist/src/seedSchema/ConfigSchema.js +5 -8
  159. package/dist/src/seedSchema/ConfigSchema.js.map +1 -1
  160. package/dist/src/seedSchema/MetadataSchema.d.ts +2 -1
  161. package/dist/src/seedSchema/MetadataSchema.d.ts.map +1 -1
  162. package/dist/src/seedSchema/MetadataSchema.js.map +1 -1
  163. package/dist/src/seedSchema/ModelSchema.d.ts +3 -2
  164. package/dist/src/seedSchema/ModelSchema.d.ts.map +1 -1
  165. package/dist/src/seedSchema/ModelSchema.js.map +1 -1
  166. package/dist/src/seedSchema/SeedSchema.d.ts +2 -1
  167. package/dist/src/seedSchema/SeedSchema.d.ts.map +1 -1
  168. package/dist/src/seedSchema/SeedSchema.js.map +1 -1
  169. package/dist/src/seedSchema/VersionSchema.d.ts +2 -1
  170. package/dist/src/seedSchema/VersionSchema.d.ts.map +1 -1
  171. package/dist/src/seedSchema/VersionSchema.js.map +1 -1
  172. package/dist/src/seedSchema/index.d.ts +1 -0
  173. package/dist/src/seedSchema/index.d.ts.map +1 -1
  174. package/dist/src/services/allItems/actors/fetchRelatedItems.js +1 -0
  175. package/dist/src/services/allItems/actors/fetchRelatedItems.js.map +1 -1
  176. package/dist/src/services/allItems/actors/initialize.js +1 -0
  177. package/dist/src/services/allItems/actors/initialize.js.map +1 -1
  178. package/dist/src/services/global/actors/addModelsToDb.js +1 -0
  179. package/dist/src/services/global/actors/addModelsToDb.js.map +1 -1
  180. package/dist/src/services/global/actors/initialize.js +1 -0
  181. package/dist/src/services/global/actors/initialize.js.map +1 -1
  182. package/dist/src/services/internal/actors/saveConfig.d.ts.map +1 -1
  183. package/dist/src/services/internal/actors/saveConfig.js +16 -29
  184. package/dist/src/services/internal/actors/saveConfig.js.map +1 -1
  185. package/dist/src/services/internal/helpers.d.ts.map +1 -1
  186. package/dist/src/services/internal/helpers.js +2 -2
  187. package/dist/src/services/internal/helpers.js.map +1 -1
  188. package/dist/src/services/publish/actors/preparePublishRequestData.js +1 -0
  189. package/dist/src/services/publish/actors/preparePublishRequestData.js.map +1 -1
  190. package/dist/src/types/item.d.ts +9 -8
  191. package/dist/src/types/item.d.ts.map +1 -1
  192. package/package.json +8 -2
@@ -1 +1 @@
1
- {"version":3,"file":"services.js","sources":["../../../../../src/browser/react/services.ts"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react'\nimport { ActorRef, InspectedEventEvent } from 'xstate'\nimport { orderBy } from 'lodash-es'\nimport { produce } from 'immer'\nimport { eventEmitter } from '@/eventBus'\nimport pluralize from 'pluralize'\nimport { getGlobalService } from '@/services/global/globalMachine'\nimport { useSelector } from '@xstate/react'\nimport debug from 'debug'\nimport { appState } from '@/seedSchema'\nimport { like } from 'drizzle-orm'\nimport { BaseDb } from '@/db/Db/BaseDb'\nimport { MachineIds } from '@/services/internal/constants'\n\nconst logger = debug('seedSdk:react:services')\n\nconst finalStrings = ['idle', 'ready', 'done', 'success', 'initialized']\n\nexport const getServiceName = (service: ActorRef<any, any>) => {\n let name = 'actor'\n if (service && service.uniqueKey) {\n name = service.uniqueKey\n }\n if (service && !service.uniqueKey && service.logic && service.logic.config) {\n name = getServiceUniqueKey(service)\n }\n return name\n}\n\nexport const getServiceValue = (\n service: ActorRef<any, any>,\n): string | undefined => {\n let value\n if (service && service.getSnapshot() && service.getSnapshot().value) {\n value = service.getSnapshot().value\n }\n if (getServiceName(service) === 'global') {\n if (\n value &&\n typeof value === 'object' &&\n Object.keys(value).length > 0 &&\n Object.keys(value)[0] === 'initialized'\n ) {\n value = 'ready'\n }\n }\n if (value && typeof value === 'object') {\n value = JSON.stringify(value)\n }\n return value\n}\n\nexport const getServiceUniqueKey = (service: ActorRef<any, any>) => {\n if (!service || !service.logic || !service.logic.config || !service._snapshot) {\n return\n }\n const config = service.logic.config\n if (!config.id) {\n return\n }\n let uniqueKey = config.id\n if (config.id.includes('@seedSdk/')) {\n uniqueKey = config.id.match(/^.*@seedSdk\\/(\\w+)[\\.\\w]*/)[1]\n }\n let snapshot\n try {\n snapshot = service.getSnapshot()\n } catch (error) {\n logger('Error:', error)\n return uniqueKey\n }\n if (snapshot) {\n const context = snapshot.context\n if (context && context.dbName) {\n uniqueKey = context.dbName\n }\n if (context && context.modelNamePlural) {\n uniqueKey = context.modelNamePlural\n }\n if (context && context.modelName) {\n uniqueKey = pluralize(context.modelName.toLowerCase())\n }\n }\n return uniqueKey\n}\n\nexport const useService = (service: ActorRef<any, any>) => {\n const [timeElapsed, setTimeElapsed] = useState(0)\n\n const getPercentComplete = (service: ActorRef<any, any>) => {\n let percentComplete = 0\n if (service.logic.states) {\n const stateNames = []\n const startupStates = []\n\n for (const [stateName, state] of Object.entries(service.logic.states)) {\n if (state.tags.includes('loading')) {\n stateNames.push(stateName)\n startupStates.push(state)\n }\n }\n\n const totalStates = startupStates.length\n const value = getServiceValue(service)\n if (finalStrings.includes(value)) {\n return 0\n }\n const stateIndex = stateNames.indexOf(value)\n percentComplete = (stateIndex / totalStates) * 100\n }\n return percentComplete\n }\n\n const updateTime = useCallback(\n (interval) => {\n const context = service.getSnapshot().context\n const status = service.getSnapshot().value\n if (\n status === 'done' ||\n status === 'success' ||\n status === 'idle' ||\n status === 'ready'\n ) {\n clearInterval(interval)\n return\n }\n setTimeElapsed((timeElapsed) => timeElapsed + 1)\n },\n [service],\n )\n\n const startInterval = useCallback(() => {\n const interval = setInterval(() => {\n updateTime(interval)\n }, 1000)\n return interval\n }, [updateTime, service])\n\n useEffect(() => {\n const interval = startInterval()\n return () => clearInterval(interval)\n }, [])\n\n return {\n name: getServiceName(service),\n timeElapsed,\n value: getServiceValue(service),\n percentComplete: getPercentComplete(service),\n uniqueKey: getServiceUniqueKey(service),\n }\n}\n\nexport const useIsDbReady = () => {\n const [isDbReady, setIsDbReady] = useState(false)\n\n const { internalStatus } = useGlobalServiceStatus()\n\n useEffect(() => {\n if (internalStatus === 'ready') {\n setIsDbReady(true)\n }\n }, [internalStatus])\n\n useEffect(() => {\n if (internalStatus === 'ready') {\n setIsDbReady(true)\n }\n }, [])\n \n\n return isDbReady\n}\n\nexport const usePersistedSnapshots = () => {\n const [initialized, setInitialized] = useState(false)\n\n const hasSavedSnapshots = useHasSavedSnapshots()\n\n const { services, percentComplete } = useServices()\n\n // Helper function to save all actor snapshots to the database\n const save = useCallback(async () => {\n for (const actor of services) {\n const uniqueKey = getServiceUniqueKey(actor)\n logger(\n `would save to db with snapshot__${uniqueKey}:`,\n JSON.stringify(actor.getPersistedSnapshot()),\n )\n // await writeAppState(\n // `snapshot__${uniqueKey}`,\n // JSON.stringify(actor.getPersistedSnapshot()),\n // )\n }\n }, [services])\n\n // Helper function to load persisted snapshots from the database\n const load = useCallback(async () => {\n const appDb = BaseDb.getAppDb()\n\n if (!appDb) {\n return []\n }\n\n const persistedSnapshots = await appDb\n .select()\n .from(appState)\n .where(like(appState.key, 'snapshot__%'))\n return persistedSnapshots\n }, [])\n\n useEffect(() => {\n if (!hasSavedSnapshots || initialized) {\n return\n }\n const initialize = async () => {\n const persistedSnapshots = await load()\n logger('persistedSnapshots:', persistedSnapshots)\n setInitialized(true)\n }\n\n initialize()\n\n return () => {\n save() // Save snapshots on unmount\n }\n }, [hasSavedSnapshots, initialized])\n}\n\nexport const useHasSavedSnapshots = () => {\n const [hasSavedSnapshots, setHasSavedSnapshots] = useState(false)\n\n const isDbReady = useIsDbReady()\n\n useEffect(() => {\n if (isDbReady) {\n const _checkForSnapshots = 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 if (rows && rows.length > 0) {\n setHasSavedSnapshots(true)\n }\n }\n\n _checkForSnapshots()\n }\n }, [isDbReady])\n\n return hasSavedSnapshots\n}\n\nexport const useServices = () => {\n const [actors, setActors] = useState<ActorRef<any, any>[]>([])\n const [percentComplete, setPercentComplete] = useState(5)\n\n const actorsMap = new Map<string, ActorRef<any, any>>()\n\n useEffect(() => {\n const globalServiceListener = (eventObj: InspectedEventEvent) => {\n if (eventObj && eventObj.event && eventObj.event.type === 'init') {\n return\n }\n if (\n !eventObj || \n !eventObj.actorRef || \n !eventObj.actorRef.logic || \n !eventObj.actorRef.logic.config ||\n !eventObj.actorRef._snapshot\n ) {\n return\n }\n \n const service = eventObj.actorRef\n const services = [service]\n\n if (service.logic.config.id === MachineIds.GLOBAL) {\n const context = service.getSnapshot().context\n const keys = Object.keys(context)\n for (const key of keys) {\n if (!key.startsWith('internal') && key.endsWith('Service')) {\n const allItemsService = context[key]\n services.push(allItemsService)\n }\n }\n }\n\n services.forEach((innerService) => {\n const uniqueKey = getServiceUniqueKey(innerService)\n if (!uniqueKey) {\n return\n }\n innerService.uniqueKey = uniqueKey\n actorsMap.set(uniqueKey, innerService)\n })\n\n let actorsArray = Array.from(actorsMap.values())\n actorsArray = orderBy(actorsArray, (a) => a.logic.config.id, ['asc'])\n\n setActors(\n produce(actors, (draft) => {\n return actorsArray\n }),\n )\n }\n\n eventEmitter.addListener('inspect.globalService', globalServiceListener)\n\n return () => {\n eventEmitter.removeListener(\n 'inspect.globalService',\n globalServiceListener,\n )\n }\n }, [])\n\n useEffect(() => {\n const globalService = actors.find(\n (actor) => getServiceName(actor) === 'global',\n )\n const internalService = actors.find(\n (actor) => getServiceName(actor) === 'internal',\n )\n if (!globalService || !internalService) {\n return\n }\n if (\n getServiceValue(globalService) === 'initialized' &&\n getServiceValue(internalService) === 'ready'\n ) {\n const denominator = actors.length\n const finishedActors = actors.filter((actor) => {\n const value = getServiceValue(actor)\n return finalStrings.includes(value)\n })\n const numerator = finishedActors.length\n const percentComplete = (numerator / denominator) * 100\n setPercentComplete(percentComplete)\n }\n }, [actors])\n\n return {\n services: actors,\n percentComplete,\n }\n}\n\nexport const useGlobalServiceStatus = () => {\n const globalService = getGlobalService()\n\n const status = useSelector(globalService, (snapshot) => {\n return snapshot.value\n })\n\n const internalStatus = useSelector(\n globalService.getSnapshot().context.internalService,\n (snapshot) => {\n if (!snapshot) {\n return\n }\n return snapshot.value\n },\n )\n\n const internalService = useSelector(globalService, (snapshot) => {\n return snapshot.context.internalService\n })\n\n return {\n status,\n internalStatus,\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"services.js","sources":["../../../../../src/browser/react/services.ts"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react'\nimport { ActorRef, InspectedEventEvent } from 'xstate'\nimport { orderBy } from 'lodash-es'\nimport { produce } from 'immer'\nimport { eventEmitter } from '@/eventBus'\nimport pluralize from 'pluralize'\nimport { getGlobalService } from '@/services/global/globalMachine'\nimport { useSelector } from '@xstate/react'\nimport debug from 'debug'\nimport { appState } from '@/seedSchema'\nimport { like } from 'drizzle-orm'\nimport { BaseDb } from '@/db/Db/BaseDb'\nimport { MachineIds } from '@/services/internal/constants'\n\nconst logger = debug('seedSdk:react:services')\n\nconst finalStrings = ['idle', 'ready', 'done', 'success', 'initialized']\n\nexport const getServiceName = (service: ActorRef<any, any>) => {\n let name = 'actor'\n if (service && service.uniqueKey) {\n name = service.uniqueKey\n }\n if (service && !service.uniqueKey && service.logic && service.logic.config) {\n name = getServiceUniqueKey(service)\n }\n return name\n}\n\nexport const getServiceValue = (\n service: ActorRef<any, any>,\n): string | undefined => {\n let value\n if (service && service.getSnapshot() && service.getSnapshot().value) {\n value = service.getSnapshot().value\n }\n if (getServiceName(service) === 'global') {\n if (\n value &&\n typeof value === 'object' &&\n Object.keys(value).length > 0 &&\n Object.keys(value)[0] === 'initialized'\n ) {\n value = 'ready'\n }\n }\n if (value && typeof value === 'object') {\n value = JSON.stringify(value)\n }\n return value\n}\n\nexport const getServiceUniqueKey = (service: ActorRef<any, any>) => {\n if (!service || !service.logic || !service.logic.config || !service._snapshot) {\n return\n }\n const config = service.logic.config\n if (!config.id) {\n return\n }\n let uniqueKey = config.id\n if (config.id.includes('@seedSdk/')) {\n uniqueKey = config.id.match(/^.*@seedSdk\\/(\\w+)[\\.\\w]*/)[1]\n }\n let snapshot\n try {\n snapshot = service.getSnapshot()\n } catch (error) {\n logger('Error:', error)\n return uniqueKey\n }\n if (snapshot) {\n const context = snapshot.context\n if (context && context.dbName) {\n uniqueKey = context.dbName\n }\n if (context && context.modelNamePlural) {\n uniqueKey = context.modelNamePlural\n }\n if (context && context.modelName) {\n uniqueKey = pluralize(context.modelName.toLowerCase())\n }\n }\n return uniqueKey\n}\n\nexport const useService = (service: ActorRef<any, any>) => {\n const [timeElapsed, setTimeElapsed] = useState(0)\n\n const getPercentComplete = (service: ActorRef<any, any>) => {\n let percentComplete = 0\n if (service.logic.states) {\n const stateNames = []\n const startupStates = []\n\n for (const [stateName, state] of Object.entries(service.logic.states)) {\n if (state.tags.includes('loading')) {\n stateNames.push(stateName)\n startupStates.push(state)\n }\n }\n\n const totalStates = startupStates.length\n const value = getServiceValue(service)\n if (finalStrings.includes(value)) {\n return 0\n }\n const stateIndex = stateNames.indexOf(value)\n percentComplete = (stateIndex / totalStates) * 100\n }\n return percentComplete\n }\n\n const updateTime = useCallback(\n (interval) => {\n const context = service.getSnapshot().context\n const status = service.getSnapshot().value\n if (\n status === 'done' ||\n status === 'success' ||\n status === 'idle' ||\n status === 'ready'\n ) {\n clearInterval(interval)\n return\n }\n setTimeElapsed((timeElapsed) => timeElapsed + 1)\n },\n [service],\n )\n\n const startInterval = useCallback(() => {\n const interval = setInterval(() => {\n updateTime(interval)\n }, 1000)\n return interval\n }, [updateTime, service])\n\n useEffect(() => {\n const interval = startInterval()\n return () => clearInterval(interval)\n }, [])\n\n return {\n name: getServiceName(service),\n timeElapsed,\n value: getServiceValue(service),\n percentComplete: getPercentComplete(service),\n uniqueKey: getServiceUniqueKey(service),\n }\n}\n\nexport const useIsDbReady = () => {\n const [isDbReady, setIsDbReady] = useState(false)\n\n const { internalStatus } = useGlobalServiceStatus()\n\n useEffect(() => {\n if (internalStatus === 'ready') {\n setIsDbReady(true)\n }\n }, [internalStatus])\n\n useEffect(() => {\n if (internalStatus === 'ready') {\n setIsDbReady(true)\n }\n }, [])\n \n\n return isDbReady\n}\n\nexport const usePersistedSnapshots = () => {\n const [initialized, setInitialized] = useState(false)\n\n const hasSavedSnapshots = useHasSavedSnapshots()\n\n const { services, percentComplete } = useServices()\n\n // Helper function to save all actor snapshots to the database\n const save = useCallback(async () => {\n for (const actor of services) {\n const uniqueKey = getServiceUniqueKey(actor)\n logger(\n `would save to db with snapshot__${uniqueKey}:`,\n JSON.stringify(actor.getPersistedSnapshot()),\n )\n // await writeAppState(\n // `snapshot__${uniqueKey}`,\n // JSON.stringify(actor.getPersistedSnapshot()),\n // )\n }\n }, [services])\n\n // Helper function to load persisted snapshots from the database\n const load = useCallback(async () => {\n const appDb = BaseDb.getAppDb()\n\n if (!appDb) {\n return []\n }\n\n const persistedSnapshots = await appDb\n .select()\n .from(appState)\n .where(like(appState.key, 'snapshot__%'))\n return persistedSnapshots\n }, [])\n\n useEffect(() => {\n if (!hasSavedSnapshots || initialized) {\n return\n }\n const initialize = async () => {\n const persistedSnapshots = await load()\n logger('persistedSnapshots:', persistedSnapshots)\n setInitialized(true)\n }\n\n initialize()\n\n return () => {\n save() // Save snapshots on unmount\n }\n }, [hasSavedSnapshots, initialized])\n}\n\nexport const useHasSavedSnapshots = () => {\n const [hasSavedSnapshots, setHasSavedSnapshots] = useState(false)\n\n const isDbReady = useIsDbReady()\n\n useEffect(() => {\n if (isDbReady) {\n const _checkForSnapshots = 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 if (rows && rows.length > 0) {\n setHasSavedSnapshots(true)\n }\n }\n\n _checkForSnapshots()\n }\n }, [isDbReady])\n\n return hasSavedSnapshots\n}\n\nexport const useServices = () => {\n const [actors, setActors] = useState<ActorRef<any, any>[]>([])\n const [percentComplete, setPercentComplete] = useState(5)\n\n const actorsMap = new Map<string, ActorRef<any, any>>()\n\n useEffect(() => {\n const globalServiceListener = (eventObj: InspectedEventEvent) => {\n if (eventObj && eventObj.event && eventObj.event.type === 'init') {\n return\n }\n if (\n !eventObj || \n !eventObj.actorRef || \n !eventObj.actorRef.logic || \n !eventObj.actorRef.logic.config ||\n !eventObj.actorRef._snapshot\n ) {\n return\n }\n \n const service = eventObj.actorRef\n const services = [service]\n\n if (service.logic.config.id === MachineIds.GLOBAL) {\n const context = service.getSnapshot().context\n const keys = Object.keys(context)\n for (const key of keys) {\n if (!key.startsWith('internal') && key.endsWith('Service')) {\n const allItemsService = context[key]\n services.push(allItemsService)\n }\n }\n }\n\n services.forEach((innerService) => {\n const uniqueKey = getServiceUniqueKey(innerService)\n if (!uniqueKey) {\n return\n }\n innerService.uniqueKey = uniqueKey\n actorsMap.set(uniqueKey, innerService)\n })\n\n let actorsArray = Array.from(actorsMap.values())\n actorsArray = orderBy(actorsArray, (a) => a.logic.config.id, ['asc'])\n\n setActors(\n produce(actors, (draft) => {\n return actorsArray\n }),\n )\n }\n\n eventEmitter.addListener('inspect.globalService', globalServiceListener)\n\n return () => {\n eventEmitter.removeListener(\n 'inspect.globalService',\n globalServiceListener,\n )\n }\n }, [])\n\n useEffect(() => {\n const globalService = actors.find(\n (actor) => getServiceName(actor) === 'global',\n )\n const internalService = actors.find(\n (actor) => getServiceName(actor) === 'internal',\n )\n if (!globalService || !internalService) {\n return\n }\n if (\n getServiceValue(globalService) === 'initialized' &&\n getServiceValue(internalService) === 'ready'\n ) {\n const denominator = actors.length\n const finishedActors = actors.filter((actor) => {\n const value = getServiceValue(actor)\n return finalStrings.includes(value)\n })\n const numerator = finishedActors.length\n const percentComplete = (numerator / denominator) * 100\n setPercentComplete(percentComplete)\n }\n }, [actors])\n\n return {\n services: actors,\n percentComplete,\n }\n}\n\nexport const useGlobalServiceStatus = () => {\n const globalService = getGlobalService()\n\n const status = useSelector(globalService, (snapshot) => {\n return snapshot.value\n })\n\n const internalStatus = useSelector(\n globalService.getSnapshot().context.internalService,\n (snapshot) => {\n if (!snapshot) {\n return\n }\n return snapshot.value\n },\n )\n\n const internalService = useSelector(globalService, (snapshot) => {\n return snapshot.context.internalService\n })\n\n return {\n status,\n internalStatus,\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAcA,MAAM,MAAM,GAAG,KAAK,CAAC,wBAAwB,CAAC;AAE9C,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC;AAE3D,MAAA,cAAc,GAAG,CAAC,OAA2B,KAAI;IAC5D,IAAI,IAAI,GAAG,OAAO;AAClB,IAAA,IAAI,OAAO,IAAI,OAAO,CAAC,SAAS,EAAE;AAChC,QAAA,IAAI,GAAG,OAAO,CAAC,SAAS;;AAE1B,IAAA,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE;AAC1E,QAAA,IAAI,GAAG,mBAAmB,CAAC,OAAO,CAAC;;AAErC,IAAA,OAAO,IAAI;AACb;AAEa,MAAA,eAAe,GAAG,CAC7B,OAA2B,KACL;AACtB,IAAA,IAAI,KAAK;AACT,IAAA,IAAI,OAAO,IAAI,OAAO,CAAC,WAAW,EAAE,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE;AACnE,QAAA,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK;;AAErC,IAAA,IAAI,cAAc,CAAC,OAAO,CAAC,KAAK,QAAQ,EAAE;AACxC,QAAA,IACE,KAAK;YACL,OAAO,KAAK,KAAK,QAAQ;YACzB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,aAAa,EACvC;YACA,KAAK,GAAG,OAAO;;;AAGnB,IAAA,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACtC,QAAA,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;;AAE/B,IAAA,OAAO,KAAK;AACd;AAEa,MAAA,mBAAmB,GAAG,CAAC,OAA2B,KAAI;IACjE,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;QAC7E;;AAEF,IAAA,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM;AACnC,IAAA,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;QACd;;AAEF,IAAA,IAAI,SAAS,GAAG,MAAM,CAAC,EAAE;IACzB,IAAI,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;AACnC,QAAA,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC;;AAE7D,IAAA,IAAI,QAAQ;AACZ,IAAA,IAAI;AACF,QAAA,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE;;IAChC,OAAO,KAAK,EAAE;AACd,QAAA,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC;AACvB,QAAA,OAAO,SAAS;;IAElB,IAAI,QAAQ,EAAE;AACZ,QAAA,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO;AAChC,QAAA,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE;AAC7B,YAAA,SAAS,GAAG,OAAO,CAAC,MAAM;;AAE5B,QAAA,IAAI,OAAO,IAAI,OAAO,CAAC,eAAe,EAAE;AACtC,YAAA,SAAS,GAAG,OAAO,CAAC,eAAe;;AAErC,QAAA,IAAI,OAAO,IAAI,OAAO,CAAC,SAAS,EAAE;YAChC,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;;;AAG1D,IAAA,OAAO,SAAS;AAClB;AAEa,MAAA,UAAU,GAAG,CAAC,OAA2B,KAAI;IACxD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;AAEjD,IAAA,MAAM,kBAAkB,GAAG,CAAC,OAA2B,KAAI;QACzD,IAAI,eAAe,GAAG,CAAC;AACvB,QAAA,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE;YACxB,MAAM,UAAU,GAAG,EAAE;YACrB,MAAM,aAAa,GAAG,EAAE;AAExB,YAAA,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;gBACrE,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;AAClC,oBAAA,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;AAC1B,oBAAA,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;;;AAI7B,YAAA,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM;AACxC,YAAA,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC;AACtC,YAAA,IAAI,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;AAChC,gBAAA,OAAO,CAAC;;YAEV,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC;YAC5C,eAAe,GAAG,CAAC,UAAU,GAAG,WAAW,IAAI,GAAG;;AAEpD,QAAA,OAAO,eAAe;AACxB,KAAC;AAED,IAAA,MAAM,UAAU,GAAG,WAAW,CAC5B,CAAC,QAAQ,KAAI;QACK,OAAO,CAAC,WAAW,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK;QAC1C,IACE,MAAM,KAAK,MAAM;AACjB,YAAA,MAAM,KAAK,SAAS;AACpB,YAAA,MAAM,KAAK,MAAM;YACjB,MAAM,KAAK,OAAO,EAClB;YACA,aAAa,CAAC,QAAQ,CAAC;YACvB;;QAEF,cAAc,CAAC,CAAC,WAAW,KAAK,WAAW,GAAG,CAAC,CAAC;AAClD,KAAC,EACD,CAAC,OAAO,CAAC,CACV;AAED,IAAA,MAAM,aAAa,GAAG,WAAW,CAAC,MAAK;AACrC,QAAA,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAK;YAChC,UAAU,CAAC,QAAQ,CAAC;SACrB,EAAE,IAAI,CAAC;AACR,QAAA,OAAO,QAAQ;AACjB,KAAC,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAEzB,SAAS,CAAC,MAAK;AACb,QAAA,MAAM,QAAQ,GAAG,aAAa,EAAE;AAChC,QAAA,OAAO,MAAM,aAAa,CAAC,QAAQ,CAAC;KACrC,EAAE,EAAE,CAAC;IAEN,OAAO;AACL,QAAA,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC;QAC7B,WAAW;AACX,QAAA,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC;AAC/B,QAAA,eAAe,EAAE,kBAAkB,CAAC,OAAO,CAAC;AAC5C,QAAA,SAAS,EAAE,mBAAmB,CAAC,OAAO,CAAC;KACxC;AACH;AAEO,MAAM,YAAY,GAAG,MAAK;IAC/B,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;AAEjD,IAAA,MAAM,EAAE,cAAc,EAAE,GAAG,sBAAsB,EAAE;IAEnD,SAAS,CAAC,MAAK;AACb,QAAA,IAAI,cAAc,KAAK,OAAO,EAAE;YAC9B,YAAY,CAAC,IAAI,CAAC;;AAEtB,KAAC,EAAE,CAAC,cAAc,CAAC,CAAC;IAEpB,SAAS,CAAC,MAAK;AACb,QAAA,IAAI,cAAc,KAAK,OAAO,EAAE;YAC9B,YAAY,CAAC,IAAI,CAAC;;KAErB,EAAE,EAAE,CAAC;AAGN,IAAA,OAAO,SAAS;AAClB;AAEO,MAAM,qBAAqB,GAAG,MAAK;IACxC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;AAErD,IAAA,MAAM,iBAAiB,GAAG,oBAAoB,EAAE;IAEhD,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,WAAW,EAAE;;AAGnD,IAAA,MAAM,IAAI,GAAG,WAAW,CAAC,YAAW;AAClC,QAAA,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE;AAC5B,YAAA,MAAM,SAAS,GAAG,mBAAmB,CAAC,KAAK,CAAC;AAC5C,YAAA,MAAM,CACJ,CAAA,gCAAA,EAAmC,SAAS,CAAA,CAAA,CAAG,EAC/C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC,CAC7C;;;;;;AAML,KAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;;AAGd,IAAA,MAAM,IAAI,GAAG,WAAW,CAAC,YAAW;AAClC,QAAA,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE;QAE/B,IAAI,CAAC,KAAK,EAAE;AACV,YAAA,OAAO,EAAE;;QAGX,MAAM,kBAAkB,GAAG,MAAM;AAC9B,aAAA,MAAM;aACN,IAAI,CAAC,QAAQ;aACb,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;AAC3C,QAAA,OAAO,kBAAkB;KAC1B,EAAE,EAAE,CAAC;IAEN,SAAS,CAAC,MAAK;AACb,QAAA,IAAI,CAAC,iBAAiB,IAAI,WAAW,EAAE;YACrC;;AAEF,QAAA,MAAM,UAAU,GAAG,YAAW;AAC5B,YAAA,MAAM,kBAAkB,GAAG,MAAM,IAAI,EAAE;AACvC,YAAA,MAAM,CAAC,qBAAqB,EAAE,kBAAkB,CAAC;YACjD,cAAc,CAAC,IAAI,CAAC;AACtB,SAAC;AAED,QAAA,UAAU,EAAE;AAEZ,QAAA,OAAO,MAAK;YACV,IAAI,EAAE,CAAA;AACR,SAAC;AACH,KAAC,EAAE,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC;AACtC;AAEO,MAAM,oBAAoB,GAAG,MAAK;IACvC,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;AAEjE,IAAA,MAAM,SAAS,GAAG,YAAY,EAAE;IAEhC,SAAS,CAAC,MAAK;QACb,IAAI,SAAS,EAAE;AACb,YAAA,MAAM,kBAAkB,GAAG,YAA0B;AACnD,gBAAA,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE;gBAE/B,MAAM,IAAI,GAAG,MAAM;AAChB,qBAAA,MAAM;qBACN,IAAI,CAAC,QAAQ;qBACb,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;gBAE3C,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC3B,oBAAoB,CAAC,IAAI,CAAC;;AAE9B,aAAC;AAED,YAAA,kBAAkB,EAAE;;AAExB,KAAC,EAAE,CAAC,SAAS,CAAC,CAAC;AAEf,IAAA,OAAO,iBAAiB;AAC1B;AAEO,MAAM,WAAW,GAAG,MAAK;IAC9B,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAuB,EAAE,CAAC;IAC9D,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;AAEzD,IAAA,MAAM,SAAS,GAAG,IAAI,GAAG,EAA8B;IAEvD,SAAS,CAAC,MAAK;AACb,QAAA,MAAM,qBAAqB,GAAG,CAAC,QAA6B,KAAI;AAC9D,YAAA,IAAI,QAAQ,IAAI,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE;gBAChE;;AAEF,YAAA,IACE,CAAC,QAAQ;gBACT,CAAC,QAAQ,CAAC,QAAQ;AAClB,gBAAA,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;AACxB,gBAAA,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM;AAC/B,gBAAA,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAC5B;gBACA;;AAGF,YAAA,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ;AACjC,YAAA,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC;AAE1B,YAAA,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,UAAU,CAAC,MAAM,EAAE;gBACjD,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,OAAO;gBAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;AACjC,gBAAA,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;AACtB,oBAAA,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;AAC1D,wBAAA,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC;AACpC,wBAAA,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC;;;;AAKpC,YAAA,QAAQ,CAAC,OAAO,CAAC,CAAC,YAAY,KAAI;AAChC,gBAAA,MAAM,SAAS,GAAG,mBAAmB,CAAC,YAAY,CAAC;gBACnD,IAAI,CAAC,SAAS,EAAE;oBACd;;AAEF,gBAAA,YAAY,CAAC,SAAS,GAAG,SAAS;AAClC,gBAAA,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC;AACxC,aAAC,CAAC;YAEF,IAAI,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;YAChD,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;YAErE,SAAS,CACP,OAAO,CAAC,MAAM,EAAE,CAAC,KAAK,KAAI;AACxB,gBAAA,OAAO,WAAW;aACnB,CAAC,CACH;AACH,SAAC;AAED,QAAA,YAAY,CAAC,WAAW,CAAC,uBAAuB,EAAE,qBAAqB,CAAC;AAExE,QAAA,OAAO,MAAK;AACV,YAAA,YAAY,CAAC,cAAc,CACzB,uBAAuB,EACvB,qBAAqB,CACtB;AACH,SAAC;KACF,EAAE,EAAE,CAAC;IAEN,SAAS,CAAC,MAAK;AACb,QAAA,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAC/B,CAAC,KAAK,KAAK,cAAc,CAAC,KAAK,CAAC,KAAK,QAAQ,CAC9C;AACD,QAAA,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CACjC,CAAC,KAAK,KAAK,cAAc,CAAC,KAAK,CAAC,KAAK,UAAU,CAChD;AACD,QAAA,IAAI,CAAC,aAAa,IAAI,CAAC,eAAe,EAAE;YACtC;;AAEF,QAAA,IACE,eAAe,CAAC,aAAa,CAAC,KAAK,aAAa;AAChD,YAAA,eAAe,CAAC,eAAe,CAAC,KAAK,OAAO,EAC5C;AACA,YAAA,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM;YACjC,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,KAAI;AAC7C,gBAAA,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC;AACpC,gBAAA,OAAO,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC;AACrC,aAAC,CAAC;AACF,YAAA,MAAM,SAAS,GAAG,cAAc,CAAC,MAAM;YACvC,MAAM,eAAe,GAAG,CAAC,SAAS,GAAG,WAAW,IAAI,GAAG;YACvD,kBAAkB,CAAC,eAAe,CAAC;;AAEvC,KAAC,EAAE,CAAC,MAAM,CAAC,CAAC;IAEZ,OAAO;AACL,QAAA,QAAQ,EAAE,MAAM;QAChB,eAAe;KAChB;AACH;AAEO,MAAM,sBAAsB,GAAG,MAAK;AACzC,IAAA,MAAM,aAAa,GAAG,gBAAgB,EAAE;IAExC,MAAM,MAAM,GAAG,WAAW,CAAC,aAAa,EAAE,CAAC,QAAQ,KAAI;QACrD,OAAO,QAAQ,CAAC,KAAK;AACvB,KAAC,CAAC;AAEF,IAAA,MAAM,cAAc,GAAG,WAAW,CAChC,aAAa,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,eAAe,EACnD,CAAC,QAAQ,KAAI;QACX,IAAI,CAAC,QAAQ,EAAE;YACb;;QAEF,OAAO,QAAQ,CAAC,KAAK;AACvB,KAAC,CACF;IAEuB,WAAW,CAAC,aAAa,EAAE,CAAC,QAAQ,KAAI;AAC9D,QAAA,OAAO,QAAQ,CAAC,OAAO,CAAC,eAAe;AACzC,KAAC;IAED,OAAO;QACL,MAAM;QACN,cAAc;KACf;AACH;;;;"}
@@ -9,6 +9,7 @@ import '../seedSchema/MetadataSchema.js';
9
9
  import { appState } from '../seedSchema/AppStateSchema.js';
10
10
  import { models } from '../seedSchema/ModelSchema.js';
11
11
  import '../seedSchema/ModelUidSchema.js';
12
+ import '../seedSchema/ConfigSchema.js';
12
13
  import { eq } from 'drizzle-orm';
13
14
  import { getGlobalService } from '../services/global/globalMachine.js';
14
15
 
@@ -1 +1 @@
1
- {"version":3,"file":"ClientManager.js","sources":["../../../../src/client/ClientManager.ts"],"sourcesContent":["import debug from 'debug'\nimport { createActor, waitFor } from 'xstate'\nimport { clientManagerMachine } from '@/client/clientManagerMachine'\n// import { BaseDb } from '@/db/Db/BaseDb'\n// import { appState } from '@/seedSchema'\n// import { eq } from 'drizzle-orm'\nimport { CLIENT_NOT_INITIALIZED } from '@/helpers/constants'\nimport { BaseDb } from '@/db/Db/BaseDb'\nimport { appState, models } from '@/seedSchema'\nimport { eq } from 'drizzle-orm'\nimport { getGlobalService } from '@/services/global/globalMachine'\n\nconst logger = debug('seedSdk:client')\n\ntype ModelDefObj = {\n name: string\n type: string\n properties: {\n [key: string]: any\n }\n}\n\nexport const clientManager = createActor(clientManagerMachine, {\n input: {\n isInitialized: false,\n }\n})\n\nconst subscription = clientManager.subscribe(( snapshot ) => {\n logger('ClientManager snapshot.value:', snapshot.value)\n logger('ClientManager snapshot.context.isInitialized:', snapshot.context.isInitialized)\n})\n\nclientManager.start()\n\nconst ensureInitialized = () => {\n if (!clientManager.getSnapshot().context.isInitialized) {\n throw new Error(CLIENT_NOT_INITIALIZED);\n }\n}\n\nexport const ClientManager = {\n isInitialized: () => {\n return clientManager.getSnapshot().context.isInitialized\n },\n getService: () => {\n ensureInitialized();\n return clientManager;\n },\n init: async (options: any) => {\n clientManager.send({ type: 'init', options });\n await waitFor(clientManager, (snapshot) => snapshot.context.isInitialized);\n },\n setAddresses: async (addresses: string[]) => {\n ensureInitialized();\n logger('setAddresses', addresses);\n clientManager.send({ type: 'setAddresses', addresses });\n await waitFor(clientManager, (snapshot) => !snapshot.context.isSaving);\n logger('setAddresses success', addresses);\n },\n getAddresses: async () => {\n ensureInitialized();\n const db = await BaseDb.getAppDb();\n const results = await db.select().from(appState).where(eq(appState.key, 'addresses'));\n return JSON.parse(results[0]?.value);\n },\n addModel: async (modelDef: ModelDefObj) => {\n const db = await BaseDb.getAppDb();\n const existingModels = await db.select().from(models).where(eq(models.name, modelDef.name));\n if (existingModels.length > 0) {\n return;\n }\n await db.insert(models).values({\n name: modelDef.name\n })\n const globalService = getGlobalService()\n globalService.send({ type: 'addModel', modelDef });\n },\n onReady: (callback: () => void) => {\n const subscription = clientManager.subscribe((snapshot) => {\n if (snapshot.context.isInitialized) {\n subscription.unsubscribe()\n callback();\n }\n });\n },\n stop: () => {\n ensureInitialized();\n clientManager.stop();\n },\n unload: () => {\n ensureInitialized();\n clientManager.stop();\n subscription.unsubscribe();\n },\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ClientManager.js","sources":["../../../../src/client/ClientManager.ts"],"sourcesContent":["import debug from 'debug'\nimport { createActor, waitFor } from 'xstate'\nimport { clientManagerMachine } from '@/client/clientManagerMachine'\n// import { BaseDb } from '@/db/Db/BaseDb'\n// import { appState } from '@/seedSchema'\n// import { eq } from 'drizzle-orm'\nimport { CLIENT_NOT_INITIALIZED } from '@/helpers/constants'\nimport { BaseDb } from '@/db/Db/BaseDb'\nimport { appState, models } from '@/seedSchema'\nimport { eq } from 'drizzle-orm'\nimport { getGlobalService } from '@/services/global/globalMachine'\n\nconst logger = debug('seedSdk:client')\n\ntype ModelDefObj = {\n name: string\n type: string\n properties: {\n [key: string]: any\n }\n}\n\nexport const clientManager = createActor(clientManagerMachine, {\n input: {\n isInitialized: false,\n }\n})\n\nconst subscription = clientManager.subscribe(( snapshot ) => {\n logger('ClientManager snapshot.value:', snapshot.value)\n logger('ClientManager snapshot.context.isInitialized:', snapshot.context.isInitialized)\n})\n\nclientManager.start()\n\nconst ensureInitialized = () => {\n if (!clientManager.getSnapshot().context.isInitialized) {\n throw new Error(CLIENT_NOT_INITIALIZED);\n }\n}\n\nexport const ClientManager = {\n isInitialized: () => {\n return clientManager.getSnapshot().context.isInitialized\n },\n getService: () => {\n ensureInitialized();\n return clientManager;\n },\n init: async (options: any) => {\n clientManager.send({ type: 'init', options });\n await waitFor(clientManager, (snapshot) => snapshot.context.isInitialized);\n },\n setAddresses: async (addresses: string[]) => {\n ensureInitialized();\n logger('setAddresses', addresses);\n clientManager.send({ type: 'setAddresses', addresses });\n await waitFor(clientManager, (snapshot) => !snapshot.context.isSaving);\n logger('setAddresses success', addresses);\n },\n getAddresses: async () => {\n ensureInitialized();\n const db = await BaseDb.getAppDb();\n const results = await db.select().from(appState).where(eq(appState.key, 'addresses'));\n return JSON.parse(results[0]?.value);\n },\n addModel: async (modelDef: ModelDefObj) => {\n const db = await BaseDb.getAppDb();\n const existingModels = await db.select().from(models).where(eq(models.name, modelDef.name));\n if (existingModels.length > 0) {\n return;\n }\n await db.insert(models).values({\n name: modelDef.name\n })\n const globalService = getGlobalService()\n globalService.send({ type: 'addModel', modelDef });\n },\n onReady: (callback: () => void) => {\n const subscription = clientManager.subscribe((snapshot) => {\n if (snapshot.context.isInitialized) {\n subscription.unsubscribe()\n callback();\n }\n });\n },\n stop: () => {\n ensureInitialized();\n clientManager.stop();\n },\n unload: () => {\n ensureInitialized();\n clientManager.stop();\n subscription.unsubscribe();\n },\n}\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"initialize.d.ts","sourceRoot":"","sources":["../../../../src/client/actors/initialize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAkB,MAAM,SAAS,CAAA;AACjF,OAAO,EAAgB,WAAW,EAAW,MAA2B,QAAQ,CAAC;AAsBjF,eAAO,MAAM,UAAU,qHAsFrB,CAAA"}
1
+ {"version":3,"file":"initialize.d.ts","sourceRoot":"","sources":["../../../../src/client/actors/initialize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAkB,MAAM,SAAS,CAAA;AACjF,OAAO,EAAgB,WAAW,EAAW,MAA2B,QAAQ,CAAC;AAqBjF,eAAO,MAAM,UAAU,qHAyGrB,CAAA"}
@@ -9,9 +9,8 @@ import { setupAllItemsEventHandlers } from '../../events/item/index.js';
9
9
  import { setupServiceHandlers } from '../../events/services/index.js';
10
10
  import { getGlobalService } from '../../services/global/globalMachine.js';
11
11
  import { GlobalState } from '../../services/internal/constants.js';
12
- import { isBrowser } from '../../helpers/environment.js';
12
+ import { isBrowser, isNode } from '../../helpers/environment.js';
13
13
  import { BaseFileManager } from '../../helpers/FileManager/BaseFileManager.js';
14
- import { BaseDb } from '../../db/Db/BaseDb.js';
15
14
  import '../../helpers/index.js';
16
15
  import { BaseItem } from '../../Item/BaseItem.js';
17
16
  import { BaseItemProperty } from '../../ItemProperty/BaseItemProperty.js';
@@ -29,20 +28,35 @@ const initialize = fromCallback(({ sendBack, input: { context, event } }) => {
29
28
  }
30
29
  const _initialize = async () => {
31
30
  const { config, addresses } = options;
31
+ const BaseDb = (await import('../../db/Db/BaseDb.js')).BaseDb;
32
+ let FileManager;
33
+ let Db;
34
+ let QueryClient;
35
+ let ArweaveClient;
36
+ let Item;
37
+ let ItemProperty;
32
38
  if (isBrowser()) {
33
- const FileManager = (await import('../../browser/helpers/FileManager.js')).FileManager;
34
- const Db = (await import('../../browser/db/Db.js')).Db;
35
- const QueryClient = (await import('../../browser/helpers/QueryClient.js')).QueryClient;
36
- const ArweaveClient = (await import('../../browser/helpers/ArweaveClient.js')).ArweaveClient;
37
- const Item = (await import('../../browser/Item/Item.js')).Item;
38
- const ItemProperty = (await import('../../browser/ItemProperty/ItemProperty.js')).ItemProperty;
39
- BaseFileManager.setPlatformClass(FileManager);
40
- BaseDb.setPlatformClass(Db);
41
- BaseQueryClient.setPlatformClass(QueryClient);
42
- BaseArweaveClient.setPlatformClass(ArweaveClient);
43
- BaseItem.setPlatformClass(Item);
44
- BaseItemProperty.setPlatformClass(ItemProperty);
39
+ FileManager = (await import('../../browser/helpers/FileManager.js')).FileManager;
40
+ Db = (await import('../../browser/db/Db.js')).Db;
41
+ QueryClient = (await import('../../browser/helpers/QueryClient.js')).QueryClient;
42
+ ArweaveClient = (await import('../../browser/helpers/ArweaveClient.js')).ArweaveClient;
43
+ Item = (await import('../../browser/Item/Item.js')).Item;
44
+ ItemProperty = (await import('../../browser/ItemProperty/ItemProperty.js')).ItemProperty;
45
45
  }
46
+ if (isNode()) {
47
+ FileManager = (await import('../../node/helpers/FileManager.js')).FileManager;
48
+ Db = (await import('../../node/db/Db.js')).Db;
49
+ QueryClient = (await import('../../node/helpers/QueryClient.js')).QueryClient;
50
+ ArweaveClient = (await import('../../node/helpers/ArweaveClient.js')).ArweaveClient;
51
+ Item = (await import('../../node/Item/Item.js')).Item;
52
+ ItemProperty = (await import('../../node/ItemProperty/ItemProperty.js')).ItemProperty;
53
+ }
54
+ BaseFileManager.setPlatformClass(FileManager);
55
+ BaseDb.setPlatformClass(Db);
56
+ BaseQueryClient.setPlatformClass(QueryClient);
57
+ BaseArweaveClient.setPlatformClass(ArweaveClient);
58
+ BaseItem.setPlatformClass(Item);
59
+ BaseItemProperty.setPlatformClass(ItemProperty);
46
60
  const { models, endpoints, arweaveDomain, } = config;
47
61
  const { files } = endpoints;
48
62
  await BaseDb.connectToDb(files);
@@ -1 +1 @@
1
- {"version":3,"file":"initialize.js","sources":["../../../../../src/client/actors/initialize.ts"],"sourcesContent":["import { ClientManagerContext, FromCallbackInput, ModelClassType } from '@/types'\nimport { fromCallback, EventObject, waitFor } from \"xstate\";\nimport debug from 'debug'\nimport { areFsListenersReady } from \"@/events/files\";\nimport { setModel } from \"@/stores/modelClass\";\nimport { setArweaveDomain } from \"@/helpers/ArweaveClient\";\nimport { eventEmitter } from \"@/eventBus\";\nimport { setupFsListeners } from \"@/events/files\";\nimport { setupServicesEventHandlers } from \"@/services/events\";\nimport { setupAllItemsEventHandlers } from \"@/events/item\";\nimport { setupServiceHandlers } from \"@/events/services\";\nimport { getGlobalService, } from \"@/services/global/globalMachine\";\nimport { GlobalState } from \"@/services/internal/constants\";\nimport { isBrowser } from \"@/helpers/environment\";\nimport { BaseFileManager } from \"@/helpers/FileManager/BaseFileManager\";\nimport { BaseDb } from \"@/db/Db/BaseDb\";\nimport { BaseArweaveClient, BaseQueryClient } from \"@/helpers\";\nimport { BaseItem } from '@/Item/BaseItem'\nimport { BaseItemProperty } from '@/ItemProperty/BaseItemProperty'\n\n\nconst logger = debug('seedSdk:ClientManager:initialize')\n\nexport const initialize = fromCallback<\nEventObject, \nFromCallbackInput<ClientManagerContext, EventObject>\n>(({sendBack, input: {context, event}}) => {\n logger('initialize from ClientManager')\n const { isInitialized } = context\n const { options, } = event\n\n if (isInitialized) {\n sendBack({type: 'initialized'})\n return\n }\n\n const _initialize = async () => {\n const { config, addresses } = options\n\n if (isBrowser()) {\n const FileManager = (await import('../../browser/helpers/FileManager')).FileManager\n const Db = (await import('../../browser/db/Db')).Db\n const QueryClient = (await import('../../browser/helpers/QueryClient')).QueryClient\n const ArweaveClient = (await import('../../browser/helpers/ArweaveClient')).ArweaveClient\n const Item = (await import('../../browser/Item/Item')).Item\n const ItemProperty = (await import('../../browser/ItemProperty/ItemProperty')).ItemProperty\n BaseFileManager.setPlatformClass(FileManager)\n BaseDb.setPlatformClass(Db)\n BaseQueryClient.setPlatformClass(QueryClient)\n BaseArweaveClient.setPlatformClass(ArweaveClient)\n BaseItem.setPlatformClass(Item)\n BaseItemProperty.setPlatformClass(ItemProperty)\n }\n \n const { models, endpoints, arweaveDomain, } = config\n \n const {files} = endpoints\n\n await BaseDb.connectToDb(files,)\n\n if (arweaveDomain) {\n setArweaveDomain(arweaveDomain)\n }\n\n for (const [key, value] of Object.entries(models)) {\n setModel(key, value)\n }\n setupFsListeners()\n setupAllItemsEventHandlers()\n setupServicesEventHandlers()\n setupServiceHandlers()\n if (areFsListenersReady()) {\n eventEmitter.emit('fs.init')\n }\n if (!areFsListenersReady()) {\n console.error('fs listeners not ready during init')\n }\n\n const {Image} = await import('@/schema/image/model')\n models['Image'] = Image\n\n const globalService = getGlobalService()\n\n globalService.send({\n type: 'init',\n endpoints,\n models,\n addresses,\n arweaveDomain,\n filesDir: files,\n })\n\n const { models: internalModels } = await import('@/db/configs/seed.schema.config')\n for (const [key, value] of Object.entries(internalModels)) {\n setModel(key, value)\n }\n\n setModel('Image', Image)\n\n await waitFor(globalService, (snapshot) => {\n logger('snapshot.value', snapshot.value)\n return snapshot.value === GlobalState.INITIALIZED\n })\n logger('globalService initialized')\n }\n\n _initialize().then(() => {\n sendBack({type: 'initialized'})\n })\n})\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"initialize.js","sources":["../../../../../src/client/actors/initialize.ts"],"sourcesContent":["import { ClientManagerContext, FromCallbackInput, ModelClassType } from '@/types'\nimport { fromCallback, EventObject, waitFor } from \"xstate\";\nimport debug from 'debug'\nimport { areFsListenersReady } from \"@/events/files\";\nimport { setModel } from \"@/stores/modelClass\";\nimport { setArweaveDomain } from \"@/helpers/ArweaveClient\";\nimport { eventEmitter } from \"@/eventBus\";\nimport { setupFsListeners } from \"@/events/files\";\nimport { setupServicesEventHandlers } from \"@/services/events\";\nimport { setupAllItemsEventHandlers } from \"@/events/item\";\nimport { setupServiceHandlers } from \"@/events/services\";\nimport { getGlobalService, } from \"@/services/global/globalMachine\";\nimport { GlobalState } from \"@/services/internal/constants\";\nimport { isBrowser, isNode } from \"@/helpers/environment\";\nimport { BaseFileManager } from \"@/helpers/FileManager/BaseFileManager\";\nimport { BaseArweaveClient, BaseQueryClient } from \"@/helpers\";\nimport { BaseItem } from '@/Item/BaseItem'\nimport { BaseItemProperty } from '@/ItemProperty/BaseItemProperty'\n\n\nconst logger = debug('seedSdk:ClientManager:initialize')\n\nexport const initialize = fromCallback<\nEventObject, \nFromCallbackInput<ClientManagerContext, EventObject>\n>(({sendBack, input: {context, event}}) => {\n logger('initialize from ClientManager')\n const { isInitialized } = context\n const { options, } = event\n\n if (isInitialized) {\n sendBack({type: 'initialized'})\n return\n }\n\n const _initialize = async () => {\n const { config, addresses } = options\n\n const BaseDb = (await import('../../db/Db/BaseDb')).BaseDb\n\n let FileManager: typeof BaseFileManager\n let Db: typeof BaseDb\n let QueryClient: typeof BaseQueryClient\n let ArweaveClient: typeof BaseArweaveClient\n let Item: typeof BaseItem\n let ItemProperty: typeof BaseItemProperty\n\n if (isBrowser()) {\n FileManager = (await import('../../browser/helpers/FileManager')).FileManager\n Db = (await import('../../browser/db/Db')).Db\n QueryClient = (await import('../../browser/helpers/QueryClient')).QueryClient\n ArweaveClient = (await import('../../browser/helpers/ArweaveClient')).ArweaveClient\n Item = (await import('../../browser/Item/Item')).Item\n ItemProperty = (await import('../../browser/ItemProperty/ItemProperty')).ItemProperty\n }\n \n if (isNode()) {\n FileManager = (await import('../../node/helpers/FileManager')).FileManager\n Db = (await import('../../node/db/Db')).Db\n QueryClient = (await import('../../node/helpers/QueryClient')).QueryClient\n ArweaveClient = (await import('../../node/helpers/ArweaveClient')).ArweaveClient\n Item = (await import('../../node/Item/Item')).Item\n ItemProperty = (await import('../../node/ItemProperty/ItemProperty')).ItemProperty\n }\n \n BaseFileManager.setPlatformClass(FileManager!)\n BaseDb.setPlatformClass(Db!)\n BaseQueryClient.setPlatformClass(QueryClient!)\n BaseArweaveClient.setPlatformClass(ArweaveClient!)\n BaseItem.setPlatformClass(Item!)\n BaseItemProperty.setPlatformClass(ItemProperty!)\n \n const { models, endpoints, arweaveDomain, } = config\n \n const {files} = endpoints\n\n await BaseDb.connectToDb(files,)\n\n if (arweaveDomain) {\n setArweaveDomain(arweaveDomain)\n }\n\n for (const [key, value] of Object.entries(models)) {\n setModel(key, value)\n }\n setupFsListeners()\n setupAllItemsEventHandlers()\n setupServicesEventHandlers()\n setupServiceHandlers()\n if (areFsListenersReady()) {\n eventEmitter.emit('fs.init')\n }\n if (!areFsListenersReady()) {\n console.error('fs listeners not ready during init')\n }\n\n const {Image} = await import('@/schema/image/model')\n models['Image'] = Image\n\n const globalService = getGlobalService()\n\n globalService.send({\n type: 'init',\n endpoints,\n models,\n addresses,\n arweaveDomain,\n filesDir: files,\n })\n\n const { models: internalModels } = await import('@/db/configs/seed.schema.config')\n for (const [key, value] of Object.entries(internalModels)) {\n setModel(key, value)\n }\n\n setModel('Image', Image)\n\n await waitFor(globalService, (snapshot) => {\n logger('snapshot.value', snapshot.value)\n return snapshot.value === GlobalState.INITIALIZED\n })\n logger('globalService initialized')\n }\n\n _initialize().then(() => {\n sendBack({type: 'initialized'})\n })\n})\n"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ import '../../seedSchema/MetadataSchema.js';
6
6
  import { appState } from '../../seedSchema/AppStateSchema.js';
7
7
  import '../../seedSchema/ModelSchema.js';
8
8
  import '../../seedSchema/ModelUidSchema.js';
9
+ import '../../seedSchema/ConfigSchema.js';
9
10
 
10
11
  const logger = debug('seedSdk:client:writeToDb');
11
12
  const saveAppState = fromCallback(({ sendBack, input: { key, value } }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"saveAppState.js","sources":["../../../../../src/client/actors/saveAppState.ts"],"sourcesContent":["import { FromCallbackInput } from \"@/types\";\nimport { fromCallback } from \"xstate\";\nimport { ClientManagerContext } from \"@/types\";\nimport { EventObject } from \"xstate\";\nimport debug from \"debug\";\nimport { appState } from \"@/seedSchema\";\n\nconst logger = debug('seedSdk:client:writeToDb')\n\nexport const saveAppState = fromCallback<\nEventObject, \nFromCallbackInput<ClientManagerContext>\n>(\n ({sendBack, input: {key, value}}) => {\n\n const _saveAppState = async () => {\n const { BaseDb } = await import('@/db/Db/BaseDb')\n if (!BaseDb) {\n throw new Error('BaseDb not found')\n }\n const appDb = BaseDb.getAppDb()\n if (!appDb) {\n throw new Error('App DB not found')\n }\n\n const result = await appDb.insert(appState)\n .values({\n key: key,\n value: JSON.stringify(value),\n })\n .onConflictDoUpdate({\n target: appState.key,\n set: {\n value: JSON.stringify(value),\n },\n })\n\n logger('result', result)\n \n }\n\n _saveAppState().then(() => {\n sendBack({\n type: 'saveAppStateSuccess',\n key,\n value,\n })\n })\n \n })\n"],"names":[],"mappings":";;;;;;;;;AAOA,MAAM,MAAM,GAAG,KAAK,CAAC,0BAA0B,CAAC;AAEnC,MAAA,YAAY,GAAG,YAAY,CAItC,CAAC,EAAC,QAAQ,EAAE,KAAK,EAAE,EAAC,GAAG,EAAE,KAAK,EAAC,EAAC,KAAI;AAElC,IAAA,MAAM,aAAa,GAAG,YAAW;QAC/B,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,OAAO,uBAAgB,CAAC;QACjD,IAAI,CAAC,MAAM,EAAE;AACX,YAAA,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC;;AAErC,QAAA,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE;QAC/B,IAAI,CAAC,KAAK,EAAE;AACV,YAAA,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC;;QAGrC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ;AACvC,aAAA,MAAM,CAAC;AACN,YAAA,GAAG,EAAE,GAAG;AACR,YAAA,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;SAC7B;AACA,aAAA,kBAAkB,CAAC;YAClB,MAAM,EAAE,QAAQ,CAAC,GAAG;AACpB,YAAA,GAAG,EAAE;AACH,gBAAA,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;AAC7B,aAAA;AACF,SAAA,CAAC;AAEJ,QAAA,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC;AAE1B,KAAC;AAED,IAAA,aAAa,EAAE,CAAC,IAAI,CAAC,MAAK;AACxB,QAAA,QAAQ,CAAC;AACP,YAAA,IAAI,EAAE,qBAAqB;YAC3B,GAAG;YACH,KAAK;AACN,SAAA,CAAC;AACJ,KAAC,CAAC;AAEJ,CAAC;;;;"}
1
+ {"version":3,"file":"saveAppState.js","sources":["../../../../../src/client/actors/saveAppState.ts"],"sourcesContent":["import { FromCallbackInput } from \"@/types\";\nimport { fromCallback } from \"xstate\";\nimport { ClientManagerContext } from \"@/types\";\nimport { EventObject } from \"xstate\";\nimport debug from \"debug\";\nimport { appState } from \"@/seedSchema\";\n\nconst logger = debug('seedSdk:client:writeToDb')\n\nexport const saveAppState = fromCallback<\nEventObject, \nFromCallbackInput<ClientManagerContext>\n>(\n ({sendBack, input: {key, value}}) => {\n\n const _saveAppState = async () => {\n const { BaseDb } = await import('@/db/Db/BaseDb')\n if (!BaseDb) {\n throw new Error('BaseDb not found')\n }\n const appDb = BaseDb.getAppDb()\n if (!appDb) {\n throw new Error('App DB not found')\n }\n\n const result = await appDb.insert(appState)\n .values({\n key: key,\n value: JSON.stringify(value),\n })\n .onConflictDoUpdate({\n target: appState.key,\n set: {\n value: JSON.stringify(value),\n },\n })\n\n logger('result', result)\n \n }\n\n _saveAppState().then(() => {\n sendBack({\n type: 'saveAppStateSuccess',\n key,\n value,\n })\n })\n \n })\n"],"names":[],"mappings":";;;;;;;;;;AAOA,MAAM,MAAM,GAAG,KAAK,CAAC,0BAA0B,CAAC;AAEnC,MAAA,YAAY,GAAG,YAAY,CAItC,CAAC,EAAC,QAAQ,EAAE,KAAK,EAAE,EAAC,GAAG,EAAE,KAAK,EAAC,EAAC,KAAI;AAElC,IAAA,MAAM,aAAa,GAAG,YAAW;QAC/B,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,OAAO,uBAAgB,CAAC;QACjD,IAAI,CAAC,MAAM,EAAE;AACX,YAAA,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC;;AAErC,QAAA,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE;QAC/B,IAAI,CAAC,KAAK,EAAE;AACV,YAAA,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC;;QAGrC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ;AACvC,aAAA,MAAM,CAAC;AACN,YAAA,GAAG,EAAE,GAAG;AACR,YAAA,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;SAC7B;AACA,aAAA,kBAAkB,CAAC;YAClB,MAAM,EAAE,QAAQ,CAAC,GAAG;AACpB,YAAA,GAAG,EAAE;AACH,gBAAA,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;AAC7B,aAAA;AACF,SAAA,CAAC;AAEJ,QAAA,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC;AAE1B,KAAC;AAED,IAAA,aAAa,EAAE,CAAC,IAAI,CAAC,MAAK;AACxB,QAAA,QAAQ,CAAC;AACP,YAAA,IAAI,EAAE,qBAAqB;YAC3B,GAAG;YACH,KAAK;AACN,SAAA,CAAC;AACJ,KAAC,CAAC;AAEJ,CAAC;;;;"}
@@ -1,3 +1,3 @@
1
- import { ClientManager } from '@/client/ClientManager';
1
+ import { ClientManager } from './ClientManager';
2
2
  export { ClientManager as client };
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAGtD,OAAO,EAAE,aAAa,IAAI,MAAM,EAAE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAG/C,OAAO,EAAE,aAAa,IAAI,MAAM,EAAE,CAAA"}
@@ -5,6 +5,7 @@ export declare abstract class BaseDb implements IDb {
5
5
  static PlatformClass: typeof BaseDb;
6
6
  static setPlatformClass(platformClass: typeof BaseDb): void;
7
7
  static getAppDb(): BaseSQLiteDatabase;
8
+ static prepareDb(filesDir: string): Promise<BaseSQLiteDatabase>;
8
9
  static isAppDbReady(): boolean;
9
10
  static connectToDb(pathToDir: string): Promise<unknown>;
10
11
  static migrate(pathToDbDir: string, dbName: string, dbId: string): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"BaseDb.d.ts","sourceRoot":"","sources":["../../../../src/db/Db/BaseDb.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAE5D,8BAAsB,MAAO,YAAW,GAAG;;IAKzC,MAAM,CAAC,aAAa,EAAE,OAAO,MAAM,CAAA;IAEnC,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,OAAO,MAAM;IAIpD,MAAM,CAAC,QAAQ,IAAI,kBAAkB;IAIrC,MAAM,CAAC,YAAY,IAAI,OAAO;IAI9B,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,GAAI,OAAO,CAAC,OAAO,CAAC;WAI3C,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAIvF"}
1
+ {"version":3,"file":"BaseDb.d.ts","sourceRoot":"","sources":["../../../../src/db/Db/BaseDb.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAE5D,8BAAsB,MAAO,YAAW,GAAG;;IAKzC,MAAM,CAAC,aAAa,EAAE,OAAO,MAAM,CAAA;IAEnC,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,OAAO,MAAM;IAIpD,MAAM,CAAC,QAAQ,IAAI,kBAAkB;IAIrC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAI/D,MAAM,CAAC,YAAY,IAAI,OAAO;IAI9B,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,GAAI,OAAO,CAAC,OAAO,CAAC;WAI3C,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAIvF"}
@@ -7,6 +7,9 @@ class BaseDb {
7
7
  static getAppDb() {
8
8
  return this.PlatformClass.getAppDb();
9
9
  }
10
+ static prepareDb(filesDir) {
11
+ return this.PlatformClass.prepareDb(filesDir);
12
+ }
10
13
  static isAppDbReady() {
11
14
  return this.PlatformClass.isAppDbReady();
12
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BaseDb.js","sources":["../../../../../src/db/Db/BaseDb.ts"],"sourcesContent":["import { IDb } from '@/interfaces/IDb'\nimport { BaseSQLiteDatabase } from 'drizzle-orm/sqlite-core'\n\nexport abstract class BaseDb implements IDb {\n\n constructor() {\n }\n\n static PlatformClass: typeof BaseDb\n\n static setPlatformClass(platformClass: typeof BaseDb) {\n this.PlatformClass = platformClass\n }\n\n static getAppDb(): BaseSQLiteDatabase {\n return this.PlatformClass.getAppDb()\n }\n\n static isAppDbReady(): boolean {\n return this.PlatformClass.isAppDbReady()\n }\n\n static connectToDb(pathToDir: string,): Promise<unknown> {\n return this.PlatformClass.connectToDb(pathToDir,)\n }\n\n static async migrate(pathToDbDir: string, dbName: string, dbId: string): Promise<void> {\n return this.PlatformClass.migrate(pathToDbDir, dbName, dbId)\n }\n\n}"],"names":[],"mappings":"MAGsB,MAAM,CAAA;AAE1B,IAAA,WAAA,GAAA;;IAKA,OAAO,gBAAgB,CAAC,aAA4B,EAAA;AAClD,QAAA,IAAI,CAAC,aAAa,GAAG,aAAa;;AAGpC,IAAA,OAAO,QAAQ,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE;;AAGtC,IAAA,OAAO,YAAY,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE;;IAG1C,OAAO,WAAW,CAAC,SAAiB,EAAA;QAClC,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,SAAS,CAAE;;IAGnD,aAAa,OAAO,CAAC,WAAmB,EAAE,MAAc,EAAE,IAAY,EAAA;AACpE,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC;;AAG/D;;;;"}
1
+ {"version":3,"file":"BaseDb.js","sources":["../../../../../src/db/Db/BaseDb.ts"],"sourcesContent":["import { IDb } from '@/interfaces/IDb'\nimport { BaseSQLiteDatabase } from 'drizzle-orm/sqlite-core'\n\nexport abstract class BaseDb implements IDb {\n\n constructor() {\n }\n\n static PlatformClass: typeof BaseDb\n\n static setPlatformClass(platformClass: typeof BaseDb) {\n this.PlatformClass = platformClass\n }\n\n static getAppDb(): BaseSQLiteDatabase {\n return this.PlatformClass.getAppDb()\n }\n\n static prepareDb(filesDir: string): Promise<BaseSQLiteDatabase> {\n return this.PlatformClass.prepareDb(filesDir)\n }\n\n static isAppDbReady(): boolean {\n return this.PlatformClass.isAppDbReady()\n }\n\n static connectToDb(pathToDir: string,): Promise<unknown> {\n return this.PlatformClass.connectToDb(pathToDir,)\n }\n\n static async migrate(pathToDbDir: string, dbName: string, dbId: string): Promise<void> {\n return this.PlatformClass.migrate(pathToDbDir, dbName, dbId)\n }\n\n}"],"names":[],"mappings":"MAGsB,MAAM,CAAA;AAE1B,IAAA,WAAA,GAAA;;IAKA,OAAO,gBAAgB,CAAC,aAA4B,EAAA;AAClD,QAAA,IAAI,CAAC,aAAa,GAAG,aAAa;;AAGpC,IAAA,OAAO,QAAQ,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE;;IAGtC,OAAO,SAAS,CAAC,QAAgB,EAAA;QAC/B,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC;;AAG/C,IAAA,OAAO,YAAY,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE;;IAG1C,OAAO,WAAW,CAAC,SAAiB,EAAA;QAClC,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,SAAS,CAAE;;IAGnD,aAAa,OAAO,CAAC,WAAmB,EAAE,MAAc,EAAE,IAAY,EAAA;AACpE,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC;;AAG/D;;;;"}
@@ -5,6 +5,7 @@ import '../../seedSchema/MetadataSchema.js';
5
5
  import '../../seedSchema/AppStateSchema.js';
6
6
  import '../../seedSchema/ModelSchema.js';
7
7
  import '../../seedSchema/ModelUidSchema.js';
8
+ import '../../seedSchema/ConfigSchema.js';
8
9
  import { or, and, isNotNull, not, eq } from 'drizzle-orm';
9
10
 
10
11
  const getExistingItem = async ({ seedLocalId, seedUid, }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"getExistingItem.js","sources":["../../../../../src/db/read/getExistingItem.ts"],"sourcesContent":["import { BaseDb } from '@/db/Db/BaseDb'\nimport { seeds } from '@/seedSchema'\nimport { and, eq, isNotNull, not, or } from 'drizzle-orm'\n\ntype GetExistingItemProps = {\n seedLocalId: string\n seedUid: string\n}\n\ntype GetExistingItemReturn = {\n seedLocalId: string\n seedUid: string\n createdAt: string\n}\n\nexport const getExistingItem = async ({\n seedLocalId,\n seedUid,\n}: GetExistingItemProps): Promise<GetExistingItemReturn | undefined> => {\n const appDb = BaseDb.getAppDb()\n\n const rows = await appDb\n .select({\n seedLocalId: seeds.localId,\n seedUid: seeds.uid,\n createdAt: seeds.createdAt,\n })\n .from(seeds)\n .where(\n or(\n and(\n isNotNull(seeds.uid),\n not(eq(seeds.uid, '')),\n not(eq(seeds.uid, 'undefined')),\n not(eq(seeds.uid, 'null')),\n not(eq(seeds.uid, 'false')),\n not(eq(seeds.uid, '0')),\n eq(seeds.uid, seedUid)\n ),\n and(\n isNotNull(seeds.localId),\n not(eq(seeds.localId, '')),\n not(eq(seeds.localId, 'undefined')),\n not(eq(seeds.localId, 'null')),\n not(eq(seeds.localId, 'false')),\n not(eq(seeds.localId, '0')),\n eq(seeds.localId, seedLocalId)\n )\n )\n )\n\n if (!rows || rows.length === 0) {\n return undefined\n }\n\n const matchingRow = rows.find(row => row.seedUid === seedUid) ||\n rows.find(row => row.seedLocalId === seedLocalId)\n\n return matchingRow\n} "],"names":[],"mappings":";;;;;;;;;AAeO,MAAM,eAAe,GAAG,OAAO,EACpC,WAAW,EACX,OAAO,GACc,KAAgD;AACrE,IAAA,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE;IAE/B,MAAM,IAAI,GAAG,MAAM;AAChB,SAAA,MAAM,CAAC;QACN,WAAW,EAAE,KAAK,CAAC,OAAO;QAC1B,OAAO,EAAE,KAAK,CAAC,GAAG;QAClB,SAAS,EAAE,KAAK,CAAC,SAAS;KAC3B;SACA,IAAI,CAAC,KAAK;AACV,SAAA,KAAK,CACJ,EAAE,CACA,GAAG,CACD,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,EACpB,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EACtB,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,EAC/B,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,EAC1B,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,EAC3B,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EACvB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CACvB,EACD,GAAG,CACD,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,EACxB,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAC1B,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,EACnC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,EAC9B,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,EAC/B,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,EAC3B,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC,CAC/B,CACF,CACF;IAEH,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;AAC9B,QAAA,OAAO,SAAS;;AAGlB,IAAA,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,KAAK,OAAO,CAAC;AAC3D,QAAA,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,KAAK,WAAW,CAAC;AAEnD,IAAA,OAAO,WAAW;AACpB;;;;"}
1
+ {"version":3,"file":"getExistingItem.js","sources":["../../../../../src/db/read/getExistingItem.ts"],"sourcesContent":["import { BaseDb } from '@/db/Db/BaseDb'\nimport { seeds } from '@/seedSchema'\nimport { and, eq, isNotNull, not, or } from 'drizzle-orm'\n\ntype GetExistingItemProps = {\n seedLocalId: string\n seedUid: string\n}\n\ntype GetExistingItemReturn = {\n seedLocalId: string\n seedUid: string\n createdAt: string\n}\n\nexport const getExistingItem = async ({\n seedLocalId,\n seedUid,\n}: GetExistingItemProps): Promise<GetExistingItemReturn | undefined> => {\n const appDb = BaseDb.getAppDb()\n\n const rows = await appDb\n .select({\n seedLocalId: seeds.localId,\n seedUid: seeds.uid,\n createdAt: seeds.createdAt,\n })\n .from(seeds)\n .where(\n or(\n and(\n isNotNull(seeds.uid),\n not(eq(seeds.uid, '')),\n not(eq(seeds.uid, 'undefined')),\n not(eq(seeds.uid, 'null')),\n not(eq(seeds.uid, 'false')),\n not(eq(seeds.uid, '0')),\n eq(seeds.uid, seedUid)\n ),\n and(\n isNotNull(seeds.localId),\n not(eq(seeds.localId, '')),\n not(eq(seeds.localId, 'undefined')),\n not(eq(seeds.localId, 'null')),\n not(eq(seeds.localId, 'false')),\n not(eq(seeds.localId, '0')),\n eq(seeds.localId, seedLocalId)\n )\n )\n )\n\n if (!rows || rows.length === 0) {\n return undefined\n }\n\n const matchingRow = rows.find(row => row.seedUid === seedUid) ||\n rows.find(row => row.seedLocalId === seedLocalId)\n\n return matchingRow\n} "],"names":[],"mappings":";;;;;;;;;;AAeO,MAAM,eAAe,GAAG,OAAO,EACpC,WAAW,EACX,OAAO,GACc,KAAgD;AACrE,IAAA,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE;IAE/B,MAAM,IAAI,GAAG,MAAM;AAChB,SAAA,MAAM,CAAC;QACN,WAAW,EAAE,KAAK,CAAC,OAAO;QAC1B,OAAO,EAAE,KAAK,CAAC,GAAG;QAClB,SAAS,EAAE,KAAK,CAAC,SAAS;KAC3B;SACA,IAAI,CAAC,KAAK;AACV,SAAA,KAAK,CACJ,EAAE,CACA,GAAG,CACD,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,EACpB,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EACtB,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,EAC/B,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,EAC1B,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,EAC3B,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EACvB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CACvB,EACD,GAAG,CACD,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,EACxB,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAC1B,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,EACnC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,EAC9B,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,EAC/B,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,EAC3B,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC,CAC/B,CACF,CACF;IAEH,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;AAC9B,QAAA,OAAO,SAAS;;AAGlB,IAAA,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,KAAK,OAAO,CAAC;AAC3D,QAAA,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,KAAK,WAAW,CAAC;AAEnD,IAAA,OAAO,WAAW;AACpB;;;;"}
@@ -9,6 +9,7 @@ import '../../seedSchema/MetadataSchema.js';
9
9
  import '../../seedSchema/AppStateSchema.js';
10
10
  import '../../seedSchema/ModelSchema.js';
11
11
  import '../../seedSchema/ModelUidSchema.js';
12
+ import '../../seedSchema/ConfigSchema.js';
12
13
  import { getSeedData } from './getSeedData.js';
13
14
 
14
15
  const logger = debug('seedSdk:db:read:getItemData');
@@ -1 +1 @@
1
- {"version":3,"file":"getItemData.js","sources":["../../../../../src/db/read/getItemData.ts"],"sourcesContent":["import { GetItemData, ItemData } from \"@/types\"\nimport debug from \"debug\"\nimport { BaseDb } from \"../Db/BaseDb\"\nimport { and, eq, getTableColumns, gt, SQL, sql } from \"drizzle-orm\"\nimport { getItemProperties } from \"./getItemProperties\"\nimport { getVersionData } from \"./subqueries/versionData\"\nimport { seeds } from \"@/seedSchema\"\nimport { getSeedData } from \"./getSeedData\"\n\nconst logger = debug('seedSdk:db:read:getItemData')\n\nexport const getItemData: GetItemData = async ({\n modelName,\n seedLocalId,\n seedUid,\n}) => {\n if (!seedLocalId && !seedUid) {\n throw new Error('[db/queries] [getItem] no seedLocalId or seedUid')\n }\n\n if (seedUid && !seedLocalId) {\n const seedData = await getSeedData({ seedUid })\n if (!seedData) {\n logger('[db/queries] [getItem] no seedData seedUid', seedUid)\n return\n }\n seedLocalId = seedData.localId\n }\n\n const appDb = BaseDb.getAppDb()\n\n const { localId, uid, ...rest } = getTableColumns(seeds)\n\n const whereClauses: SQL[] = []\n\n if (modelName) {\n whereClauses.push(eq(seeds.type, modelName.toLowerCase()))\n }\n\n if (seedUid) {\n whereClauses.push(eq(seeds.uid, seedUid))\n }\n\n if (seedLocalId && !seedUid) {\n whereClauses.push(eq(seeds.localId, seedLocalId))\n }\n\n const versionData = getVersionData()\n\n const itemDataRows = await appDb\n .with(versionData)\n .select({\n ...rest,\n seedLocalId: seeds.localId,\n seedUid: seeds.uid,\n versionsCount: versionData.versionsCount,\n lastVersionPublishedAt: versionData.lastVersionPublishedAt,\n latestVersionUid: versionData.latestVersionUid,\n latestVersionLocalId: versionData.latestVersionLocalId,\n })\n .from(seeds)\n .leftJoin(versionData, eq(seeds.localId, versionData.seedLocalId))\n .where(and(...whereClauses, gt(versionData.versionsCount, 0)))\n .orderBy(sql.raw('COALESCE(attestation_created_at, created_at) DESC'))\n .groupBy(seeds.localId) as ItemData[]\n\n if (!itemDataRows || itemDataRows.length === 0) {\n logger('[db/queries] [getItemDataFromDb] no itemDataRows')\n return\n }\n\n let itemData = itemDataRows[0] as ItemData & { [key: string]: any }\n\n const propertiesData = await getItemProperties({\n seedLocalId,\n seedUid: itemData.seedUid || undefined,\n })\n\n if (!propertiesData || propertiesData.length === 0) {\n return itemData\n }\n\n for (const propertyData of propertiesData) {\n const propertyName = propertyData.propertyName\n\n let propertyValue = propertyData.propertyValue\n\n if (propertyName.endsWith('Id') || propertyName.endsWith('Ids')) {\n if (propertyData.refSeedType) {\n const propertyNameVariant = propertyName.replace(/Ids?$/, '')\n itemData[propertyNameVariant] = propertyValue\n }\n }\n\n itemData[propertyName] = propertyValue\n }\n\n if (itemData) return itemData\n}"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getItemData.js","sources":["../../../../../src/db/read/getItemData.ts"],"sourcesContent":["import { GetItemData, ItemData } from \"@/types\"\nimport debug from \"debug\"\nimport { BaseDb } from \"../Db/BaseDb\"\nimport { and, eq, getTableColumns, gt, SQL, sql } from \"drizzle-orm\"\nimport { getItemProperties } from \"./getItemProperties\"\nimport { getVersionData } from \"./subqueries/versionData\"\nimport { seeds } from \"@/seedSchema\"\nimport { getSeedData } from \"./getSeedData\"\n\nconst logger = debug('seedSdk:db:read:getItemData')\n\nexport const getItemData: GetItemData = async ({\n modelName,\n seedLocalId,\n seedUid,\n}) => {\n if (!seedLocalId && !seedUid) {\n throw new Error('[db/queries] [getItem] no seedLocalId or seedUid')\n }\n\n if (seedUid && !seedLocalId) {\n const seedData = await getSeedData({ seedUid })\n if (!seedData) {\n logger('[db/queries] [getItem] no seedData seedUid', seedUid)\n return\n }\n seedLocalId = seedData.localId\n }\n\n const appDb = BaseDb.getAppDb()\n\n const { localId, uid, ...rest } = getTableColumns(seeds)\n\n const whereClauses: SQL[] = []\n\n if (modelName) {\n whereClauses.push(eq(seeds.type, modelName.toLowerCase()))\n }\n\n if (seedUid) {\n whereClauses.push(eq(seeds.uid, seedUid))\n }\n\n if (seedLocalId && !seedUid) {\n whereClauses.push(eq(seeds.localId, seedLocalId))\n }\n\n const versionData = getVersionData()\n\n const itemDataRows = await appDb\n .with(versionData)\n .select({\n ...rest,\n seedLocalId: seeds.localId,\n seedUid: seeds.uid,\n versionsCount: versionData.versionsCount,\n lastVersionPublishedAt: versionData.lastVersionPublishedAt,\n latestVersionUid: versionData.latestVersionUid,\n latestVersionLocalId: versionData.latestVersionLocalId,\n })\n .from(seeds)\n .leftJoin(versionData, eq(seeds.localId, versionData.seedLocalId))\n .where(and(...whereClauses, gt(versionData.versionsCount, 0)))\n .orderBy(sql.raw('COALESCE(attestation_created_at, created_at) DESC'))\n .groupBy(seeds.localId) as ItemData[]\n\n if (!itemDataRows || itemDataRows.length === 0) {\n logger('[db/queries] [getItemDataFromDb] no itemDataRows')\n return\n }\n\n let itemData = itemDataRows[0] as ItemData & { [key: string]: any }\n\n const propertiesData = await getItemProperties({\n seedLocalId,\n seedUid: itemData.seedUid || undefined,\n })\n\n if (!propertiesData || propertiesData.length === 0) {\n return itemData\n }\n\n for (const propertyData of propertiesData) {\n const propertyName = propertyData.propertyName\n\n let propertyValue = propertyData.propertyValue\n\n if (propertyName.endsWith('Id') || propertyName.endsWith('Ids')) {\n if (propertyData.refSeedType) {\n const propertyNameVariant = propertyName.replace(/Ids?$/, '')\n itemData[propertyNameVariant] = propertyValue\n }\n }\n\n itemData[propertyName] = propertyValue\n }\n\n if (itemData) return itemData\n}"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import { metadata } from '../../seedSchema/MetadataSchema.js';
4
4
  import '../../seedSchema/AppStateSchema.js';
5
5
  import '../../seedSchema/ModelSchema.js';
6
6
  import '../../seedSchema/ModelUidSchema.js';
7
+ import '../../seedSchema/ConfigSchema.js';
7
8
  import { isNotNull, eq, isNull } from 'drizzle-orm';
8
9
  import { BaseDb } from '../Db/BaseDb.js';
9
10
  import { getMetadataLatest } from './subqueries/metadataLatest.js';
@@ -1 +1 @@
1
- {"version":3,"file":"getItemProperties.js","sources":["../../../../../src/db/read/getItemProperties.ts"],"sourcesContent":["import { GetItemProperties, PropertyData } from '@/types'\nimport { metadata, seeds, versions } from '@/seedSchema'\nimport { and, eq, getTableColumns, isNotNull, isNull, sql, SQL } from 'drizzle-orm'\nimport { BaseDb } from '@/db/Db/BaseDb'\nimport { getMetadataLatest } from './subqueries/metadataLatest'\n\n\nexport const getItemProperties: GetItemProperties = async ({\n seedLocalId,\n seedUid,\n edited,\n}) => {\n const appDb = BaseDb.getAppDb()\n\n const whereClauses: SQL[] = [isNotNull(metadata.propertyName)]\n\n if (seedUid) {\n whereClauses.push(eq(seeds.uid, seedUid))\n }\n\n if (seedLocalId) {\n whereClauses.push(eq(seeds.localId, seedLocalId))\n }\n\n whereClauses.push(isNotNull(metadata.propertyName))\n\n if (typeof edited !== 'undefined') {\n if (edited) {\n whereClauses.push(isNull(metadata.uid))\n }\n if (!edited) {\n whereClauses.push(isNotNull(metadata.uid))\n }\n }\n\n // const metadataColumns = getTableColumns(metadata)\n\n const metadataLatest = getMetadataLatest({seedLocalId, seedUid})\n\n const propertiesData = await appDb\n .with(metadataLatest)\n .select()\n .from(metadataLatest)\n .where(eq(metadataLatest.rowNum, 1))\n\n return propertiesData.map(data => ({\n ...data,\n localId: data.localId || '',\n uid: data.uid || '',\n propertyName: data.propertyName || '',\n propertyValue: data.propertyValue || '',\n schemaUid: data.schemaUid || '',\n modelType: data.modelType || '',\n seedLocalId: data.seedLocalId || '',\n })) as PropertyData[]\n}\n"],"names":[],"mappings":";;;;;;;;;;AAOO,MAAM,iBAAiB,GAAsB,OAAO,EACzD,WAAW,EACX,OAAO,EACP,MAAM,GACP,KAAI;AACH,IAAA,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE;IAE/B,MAAM,YAAY,GAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAE9D,IAAI,OAAO,EAAE;AACX,QAAA,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;;IAG3C,IAAI,WAAW,EAAE;AACf,QAAA,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;;IAGnD,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;AAEnD,IAAA,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;QACjC,IAAI,MAAM,EAAE;YACV,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;;QAEzC,IAAI,CAAC,MAAM,EAAE;YACX,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;;;;IAM9C,MAAM,cAAc,GAAG,iBAAiB,CAAC,EAAC,WAAW,EAAE,OAAO,EAAC,CAAC;IAEhE,MAAM,cAAc,GAAG,MAAM;SAC1B,IAAI,CAAC,cAAc;AACnB,SAAA,MAAM;SACN,IAAI,CAAC,cAAc;SACnB,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAEtC,OAAO,cAAc,CAAC,GAAG,CAAC,IAAI,KAAK;AACjC,QAAA,GAAG,IAAI;AACP,QAAA,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;AAC3B,QAAA,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,EAAE;AACnB,QAAA,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,EAAE;AACrC,QAAA,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,EAAE;AACvC,QAAA,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,EAAE;AAC/B,QAAA,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,EAAE;AAC/B,QAAA,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;AACpC,KAAA,CAAC,CAAmB;AACvB;;;;"}
1
+ {"version":3,"file":"getItemProperties.js","sources":["../../../../../src/db/read/getItemProperties.ts"],"sourcesContent":["import { GetItemProperties, PropertyData } from '@/types'\nimport { metadata, seeds, versions } from '@/seedSchema'\nimport { and, eq, getTableColumns, isNotNull, isNull, sql, SQL } from 'drizzle-orm'\nimport { BaseDb } from '@/db/Db/BaseDb'\nimport { getMetadataLatest } from './subqueries/metadataLatest'\n\n\nexport const getItemProperties: GetItemProperties = async ({\n seedLocalId,\n seedUid,\n edited,\n}) => {\n const appDb = BaseDb.getAppDb()\n\n const whereClauses: SQL[] = [isNotNull(metadata.propertyName)]\n\n if (seedUid) {\n whereClauses.push(eq(seeds.uid, seedUid))\n }\n\n if (seedLocalId) {\n whereClauses.push(eq(seeds.localId, seedLocalId))\n }\n\n whereClauses.push(isNotNull(metadata.propertyName))\n\n if (typeof edited !== 'undefined') {\n if (edited) {\n whereClauses.push(isNull(metadata.uid))\n }\n if (!edited) {\n whereClauses.push(isNotNull(metadata.uid))\n }\n }\n\n // const metadataColumns = getTableColumns(metadata)\n\n const metadataLatest = getMetadataLatest({seedLocalId, seedUid})\n\n const propertiesData = await appDb\n .with(metadataLatest)\n .select()\n .from(metadataLatest)\n .where(eq(metadataLatest.rowNum, 1))\n\n return propertiesData.map(data => ({\n ...data,\n localId: data.localId || '',\n uid: data.uid || '',\n propertyName: data.propertyName || '',\n propertyValue: data.propertyValue || '',\n schemaUid: data.schemaUid || '',\n modelType: data.modelType || '',\n seedLocalId: data.seedLocalId || '',\n })) as PropertyData[]\n}\n"],"names":[],"mappings":";;;;;;;;;;;AAOO,MAAM,iBAAiB,GAAsB,OAAO,EACzD,WAAW,EACX,OAAO,EACP,MAAM,GACP,KAAI;AACH,IAAA,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE;IAE/B,MAAM,YAAY,GAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAE9D,IAAI,OAAO,EAAE;AACX,QAAA,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;;IAG3C,IAAI,WAAW,EAAE;AACf,QAAA,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;;IAGnD,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;AAEnD,IAAA,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;QACjC,IAAI,MAAM,EAAE;YACV,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;;QAEzC,IAAI,CAAC,MAAM,EAAE;YACX,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;;;;IAM9C,MAAM,cAAc,GAAG,iBAAiB,CAAC,EAAC,WAAW,EAAE,OAAO,EAAC,CAAC;IAEhE,MAAM,cAAc,GAAG,MAAM;SAC1B,IAAI,CAAC,cAAc;AACnB,SAAA,MAAM;SACN,IAAI,CAAC,cAAc;SACnB,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAEtC,OAAO,cAAc,CAAC,GAAG,CAAC,IAAI,KAAK;AACjC,QAAA,GAAG,IAAI;AACP,QAAA,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;AAC3B,QAAA,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,EAAE;AACnB,QAAA,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,EAAE;AACrC,QAAA,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,EAAE;AACvC,QAAA,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,EAAE;AAC/B,QAAA,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,EAAE;AAC/B,QAAA,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;AACpC,KAAA,CAAC,CAAmB;AACvB;;;;"}
@@ -5,6 +5,7 @@ import { metadata } from '../../seedSchema/MetadataSchema.js';
5
5
  import '../../seedSchema/AppStateSchema.js';
6
6
  import '../../seedSchema/ModelSchema.js';
7
7
  import '../../seedSchema/ModelUidSchema.js';
8
+ import '../../seedSchema/ConfigSchema.js';
8
9
  import { getTableColumns, eq, and } from 'drizzle-orm';
9
10
 
10
11
  const getItemPropertyData = async (props) => {
@@ -1 +1 @@
1
- {"version":3,"file":"getItemProperty.js","sources":["../../../../../src/db/read/getItemProperty.ts"],"sourcesContent":["import { BaseDb } from '@/db/Db/BaseDb'\nimport { metadata, MetadataType } from '@/seedSchema'\nimport { and, eq, getTableColumns } from 'drizzle-orm'\n\ntype GetItemPropertyProps = Partial<MetadataType>\n\ntype GetItemPropertyData = (\n props: GetItemPropertyProps,\n) => Promise<Partial<MetadataType>>\n\nexport const getItemPropertyData: GetItemPropertyData = async (props) => {\n const appDb = BaseDb.getAppDb()\n\n const whereClauses = []\n\n const tableColumns = getTableColumns(metadata)\n\n for (const [propertyName, propertyValue] of Object.entries(props)) {\n if (Object.keys(tableColumns).includes(propertyName)) {\n whereClauses.push(eq(tableColumns[propertyName], propertyValue))\n }\n }\n\n const queryRows = await appDb\n .select()\n .from(metadata)\n .where(and(...whereClauses))\n\n if (!queryRows || queryRows.length === 0) {\n return\n }\n\n return queryRows[0]\n}\n"],"names":[],"mappings":";;;;;;;;;MAUa,mBAAmB,GAAwB,OAAO,KAAK,KAAI;AACtE,IAAA,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE;IAE/B,MAAM,YAAY,GAAG,EAAE;AAEvB,IAAA,MAAM,YAAY,GAAG,eAAe,CAAC,QAAQ,CAAC;AAE9C,IAAA,KAAK,MAAM,CAAC,YAAY,EAAE,aAAa,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACjE,QAAA,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;AACpD,YAAA,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,aAAa,CAAC,CAAC;;;IAIpE,MAAM,SAAS,GAAG,MAAM;AACrB,SAAA,MAAM;SACN,IAAI,CAAC,QAAQ;AACb,SAAA,KAAK,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC;IAE9B,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;QACxC;;AAGF,IAAA,OAAO,SAAS,CAAC,CAAC,CAAC;AACrB;;;;"}
1
+ {"version":3,"file":"getItemProperty.js","sources":["../../../../../src/db/read/getItemProperty.ts"],"sourcesContent":["import { BaseDb } from '@/db/Db/BaseDb'\nimport { metadata, MetadataType } from '@/seedSchema'\nimport { and, eq, getTableColumns } from 'drizzle-orm'\n\ntype GetItemPropertyProps = Partial<MetadataType>\n\ntype GetItemPropertyData = (\n props: GetItemPropertyProps,\n) => Promise<Partial<MetadataType>>\n\nexport const getItemPropertyData: GetItemPropertyData = async (props) => {\n const appDb = BaseDb.getAppDb()\n\n const whereClauses = []\n\n const tableColumns = getTableColumns(metadata)\n\n for (const [propertyName, propertyValue] of Object.entries(props)) {\n if (Object.keys(tableColumns).includes(propertyName)) {\n whereClauses.push(eq(tableColumns[propertyName], propertyValue))\n }\n }\n\n const queryRows = await appDb\n .select()\n .from(metadata)\n .where(and(...whereClauses))\n\n if (!queryRows || queryRows.length === 0) {\n return\n }\n\n return queryRows[0]\n}\n"],"names":[],"mappings":";;;;;;;;;;MAUa,mBAAmB,GAAwB,OAAO,KAAK,KAAI;AACtE,IAAA,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE;IAE/B,MAAM,YAAY,GAAG,EAAE;AAEvB,IAAA,MAAM,YAAY,GAAG,eAAe,CAAC,QAAQ,CAAC;AAE9C,IAAA,KAAK,MAAM,CAAC,YAAY,EAAE,aAAa,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACjE,QAAA,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;AACpD,YAAA,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,aAAa,CAAC,CAAC;;;IAIpE,MAAM,SAAS,GAAG,MAAM;AACrB,SAAA,MAAM;SACN,IAAI,CAAC,QAAQ;AACb,SAAA,KAAK,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC;IAE9B,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;QACxC;;AAGF,IAAA,OAAO,SAAS,CAAC,CAAC,CAAC;AACrB;;;;"}
@@ -5,6 +5,7 @@ import '../../seedSchema/MetadataSchema.js';
5
5
  import '../../seedSchema/AppStateSchema.js';
6
6
  import '../../seedSchema/ModelSchema.js';
7
7
  import '../../seedSchema/ModelUidSchema.js';
8
+ import '../../seedSchema/ConfigSchema.js';
8
9
  import { BaseDb } from '../Db/BaseDb.js';
9
10
  import { getVersionData } from './subqueries/versionData.js';
10
11
 
@@ -1 +1 @@
1
- {"version":3,"file":"getItems.js","sources":["../../../../../src/db/read/getItems.ts"],"sourcesContent":["import { ItemData } from '@/types'\nimport { and, eq, gt, isNotNull, isNull, or, SQL, sql } from 'drizzle-orm'\nimport { seeds } from '@/seedSchema'\nimport { BaseDb } from '@/db/Db/BaseDb'\nimport { getVersionData } from './subqueries/versionData'\n\ntype GetItemsDataProps = {\n modelName?: string\n deleted?: boolean\n}\n\ntype GetItemsData = (props: GetItemsDataProps) => Promise<ItemData[]>\n\nexport const getItemsData: GetItemsData = async ({\n modelName,\n deleted,\n}): Promise<ItemData[]> => {\n const appDb = BaseDb.getAppDb()\n\n const conditions: SQL[] = []\n\n if (modelName) {\n conditions.push(eq(seeds.type, modelName.toLowerCase()))\n }\n\n if (deleted) {\n conditions.push(\n or(\n isNotNull(seeds._markedForDeletion),\n eq(seeds._markedForDeletion, 1),\n ) as SQL,\n )\n }\n\n if (!deleted) {\n conditions.push(\n or(\n isNull(seeds._markedForDeletion),\n eq(seeds._markedForDeletion, 0),\n ) as SQL,\n )\n }\n\n const versionData = getVersionData()\n\n let query = appDb\n .with(versionData)\n .select({\n seedLocalId: seeds.localId,\n seedUid: seeds.uid,\n schemaUid: seeds.schemaUid,\n modelName: sql<string>`${modelName}`,\n attestationCreatedAt: seeds.attestationCreatedAt,\n versionsCount: versionData.versionsCount,\n lastVersionPublishedAt: versionData.lastVersionPublishedAt,\n lastLocalUpdateAt: versionData.lastLocalUpdateAt,\n latestVersionUid: versionData.latestVersionUid,\n latestVersionLocalId: versionData.latestVersionLocalId,\n createdAt: seeds.createdAt,\n })\n .from(seeds)\n .leftJoin(versionData, eq(seeds.localId, versionData.seedLocalId))\n .where(and(gt(versionData.versionsCount, 0), ...conditions))\n .orderBy(sql.raw('COALESCE(attestation_created_at, created_at) DESC'))\n .groupBy(seeds.localId)\n\n const itemsData = (await query) as ItemData[]\n\n return itemsData\n}\n"],"names":[],"mappings":";;;;;;;;;;AAaO,MAAM,YAAY,GAAiB,OAAO,EAC/C,SAAS,EACT,OAAO,GACR,KAAyB;AACxB,IAAA,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE;IAE/B,MAAM,UAAU,GAAU,EAAE;IAE5B,IAAI,SAAS,EAAE;AACb,QAAA,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;;IAG1D,IAAI,OAAO,EAAE;QACX,UAAU,CAAC,IAAI,CACb,EAAE,CACA,SAAS,CAAC,KAAK,CAAC,kBAAkB,CAAC,EACnC,EAAE,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC,CAAC,CACzB,CACT;;IAGH,IAAI,CAAC,OAAO,EAAE;QACZ,UAAU,CAAC,IAAI,CACb,EAAE,CACA,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAChC,EAAE,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC,CAAC,CACzB,CACT;;AAGH,IAAA,MAAM,WAAW,GAAG,cAAc,EAAE;IAEpC,IAAI,KAAK,GAAG;SACT,IAAI,CAAC,WAAW;AAChB,SAAA,MAAM,CAAC;QACN,WAAW,EAAE,KAAK,CAAC,OAAO;QAC1B,OAAO,EAAE,KAAK,CAAC,GAAG;QAClB,SAAS,EAAE,KAAK,CAAC,SAAS;AAC1B,QAAA,SAAS,EAAE,GAAG,CAAQ,CAAA,EAAG,SAAS,CAAE,CAAA;QACpC,oBAAoB,EAAE,KAAK,CAAC,oBAAoB;QAChD,aAAa,EAAE,WAAW,CAAC,aAAa;QACxC,sBAAsB,EAAE,WAAW,CAAC,sBAAsB;QAC1D,iBAAiB,EAAE,WAAW,CAAC,iBAAiB;QAChD,gBAAgB,EAAE,WAAW,CAAC,gBAAgB;QAC9C,oBAAoB,EAAE,WAAW,CAAC,oBAAoB;QACtD,SAAS,EAAE,KAAK,CAAC,SAAS;KAC3B;SACA,IAAI,CAAC,KAAK;AACV,SAAA,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC,WAAW,CAAC;AAChE,SAAA,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,GAAG,UAAU,CAAC;AAC1D,SAAA,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,mDAAmD,CAAC;AACpE,SAAA,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;AAEzB,IAAA,MAAM,SAAS,IAAI,MAAM,KAAK,CAAe;AAE7C,IAAA,OAAO,SAAS;AAClB;;;;"}
1
+ {"version":3,"file":"getItems.js","sources":["../../../../../src/db/read/getItems.ts"],"sourcesContent":["import { ItemData } from '@/types'\nimport { and, eq, gt, isNotNull, isNull, or, SQL, sql } from 'drizzle-orm'\nimport { seeds } from '@/seedSchema'\nimport { BaseDb } from '@/db/Db/BaseDb'\nimport { getVersionData } from './subqueries/versionData'\n\ntype GetItemsDataProps = {\n modelName?: string\n deleted?: boolean\n}\n\ntype GetItemsData = (props: GetItemsDataProps) => Promise<ItemData[]>\n\nexport const getItemsData: GetItemsData = async ({\n modelName,\n deleted,\n}): Promise<ItemData[]> => {\n const appDb = BaseDb.getAppDb()\n\n const conditions: SQL[] = []\n\n if (modelName) {\n conditions.push(eq(seeds.type, modelName.toLowerCase()))\n }\n\n if (deleted) {\n conditions.push(\n or(\n isNotNull(seeds._markedForDeletion),\n eq(seeds._markedForDeletion, 1),\n ) as SQL,\n )\n }\n\n if (!deleted) {\n conditions.push(\n or(\n isNull(seeds._markedForDeletion),\n eq(seeds._markedForDeletion, 0),\n ) as SQL,\n )\n }\n\n const versionData = getVersionData()\n\n let query = appDb\n .with(versionData)\n .select({\n seedLocalId: seeds.localId,\n seedUid: seeds.uid,\n schemaUid: seeds.schemaUid,\n modelName: sql<string>`${modelName}`,\n attestationCreatedAt: seeds.attestationCreatedAt,\n versionsCount: versionData.versionsCount,\n lastVersionPublishedAt: versionData.lastVersionPublishedAt,\n lastLocalUpdateAt: versionData.lastLocalUpdateAt,\n latestVersionUid: versionData.latestVersionUid,\n latestVersionLocalId: versionData.latestVersionLocalId,\n createdAt: seeds.createdAt,\n })\n .from(seeds)\n .leftJoin(versionData, eq(seeds.localId, versionData.seedLocalId))\n .where(and(gt(versionData.versionsCount, 0), ...conditions))\n .orderBy(sql.raw('COALESCE(attestation_created_at, created_at) DESC'))\n .groupBy(seeds.localId)\n\n const itemsData = (await query) as ItemData[]\n\n return itemsData\n}\n"],"names":[],"mappings":";;;;;;;;;;;AAaO,MAAM,YAAY,GAAiB,OAAO,EAC/C,SAAS,EACT,OAAO,GACR,KAAyB;AACxB,IAAA,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE;IAE/B,MAAM,UAAU,GAAU,EAAE;IAE5B,IAAI,SAAS,EAAE;AACb,QAAA,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;;IAG1D,IAAI,OAAO,EAAE;QACX,UAAU,CAAC,IAAI,CACb,EAAE,CACA,SAAS,CAAC,KAAK,CAAC,kBAAkB,CAAC,EACnC,EAAE,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC,CAAC,CACzB,CACT;;IAGH,IAAI,CAAC,OAAO,EAAE;QACZ,UAAU,CAAC,IAAI,CACb,EAAE,CACA,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAChC,EAAE,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC,CAAC,CACzB,CACT;;AAGH,IAAA,MAAM,WAAW,GAAG,cAAc,EAAE;IAEpC,IAAI,KAAK,GAAG;SACT,IAAI,CAAC,WAAW;AAChB,SAAA,MAAM,CAAC;QACN,WAAW,EAAE,KAAK,CAAC,OAAO;QAC1B,OAAO,EAAE,KAAK,CAAC,GAAG;QAClB,SAAS,EAAE,KAAK,CAAC,SAAS;AAC1B,QAAA,SAAS,EAAE,GAAG,CAAQ,CAAA,EAAG,SAAS,CAAE,CAAA;QACpC,oBAAoB,EAAE,KAAK,CAAC,oBAAoB;QAChD,aAAa,EAAE,WAAW,CAAC,aAAa;QACxC,sBAAsB,EAAE,WAAW,CAAC,sBAAsB;QAC1D,iBAAiB,EAAE,WAAW,CAAC,iBAAiB;QAChD,gBAAgB,EAAE,WAAW,CAAC,gBAAgB;QAC9C,oBAAoB,EAAE,WAAW,CAAC,oBAAoB;QACtD,SAAS,EAAE,KAAK,CAAC,SAAS;KAC3B;SACA,IAAI,CAAC,KAAK;AACV,SAAA,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC,WAAW,CAAC;AAChE,SAAA,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,GAAG,UAAU,CAAC;AAC1D,SAAA,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,mDAAmD,CAAC;AACpE,SAAA,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;AAEzB,IAAA,MAAM,SAAS,IAAI,MAAM,KAAK,CAAe;AAE7C,IAAA,OAAO,SAAS;AAClB;;;;"}
@@ -6,6 +6,7 @@ import { metadata } from '../../seedSchema/MetadataSchema.js';
6
6
  import '../../seedSchema/AppStateSchema.js';
7
7
  import '../../seedSchema/ModelSchema.js';
8
8
  import '../../seedSchema/ModelUidSchema.js';
9
+ import '../../seedSchema/ConfigSchema.js';
9
10
 
10
11
  const getMetadata = async (props) => {
11
12
  const appDb = BaseDb.getAppDb();
@@ -1 +1 @@
1
- {"version":3,"file":"getMetadata.js","sources":["../../../../../src/db/read/getMetadata.ts"],"sourcesContent":["import { BaseDb } from '@/db/Db/BaseDb'\nimport { and, eq, SQL } from 'drizzle-orm'\nimport { metadata, MetadataType } from '@/seedSchema'\n\ntype GetMetadataProps =\n | {\n storageTransactionId?: string\n }\n | undefined\n\ntype GetMetadata = (\n props: GetMetadataProps,\n) => Promise<MetadataType | undefined>\n\nexport const getMetadata: GetMetadata = async (props) => {\n const appDb = BaseDb.getAppDb()\n\n let storageTransactionId: string | undefined\n if (props) {\n storageTransactionId = props.storageTransactionId\n }\n\n const whereClauses: SQL[] = []\n\n if (storageTransactionId) {\n whereClauses.push(eq(metadata.propertyName, 'storageTransactionId'))\n whereClauses.push(eq(metadata.propertyValue, storageTransactionId))\n }\n\n const metadataRows = await appDb\n .select()\n .from(metadata)\n .where(and(...whereClauses))\n\n if (!metadataRows || metadataRows.length === 0) {\n return\n }\n\n return metadataRows[0]\n}\n"],"names":[],"mappings":";;;;;;;;;MAca,WAAW,GAAgB,OAAO,KAAK,KAAI;AACtD,IAAA,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE;AAE/B,IAAA,IAAI,oBAAwC;IAC5C,IAAI,KAAK,EAAE;AACT,QAAA,oBAAoB,GAAG,KAAK,CAAC,oBAAoB;;IAGnD,MAAM,YAAY,GAAU,EAAE;IAE9B,IAAI,oBAAoB,EAAE;AACxB,QAAA,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,sBAAsB,CAAC,CAAC;AACpE,QAAA,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,aAAa,EAAE,oBAAoB,CAAC,CAAC;;IAGrE,MAAM,YAAY,GAAG,MAAM;AACxB,SAAA,MAAM;SACN,IAAI,CAAC,QAAQ;AACb,SAAA,KAAK,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC;IAE9B,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;QAC9C;;AAGF,IAAA,OAAO,YAAY,CAAC,CAAC,CAAC;AACxB;;;;"}
1
+ {"version":3,"file":"getMetadata.js","sources":["../../../../../src/db/read/getMetadata.ts"],"sourcesContent":["import { BaseDb } from '@/db/Db/BaseDb'\nimport { and, eq, SQL } from 'drizzle-orm'\nimport { metadata, MetadataType } from '@/seedSchema'\n\ntype GetMetadataProps =\n | {\n storageTransactionId?: string\n }\n | undefined\n\ntype GetMetadata = (\n props: GetMetadataProps,\n) => Promise<MetadataType | undefined>\n\nexport const getMetadata: GetMetadata = async (props) => {\n const appDb = BaseDb.getAppDb()\n\n let storageTransactionId: string | undefined\n if (props) {\n storageTransactionId = props.storageTransactionId\n }\n\n const whereClauses: SQL[] = []\n\n if (storageTransactionId) {\n whereClauses.push(eq(metadata.propertyName, 'storageTransactionId'))\n whereClauses.push(eq(metadata.propertyValue, storageTransactionId))\n }\n\n const metadataRows = await appDb\n .select()\n .from(metadata)\n .where(and(...whereClauses))\n\n if (!metadataRows || metadataRows.length === 0) {\n return\n }\n\n return metadataRows[0]\n}\n"],"names":[],"mappings":";;;;;;;;;;MAca,WAAW,GAAgB,OAAO,KAAK,KAAI;AACtD,IAAA,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE;AAE/B,IAAA,IAAI,oBAAwC;IAC5C,IAAI,KAAK,EAAE;AACT,QAAA,oBAAoB,GAAG,KAAK,CAAC,oBAAoB;;IAGnD,MAAM,YAAY,GAAU,EAAE;IAE9B,IAAI,oBAAoB,EAAE;AACxB,QAAA,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,sBAAsB,CAAC,CAAC;AACpE,QAAA,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,aAAa,EAAE,oBAAoB,CAAC,CAAC;;IAGrE,MAAM,YAAY,GAAG,MAAM;AACxB,SAAA,MAAM;SACN,IAAI,CAAC,QAAQ;AACb,SAAA,KAAK,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC;IAE9B,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;QAC9C;;AAGF,IAAA,OAAO,YAAY,CAAC,CAAC,CAAC;AACxB;;;;"}
@@ -6,6 +6,7 @@ import '../../seedSchema/MetadataSchema.js';
6
6
  import '../../seedSchema/AppStateSchema.js';
7
7
  import { models } from '../../seedSchema/ModelSchema.js';
8
8
  import { modelUids } from '../../seedSchema/ModelUidSchema.js';
9
+ import '../../seedSchema/ConfigSchema.js';
9
10
  import { eq } from 'drizzle-orm';
10
11
  import pluralize from 'pluralize';
11
12
  import { toSnakeCase } from '../../helpers/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"getModelSchemas.js","sources":["../../../../../src/db/read/getModelSchemas.ts"],"sourcesContent":["import { getModels } from '@/stores/modelClass'\nimport { GetSchemasQuery, Schema } from '@/graphql/gql/graphql'\nimport { BaseDb } from '@/db/Db/BaseDb'\nimport { models as modelsTable, modelUids } from '@/seedSchema'\nimport { eq } from 'drizzle-orm'\nimport pluralize from 'pluralize'\nimport { toSnakeCase } from '@/helpers'\n\nconst schemaStringToModelRecord = new Map<string, Schema>()\n\ntype GetModelSchemasReturn = {\n schemaStringToModelRecord: Map<string, Schema>\n modelRecords: Record<string, unknown>\n}\n\ntype GetModelSchemas = () => Promise<GetModelSchemasReturn>\n\nexport const getModelSchemas: GetModelSchemas = async () => {\n const models = getModels()\n const modelRecords = [] as Record<string, unknown>[]\n\n \n\n const appDb = BaseDb.getAppDb()\n\n for (const [modelName, _] of Object.entries(models)) {\n const foundModelQuery = 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: Schema = { ...foundModelQuery[0] }\n\n if (!foundModel) {\n console.error(\n `[item/events] [syncDbWithEas] model ${modelName} not found in SDK DB`,\n )\n return\n }\n\n foundModel.tableName = pluralize(foundModel.name).toLowerCase()\n\n modelRecords!.push(foundModel)\n\n if (modelName === 'Seed' || modelName === 'Version') {\n continue\n }\n\n const schemaString = `bytes32 ${toSnakeCase(modelName)}`\n\n schemaStringToModelRecord.set(schemaString, foundModel)\n }\n\n return {\n schemaStringToModelRecord,\n modelRecords,\n }\n}\n"],"names":["models","modelsTable"],"mappings":";;;;;;;;;;;;AAQA,MAAM,yBAAyB,GAAG,IAAI,GAAG,EAAkB;AAS9C,MAAA,eAAe,GAAoB,YAAW;AACzD,IAAA,MAAMA,QAAM,GAAG,SAAS,EAAE;IAC1B,MAAM,YAAY,GAAG,EAA+B;AAIpD,IAAA,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE;AAE/B,IAAA,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAACA,QAAM,CAAC,EAAE;QACnD,MAAM,eAAe,GAAG,MAAM;AAC3B,aAAA,MAAM,CAAC;YACN,EAAE,EAAEC,MAAW,CAAC,EAAE;YAClB,IAAI,EAAEA,MAAW,CAAC,IAAI;YACtB,GAAG,EAAE,SAAS,CAAC,GAAG;SACnB;aACA,IAAI,CAACA,MAAW;AAChB,aAAA,QAAQ,CAAC,SAAS,EAAE,EAAE,CAACA,MAAW,CAAC,EAAE,EAAE,SAAS,CAAC,OAAO,CAAC;aACzD,KAAK,CAAC,EAAE,CAACA,MAAW,CAAC,IAAI,EAAE,SAAS,CAAC;aACrC,KAAK,CAAC,CAAC,CAAC;QAEX,MAAM,UAAU,GAAW,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE;QAEpD,IAAI,CAAC,UAAU,EAAE;AACf,YAAA,OAAO,CAAC,KAAK,CACX,uCAAuC,SAAS,CAAA,oBAAA,CAAsB,CACvE;YACD;;AAGF,QAAA,UAAU,CAAC,SAAS,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE;AAE/D,QAAA,YAAa,CAAC,IAAI,CAAC,UAAU,CAAC;QAE9B,IAAI,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,SAAS,EAAE;YACnD;;QAGF,MAAM,YAAY,GAAG,CAAW,QAAA,EAAA,WAAW,CAAC,SAAS,CAAC,EAAE;AAExD,QAAA,yBAAyB,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC;;IAGzD,OAAO;QACL,yBAAyB;QACzB,YAAY;KACb;AACH;;;;"}
1
+ {"version":3,"file":"getModelSchemas.js","sources":["../../../../../src/db/read/getModelSchemas.ts"],"sourcesContent":["import { getModels } from '@/stores/modelClass'\nimport { GetSchemasQuery, Schema } from '@/graphql/gql/graphql'\nimport { BaseDb } from '@/db/Db/BaseDb'\nimport { models as modelsTable, modelUids } from '@/seedSchema'\nimport { eq } from 'drizzle-orm'\nimport pluralize from 'pluralize'\nimport { toSnakeCase } from '@/helpers'\n\nconst schemaStringToModelRecord = new Map<string, Schema>()\n\ntype GetModelSchemasReturn = {\n schemaStringToModelRecord: Map<string, Schema>\n modelRecords: Record<string, unknown>\n}\n\ntype GetModelSchemas = () => Promise<GetModelSchemasReturn>\n\nexport const getModelSchemas: GetModelSchemas = async () => {\n const models = getModels()\n const modelRecords = [] as Record<string, unknown>[]\n\n \n\n const appDb = BaseDb.getAppDb()\n\n for (const [modelName, _] of Object.entries(models)) {\n const foundModelQuery = 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: Schema = { ...foundModelQuery[0] }\n\n if (!foundModel) {\n console.error(\n `[item/events] [syncDbWithEas] model ${modelName} not found in SDK DB`,\n )\n return\n }\n\n foundModel.tableName = pluralize(foundModel.name).toLowerCase()\n\n modelRecords!.push(foundModel)\n\n if (modelName === 'Seed' || modelName === 'Version') {\n continue\n }\n\n const schemaString = `bytes32 ${toSnakeCase(modelName)}`\n\n schemaStringToModelRecord.set(schemaString, foundModel)\n }\n\n return {\n schemaStringToModelRecord,\n modelRecords,\n }\n}\n"],"names":["models","modelsTable"],"mappings":";;;;;;;;;;;;;AAQA,MAAM,yBAAyB,GAAG,IAAI,GAAG,EAAkB;AAS9C,MAAA,eAAe,GAAoB,YAAW;AACzD,IAAA,MAAMA,QAAM,GAAG,SAAS,EAAE;IAC1B,MAAM,YAAY,GAAG,EAA+B;AAIpD,IAAA,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE;AAE/B,IAAA,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAACA,QAAM,CAAC,EAAE;QACnD,MAAM,eAAe,GAAG,MAAM;AAC3B,aAAA,MAAM,CAAC;YACN,EAAE,EAAEC,MAAW,CAAC,EAAE;YAClB,IAAI,EAAEA,MAAW,CAAC,IAAI;YACtB,GAAG,EAAE,SAAS,CAAC,GAAG;SACnB;aACA,IAAI,CAACA,MAAW;AAChB,aAAA,QAAQ,CAAC,SAAS,EAAE,EAAE,CAACA,MAAW,CAAC,EAAE,EAAE,SAAS,CAAC,OAAO,CAAC;aACzD,KAAK,CAAC,EAAE,CAACA,MAAW,CAAC,IAAI,EAAE,SAAS,CAAC;aACrC,KAAK,CAAC,CAAC,CAAC;QAEX,MAAM,UAAU,GAAW,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE;QAEpD,IAAI,CAAC,UAAU,EAAE;AACf,YAAA,OAAO,CAAC,KAAK,CACX,uCAAuC,SAAS,CAAA,oBAAA,CAAsB,CACvE;YACD;;AAGF,QAAA,UAAU,CAAC,SAAS,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE;AAE/D,QAAA,YAAa,CAAC,IAAI,CAAC,UAAU,CAAC;QAE9B,IAAI,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,SAAS,EAAE;YACnD;;QAGF,MAAM,YAAY,GAAG,CAAW,QAAA,EAAA,WAAW,CAAC,SAAS,CAAC,EAAE;AAExD,QAAA,yBAAyB,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC;;IAGzD,OAAO;QACL,yBAAyB;QACzB,YAAY;KACb;AACH;;;;"}
@@ -4,6 +4,7 @@ import '../../seedSchema/MetadataSchema.js';
4
4
  import '../../seedSchema/AppStateSchema.js';
5
5
  import { models } from '../../seedSchema/ModelSchema.js';
6
6
  import '../../seedSchema/ModelUidSchema.js';
7
+ import '../../seedSchema/ConfigSchema.js';
7
8
  import { BaseDb } from '../Db/BaseDb.js';
8
9
 
9
10
  const getModels = async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"getModels.js","sources":["../../../../../src/db/read/getModels.ts"],"sourcesContent":["import { ModelRecordType, models } from '@/seedSchema'\nimport { BaseDb } from '@/db/Db/BaseDb'\n\ntype GetModels = () => Promise<ModelRecordType[]>\n\nexport const getModels: GetModels = async () => {\n\n const appDb = BaseDb.getAppDb()\n\n const modelsData = await appDb.select().from(models)\n\n return modelsData || []\n}\n"],"names":[],"mappings":";;;;;;;;AAKa,MAAA,SAAS,GAAc,YAAW;AAE7C,IAAA,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE;AAE/B,IAAA,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;IAEpD,OAAO,UAAU,IAAI,EAAE;AACzB;;;;"}
1
+ {"version":3,"file":"getModels.js","sources":["../../../../../src/db/read/getModels.ts"],"sourcesContent":["import { ModelRecordType, models } from '@/seedSchema'\nimport { BaseDb } from '@/db/Db/BaseDb'\n\ntype GetModels = () => Promise<ModelRecordType[]>\n\nexport const getModels: GetModels = async () => {\n\n const appDb = BaseDb.getAppDb()\n\n const modelsData = await appDb.select().from(models)\n\n return modelsData || []\n}\n"],"names":[],"mappings":";;;;;;;;;AAKa,MAAA,SAAS,GAAc,YAAW;AAE7C,IAAA,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE;AAE/B,IAAA,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;IAEpD,OAAO,UAAU,IAAI,EAAE;AACzB;;;;"}
@@ -5,6 +5,7 @@ import { metadata } from '../../seedSchema/MetadataSchema.js';
5
5
  import '../../seedSchema/AppStateSchema.js';
6
6
  import '../../seedSchema/ModelSchema.js';
7
7
  import '../../seedSchema/ModelUidSchema.js';
8
+ import '../../seedSchema/ConfigSchema.js';
8
9
  import { or, eq, and, sql } from 'drizzle-orm';
9
10
  import { startCase } from 'lodash-es';
10
11
 
@@ -1 +1 @@
1
- {"version":3,"file":"getPropertyData.js","sources":["../../../../../src/db/read/getPropertyData.ts"],"sourcesContent":["import { PropertyData } from \"@/types\"\nimport { BaseDb } from \"@/db/Db/BaseDb\"\nimport { metadata, MetadataType } from \"@/seedSchema\"\nimport { or, eq, and, sql } from \"drizzle-orm\"\nimport { startCase } from \"lodash-es\"\nimport { GetPropertyDataOptions } from \"@/types/db\"\n\n\nexport const getPropertyData = async ({\n propertyName,\n seedLocalId,\n seedUid,\n}: GetPropertyDataOptions): Promise<PropertyData | undefined> => {\n const appDb = BaseDb.getAppDb()\n\n const whereClauses: any[] = [\n or(\n eq(metadata.propertyName, propertyName),\n eq(metadata.propertyName, propertyName + 'Id'),\n eq(metadata.propertyName, propertyName + 'Ids'),\n ),\n ]\n\n if (seedLocalId) {\n whereClauses.push(eq(metadata.seedLocalId, seedLocalId))\n }\n\n if (seedUid) {\n whereClauses.push(eq(metadata.seedUid, seedUid))\n }\n\n const rows = (await appDb\n .select()\n .from(metadata)\n .where(and(...whereClauses))\n .orderBy(\n sql.raw(`COALESCE(attestation_created_at, created_at) DESC`),\n )) as MetadataType[]\n\n if (!rows || rows.length === 0) {\n return\n }\n\n const row = rows[0]\n\n return {\n ...row,\n modelName: startCase(row.modelType),\n }\n} "],"names":[],"mappings":";;;;;;;;;;AAQO,MAAM,eAAe,GAAG,OAAO,EACpC,YAAY,EACZ,WAAW,EACX,OAAO,GACgB,KAAuC;AAC9D,IAAA,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE;AAE/B,IAAA,MAAM,YAAY,GAAU;AAC1B,QAAA,EAAE,CACA,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,EACvC,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC,EAC9C,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,GAAG,KAAK,CAAC,CAChD;KACF;IAED,IAAI,WAAW,EAAE;AACf,QAAA,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;;IAG1D,IAAI,OAAO,EAAE;AACX,QAAA,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;;AAGlD,IAAA,MAAM,IAAI,IAAI,MAAM;AACjB,SAAA,MAAM;SACN,IAAI,CAAC,QAAQ;AACb,SAAA,KAAK,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC;SAC1B,OAAO,CACN,GAAG,CAAC,GAAG,CAAC,CAAmD,iDAAA,CAAA,CAAC,CAC7D,CAAmB;IAEtB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QAC9B;;AAGF,IAAA,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;IAEnB,OAAO;AACL,QAAA,GAAG,GAAG;AACN,QAAA,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;KACpC;AACH;;;;"}
1
+ {"version":3,"file":"getPropertyData.js","sources":["../../../../../src/db/read/getPropertyData.ts"],"sourcesContent":["import { PropertyData } from \"@/types\"\nimport { BaseDb } from \"@/db/Db/BaseDb\"\nimport { metadata, MetadataType } from \"@/seedSchema\"\nimport { or, eq, and, sql } from \"drizzle-orm\"\nimport { startCase } from \"lodash-es\"\nimport { GetPropertyDataOptions } from \"@/types/db\"\n\n\nexport const getPropertyData = async ({\n propertyName,\n seedLocalId,\n seedUid,\n}: GetPropertyDataOptions): Promise<PropertyData | undefined> => {\n const appDb = BaseDb.getAppDb()\n\n const whereClauses: any[] = [\n or(\n eq(metadata.propertyName, propertyName),\n eq(metadata.propertyName, propertyName + 'Id'),\n eq(metadata.propertyName, propertyName + 'Ids'),\n ),\n ]\n\n if (seedLocalId) {\n whereClauses.push(eq(metadata.seedLocalId, seedLocalId))\n }\n\n if (seedUid) {\n whereClauses.push(eq(metadata.seedUid, seedUid))\n }\n\n const rows = (await appDb\n .select()\n .from(metadata)\n .where(and(...whereClauses))\n .orderBy(\n sql.raw(`COALESCE(attestation_created_at, created_at) DESC`),\n )) as MetadataType[]\n\n if (!rows || rows.length === 0) {\n return\n }\n\n const row = rows[0]\n\n return {\n ...row,\n modelName: startCase(row.modelType),\n }\n} "],"names":[],"mappings":";;;;;;;;;;;AAQO,MAAM,eAAe,GAAG,OAAO,EACpC,YAAY,EACZ,WAAW,EACX,OAAO,GACgB,KAAuC;AAC9D,IAAA,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE;AAE/B,IAAA,MAAM,YAAY,GAAU;AAC1B,QAAA,EAAE,CACA,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,EACvC,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC,EAC9C,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,GAAG,KAAK,CAAC,CAChD;KACF;IAED,IAAI,WAAW,EAAE;AACf,QAAA,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;;IAG1D,IAAI,OAAO,EAAE;AACX,QAAA,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;;AAGlD,IAAA,MAAM,IAAI,IAAI,MAAM;AACjB,SAAA,MAAM;SACN,IAAI,CAAC,QAAQ;AACb,SAAA,KAAK,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC;SAC1B,OAAO,CACN,GAAG,CAAC,GAAG,CAAC,CAAmD,iDAAA,CAAA,CAAC,CAC7D,CAAmB;IAEtB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QAC9B;;AAGF,IAAA,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;IAEnB,OAAO;AACL,QAAA,GAAG,GAAG;AACN,QAAA,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;KACpC;AACH;;;;"}
@@ -4,6 +4,7 @@ import { metadata } from '../../seedSchema/MetadataSchema.js';
4
4
  import '../../seedSchema/AppStateSchema.js';
5
5
  import '../../seedSchema/ModelSchema.js';
6
6
  import '../../seedSchema/ModelUidSchema.js';
7
+ import '../../seedSchema/ConfigSchema.js';
7
8
  import { max, eq } from 'drizzle-orm';
8
9
  import { BaseDb } from '../Db/BaseDb.js';
9
10
 
@@ -1 +1 @@
1
- {"version":3,"file":"getRelationValueData.js","sources":["../../../../../src/db/read/getRelationValueData.ts"],"sourcesContent":["import { metadata, MetadataType } from '@/seedSchema'\nimport { eq, max } from 'drizzle-orm'\nimport { BaseDb } from '@/db/Db/BaseDb'\n\nexport const getRelationValueData = async (\n propertyValue: any,\n): Promise<MetadataType | undefined> => {\n const appDb = BaseDb.getAppDb()\n\n const rows = (await appDb\n .select({\n propertyValue: metadata.propertyValue,\n attestationCreatedAt: max(metadata.attestationCreatedAt),\n refResolvedDisplayValue: metadata.refResolvedDisplayValue,\n refResolvedValue: metadata.refResolvedValue,\n refSeedType: metadata.refSeedType,\n easDataType: metadata.easDataType,\n })\n .from(metadata)\n .where(eq(metadata.propertyValue, propertyValue))) as MetadataType[]\n\n if (!rows || rows.length === 0) {\n return\n }\n\n return rows[0]\n} "],"names":[],"mappings":";;;;;;;;;MAIa,oBAAoB,GAAG,OAClC,aAAkB,KACmB;AACrC,IAAA,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE;AAE/B,IAAA,MAAM,IAAI,IAAI,MAAM;AACjB,SAAA,MAAM,CAAC;QACN,aAAa,EAAE,QAAQ,CAAC,aAAa;AACrC,QAAA,oBAAoB,EAAE,GAAG,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QACxD,uBAAuB,EAAE,QAAQ,CAAC,uBAAuB;QACzD,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;QAC3C,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,WAAW,EAAE,QAAQ,CAAC,WAAW;KAClC;SACA,IAAI,CAAC,QAAQ;SACb,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC,CAAmB;IAEtE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QAC9B;;AAGF,IAAA,OAAO,IAAI,CAAC,CAAC,CAAC;AAChB;;;;"}
1
+ {"version":3,"file":"getRelationValueData.js","sources":["../../../../../src/db/read/getRelationValueData.ts"],"sourcesContent":["import { metadata, MetadataType } from '@/seedSchema'\nimport { eq, max } from 'drizzle-orm'\nimport { BaseDb } from '@/db/Db/BaseDb'\n\nexport const getRelationValueData = async (\n propertyValue: any,\n): Promise<MetadataType | undefined> => {\n const appDb = BaseDb.getAppDb()\n\n const rows = (await appDb\n .select({\n propertyValue: metadata.propertyValue,\n attestationCreatedAt: max(metadata.attestationCreatedAt),\n refResolvedDisplayValue: metadata.refResolvedDisplayValue,\n refResolvedValue: metadata.refResolvedValue,\n refSeedType: metadata.refSeedType,\n easDataType: metadata.easDataType,\n })\n .from(metadata)\n .where(eq(metadata.propertyValue, propertyValue))) as MetadataType[]\n\n if (!rows || rows.length === 0) {\n return\n }\n\n return rows[0]\n} "],"names":[],"mappings":";;;;;;;;;;MAIa,oBAAoB,GAAG,OAClC,aAAkB,KACmB;AACrC,IAAA,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE;AAE/B,IAAA,MAAM,IAAI,IAAI,MAAM;AACjB,SAAA,MAAM,CAAC;QACN,aAAa,EAAE,QAAQ,CAAC,aAAa;AACrC,QAAA,oBAAoB,EAAE,GAAG,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QACxD,uBAAuB,EAAE,QAAQ,CAAC,uBAAuB;QACzD,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;QAC3C,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,WAAW,EAAE,QAAQ,CAAC,WAAW;KAClC;SACA,IAAI,CAAC,QAAQ;SACb,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC,CAAmB;IAEtE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QAC9B;;AAGF,IAAA,OAAO,IAAI,CAAC,CAAC,CAAC;AAChB;;;;"}
@@ -5,6 +5,7 @@ import '../../seedSchema/MetadataSchema.js';
5
5
  import '../../seedSchema/AppStateSchema.js';
6
6
  import '../../seedSchema/ModelSchema.js';
7
7
  import '../../seedSchema/ModelUidSchema.js';
8
+ import '../../seedSchema/ConfigSchema.js';
8
9
  import { eq } from 'drizzle-orm';
9
10
 
10
11
  const getSeedData = async ({ seedLocalId, seedUid }) => {