feat: Fix subscribers loading + add order <> cart link (#7617)

This commit is contained in:
Oli Juhl
2024-06-09 12:31:28 +02:00
committed by GitHub
parent fbb00f3863
commit 3f661c917b
10 changed files with 99 additions and 76 deletions
@@ -1,11 +1,11 @@
import { completeCartWorkflow } from "@medusajs/core-flows"
import { MedusaError } from "@medusajs/utils"
import { MedusaRequest, MedusaResponse } from "../../../../../types/routing"
import { prepareRetrieveQuery } from "../../../../../utils/get-query-config"
import { refetchOrder } from "../../../orders/helpers"
import { refetchCart } from "../../helpers"
import { defaultStoreCartFields } from "../../query-config"
import { StoreCompleteCartType } from "../../validators"
import { prepareRetrieveQuery } from "../../../../../utils/get-query-config"
export const POST = async (
req: MedusaRequest<StoreCompleteCartType>,
@@ -24,7 +24,7 @@ export class SubscriberLoader {
protected rootDir_: string
protected excludes: RegExp[] = [
/\.DS_Store/,
/(\.ts\.map|\.js\.map|\.d\.ts)/,
/(\.ts\.map|\.js\.map|\.d\.ts|\.md)/,
/^_[^/\\]*(\.[^/\\]+)?$/,
]
@@ -216,6 +216,7 @@ export class SubscriberLoader {
await readdir(this.rootDir_)
hasSubscriberDir = true
} catch (err) {
logger.debug(`No subscriber directory found in ${this.rootDir_}`)
hasSubscriberDir = false
}
+10 -15
View File
@@ -1,10 +1,12 @@
import { createDefaultsWorkflow } from "@medusajs/core-flows"
import { ConfigModule, MedusaContainer, PluginDetails } from "@medusajs/types"
import { ContainerRegistrationKeys, promiseAll } from "@medusajs/utils"
import {
ContainerRegistrationKeys,
createMedusaContainer,
promiseAll,
} from "@medusajs/utils"
import { asValue } from "awilix"
import { Express, NextFunction, Request, Response } from "express"
import glob from "glob"
import { createMedusaContainer } from "@medusajs/utils"
import path from "path"
import requestIp from "request-ip"
import { v4 } from "uuid"
@@ -15,11 +17,11 @@ import expressLoader from "./express"
import featureFlagsLoader from "./feature-flags"
import { registerWorkflows } from "./helpers/register-workflows"
import { getResolvedPlugins } from "./helpers/resolve-plugins"
import { resolvePluginsLinks } from "./helpers/resolve-plugins-links"
import { SubscriberLoader } from "./helpers/subscribers"
import Logger from "./logger"
import loadMedusaApp from "./medusa-app"
import registerPgConnection from "./pg-connection"
import { resolvePluginsLinks } from "./helpers/resolve-plugins-links"
type Options = {
directory: string
@@ -47,17 +49,10 @@ async function subscribersLoader(
*/
await Promise.all(
plugins.map(async (pluginDetails) => {
const files = glob.sync(
`${pluginDetails.resolve}/subscribers/*.{ts,js,mjs,mts}`,
{
ignore: ["**/*.d.ts", "**/*.map"],
}
)
return await Promise.all(
files.map(
async (file) => await new SubscriberLoader(file, container).load()
)
)
await new SubscriberLoader(
path.join(pluginDetails.resolve, "subscribers"),
container
).load()
})
)
}