feat(types,modules-sdk): basic module setup for promotions (#5920)

RESOLVES CORE-1580
This commit is contained in:
Riqwan Thamir
2023-12-20 13:21:13 +01:00
committed by GitHub
parent f25ca30b3a
commit 3f6d79961d
46 changed files with 724 additions and 11 deletions

View File

@@ -4,6 +4,8 @@ import {
ModuleDefinition,
} from "@medusajs/types"
import { upperCaseFirst } from "@medusajs/utils"
export enum Modules {
EVENT_BUS = "eventBus",
STOCK_LOCATION = "stockLocationService",
@@ -11,6 +13,7 @@ export enum Modules {
CACHE = "cacheService",
PRODUCT = "productService",
PRICING = "pricingService",
PROMOTION = "promotion",
}
export enum ModuleRegistrationName {
@@ -20,6 +23,7 @@ export enum ModuleRegistrationName {
CACHE = "cacheService",
PRODUCT = "productModuleService",
PRICING = "pricingModuleService",
PROMOTION = "promotionModuleService",
}
export const MODULE_PACKAGE_NAMES = {
@@ -29,6 +33,7 @@ export const MODULE_PACKAGE_NAMES = {
[Modules.INVENTORY]: "@medusajs/inventory",
[Modules.CACHE]: "@medusajs/cache-inmemory",
[Modules.PRICING]: "@medusajs/pricing",
[Modules.PROMOTION]: "@medusajs/promotion",
}
export const ModulesDefinition: { [key: string | Modules]: ModuleDefinition } =
@@ -38,7 +43,7 @@ export const ModulesDefinition: { [key: string | Modules]: ModuleDefinition } =
isLegacy: true,
registrationName: ModuleRegistrationName.EVENT_BUS,
defaultPackage: MODULE_PACKAGE_NAMES[Modules.EVENT_BUS],
label: "EventBusModuleService",
label: upperCaseFirst(ModuleRegistrationName.EVENT_BUS),
canOverride: true,
isRequired: true,
dependencies: ["logger"],
@@ -52,7 +57,7 @@ export const ModulesDefinition: { [key: string | Modules]: ModuleDefinition } =
isLegacy: true,
registrationName: ModuleRegistrationName.STOCK_LOCATION,
defaultPackage: false,
label: "StockLocationService",
label: upperCaseFirst(ModuleRegistrationName.STOCK_LOCATION),
isRequired: false,
canOverride: true,
isQueryable: true,
@@ -67,7 +72,7 @@ export const ModulesDefinition: { [key: string | Modules]: ModuleDefinition } =
isLegacy: true,
registrationName: ModuleRegistrationName.INVENTORY,
defaultPackage: false,
label: "InventoryService",
label: upperCaseFirst(ModuleRegistrationName.INVENTORY),
isRequired: false,
canOverride: true,
isQueryable: true,
@@ -82,7 +87,7 @@ export const ModulesDefinition: { [key: string | Modules]: ModuleDefinition } =
isLegacy: true,
registrationName: ModuleRegistrationName.CACHE,
defaultPackage: MODULE_PACKAGE_NAMES[Modules.CACHE],
label: "CacheService",
label: upperCaseFirst(ModuleRegistrationName.CACHE),
isRequired: true,
canOverride: true,
defaultModuleDeclaration: {
@@ -94,7 +99,7 @@ export const ModulesDefinition: { [key: string | Modules]: ModuleDefinition } =
key: Modules.PRODUCT,
registrationName: ModuleRegistrationName.PRODUCT,
defaultPackage: false,
label: "ProductModuleService",
label: upperCaseFirst(ModuleRegistrationName.PRODUCT),
isRequired: false,
canOverride: true,
isQueryable: true,
@@ -108,7 +113,21 @@ export const ModulesDefinition: { [key: string | Modules]: ModuleDefinition } =
key: Modules.PRICING,
registrationName: ModuleRegistrationName.PRICING,
defaultPackage: false,
label: "PricingModuleService",
label: upperCaseFirst(ModuleRegistrationName.PRICING),
isRequired: false,
canOverride: true,
isQueryable: true,
dependencies: ["logger"],
defaultModuleDeclaration: {
scope: MODULE_SCOPE.INTERNAL,
resources: MODULE_RESOURCE_TYPE.SHARED,
},
},
[Modules.PROMOTION]: {
key: Modules.PROMOTION,
registrationName: ModuleRegistrationName.PROMOTION,
defaultPackage: false,
label: upperCaseFirst(ModuleRegistrationName.PROMOTION),
isRequired: false,
canOverride: true,
isQueryable: true,

View File

@@ -3,9 +3,10 @@ import {
InternalModuleDeclaration,
LinkModuleDefinition,
LoadedModule,
MedusaContainer,
MODULE_RESOURCE_TYPE,
MODULE_SCOPE,
MedusaContainer,
ModuleBootstrapDeclaration,
ModuleDefinition,
ModuleExports,
ModuleJoinerConfig,
@@ -52,7 +53,7 @@ type ModuleAlias = {
export type ModuleBootstrapOptions = {
moduleKey: string
defaultPath: string
declaration?: InternalModuleDeclaration | ExternalModuleDeclaration
declaration?: ModuleBootstrapDeclaration
moduleExports?: ModuleExports
sharedContainer?: MedusaContainer
moduleDefinition?: ModuleDefinition