feat(types,modules-sdk): basic module setup for promotions (#5920)
RESOLVES CORE-1580
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user