import { ExternalModuleDeclaration, InternalModuleDeclaration, MODULE_PACKAGE_NAMES, MedusaModule, Modules, } from "@medusajs/modules-sdk" import { IUserModuleService, ModulesSdkTypes } from "@medusajs/types" import { InitializeModuleInjectableDependencies } from "../types" import { moduleDefinition } from "../module-definition" export const initialize = async ( options?: | ModulesSdkTypes.ModuleBootstrapDeclaration | ModulesSdkTypes.ModuleServiceInitializeOptions | ModulesSdkTypes.ModuleServiceInitializeCustomDataLayerOptions, injectedDependencies?: InitializeModuleInjectableDependencies ): Promise => { const loaded = await MedusaModule.bootstrap({ moduleKey: Modules.USER, defaultPath: MODULE_PACKAGE_NAMES[Modules.USER], declaration: options as | InternalModuleDeclaration | ExternalModuleDeclaration, injectedDependencies, moduleExports: moduleDefinition, }) return loaded[Modules.USER] }