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 databaseLoader, { dataSource } from "./database"
|
||||||
import pluginsLoader, { registerPluginModels } from "./plugins"
|
import pluginsLoader, { registerPluginModels } from "./plugins"
|
||||||
|
|
||||||
import { ContainerRegistrationKeys } from "@medusajs/utils"
|
import { ContainerRegistrationKeys, isString } from "@medusajs/utils"
|
||||||
import { asValue } from "awilix"
|
import { asValue } from "awilix"
|
||||||
import { createMedusaContainer } from "medusa-core-utils"
|
import { createMedusaContainer } from "medusa-core-utils"
|
||||||
import { track } from "medusa-telemetry"
|
import { track } from "medusa-telemetry"
|
||||||
@@ -40,6 +40,8 @@ type Options = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async function loadLegacyModulesEntities(configModules, container) {
|
async function loadLegacyModulesEntities(configModules, container) {
|
||||||
|
const logger = container.resolve(ContainerRegistrationKeys.LOGGER)
|
||||||
|
|
||||||
for (const [moduleName, moduleConfig] of Object.entries(configModules)) {
|
for (const [moduleName, moduleConfig] of Object.entries(configModules)) {
|
||||||
const definition = ModulesDefinition[moduleName]
|
const definition = ModulesDefinition[moduleName]
|
||||||
|
|
||||||
@@ -47,16 +49,25 @@ async function loadLegacyModulesEntities(configModules, container) {
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
if (
|
let modulePath = isString(moduleConfig)
|
||||||
(moduleConfig as InternalModuleDeclaration).resources ===
|
? moduleConfig
|
||||||
MODULE_RESOURCE_TYPE.SHARED ||
|
: (moduleConfig as InternalModuleDeclaration).resolve ??
|
||||||
(definition.defaultModuleDeclaration as InternalModuleDeclaration)
|
|
||||||
.resources === MODULE_RESOURCE_TYPE.SHARED
|
|
||||||
) {
|
|
||||||
const module = await import(
|
|
||||||
(moduleConfig as InternalModuleDeclaration).resolve ??
|
|
||||||
(definition.defaultPackage as string)
|
(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) {
|
if (module.default?.models) {
|
||||||
module.default.models.map((model) =>
|
module.default.models.map((model) =>
|
||||||
|
|||||||
Reference in New Issue
Block a user