chore: Migrate modules to use the Module util (#7964)

**What**
Apply the `Module` util to each module to handle the export and provide the linkable configuration object.

- Most joiner config that does not have any special config are removed/cleaned up in favor of the autogenerated one or simpler one
- linkable are now available in all modules
- cleaned up the dependencies of the modules

FIXES CORE-2410
This commit is contained in:
Adrien de Peretti
2024-07-05 15:00:40 +02:00
committed by GitHub
parent eafa3560ae
commit b368251ca3
99 changed files with 1267 additions and 488 deletions

View File

@@ -1,6 +1,8 @@
import { moduleDefinition } from "./module-definition"
import { Module, Modules } from "@medusajs/utils"
import { WorkflowsModuleService } from "@services"
import { loadUtils, redisConnection } from "./loaders"
export default moduleDefinition
export * from "./loaders"
export * from "./models"
export default Module(Modules.WORKFLOW_ENGINE, {
service: WorkflowsModuleService,
loaders: [loadUtils, redisConnection] as any[],
})

View File

@@ -1,3 +0,0 @@
import { defineJoinerConfig, Modules } from "@medusajs/utils"
export const joinerConfig = defineJoinerConfig(Modules.WORKFLOW_ENGINE)

View File

@@ -1,2 +1,2 @@
export * from "./redis"
export * from "./utils"
export { default as redisConnection } from "./redis"
export { default as loadUtils } from "./utils"

View File

@@ -1,12 +0,0 @@
import { ModuleExports } from "@medusajs/types"
import { WorkflowsModuleService } from "@services"
import redisConnection from "./loaders/redis"
import loadUtils from "./loaders/utils"
const service = WorkflowsModuleService
const loaders = [loadUtils, redisConnection] as any
export const moduleDefinition: ModuleExports = {
service,
loaders,
}

View File

@@ -2,7 +2,6 @@ import {
Context,
DAL,
InternalModuleDeclaration,
ModuleJoinerConfig,
ModulesSdkTypes,
WorkflowsSdkTypes,
} from "@medusajs/types"
@@ -17,7 +16,6 @@ import type {
} from "@medusajs/workflows-sdk"
import { WorkflowExecution } from "@models"
import { WorkflowOrchestratorService } from "@services"
import { joinerConfig } from "../joiner-config"
type InjectedDependencies = {
baseRepository: DAL.RepositoryService
@@ -54,10 +52,6 @@ export class WorkflowsModuleService<
this.redisDisconnectHandler_ = redisDisconnectHandler
}
__joinerConfig(): ModuleJoinerConfig {
return joinerConfig
}
__hooks = {
onApplicationShutdown: async () => {
await this.workflowOrchestratorService_.onApplicationShutdown()