fix(medusa): Load legacy modules entities (#5594)
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@medusajs/medusa": patch
|
||||
---
|
||||
|
||||
fix(medusa): Load legacy modules entities
|
||||
@@ -8,7 +8,7 @@ import { Express, NextFunction, Request, Response } from "express"
|
||||
import databaseLoader, { dataSource } from "./database"
|
||||
import pluginsLoader, { registerPluginModels } from "./plugins"
|
||||
|
||||
import { ContainerRegistrationKeys } from "@medusajs/utils"
|
||||
import { ContainerRegistrationKeys, isString } from "@medusajs/utils"
|
||||
import { asValue } from "awilix"
|
||||
import { createMedusaContainer } from "medusa-core-utils"
|
||||
import { track } from "medusa-telemetry"
|
||||
@@ -40,6 +40,8 @@ type Options = {
|
||||
}
|
||||
|
||||
async function loadLegacyModulesEntities(configModules, container) {
|
||||
const logger = container.resolve(ContainerRegistrationKeys.LOGGER)
|
||||
|
||||
for (const [moduleName, moduleConfig] of Object.entries(configModules)) {
|
||||
const definition = ModulesDefinition[moduleName]
|
||||
|
||||
@@ -47,16 +49,25 @@ async function loadLegacyModulesEntities(configModules, container) {
|
||||
continue
|
||||
}
|
||||
|
||||
if (
|
||||
(moduleConfig as InternalModuleDeclaration).resources ===
|
||||
MODULE_RESOURCE_TYPE.SHARED ||
|
||||
(definition.defaultModuleDeclaration as InternalModuleDeclaration)
|
||||
.resources === MODULE_RESOURCE_TYPE.SHARED
|
||||
) {
|
||||
const module = await import(
|
||||
(moduleConfig as InternalModuleDeclaration).resolve ??
|
||||
(definition.defaultPackage as string)
|
||||
)
|
||||
let modulePath = isString(moduleConfig)
|
||||
? moduleConfig
|
||||
: (moduleConfig as InternalModuleDeclaration).resolve ??
|
||||
(definition.defaultPackage as string)
|
||||
|
||||
const resources = isString(moduleConfig)
|
||||
? (definition.defaultModuleDeclaration as InternalModuleDeclaration)
|
||||
.resources
|
||||
: (moduleConfig as InternalModuleDeclaration).resources ??
|
||||
(definition.defaultModuleDeclaration as InternalModuleDeclaration)
|
||||
.resources
|
||||
|
||||
if (resources === MODULE_RESOURCE_TYPE.SHARED) {
|
||||
if (!modulePath) {
|
||||
logger.warn(`Unable to load module entities for ${moduleName}`)
|
||||
continue
|
||||
}
|
||||
|
||||
const module = await import(modulePath)
|
||||
|
||||
if (module.default?.models) {
|
||||
module.default.models.map((model) =>
|
||||
|
||||
Reference in New Issue
Block a user