fix: make v2 with modules run (#6636)

This commit is contained in:
Sebastian Rindom authored and GitHub committed 2024-03-09 15:09:06 +00:00
1 parent c2d56ca12b
commit a838ebae1b
10 files changed
+43 -39

No files matched your search

@@ -61,12 +61,10 @@ export const DELETE = async (
res: MedusaResponse
) => {
const id = req.params.id
const manager = req.scope.resolve("manager")
const deleteCampaigns = deleteCampaignsWorkflow(req.scope)
const { errors } = await deleteCampaigns.run({
input: { ids: [id] },
context: { manager },
throwOnError: false,
})
@@ -10,7 +10,6 @@ import {
import { AdminPostPromotionsPromotionReq } from "../validators"
import { IPromotionModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/modules-sdk"
import { UpdateApplicationMethodDTO } from "@medusajs/types"
import { UpdatePromotionDTO } from "@medusajs/types"
export const GET = async (
@@ -58,12 +57,10 @@ export const DELETE = async (
res: MedusaResponse
) => {
const id = req.params.id
const manager = req.scope.resolve("manager")
const deletePromotions = deletePromotionsWorkflow(req.scope)
const { errors } = await deletePromotions.run({
input: { ids: [id] },
context: { manager },
throwOnError: false,
})
+23 -5
View File
@@ -8,12 +8,14 @@ import getMigrations, {
import {
ContainerRegistrationKeys,
createMedusaContainer,
MedusaV2Flag,
promiseAll,
} from "@medusajs/utils"
import configModuleLoader from "../loaders/config"
import databaseLoader from "../loaders/database"
import featureFlagLoader from "../loaders/feature-flags"
import Logger from "../loaders/logger"
import { loadMedusaApp } from "../loaders/medusa-app"
import { migrateMedusaApp, loadMedusaApp } from "../loaders/medusa-app"
import pgConnectionLoader from "../loaders/pg-connection"
const getDataSource = async (directory) => {
@@ -70,15 +72,31 @@ const main = async function ({ directory }) {
args.shift()
args.shift()
const featureFlagRouter = featureFlagLoader(configModule)
const configModule = configModuleLoader(directory)
const dataSource = await getDataSource(directory)
if (args[0] === "run") {
await dataSource.runMigrations()
await dataSource.destroy()
await runIsolatedModulesMigration(configModule)
if (featureFlagRouter.isFeatureEnabled(MedusaV2Flag.key)) {
const container = createMedusaContainer()
const pgConnection = await pgConnectionLoader({ configModule, container })
container.register({
[ContainerRegistrationKeys.CONFIG_MODULE]: asValue(configModule),
[ContainerRegistrationKeys.LOGGER]: asValue(Logger),
[ContainerRegistrationKeys.PG_CONNECTION]: asValue(pgConnection),
featureFlagRouter: asValue(featureFlagRouter),
})
await migrateMedusaApp(
{ configModule, container },
{ registerInContainer: false }
)
} else {
await dataSource.runMigrations()
await dataSource.destroy()
await runIsolatedModulesMigration(configModule)
await runLinkMigrations(directory)
await runLinkMigrations(directory)
}
process.exit()
Logger.info("Migrations completed.")
+12 -14
View File
@@ -3,7 +3,11 @@ import {
ModulesDefinition,
} from "@medusajs/modules-sdk"
import { MODULE_RESOURCE_TYPE } from "@medusajs/types"
import { ContainerRegistrationKeys, isString } from "@medusajs/utils"
import {
ContainerRegistrationKeys,
isString,
MedusaV2Flag,
} from "@medusajs/utils"
import { asValue } from "awilix"
import { Express, NextFunction, Request, Response } from "express"
import { createMedusaContainer } from "medusa-core-utils"
@@ -77,9 +81,7 @@ async function loadLegacyModulesEntities(configModules, container) {
}
}
async function loadMedusaV2({ directory, expressApp }) {
const configModule = loadConfig(directory)
async function loadMedusaV2({ configModule, featureFlagRouter, expressApp }) {
const container = createMedusaContainer()
// Add additional information to context of request
@@ -91,12 +93,9 @@ async function loadMedusaV2({ directory, expressApp }) {
next()
})
const featureFlagRouter = featureFlagsLoader(configModule, Logger)
const pgConnection = await pgConnectionLoader({ container, configModule })
container.register({
[ContainerRegistrationKeys.MANAGER]: asValue(dataSource.manager),
[ContainerRegistrationKeys.LOGGER]: asValue(Logger),
featureFlagRouter: asValue(featureFlagRouter),
[ContainerRegistrationKeys.CONFIG_MODULE]: asValue(configModule),
@@ -142,11 +141,13 @@ export default async ({
app: Express
pgConnection: unknown
}> => {
if (process.env.MEDUSA_FF_MEDUSA_V2 == "true") {
return await loadMedusaV2({ directory: rootDirectory, expressApp })
}
const configModule = loadConfig(rootDirectory)
const featureFlagRouter = featureFlagsLoader(configModule, Logger)
track("FEATURE_FLAGS_LOADED")
if (featureFlagRouter.isFeatureEnabled(MedusaV2Flag.key)) {
return await loadMedusaV2({ configModule, featureFlagRouter, expressApp })
}
const container = createMedusaContainer()
container.register(
@@ -163,9 +164,6 @@ export default async ({
next()
})
const featureFlagRouter = featureFlagsLoader(configModule, Logger)
track("FEATURE_FLAGS_LOADED")
container.register({
[ContainerRegistrationKeys.LOGGER]: asValue(Logger),
featureFlagRouter: asValue(featureFlagRouter),