docs: replace ModuleRegistrationName with Modules (#9142)

This commit is contained in:
Shahed Nasser authored and GitHub committed 2024-09-16 15:30:03 +03:00
1 parent 8829f89402
commit 8584031041
55 files changed
+389 -391

No files matched your search

@@ -119,7 +119,7 @@ import type {
AuthenticatedMedusaRequest, AuthenticatedMedusaRequest,
MedusaResponse, MedusaResponse,
} from "@medusajs/medusa" } from "@medusajs/medusa"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
import { ICustomerModuleService } from "@medusajs/types" import { ICustomerModuleService } from "@medusajs/types"
export const GET = async ( export const GET = async (
@@ -129,7 +129,7 @@ export const GET = async (
if (req.auth_context?.actor_id) { if (req.auth_context?.actor_id) {
// retrieve customer // retrieve customer
const customerModuleService: ICustomerModuleService = req.scope.resolve( const customerModuleService: ICustomerModuleService = req.scope.resolve(
ModuleRegistrationName.CUSTOMER Modules.CUSTOMER
) )
const customer = await customerModuleService.retrieveCustomer( const customer = await customerModuleService.retrieveCustomer(
@@ -154,7 +154,7 @@ import type {
AuthenticatedMedusaRequest, AuthenticatedMedusaRequest,
MedusaResponse, MedusaResponse,
} from "@medusajs/medusa" } from "@medusajs/medusa"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
import { IUserModuleService } from "@medusajs/types" import { IUserModuleService } from "@medusajs/types"
export const GET = async ( export const GET = async (
@@ -162,7 +162,7 @@ export const GET = async (
res: MedusaResponse res: MedusaResponse
) => { ) => {
const userModuleService: IUserModuleService = req.scope.resolve( const userModuleService: IUserModuleService = req.scope.resolve(
ModuleRegistrationName.USER Modules.USER
) )
const user = await userModuleService.retrieveUser( const user = await userModuleService.retrieveUser(
@@ -23,11 +23,11 @@ import {
ExecArgs, ExecArgs,
IProductModuleService, IProductModuleService,
} from "@medusajs/types" } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export default async function myScript({ container }: ExecArgs) { export default async function myScript({ container }: ExecArgs) {
const productModuleService: IProductModuleService = container.resolve( const productModuleService: IProductModuleService = container.resolve(
ModuleRegistrationName.PRODUCT Modules.PRODUCT
) )
const [, count] = await productModuleService const [, count] = await productModuleService
@@ -49,14 +49,14 @@ export const updateProductHighlights = [
```ts title="src/workflows/update-product-erp/steps/update-product.ts" highlights={updateProductHighlights} collapsibleLines="1-9" expandButtonLabel="Show Imports" ```ts title="src/workflows/update-product-erp/steps/update-product.ts" highlights={updateProductHighlights} collapsibleLines="1-9" expandButtonLabel="Show Imports"
import { createStep, StepResponse } from "@medusajs/workflows-sdk" import { createStep, StepResponse } from "@medusajs/workflows-sdk"
import { IProductModuleService } from "@medusajs/types" import { IProductModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
import { UpdateProductAndErpWorkflowInput } from ".." import { UpdateProductAndErpWorkflowInput } from ".."
const updateProduct = createStep( const updateProduct = createStep(
"update-product", "update-product",
async (input: UpdateProductAndErpWorkflowInput, context) => { async (input: UpdateProductAndErpWorkflowInput, context) => {
const productModuleService: IProductModuleService = const productModuleService: IProductModuleService =
context.container.resolve(ModuleRegistrationName.PRODUCT) context.container.resolve(Modules.PRODUCT)
const { id } = input const { id } = input
const previousProductData = const previousProductData =
@@ -72,7 +72,7 @@ const updateProduct = createStep(
// compensation function // compensation function
async ({ previousProductData }, context) => { async ({ previousProductData }, context) => {
const productModuleService: IProductModuleService = const productModuleService: IProductModuleService =
context.container.resolve(ModuleRegistrationName.PRODUCT) context.container.resolve(Modules.PRODUCT)
const { id, type, options, variants, ...previousData } = previousProductData const { id, type, options, variants, ...previousData } = previousProductData
@@ -73,7 +73,7 @@ So, when you execute the `hello-world` workflow, it continues its execution in t
Once the workflow's execution reaches an async step, it'll wait in the background for the step to succeed or fail before it moves to the rest of the steps. Once the workflow's execution reaches an async step, it'll wait in the background for the step to succeed or fail before it moves to the rest of the steps.
To change fail or succeed a step, use the workflow engine's main service that is registered in the Medusa Container under the `ModuleRegistrationName.WORKFLOW_ENGINE` (or `workflowsModuleService`) key. To change fail or succeed a step, use the workflow engine's main service that is registered in the Medusa Container under the `Modules.WORKFLOW_ENGINE` (or `workflowsModuleService`) key.
### Retrieve Transaction ID ### Retrieve Transaction ID
@@ -103,7 +103,7 @@ export const successStatusHighlights = [
```ts highlights={successStatusHighlights} collapsibleLines="1-9" expandButtonLabel="Show Imports" ```ts highlights={successStatusHighlights} collapsibleLines="1-9" expandButtonLabel="Show Imports"
import { import {
ModuleRegistrationName, Modules,
TransactionHandlerType, TransactionHandlerType,
} from "@medusajs/utils"; } from "@medusajs/utils";
import { import {
@@ -122,7 +122,7 @@ export const setStepSuccessStep = createStep(
{ container } { container }
) { ) {
const workflowEngineService = container.resolve( const workflowEngineService = container.resolve(
ModuleRegistrationName.WORKFLOW_ENGINE Modules.WORKFLOW_ENGINE
); );
await workflowEngineService.setStepSuccess({ await workflowEngineService.setStepSuccess({
@@ -221,7 +221,7 @@ export const failureStatusHighlights = [
```ts highlights={failureStatusHighlights} collapsibleLines="1-9" expandButtonLabel="Show Imports" ```ts highlights={failureStatusHighlights} collapsibleLines="1-9" expandButtonLabel="Show Imports"
import { import {
ModuleRegistrationName, Modules,
TransactionHandlerType, TransactionHandlerType,
} from "@medusajs/utils"; } from "@medusajs/utils";
import { import {
@@ -240,7 +240,7 @@ export const setStepFailureStep = createStep(
{ container } { container }
) { ) {
const workflowEngineService = container.resolve( const workflowEngineService = container.resolve(
ModuleRegistrationName.WORKFLOW_ENGINE Modules.WORKFLOW_ENGINE
); );
await workflowEngineService.setStepFailure({ await workflowEngineService.setStepFailure({
@@ -282,7 +282,7 @@ import myWorkflow from "../../../workflows/hello-world"
import { import {
IWorkflowEngineService, IWorkflowEngineService,
} from "@medusajs/types" } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function GET(req: MedusaRequest, res: MedusaResponse) { export async function GET(req: MedusaRequest, res: MedusaResponse) {
const { transaction, result } = await myWorkflow(req.scope).run() const { transaction, result } = await myWorkflow(req.scope).run()
@@ -290,7 +290,7 @@ export async function GET(req: MedusaRequest, res: MedusaResponse) {
const workflowEngineService = req.scope.resolve< const workflowEngineService = req.scope.resolve<
IWorkflowEngineService IWorkflowEngineService
>( >(
ModuleRegistrationName.WORKFLOW_ENGINE Modules.WORKFLOW_ENGINE
) )
const subscriptionOptions = { const subscriptionOptions = {
@@ -27,14 +27,14 @@ For example, you saw this code snippet in the [Medusa container chapter](../medu
```ts highlights={[["10"]]} ```ts highlights={[["10"]]}
import type { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import type { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IProductModuleService } from "@medusajs/types" import { IProductModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export const GET = async ( export const GET = async (
req: MedusaRequest, req: MedusaRequest,
res: MedusaResponse res: MedusaResponse
) => { ) => {
const productModuleService: IProductModuleService = req.scope.resolve( const productModuleService: IProductModuleService = req.scope.resolve(
ModuleRegistrationName.PRODUCT Modules.PRODUCT
) )
const [, count] = await productModuleService const [, count] = await productModuleService
@@ -46,10 +46,10 @@ export const GET = async (
} }
``` ```
When you resolve the `ModuleRegistrationName.PRODUCT` (or `productModuleService`) registration name, you're actually resolving the main service of the Product Module. When you resolve the `Modules.PRODUCT` (or `productModuleService`) registration name, you're actually resolving the main service of the Product Module.
<Note title="Tip"> <Note title="Tip">
To resolve the main service of any commerce module, use the registration name defined in the `ModuleRegistrationName` enum imported from `@medusajs/utils`. To resolve the main service of any commerce module, use the registration name defined in the `Modules` enum imported from `@medusajs/utils`.
</Note> </Note>
@@ -85,20 +85,20 @@ For example:
export const highlights = [ export const highlights = [
["7", "container", "Recieve the Medusa Container in the object parameter."], ["7", "container", "Recieve the Medusa Container in the object parameter."],
["10", "resolve", "Resolve the Product Module's main service."], ["10", "resolve", "Resolve the Product Module's main service."],
["10", "ModuleRegistrationName.PRODUCT", "The module's registration name imported from `@medusajs/utils`."] ["10", "Modules.PRODUCT", "The module's registration name imported from `@medusajs/utils`."]
] ]
```ts title="src/subscribers/product-created.ts" highlights={highlights} ```ts title="src/subscribers/product-created.ts" highlights={highlights}
import { SubscriberArgs, type SubscriberConfig } from "@medusajs/medusa" import { SubscriberArgs, type SubscriberConfig } from "@medusajs/medusa"
import { IProductModuleService } from "@medusajs/types" import { IProductModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export default async function productCreateHandler({ export default async function productCreateHandler({
event: { data }, event: { data },
container, container,
}: SubscriberArgs<{ id: string }>) { }: SubscriberArgs<{ id: string }>) {
const productModuleService: IProductModuleService = const productModuleService: IProductModuleService =
container.resolve(ModuleRegistrationName.PRODUCT) container.resolve(Modules.PRODUCT)
const productId = data.id const productId = data.id
@@ -18,7 +18,7 @@ export const highlights = [
["9", "resolve", "Resolve the Product Module's main service."], ["9", "resolve", "Resolve the Product Module's main service."],
[ [
"10", "10",
"ModuleRegistrationName.PRODUCT", "Modules.PRODUCT",
"The resource registration name imported from `@medusajs/utils`.", "The resource registration name imported from `@medusajs/utils`.",
], ],
] ]
@@ -26,14 +26,14 @@ export const highlights = [
```ts highlights={highlights} ```ts highlights={highlights}
import type { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import type { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IProductModuleService } from "@medusajs/types" import { IProductModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export const GET = async ( export const GET = async (
req: MedusaRequest, req: MedusaRequest,
res: MedusaResponse res: MedusaResponse
) => { ) => {
const productModuleService: IProductModuleService = req.scope.resolve( const productModuleService: IProductModuleService = req.scope.resolve(
ModuleRegistrationName.PRODUCT Modules.PRODUCT
) )
const [, count] = await productModuleService const [, count] = await productModuleService
@@ -87,7 +87,7 @@ For example:
export const highlights = [ export const highlights = [
["11", "resolve", "Resolve the Product Module's main service."], ["11", "resolve", "Resolve the Product Module's main service."],
["11", "ModuleRegistrationName.PRODUCT", "The module's registration name imported from `@medusajs/utils`."] ["11", "Modules.PRODUCT", "The module's registration name imported from `@medusajs/utils`."]
] ]
```ts title="src/jobs/hello-world.ts" highlights={highlights} ```ts title="src/jobs/hello-world.ts" highlights={highlights}
@@ -95,13 +95,13 @@ import {
IProductModuleService, IProductModuleService,
MedusaContainer, MedusaContainer,
} from "@medusajs/types" } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export default async function myCustomJob( export default async function myCustomJob(
container: MedusaContainer container: MedusaContainer
) { ) {
const productModuleService: IProductModuleService = const productModuleService: IProductModuleService =
container.resolve(ModuleRegistrationName.PRODUCT) container.resolve(Modules.PRODUCT)
const [, count] = await productModuleService.listAndCountProducts() const [, count] = await productModuleService.listAndCountProducts()
+5 -5
View File
@@ -127,7 +127,7 @@ To execute the workflow, invoke it passing the Medusa container as a parameter.
type SubscriberArgs, type SubscriberArgs,
} from "@medusajs/medusa" } from "@medusajs/medusa"
import myWorkflow from "../workflows/hello-world" import myWorkflow from "../workflows/hello-world"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
import { IUserModuleService } from "@medusajs/types" import { IUserModuleService } from "@medusajs/types"
export default async function handleCustomerCreate({ export default async function handleCustomerCreate({
@@ -136,7 +136,7 @@ To execute the workflow, invoke it passing the Medusa container as a parameter.
}: SubscriberArgs<{ id: string }>) { }: SubscriberArgs<{ id: string }>) {
const userId = data.id const userId = data.id
const userModuleService: IUserModuleService = container.resolve( const userModuleService: IUserModuleService = container.resolve(
ModuleRegistrationName.USER Modules.USER
) )
const user = await userModuleService.retrieveUser(userId) const user = await userModuleService.retrieveUser(userId)
@@ -231,7 +231,7 @@ export const highlights = [
["12", "resolve", "Resolve the Product Module's main service."], ["12", "resolve", "Resolve the Product Module's main service."],
[ [
"12", "12",
"ModuleRegistrationName.PRODUCT", "Modules.PRODUCT",
"The resource registration name imported from `@medusajs/utils`.", "The resource registration name imported from `@medusajs/utils`.",
], ],
] ]
@@ -244,11 +244,11 @@ import {
WorkflowResponse, WorkflowResponse,
} from "@medusajs/workflows-sdk" } from "@medusajs/workflows-sdk"
import { IProductModuleService } from "@medusajs/types" import { IProductModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
const step1 = createStep("step-1", async (_, context) => { const step1 = createStep("step-1", async (_, context) => {
const productModuleService: IProductModuleService = const productModuleService: IProductModuleService =
context.container.resolve(ModuleRegistrationName.PRODUCT) context.container.resolve(Modules.PRODUCT)
const [, count] = await productModuleService.listAndCountProducts() const [, count] = await productModuleService.listAndCountProducts()
@@ -37,7 +37,7 @@ import type {
SubscriberArgs, SubscriberArgs,
SubscriberConfig, SubscriberConfig,
} from "@medusajs/medusa" } from "@medusajs/medusa"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
import { INotificationModuleService } from "@medusajs/types" import { INotificationModuleService } from "@medusajs/types"
export default async function productCreateHandler({ export default async function productCreateHandler({
@@ -45,7 +45,7 @@ export default async function productCreateHandler({
container, container,
}: SubscriberArgs<{ id: string }>) { }: SubscriberArgs<{ id: string }>) {
const notificationModuleService: INotificationModuleService = const notificationModuleService: INotificationModuleService =
container.resolve(ModuleRegistrationName.NOTIFICATION) container.resolve(Modules.NOTIFICATION)
await notificationModuleService.createNotifications({ await notificationModuleService.createNotifications({
to: "shahednasser@gmail.com", to: "shahednasser@gmail.com",
@@ -144,7 +144,7 @@ import type {
SubscriberArgs, SubscriberArgs,
SubscriberConfig, SubscriberConfig,
} from "@medusajs/medusa" } from "@medusajs/medusa"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
import { INotificationModuleService } from "@medusajs/types" import { INotificationModuleService } from "@medusajs/types"
export default async function productCreateHandler({ export default async function productCreateHandler({
@@ -152,7 +152,7 @@ export default async function productCreateHandler({
container, container,
}: SubscriberArgs<{ id: string }>) { }: SubscriberArgs<{ id: string }>) {
const notificationModuleService: INotificationModuleService = const notificationModuleService: INotificationModuleService =
container.resolve(ModuleRegistrationName.NOTIFICATION) container.resolve(Modules.NOTIFICATION)
await notificationModuleService.createNotifications({ await notificationModuleService.createNotifications({
to: "test@gmail.com", to: "test@gmail.com",
@@ -16,11 +16,11 @@ In this guide, you’ll find common examples of how you can use the API Key Modu
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IApiKeyModuleService } from "@medusajs/types" import { IApiKeyModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function POST(request: MedusaRequest, res: MedusaResponse) { export async function POST(request: MedusaRequest, res: MedusaResponse) {
const apiKeyModuleService: IApiKeyModuleService = request.scope.resolve( const apiKeyModuleService: IApiKeyModuleService = request.scope.resolve(
ModuleRegistrationName.API_KEY Modules.API_KEY
) )
const apiKey = await apiKeyModuleService.createApiKeys({ const apiKey = await apiKeyModuleService.createApiKeys({
@@ -71,11 +71,11 @@ export async function POST(request: Request) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IApiKeyModuleService } from "@medusajs/types" import { IApiKeyModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function GET(request: MedusaRequest, res: MedusaResponse) { export async function GET(request: MedusaRequest, res: MedusaResponse) {
const apiKeyModuleService: IApiKeyModuleService = request.scope.resolve( const apiKeyModuleService: IApiKeyModuleService = request.scope.resolve(
ModuleRegistrationName.API_KEY Modules.API_KEY
) )
res.json({ res.json({
@@ -114,14 +114,14 @@ export async function GET(request: Request) {
```ts collapsibleLines="1-9" expandButtonLabel="Show Imports" ```ts collapsibleLines="1-9" expandButtonLabel="Show Imports"
import { AuthenticatedMedusaRequest, MedusaResponse } from "@medusajs/medusa" import { AuthenticatedMedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IApiKeyModuleService } from "@medusajs/types" import { IApiKeyModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function POST( export async function POST(
request: AuthenticatedMedusaRequest, request: AuthenticatedMedusaRequest,
res: MedusaResponse res: MedusaResponse
) { ) {
const apiKeyModuleService: IApiKeyModuleService = request.scope.resolve( const apiKeyModuleService: IApiKeyModuleService = request.scope.resolve(
ModuleRegistrationName.API_KEY Modules.API_KEY
) )
const revokedKey = await apiKeyModuleService.revoke(request.params.id, { const revokedKey = await apiKeyModuleService.revoke(request.params.id, {
@@ -175,11 +175,11 @@ export async function POST(request: Request, { params }: ContextType) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IApiKeyModuleService } from "@medusajs/types" import { IApiKeyModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function POST(request: MedusaRequest, res: MedusaResponse) { export async function POST(request: MedusaRequest, res: MedusaResponse) {
const apiKeyModuleService: IApiKeyModuleService = request.scope.resolve( const apiKeyModuleService: IApiKeyModuleService = request.scope.resolve(
ModuleRegistrationName.API_KEY Modules.API_KEY
) )
const authenticatedToken = await apiKeyModuleService.authenticate( const authenticatedToken = await apiKeyModuleService.authenticate(
@@ -235,14 +235,14 @@ export async function POST(request: Request, { params }: ContextType) {
MedusaResponse, MedusaResponse,
} from "@medusajs/medusa" } from "@medusajs/medusa"
import { IApiKeyModuleService } from "@medusajs/types" import { IApiKeyModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function POST( export async function POST(
request: AuthenticatedMedusaRequest, request: AuthenticatedMedusaRequest,
res: MedusaResponse res: MedusaResponse
) { ) {
const apiKeyModuleService: IApiKeyModuleService = request.scope.resolve( const apiKeyModuleService: IApiKeyModuleService = request.scope.resolve(
ModuleRegistrationName.API_KEY Modules.API_KEY
) )
const revokedKey = await apiKeyModuleService.revoke(request.params.id, { const revokedKey = await apiKeyModuleService.revoke(request.params.id, {
@@ -10,7 +10,7 @@ The API Key Module is the `@medusajs/api-key` NPM package that provides API-key-
## How to Use API Key Module's Service ## How to Use API Key Module's Service
You can use the API Key Module's main service by resolving from the Medusa container the resource `ModuleRegistrationName.API_KEY` imported from `@medusajs/utils`. You can use the API Key Module's main service by resolving from the Medusa container the resource `Modules.API_KEY` imported from `@medusajs/utils`.
For example: For example:
@@ -20,14 +20,14 @@ For example:
```ts title="src/api/store/custom/route.ts" ```ts title="src/api/store/custom/route.ts"
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IApiKeyModuleService } from "@medusajs/types" import { IApiKeyModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function GET( export async function GET(
request: MedusaRequest, request: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const apiKeyModuleService: IApiKeyModuleService = request.scope.resolve( const apiKeyModuleService: IApiKeyModuleService = request.scope.resolve(
ModuleRegistrationName.API_KEY Modules.API_KEY
) )
res.json({ res.json({
@@ -42,11 +42,11 @@ export async function GET(
```ts title="src/subscribers/custom-handler.ts" ```ts title="src/subscribers/custom-handler.ts"
import { SubscriberArgs } from "@medusajs/medusa" import { SubscriberArgs } from "@medusajs/medusa"
import { IApiKeyModuleService } from "@medusajs/types" import { IApiKeyModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export default async function subscriberHandler({ container }: SubscriberArgs) { export default async function subscriberHandler({ container }: SubscriberArgs) {
const apiKeyModuleService: IApiKeyModuleService = container.resolve( const apiKeyModuleService: IApiKeyModuleService = container.resolve(
ModuleRegistrationName.API_KEY Modules.API_KEY
) )
const apiKeys = await apiKeyModuleService.listApiKeys() const apiKeys = await apiKeyModuleService.listApiKeys()
@@ -59,11 +59,11 @@ export default async function subscriberHandler({ container }: SubscriberArgs) {
```ts title="src/workflows/hello-world/step1.ts" ```ts title="src/workflows/hello-world/step1.ts"
import { createStep } from "@medusajs/workflows-sdk" import { createStep } from "@medusajs/workflows-sdk"
import { IApiKeyModuleService } from "@medusajs/types" import { IApiKeyModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
const step1 = createStep("step-1", async (_, { container }) => { const step1 = createStep("step-1", async (_, { container }) => {
const apiKeyModuleService: IApiKeyModuleService = container.resolve( const apiKeyModuleService: IApiKeyModuleService = container.resolve(
ModuleRegistrationName.API_KEY Modules.API_KEY
) )
const apiKeys = await apiKeyModuleService.listApiKeys() const apiKeys = await apiKeyModuleService.listApiKeys()
@@ -25,7 +25,7 @@ This example uses the [jsonwebtoken NPM package](https://www.npmjs.com/package/j
IAuthModuleService, IAuthModuleService,
AuthenticationInput, AuthenticationInput,
} from "@medusajs/types" } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
import { MedusaError } from "@medusajs/utils" import { MedusaError } from "@medusajs/utils"
import jwt from "jsonwebtoken" import jwt from "jsonwebtoken"
@@ -34,7 +34,7 @@ export async function POST(
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const authModuleService: IAuthModuleService = req.scope.resolve( const authModuleService: IAuthModuleService = req.scope.resolve(
ModuleRegistrationName.AUTH Modules.AUTH
) )
const { success, authIdentity, location, error } = const { success, authIdentity, location, error } =
@@ -128,7 +128,7 @@ This example uses the [jsonwebtoken NPM package](https://www.npmjs.com/package/j
IAuthModuleService, IAuthModuleService,
AuthenticationInput, AuthenticationInput,
} from "@medusajs/types" } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
import { MedusaError } from "@medusajs/utils" import { MedusaError } from "@medusajs/utils"
import jwt from "jsonwebtoken" import jwt from "jsonwebtoken"
@@ -137,7 +137,7 @@ export async function POST(
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const authModuleService: IAuthModuleService = req.scope.resolve( const authModuleService: IAuthModuleService = req.scope.resolve(
ModuleRegistrationName.AUTH Modules.AUTH
) )
const { success, authIdentity, error, successRedirectUrl } = const { success, authIdentity, error, successRedirectUrl } =
@@ -227,14 +227,14 @@ export async function POST(request: Request) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IAuthModuleService } from "@medusajs/types" import { IAuthModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function POST( export async function POST(
req: MedusaRequest, req: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const authModuleService: IAuthModuleService = req.scope.resolve( const authModuleService: IAuthModuleService = req.scope.resolve(
ModuleRegistrationName.AUTH Modules.AUTH
) )
const authIdentity = await authModuleService.createAuthIdentities({ const authIdentity = await authModuleService.createAuthIdentities({
@@ -283,14 +283,14 @@ export async function POST(request: Request) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IAuthModuleService } from "@medusajs/types" import { IAuthModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function GET( export async function GET(
req: MedusaRequest, req: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const authModuleService: IAuthModuleService = req.scope.resolve( const authModuleService: IAuthModuleService = req.scope.resolve(
ModuleRegistrationName.AUTH Modules.AUTH
) )
res.json({ res.json({
@@ -329,14 +329,14 @@ export async function GET(request: Request) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IAuthModuleService } from "@medusajs/types" import { IAuthModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function POST( export async function POST(
req: MedusaRequest, req: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const authModuleService: IAuthModuleService = req.scope.resolve( const authModuleService: IAuthModuleService = req.scope.resolve(
ModuleRegistrationName.AUTH Modules.AUTH
) )
const authIdentity = await authModuleService.updateAuthIdentites({ const authIdentity = await authModuleService.updateAuthIdentites({
@@ -395,14 +395,14 @@ export async function POST(request: Request, { params }: ContextType) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IAuthModuleService } from "@medusajs/types" import { IAuthModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function DELETE( export async function DELETE(
req: MedusaRequest, req: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const authModuleService: IAuthModuleService = req.scope.resolve( const authModuleService: IAuthModuleService = req.scope.resolve(
ModuleRegistrationName.AUTH Modules.AUTH
) )
await authModuleService.deleteAuthIdentities(["authusr_123"]) await authModuleService.deleteAuthIdentities(["authusr_123"])
@@ -10,7 +10,7 @@ The Auth Module is the `@medusajs/auth` NPM package that provides authentication
## How to Use Auth Module's Service ## How to Use Auth Module's Service
You can use the Auth Module's main service by resolving from the Medusa container the resource `ModuleRegistrationName.AUTH` imported from `@medusajs/utils`. You can use the Auth Module's main service by resolving from the Medusa container the resource `Modules.AUTH` imported from `@medusajs/utils`.
For example: For example:
@@ -20,14 +20,14 @@ For example:
```ts title="src/api/store/custom/route.ts" ```ts title="src/api/store/custom/route.ts"
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IAuthModuleService } from "@medusajs/types" import { IAuthModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function GET( export async function GET(
req: MedusaRequest, req: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const authModuleService: IAuthModuleService = req.scope.resolve( const authModuleService: IAuthModuleService = req.scope.resolve(
ModuleRegistrationName.AUTH Modules.AUTH
) )
res.json({ res.json({
@@ -42,11 +42,11 @@ export async function GET(
```ts title="src/subscribers/custom-handler.ts" ```ts title="src/subscribers/custom-handler.ts"
import { SubscriberArgs } from "@medusajs/medusa" import { SubscriberArgs } from "@medusajs/medusa"
import { IAuthModuleService } from "@medusajs/types" import { IAuthModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export default async function subscriberHandler({ container }: SubscriberArgs) { export default async function subscriberHandler({ container }: SubscriberArgs) {
const authModuleService: IAuthModuleService = container.resolve( const authModuleService: IAuthModuleService = container.resolve(
ModuleRegistrationName.AUTH Modules.AUTH
) )
const authIdentitys = await authModuleService.listAuthIdentities() const authIdentitys = await authModuleService.listAuthIdentities()
@@ -59,11 +59,11 @@ export default async function subscriberHandler({ container }: SubscriberArgs) {
```ts title="src/workflows/hello-world/step1.ts" ```ts title="src/workflows/hello-world/step1.ts"
import { createStep } from "@medusajs/workflows-sdk" import { createStep } from "@medusajs/workflows-sdk"
import { IAuthModuleService } from "@medusajs/types" import { IAuthModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
const step1 = createStep("step-1", async (_, { container }) => { const step1 = createStep("step-1", async (_, { container }) => {
const authModuleService: IAuthModuleService = container.resolve( const authModuleService: IAuthModuleService = container.resolve(
ModuleRegistrationName.AUTH Modules.AUTH
) )
const authIdentitys = await authModuleService.listAuthIdentities() const authIdentitys = await authModuleService.listAuthIdentities()
}) })
@@ -16,14 +16,14 @@ In this guide, you’ll find common examples of how you can use the Cart Module
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { ICartModuleService } from "@medusajs/types" import { ICartModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function POST( export async function POST(
req: MedusaRequest, req: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const cartModuleService: ICartModuleService = req.scope.resolve( const cartModuleService: ICartModuleService = req.scope.resolve(
ModuleRegistrationName.CART Modules.CART
) )
const cart = await cartModuleService.createCarts({ const cart = await cartModuleService.createCarts({
@@ -90,14 +90,14 @@ export async function POST(request: Request) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { ICartModuleService } from "@medusajs/types" import { ICartModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function GET( export async function GET(
req: MedusaRequest, req: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const cartModuleService: ICartModuleService = req.scope.resolve( const cartModuleService: ICartModuleService = req.scope.resolve(
ModuleRegistrationName.CART Modules.CART
) )
const cart = await cartModuleService.retrieveCart("cart_123") const cart = await cartModuleService.retrieveCart("cart_123")
@@ -138,14 +138,14 @@ export async function GET(request: Request) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { ICartModuleService } from "@medusajs/types" import { ICartModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function POST( export async function POST(
req: MedusaRequest, req: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const cartModuleService: ICartModuleService = req.scope.resolve( const cartModuleService: ICartModuleService = req.scope.resolve(
ModuleRegistrationName.CART Modules.CART
) )
const lineItem = await cartModuleService.addLineItems({ const lineItem = await cartModuleService.addLineItems({
@@ -198,14 +198,14 @@ export async function POST(request: Request) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { ICartModuleService } from "@medusajs/types" import { ICartModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function POST( export async function POST(
req: MedusaRequest, req: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const cartModuleService: ICartModuleService = req.scope.resolve( const cartModuleService: ICartModuleService = req.scope.resolve(
ModuleRegistrationName.CART Modules.CART
) )
const shippingMethod = await cartModuleService.addShippingMethods({ const shippingMethod = await cartModuleService.addShippingMethods({
@@ -256,14 +256,14 @@ export async function POST(request: Request) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { ICartModuleService } from "@medusajs/types" import { ICartModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function POST( export async function POST(
req: MedusaRequest, req: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const cartModuleService: ICartModuleService = req.scope.resolve( const cartModuleService: ICartModuleService = req.scope.resolve(
ModuleRegistrationName.CART Modules.CART
) )
const itemAdjustment = await cartModuleService.addLineItemAdjustments({ const itemAdjustment = await cartModuleService.addLineItemAdjustments({
@@ -314,14 +314,14 @@ export async function POST(request: Request) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { ICartModuleService } from "@medusajs/types" import { ICartModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function POST( export async function POST(
req: MedusaRequest, req: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const cartModuleService: ICartModuleService = req.scope.resolve( const cartModuleService: ICartModuleService = req.scope.resolve(
ModuleRegistrationName.CART Modules.CART
) )
const shippingMethodAdjustment = const shippingMethodAdjustment =
@@ -374,14 +374,14 @@ export async function POST(request: Request) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { ICartModuleService } from "@medusajs/types" import { ICartModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function DELETE( export async function DELETE(
req: MedusaRequest, req: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const cartModuleService: ICartModuleService = req.scope.resolve( const cartModuleService: ICartModuleService = req.scope.resolve(
ModuleRegistrationName.CART Modules.CART
) )
await cartModuleService.deleteLineItems(["cali_123"]) await cartModuleService.deleteLineItems(["cali_123"])
@@ -418,14 +418,14 @@ export async function DELETE(request: Request) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { ICartModuleService } from "@medusajs/types" import { ICartModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function DELETE( export async function DELETE(
req: MedusaRequest, req: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const cartModuleService: ICartModuleService = req.scope.resolve( const cartModuleService: ICartModuleService = req.scope.resolve(
ModuleRegistrationName.CART Modules.CART
) )
await cartModuleService.deleteShippingMethods(["casm_123"]) await cartModuleService.deleteShippingMethods(["casm_123"])
@@ -440,14 +440,14 @@ export async function DELETE(
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { ICartModuleService } from "@medusajs/types" import { ICartModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function DELETE( export async function DELETE(
req: MedusaRequest, req: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const cartModuleService: ICartModuleService = req.scope.resolve( const cartModuleService: ICartModuleService = req.scope.resolve(
ModuleRegistrationName.CART Modules.CART
) )
await cartModuleService.deleteShippingMethods(["casm_123"]) await cartModuleService.deleteShippingMethods(["casm_123"])
@@ -10,7 +10,7 @@ The Cart Module is the `@medusajs/cart` NPM package that provides cart-related f
## How to Use Cart Module's Service ## How to Use Cart Module's Service
You can use the Cart Module's main service by resolving from the Medusa container the resource `ModuleRegistrationName.CART` imported from `@medusajs/utils`. You can use the Cart Module's main service by resolving from the Medusa container the resource `Modules.CART` imported from `@medusajs/utils`.
For example: For example:
@@ -20,14 +20,14 @@ For example:
```ts title="src/api/store/custom/route.ts" ```ts title="src/api/store/custom/route.ts"
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { ICartModuleService } from "@medusajs/types" import { ICartModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function GET( export async function GET(
req: MedusaRequest, req: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const cartModuleService: ICartModuleService = req.scope.resolve( const cartModuleService: ICartModuleService = req.scope.resolve(
ModuleRegistrationName.CART Modules.CART
) )
res.json({ res.json({
@@ -42,11 +42,11 @@ export async function GET(
```ts title="src/subscribers/custom-handler.ts" ```ts title="src/subscribers/custom-handler.ts"
import { SubscriberArgs } from "@medusajs/medusa" import { SubscriberArgs } from "@medusajs/medusa"
import { ICartModuleService } from "@medusajs/types" import { ICartModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export default async function subscriberHandler({ container }: SubscriberArgs) { export default async function subscriberHandler({ container }: SubscriberArgs) {
const cartModuleService: ICartModuleService = container.resolve( const cartModuleService: ICartModuleService = container.resolve(
ModuleRegistrationName.CART Modules.CART
) )
const carts = await cartModuleService.listCarts() const carts = await cartModuleService.listCarts()
@@ -59,11 +59,11 @@ export default async function subscriberHandler({ container }: SubscriberArgs) {
```ts title="src/workflows/hello-world/step1.ts" ```ts title="src/workflows/hello-world/step1.ts"
import { createStep } from "@medusajs/workflows-sdk" import { createStep } from "@medusajs/workflows-sdk"
import { ICartModuleService } from "@medusajs/types" import { ICartModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
const step1 = createStep("step-1", async (_, { container }) => { const step1 = createStep("step-1", async (_, { container }) => {
const cartModuleService: ICartModuleService = container.resolve( const cartModuleService: ICartModuleService = container.resolve(
ModuleRegistrationName.CART Modules.CART
) )
const carts = await cartModuleService.listCarts() const carts = await cartModuleService.listCarts()
@@ -16,14 +16,14 @@ In this guide, you’ll find common examples of how you can use the Currency Mod
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { ICurrencyModuleService } from "@medusajs/types" import { ICurrencyModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function GET( export async function GET(
req: MedusaRequest, req: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const currencyModuleService: ICurrencyModuleService = req.scope.resolve( const currencyModuleService: ICurrencyModuleService = req.scope.resolve(
ModuleRegistrationName.CURRENCY Modules.CURRENCY
) )
res.json({ res.json({
@@ -62,14 +62,14 @@ export async function GET(request: Request) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { ICurrencyModuleService } from "@medusajs/types" import { ICurrencyModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function GET( export async function GET(
req: MedusaRequest, req: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const currencyModuleService: ICurrencyModuleService = req.scope.resolve( const currencyModuleService: ICurrencyModuleService = req.scope.resolve(
ModuleRegistrationName.CURRENCY Modules.CURRENCY
) )
const currency = await currencyModuleService.retrieveCurrency("usd") const currency = await currencyModuleService.retrieveCurrency("usd")
@@ -10,7 +10,7 @@ The Currency Module is the `@medusajs/currency` NPM package that provides curren
## How to Use Currency Module's Service ## How to Use Currency Module's Service
You can use the Currency Module's main service by resolving from the Medusa container the resource `ModuleRegistrationName.CURRENCY` imported from `@medusajs/utils`. You can use the Currency Module's main service by resolving from the Medusa container the resource `Modules.CURRENCY` imported from `@medusajs/utils`.
For example: For example:
@@ -20,14 +20,14 @@ For example:
```ts title="src/api/store/custom/route.ts" ```ts title="src/api/store/custom/route.ts"
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { ICurrencyModuleService } from "@medusajs/types" import { ICurrencyModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function GET( export async function GET(
req: MedusaRequest, req: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const currencyModuleService: ICurrencyModuleService = req.scope.resolve( const currencyModuleService: ICurrencyModuleService = req.scope.resolve(
ModuleRegistrationName.CURRENCY Modules.CURRENCY
) )
res.json({ res.json({
@@ -42,11 +42,11 @@ export async function GET(
```ts title="src/subscribers/custom-handler.ts" ```ts title="src/subscribers/custom-handler.ts"
import { SubscriberArgs } from "@medusajs/medusa" import { SubscriberArgs } from "@medusajs/medusa"
import { ICurrencyModuleService } from "@medusajs/types" import { ICurrencyModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export default async function subscriberHandler({ container }: SubscriberArgs) { export default async function subscriberHandler({ container }: SubscriberArgs) {
const currencyModuleService: ICurrencyModuleService = container.resolve( const currencyModuleService: ICurrencyModuleService = container.resolve(
ModuleRegistrationName.CURRENCY Modules.CURRENCY
) )
const currencies = await currencyModuleService.listCurrencies() const currencies = await currencyModuleService.listCurrencies()
@@ -59,11 +59,11 @@ export default async function subscriberHandler({ container }: SubscriberArgs) {
```ts title="src/workflows/hello-world/step1.ts" ```ts title="src/workflows/hello-world/step1.ts"
import { createStep } from "@medusajs/workflows-sdk" import { createStep } from "@medusajs/workflows-sdk"
import { ICurrencyModuleService } from "@medusajs/types" import { ICurrencyModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
const step1 = createStep("step-1", async (_, { container }) => { const step1 = createStep("step-1", async (_, { container }) => {
const currencyModuleService: ICurrencyModuleService = container.resolve( const currencyModuleService: ICurrencyModuleService = container.resolve(
ModuleRegistrationName.CURRENCY Modules.CURRENCY
) )
const currencies = await currencyModuleService.listCurrencies() const currencies = await currencyModuleService.listCurrencies()
@@ -16,11 +16,11 @@ In this guide, you’ll find common examples of how you can use the Customer Mod
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { ICustomerModuleService } from "@medusajs/types" import { ICustomerModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function POST(request: MedusaRequest, res: MedusaResponse) { export async function POST(request: MedusaRequest, res: MedusaResponse) {
const customerModuleService: ICustomerModuleService = request.scope.resolve( const customerModuleService: ICustomerModuleService = request.scope.resolve(
ModuleRegistrationName.CUSTOMER Modules.CUSTOMER
) )
const customer = await customerModuleService.createCustomers({ const customer = await customerModuleService.createCustomers({
@@ -71,11 +71,11 @@ export async function POST(request: Request) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { ICustomerModuleService } from "@medusajs/types" import { ICustomerModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function POST(request: MedusaRequest, res: MedusaResponse) { export async function POST(request: MedusaRequest, res: MedusaResponse) {
const customerModuleService: ICustomerModuleService = request.scope.resolve( const customerModuleService: ICustomerModuleService = request.scope.resolve(
ModuleRegistrationName.CUSTOMER Modules.CUSTOMER
) )
const customerGroup = await customerModuleService.createCustomerGroups({ const customerGroup = await customerModuleService.createCustomerGroups({
@@ -122,11 +122,11 @@ export async function POST(request: Request) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { ICustomerModuleService } from "@medusajs/types" import { ICustomerModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function POST(request: MedusaRequest, res: MedusaResponse) { export async function POST(request: MedusaRequest, res: MedusaResponse) {
const customerModuleService: ICustomerModuleService = request.scope.resolve( const customerModuleService: ICustomerModuleService = request.scope.resolve(
ModuleRegistrationName.CUSTOMER Modules.CUSTOMER
) )
await customerModuleService.addCustomerToGroup({ await customerModuleService.addCustomerToGroup({
@@ -171,11 +171,11 @@ export async function POST(request: Request) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { ICustomerModuleService } from "@medusajs/types" import { ICustomerModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function POST(request: MedusaRequest, res: MedusaResponse) { export async function POST(request: MedusaRequest, res: MedusaResponse) {
const customerModuleService: ICustomerModuleService = request.scope.resolve( const customerModuleService: ICustomerModuleService = request.scope.resolve(
ModuleRegistrationName.CUSTOMER Modules.CUSTOMER
) )
await customerModuleService.removeCustomerFromGroup({ await customerModuleService.removeCustomerFromGroup({
@@ -10,7 +10,7 @@ The Customer Module is the `@medusajs/customer` NPM package that provides custom
## How to Use Customer Module's Service ## How to Use Customer Module's Service
You can use the Customer Module's main service by resolving from the Medusa container the resource `ModuleRegistrationName.CUSTOMER` imported from `@medusajs/utils`. You can use the Customer Module's main service by resolving from the Medusa container the resource `Modules.CUSTOMER` imported from `@medusajs/utils`.
For example: For example:
@@ -20,11 +20,11 @@ For example:
```ts title="src/api/store/custom/route.ts" ```ts title="src/api/store/custom/route.ts"
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { ICustomerModuleService } from "@medusajs/types" import { ICustomerModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function GET(request: MedusaRequest, res: MedusaResponse) { export async function GET(request: MedusaRequest, res: MedusaResponse) {
const customerModuleService: ICustomerModuleService = request.scope.resolve( const customerModuleService: ICustomerModuleService = request.scope.resolve(
ModuleRegistrationName.CUSTOMER Modules.CUSTOMER
) )
res.json({ res.json({
@@ -39,11 +39,11 @@ export async function GET(request: MedusaRequest, res: MedusaResponse) {
```ts title="src/subscribers/custom-handler.ts" ```ts title="src/subscribers/custom-handler.ts"
import { SubscriberArgs } from "@medusajs/medusa" import { SubscriberArgs } from "@medusajs/medusa"
import { ICustomerModuleService } from "@medusajs/types" import { ICustomerModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export default async function subscriberHandler({ container }: SubscriberArgs) { export default async function subscriberHandler({ container }: SubscriberArgs) {
const customerModuleService: ICustomerModuleService = container.resolve( const customerModuleService: ICustomerModuleService = container.resolve(
ModuleRegistrationName.CUSTOMER Modules.CUSTOMER
) )
const customers = await customerModuleService.listCustomers() const customers = await customerModuleService.listCustomers()
@@ -56,11 +56,11 @@ export default async function subscriberHandler({ container }: SubscriberArgs) {
```ts title="src/workflows/hello-world/step1.ts" ```ts title="src/workflows/hello-world/step1.ts"
import { createStep } from "@medusajs/workflows-sdk" import { createStep } from "@medusajs/workflows-sdk"
import { ICustomerModuleService } from "@medusajs/types" import { ICustomerModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
const step1 = createStep("step-1", async (_, { container }) => { const step1 = createStep("step-1", async (_, { container }) => {
const customerModuleService: ICustomerModuleService = container.resolve( const customerModuleService: ICustomerModuleService = container.resolve(
ModuleRegistrationName.CUSTOMER Modules.CUSTOMER
) )
const customers = await customerModuleService.listCustomers() const customers = await customerModuleService.listCustomers()
@@ -10,7 +10,7 @@ The Fulfillment Module is the `@medusajs/fulfillment` NPM package that provides
## How to Use Fulfillment Module's Service ## How to Use Fulfillment Module's Service
You can use the Fulfillment Module's main service by resolving from the Medusa container the resource `ModuleRegistrationName.API_KEY` imported from `@medusajs/utils`. You can use the Fulfillment Module's main service by resolving from the Medusa container the resource `Modules.API_KEY` imported from `@medusajs/utils`.
For example: For example:
@@ -20,14 +20,14 @@ For example:
```ts title="src/api/store/custom/route.ts" ```ts title="src/api/store/custom/route.ts"
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IFulfillmentModuleService } from "@medusajs/types" import { IFulfillmentModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function GET( export async function GET(
req: MedusaRequest, req: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const fulfillmentModuleService: IFulfillmentModuleService = req.scope.resolve( const fulfillmentModuleService: IFulfillmentModuleService = req.scope.resolve(
ModuleRegistrationName.FULFILLMENT Modules.FULFILLMENT
) )
res.json({ res.json({
@@ -42,11 +42,11 @@ export async function GET(
```ts title="src/subscribers/custom-handler.ts" ```ts title="src/subscribers/custom-handler.ts"
import { SubscriberArgs } from "@medusajs/medusa" import { SubscriberArgs } from "@medusajs/medusa"
import { IFulfillmentModuleService } from "@medusajs/types" import { IFulfillmentModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export default async function subscriberHandler({ container }: SubscriberArgs) { export default async function subscriberHandler({ container }: SubscriberArgs) {
const fulfillmentModuleService: IFulfillmentModuleService = container.resolve( const fulfillmentModuleService: IFulfillmentModuleService = container.resolve(
ModuleRegistrationName.FULFILLMENT Modules.FULFILLMENT
) )
const fulfillments = await fulfillmentModuleService.listFulfillments() const fulfillments = await fulfillmentModuleService.listFulfillments()
@@ -59,11 +59,11 @@ export default async function subscriberHandler({ container }: SubscriberArgs) {
```ts title="src/workflows/hello-world/step1.ts" ```ts title="src/workflows/hello-world/step1.ts"
import { createStep } from "@medusajs/workflows-sdk" import { createStep } from "@medusajs/workflows-sdk"
import { IFulfillmentModuleService } from "@medusajs/types" import { IFulfillmentModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
const step1 = createStep("step-1", async (_, { container }) => { const step1 = createStep("step-1", async (_, { container }) => {
const fulfillmentModuleService: IFulfillmentModuleService = container.resolve( const fulfillmentModuleService: IFulfillmentModuleService = container.resolve(
ModuleRegistrationName.FULFILLMENT Modules.FULFILLMENT
) )
const fulfillments = await fulfillmentModuleService.listFulfillments() const fulfillments = await fulfillmentModuleService.listFulfillments()
@@ -16,14 +16,14 @@ In this document, you’ll find common examples of how you can use the Inventory
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IInventoryService } from "@medusajs/types" import { IInventoryService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function POST( export async function POST(
request: MedusaRequest, request: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const inventoryModuleService: IInventoryService = request.scope.resolve( const inventoryModuleService: IInventoryService = request.scope.resolve(
ModuleRegistrationName.INVENTORY Modules.INVENTORY
) )
const inventoryItem = await inventoryModuleService.createInventoryItems({ const inventoryItem = await inventoryModuleService.createInventoryItems({
@@ -71,14 +71,14 @@ export async function POST(request: Request) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IInventoryService } from "@medusajs/types" import { IInventoryService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function GET( export async function GET(
request: MedusaRequest, request: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const inventoryModuleService: IInventoryService = request.scope.resolve( const inventoryModuleService: IInventoryService = request.scope.resolve(
ModuleRegistrationName.INVENTORY Modules.INVENTORY
) )
const inventoryItems = await inventoryModuleService.listInventoryItems({}) const inventoryItems = await inventoryModuleService.listInventoryItems({})
@@ -117,14 +117,14 @@ export async function GET(request: Request) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IInventoryService } from "@medusajs/types" import { IInventoryService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function GET( export async function GET(
request: MedusaRequest, request: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const inventoryModuleService: IInventoryService = request.scope.resolve( const inventoryModuleService: IInventoryService = request.scope.resolve(
ModuleRegistrationName.INVENTORY Modules.INVENTORY
) )
const inventoryItem = await inventoryModuleService.retrieveInventoryItem( const inventoryItem = await inventoryModuleService.retrieveInventoryItem(
@@ -173,14 +173,14 @@ export async function GET(request: Request, { params }: ContextType) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IInventoryService } from "@medusajs/types" import { IInventoryService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function POST( export async function POST(
request: MedusaRequest, request: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const inventoryModuleService: IInventoryService = request.scope.resolve( const inventoryModuleService: IInventoryService = request.scope.resolve(
ModuleRegistrationName.INVENTORY Modules.INVENTORY
) )
const inventoryLevel = await inventoryModuleService.createInventoryLevels({ const inventoryLevel = await inventoryModuleService.createInventoryLevels({
@@ -228,14 +228,14 @@ export async function POST(request: Request) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IInventoryService } from "@medusajs/types" import { IInventoryService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function POST( export async function POST(
request: MedusaRequest, request: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const inventoryModuleService: IInventoryService = request.scope.resolve( const inventoryModuleService: IInventoryService = request.scope.resolve(
ModuleRegistrationName.INVENTORY Modules.INVENTORY
) )
const inventoryLevel = await inventoryModuleService.adjustInventory( const inventoryLevel = await inventoryModuleService.adjustInventory(
@@ -283,14 +283,14 @@ export async function POST(request: Request) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IInventoryService } from "@medusajs/types" import { IInventoryService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function POST( export async function POST(
request: MedusaRequest, request: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const inventoryModuleService: IInventoryService = request.scope.resolve( const inventoryModuleService: IInventoryService = request.scope.resolve(
ModuleRegistrationName.INVENTORY Modules.INVENTORY
) )
res.json({ res.json({
@@ -338,14 +338,14 @@ export async function POST(request: Request) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IInventoryService } from "@medusajs/types" import { IInventoryService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function POST( export async function POST(
request: MedusaRequest, request: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const inventoryModuleService: IInventoryService = request.scope.resolve( const inventoryModuleService: IInventoryService = request.scope.resolve(
ModuleRegistrationName.INVENTORY Modules.INVENTORY
) )
const reservationItem = await inventoryModuleService.createReservationItems({ const reservationItem = await inventoryModuleService.createReservationItems({
@@ -395,14 +395,14 @@ export async function POST(request: Request) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IInventoryService } from "@medusajs/types" import { IInventoryService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function GET( export async function GET(
request: MedusaRequest, request: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const inventoryModuleService: IInventoryService = request.scope.resolve( const inventoryModuleService: IInventoryService = request.scope.resolve(
ModuleRegistrationName.INVENTORY Modules.INVENTORY
) )
const reservedQuantity = const reservedQuantity =
@@ -482,14 +482,14 @@ export async function POST(request: Request, { params }: ContextType) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IInventoryService } from "@medusajs/types" import { IInventoryService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function DELETE( export async function DELETE(
request: MedusaRequest, request: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const inventoryModuleService: IInventoryService = request.scope.resolve( const inventoryModuleService: IInventoryService = request.scope.resolve(
ModuleRegistrationName.INVENTORY Modules.INVENTORY
) )
await inventoryModuleService.deleteReservationItems([ await inventoryModuleService.deleteReservationItems([
@@ -10,7 +10,7 @@ The Inventory Module is the `@medusajs/inventory-next` NPM package that provides
## How to Use Inventory Module's Service ## How to Use Inventory Module's Service
You can use the Inventory Module's main service by resolving from the Medusa container the resource `ModuleRegistrationName.INVENTORY` imported from `@medusajs/utils`. You can use the Inventory Module's main service by resolving from the Medusa container the resource `Modules.INVENTORY` imported from `@medusajs/utils`.
For example: For example:
@@ -20,14 +20,14 @@ For example:
```ts title="src/api/store/custom/route.ts" ```ts title="src/api/store/custom/route.ts"
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IInventoryService } from "@medusajs/types" import { IInventoryService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function GET( export async function GET(
request: MedusaRequest, request: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const inventoryModuleService: IInventoryService = request.scope.resolve( const inventoryModuleService: IInventoryService = request.scope.resolve(
ModuleRegistrationName.INVENTORY Modules.INVENTORY
) )
res.json({ res.json({
@@ -42,11 +42,11 @@ export async function GET(
```ts title="src/subscribers/custom-handler.ts" ```ts title="src/subscribers/custom-handler.ts"
import { SubscriberArgs } from "@medusajs/medusa" import { SubscriberArgs } from "@medusajs/medusa"
import { IInventoryService } from "@medusajs/types" import { IInventoryService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export default async function subscriberHandler({ container }: SubscriberArgs) { export default async function subscriberHandler({ container }: SubscriberArgs) {
const inventoryModuleService: IInventoryService = container.resolve( const inventoryModuleService: IInventoryService = container.resolve(
ModuleRegistrationName.INVENTORY Modules.INVENTORY
) )
const inventoryItems = await inventoryModuleService.listInventoryItems({}) const inventoryItems = await inventoryModuleService.listInventoryItems({})
@@ -59,11 +59,11 @@ export default async function subscriberHandler({ container }: SubscriberArgs) {
```ts title="src/workflows/hello-world/step1.ts" ```ts title="src/workflows/hello-world/step1.ts"
import { createStep } from "@medusajs/workflows-sdk" import { createStep } from "@medusajs/workflows-sdk"
import { IInventoryService } from "@medusajs/types" import { IInventoryService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
const step1 = createStep("step-1", async (_, { container }) => { const step1 = createStep("step-1", async (_, { container }) => {
const inventoryModuleService: IInventoryService = container.resolve( const inventoryModuleService: IInventoryService = container.resolve(
ModuleRegistrationName.INVENTORY Modules.INVENTORY
) )
const inventoryItems = await inventoryModuleService.listInventoryItems({}) const inventoryItems = await inventoryModuleService.listInventoryItems({})
@@ -10,7 +10,7 @@ The Order Module is the `@medusajs/order` NPM package that provides order-relate
## How to Use Order Module's Service ## How to Use Order Module's Service
You can use the Order Module's main service by resolving from the Medusa container the resource `ModuleRegistrationName.ORDER` imported from `@medusajs/utils`. You can use the Order Module's main service by resolving from the Medusa container the resource `Modules.ORDER` imported from `@medusajs/utils`.
For example: For example:
@@ -20,14 +20,14 @@ For example:
```ts title="src/api/store/custom/route.ts" ```ts title="src/api/store/custom/route.ts"
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IOrderModuleService } from "@medusajs/types" import { IOrderModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function GET( export async function GET(
req: MedusaRequest, req: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const orderModuleService: IOrderModuleService = req.scope.resolve( const orderModuleService: IOrderModuleService = req.scope.resolve(
ModuleRegistrationName.ORDER Modules.ORDER
) )
res.json({ res.json({
@@ -42,11 +42,11 @@ export async function GET(
```ts title="src/subscribers/custom-handler.ts" ```ts title="src/subscribers/custom-handler.ts"
import { SubscriberArgs } from "@medusajs/medusa" import { SubscriberArgs } from "@medusajs/medusa"
import { IOrderModuleService } from "@medusajs/types" import { IOrderModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export default async function subscriberHandler({ container }: SubscriberArgs) { export default async function subscriberHandler({ container }: SubscriberArgs) {
const orderModuleService: IOrderModuleService = container.resolve( const orderModuleService: IOrderModuleService = container.resolve(
ModuleRegistrationName.ORDER Modules.ORDER
) )
const orders = await orderModuleService.listOrders() const orders = await orderModuleService.listOrders()
@@ -59,11 +59,11 @@ export default async function subscriberHandler({ container }: SubscriberArgs) {
```ts title="src/workflows/hello-world/step1.ts" ```ts title="src/workflows/hello-world/step1.ts"
import { createStep } from "@medusajs/workflows-sdk" import { createStep } from "@medusajs/workflows-sdk"
import { IOrderModuleService } from "@medusajs/types" import { IOrderModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
const step1 = createStep("step-1", async (_, { container }) => { const step1 = createStep("step-1", async (_, { container }) => {
const orderModuleService: IOrderModuleService = container.resolve( const orderModuleService: IOrderModuleService = container.resolve(
ModuleRegistrationName.ORDER Modules.ORDER
) )
const orders = await orderModuleService.listOrders() const orders = await orderModuleService.listOrders()
}) })
@@ -16,14 +16,14 @@ In this guide, you’ll find common examples of how you can use the Payment Modu
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IPaymentModuleService } from "@medusajs/types" import { IPaymentModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function POST( export async function POST(
req: MedusaRequest, req: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const paymentModuleService: IPaymentModuleService = req.scope.resolve( const paymentModuleService: IPaymentModuleService = req.scope.resolve(
ModuleRegistrationName.PAYMENT Modules.PAYMENT
) )
const paymentCollection = await paymentModuleService.createPaymentCollections( const paymentCollection = await paymentModuleService.createPaymentCollections(
@@ -78,14 +78,14 @@ export async function POST(request: Request) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IPaymentModuleService } from "@medusajs/types" import { IPaymentModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function POST( export async function POST(
req: MedusaRequest, req: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const paymentModuleService: IPaymentModuleService = req.scope.resolve( const paymentModuleService: IPaymentModuleService = req.scope.resolve(
ModuleRegistrationName.PAYMENT Modules.PAYMENT
) )
const paymentSession = await paymentModuleService.createPaymentSession( const paymentSession = await paymentModuleService.createPaymentSession(
@@ -144,14 +144,14 @@ export async function POST(request: Request) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IPaymentModuleService } from "@medusajs/types" import { IPaymentModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function GET( export async function GET(
req: MedusaRequest, req: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const paymentModuleService: IPaymentModuleService = req.scope.resolve( const paymentModuleService: IPaymentModuleService = req.scope.resolve(
ModuleRegistrationName.PAYMENT Modules.PAYMENT
) )
const paymentSessions = await paymentModuleService.listPaymentSessions({ const paymentSessions = await paymentModuleService.listPaymentSessions({
@@ -198,14 +198,14 @@ export async function POST(request: Request) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IPaymentModuleService } from "@medusajs/types" import { IPaymentModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function POST( export async function POST(
req: MedusaRequest, req: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const paymentModuleService: IPaymentModuleService = req.scope.resolve( const paymentModuleService: IPaymentModuleService = req.scope.resolve(
ModuleRegistrationName.PAYMENT Modules.PAYMENT
) )
const payment = await paymentModuleService.authorizePaymentSession( const payment = await paymentModuleService.authorizePaymentSession(
@@ -254,14 +254,14 @@ export async function POST(request: Request) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IPaymentModuleService } from "@medusajs/types" import { IPaymentModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function GET( export async function GET(
req: MedusaRequest, req: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const paymentModuleService: IPaymentModuleService = req.scope.resolve( const paymentModuleService: IPaymentModuleService = req.scope.resolve(
ModuleRegistrationName.PAYMENT Modules.PAYMENT
) )
const payments = await paymentModuleService.listPayments({ const payments = await paymentModuleService.listPayments({
@@ -308,14 +308,14 @@ export async function GET(request: Request) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IPaymentModuleService } from "@medusajs/types" import { IPaymentModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function POST( export async function POST(
req: MedusaRequest, req: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const paymentModuleService: IPaymentModuleService = req.scope.resolve( const paymentModuleService: IPaymentModuleService = req.scope.resolve(
ModuleRegistrationName.PAYMENT Modules.PAYMENT
) )
const payment = await paymentModuleService.capturePayment({ const payment = await paymentModuleService.capturePayment({
@@ -11,7 +11,7 @@ The Payment Module is the `@medusajs/payment` NPM package that provides payment-
## How to Use Payment Module's Service ## How to Use Payment Module's Service
You can use the Payment Module's main service by resolving from the Medusa container the resource `ModuleRegistrationName.PAYMENT` imported from `@medusajs/utils`. You can use the Payment Module's main service by resolving from the Medusa container the resource `Modules.PAYMENT` imported from `@medusajs/utils`.
For example: For example:
@@ -21,14 +21,14 @@ For example:
```ts title="src/api/store/custom/route.ts" ```ts title="src/api/store/custom/route.ts"
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IPaymentModuleService } from "@medusajs/types" import { IPaymentModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function GET( export async function GET(
req: MedusaRequest, req: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const paymentModuleService: IPaymentModuleService = req.scope.resolve( const paymentModuleService: IPaymentModuleService = req.scope.resolve(
ModuleRegistrationName.PAYMENT Modules.PAYMENT
) )
res.json({ res.json({
@@ -43,11 +43,11 @@ export async function GET(
```ts title="src/subscribers/custom-handler.ts" ```ts title="src/subscribers/custom-handler.ts"
import { SubscriberArgs } from "@medusajs/medusa" import { SubscriberArgs } from "@medusajs/medusa"
import { IPaymentModuleService } from "@medusajs/types" import { IPaymentModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export default async function subscriberHandler({ container }: SubscriberArgs) { export default async function subscriberHandler({ container }: SubscriberArgs) {
const paymentModuleService: IPaymentModuleService = container.resolve( const paymentModuleService: IPaymentModuleService = container.resolve(
ModuleRegistrationName.PAYMENT Modules.PAYMENT
) )
const payment_collections = const payment_collections =
@@ -61,11 +61,11 @@ export default async function subscriberHandler({ container }: SubscriberArgs) {
```ts title="src/workflows/hello-world/step1.ts" ```ts title="src/workflows/hello-world/step1.ts"
import { createStep } from "@medusajs/workflows-sdk" import { createStep } from "@medusajs/workflows-sdk"
import { IPaymentModuleService } from "@medusajs/types" import { IPaymentModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
const step1 = createStep("step-1", async (_, { container }) => { const step1 = createStep("step-1", async (_, { container }) => {
const paymentModuleService: IPaymentModuleService = container.resolve( const paymentModuleService: IPaymentModuleService = container.resolve(
ModuleRegistrationName.PAYMENT Modules.PAYMENT
) )
const payment_collections = const payment_collections =
@@ -16,14 +16,14 @@ In this document, you’ll find common examples of how you can use the Pricing M
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IPricingModuleService } from "@medusajs/types" import { IPricingModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function POST( export async function POST(
request: MedusaRequest, request: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const pricingModuleService: IPricingModuleService = request.scope.resolve( const pricingModuleService: IPricingModuleService = request.scope.resolve(
ModuleRegistrationName.PRICING Modules.PRICING
) )
const priceSet = await pricingModuleService.createPriceSets([ const priceSet = await pricingModuleService.createPriceSets([
@@ -87,14 +87,14 @@ export async function POST(request: Request) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IPricingModuleService } from "@medusajs/types" import { IPricingModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function GET( export async function GET(
request: MedusaRequest, request: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const pricingModuleService: IPricingModuleService = request.scope.resolve( const pricingModuleService: IPricingModuleService = request.scope.resolve(
ModuleRegistrationName.PRICING Modules.PRICING
) )
const priceSets = await pricingModuleService.listPriceSets() const priceSets = await pricingModuleService.listPriceSets()
@@ -133,14 +133,14 @@ export async function GET(request: Request) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IPricingModuleService } from "@medusajs/types" import { IPricingModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function GET( export async function GET(
request: MedusaRequest, request: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const pricingModuleService: IPricingModuleService = request.scope.resolve( const pricingModuleService: IPricingModuleService = request.scope.resolve(
ModuleRegistrationName.PRICING Modules.PRICING
) )
const priceSet = await pricingModuleService.retrievePriceSet("pset_123") const priceSet = await pricingModuleService.retrievePriceSet("pset_123")
@@ -179,14 +179,14 @@ export async function GET(request: Request) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IPricingModuleService } from "@medusajs/types" import { IPricingModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function POST( export async function POST(
request: MedusaRequest, request: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const pricingModuleService: IPricingModuleService = request.scope.resolve( const pricingModuleService: IPricingModuleService = request.scope.resolve(
ModuleRegistrationName.PRICING Modules.PRICING
) )
const priceSet = await pricingModuleService.addPrices({ const priceSet = await pricingModuleService.addPrices({
@@ -249,14 +249,14 @@ export async function POST(request: Request) {
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IPricingModuleService } from "@medusajs/types" import { IPricingModuleService } from "@medusajs/types"
import { PriceListType } from "@medusajs/utils" import { PriceListType } from "@medusajs/utils"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function POST( export async function POST(
request: MedusaRequest, request: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const pricingModuleService: IPricingModuleService = request.scope.resolve( const pricingModuleService: IPricingModuleService = request.scope.resolve(
ModuleRegistrationName.PRICING Modules.PRICING
) )
const priceLists = await pricingModuleService.createPriceLists([ const priceLists = await pricingModuleService.createPriceLists([
@@ -333,14 +333,14 @@ export async function POST(request: Request) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IPricingModuleService } from "@medusajs/types" import { IPricingModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function POST( export async function POST(
request: MedusaRequest, request: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const pricingModuleService: IPricingModuleService = request.scope.resolve( const pricingModuleService: IPricingModuleService = request.scope.resolve(
ModuleRegistrationName.PRICING Modules.PRICING
) )
const price = await pricingModuleService.calculatePrices( const price = await pricingModuleService.calculatePrices(
@@ -10,7 +10,7 @@ The Pricing Module is the `@medusajs/pricing` NPM package that provides pricing-
## How to Use Pricing Module's Service ## How to Use Pricing Module's Service
You can use the Pricing Module's main service by resolving from the Medusa container the resource `ModuleRegistrationName.PRICING` imported from `@medusajs/utils`. You can use the Pricing Module's main service by resolving from the Medusa container the resource `Modules.PRICING` imported from `@medusajs/utils`.
For example: For example:
@@ -20,14 +20,14 @@ For example:
```ts title="src/api/store/custom/route.ts" ```ts title="src/api/store/custom/route.ts"
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IPricingModuleService } from "@medusajs/types" import { IPricingModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function GET( export async function GET(
request: MedusaRequest, request: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const pricingModuleService: IPricingModuleService = request.scope.resolve( const pricingModuleService: IPricingModuleService = request.scope.resolve(
ModuleRegistrationName.PRICING Modules.PRICING
) )
res.json({ res.json({
@@ -42,11 +42,11 @@ export async function GET(
```ts title="src/subscribers/custom-handler.ts" ```ts title="src/subscribers/custom-handler.ts"
import { SubscriberArgs } from "@medusajs/medusa" import { SubscriberArgs } from "@medusajs/medusa"
import { IPricingModuleService } from "@medusajs/types" import { IPricingModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export default async function subscriberHandler({ container }: SubscriberArgs) { export default async function subscriberHandler({ container }: SubscriberArgs) {
const pricingModuleService: IPricingModuleService = container.resolve( const pricingModuleService: IPricingModuleService = container.resolve(
ModuleRegistrationName.PRICING Modules.PRICING
) )
const priceSets = await pricingModuleService.listPriceSets() const priceSets = await pricingModuleService.listPriceSets()
@@ -59,11 +59,11 @@ export default async function subscriberHandler({ container }: SubscriberArgs) {
```ts title="src/workflows/hello-world/step1.ts" ```ts title="src/workflows/hello-world/step1.ts"
import { createStep } from "@medusajs/workflows-sdk" import { createStep } from "@medusajs/workflows-sdk"
import { IPricingModuleService } from "@medusajs/types" import { IPricingModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
const step1 = createStep("step-1", async (_, { container }) => { const step1 = createStep("step-1", async (_, { container }) => {
const pricingModuleService: IPricingModuleService = container.resolve( const pricingModuleService: IPricingModuleService = container.resolve(
ModuleRegistrationName.PRICING Modules.PRICING
) )
const priceSets = await pricingModuleService.listPriceSets() const priceSets = await pricingModuleService.listPriceSets()
@@ -16,11 +16,11 @@ In this guide, you’ll find common examples of how you can use the Product Modu
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IProductModuleService } from "@medusajs/types" import { IProductModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function POST(request: MedusaRequest, res: MedusaResponse) { export async function POST(request: MedusaRequest, res: MedusaResponse) {
const productModuleService: IProductModuleService = request.scope.resolve( const productModuleService: IProductModuleService = request.scope.resolve(
ModuleRegistrationName.PRODUCT Modules.PRODUCT
) )
const products = await productModuleService.createProducts([ const products = await productModuleService.createProducts([
@@ -97,11 +97,11 @@ export async function POST(request: Request) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IProductModuleService } from "@medusajs/types" import { IProductModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function GET(request: MedusaRequest, res: MedusaResponse) { export async function GET(request: MedusaRequest, res: MedusaResponse) {
const productModuleService: IProductModuleService = request.scope.resolve( const productModuleService: IProductModuleService = request.scope.resolve(
ModuleRegistrationName.PRODUCT Modules.PRODUCT
) )
const products = await productModuleService.listProducts() const products = await productModuleService.listProducts()
@@ -140,11 +140,11 @@ export async function GET(request: Request) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IProductModuleService } from "@medusajs/types" import { IProductModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function GET(request: MedusaRequest, res: MedusaResponse) { export async function GET(request: MedusaRequest, res: MedusaResponse) {
const productModuleService: IProductModuleService = request.scope.resolve( const productModuleService: IProductModuleService = request.scope.resolve(
ModuleRegistrationName.PRODUCT Modules.PRODUCT
) )
const product = await productModuleService.retrieveProduct(request.params.id) const product = await productModuleService.retrieveProduct(request.params.id)
@@ -187,11 +187,11 @@ export async function GET(
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IProductModuleService } from "@medusajs/types" import { IProductModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function GET(request: MedusaRequest, res: MedusaResponse) { export async function GET(request: MedusaRequest, res: MedusaResponse) {
const productModuleService: IProductModuleService = request.scope.resolve( const productModuleService: IProductModuleService = request.scope.resolve(
ModuleRegistrationName.PRODUCT Modules.PRODUCT
) )
const data = await productModuleService.listProducts({ const data = await productModuleService.listProducts({
@@ -234,11 +234,11 @@ export async function GET(request: Request) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IProductModuleService } from "@medusajs/types" import { IProductModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function POST(request: MedusaRequest, res: MedusaResponse) { export async function POST(request: MedusaRequest, res: MedusaResponse) {
const productModuleService: IProductModuleService = request.scope.resolve( const productModuleService: IProductModuleService = request.scope.resolve(
ModuleRegistrationName.PRODUCT Modules.PRODUCT
) )
const categories = await productModuleService.listProductCategories() const categories = await productModuleService.listProductCategories()
@@ -277,11 +277,11 @@ export async function GET(request: Request) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IProductModuleService } from "@medusajs/types" import { IProductModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function POST(request: MedusaRequest, res: MedusaResponse) { export async function POST(request: MedusaRequest, res: MedusaResponse) {
const productModuleService: IProductModuleService = request.scope.resolve( const productModuleService: IProductModuleService = request.scope.resolve(
ModuleRegistrationName.PRODUCT Modules.PRODUCT
) )
const data = await productModuleService.listProductCategories({ const data = await productModuleService.listProductCategories({
@@ -20,14 +20,14 @@ You'll need the following resources for the taxes calculation:
```ts ```ts
// other imports... // other imports...
import { import {
ModuleRegistrationName, Modules,
ContainerRegistrationKeys, ContainerRegistrationKeys,
} from "@medusajs/utils" } from "@medusajs/utils"
// In an API route, workflow step, etc... // In an API route, workflow step, etc...
const query = container.resolve(ContainerRegistrationKeys.QUERY) const query = container.resolve(ContainerRegistrationKeys.QUERY)
const taxModuleService = container.resolve( const taxModuleService = container.resolve(
ModuleRegistrationName.TAX Modules.TAX
) )
``` ```
@@ -10,7 +10,7 @@ The Product Module is the `@medusajs/product` NPM package that provides product-
## How to Use Product Module's Service ## How to Use Product Module's Service
You can use the Product Module's main service by resolving from the Medusa container the resource `ModuleRegistrationName.PRODUCT` imported from `@medusajs/utils`. You can use the Product Module's main service by resolving from the Medusa container the resource `Modules.PRODUCT` imported from `@medusajs/utils`.
For example: For example:
@@ -20,11 +20,11 @@ For example:
```ts title="src/api/store/custom/route.ts" ```ts title="src/api/store/custom/route.ts"
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IProductModuleService } from "@medusajs/types" import { IProductModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function GET(request: MedusaRequest, res: MedusaResponse) { export async function GET(request: MedusaRequest, res: MedusaResponse) {
const productModuleService: IProductModuleService = request.scope.resolve( const productModuleService: IProductModuleService = request.scope.resolve(
ModuleRegistrationName.PRODUCT Modules.PRODUCT
) )
res.json({ res.json({
@@ -39,11 +39,11 @@ export async function GET(request: MedusaRequest, res: MedusaResponse) {
```ts title="src/subscribers/custom-handler.ts" ```ts title="src/subscribers/custom-handler.ts"
import { SubscriberArgs } from "@medusajs/medusa" import { SubscriberArgs } from "@medusajs/medusa"
import { IProductModuleService } from "@medusajs/types" import { IProductModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export default async function subscriberHandler({ container }: SubscriberArgs) { export default async function subscriberHandler({ container }: SubscriberArgs) {
const productModuleService: IProductModuleService = container.resolve( const productModuleService: IProductModuleService = container.resolve(
ModuleRegistrationName.PRODUCT Modules.PRODUCT
) )
const products = await productModuleService.listProducts() const products = await productModuleService.listProducts()
@@ -56,11 +56,11 @@ export default async function subscriberHandler({ container }: SubscriberArgs) {
```ts title="src/workflows/hello-world/step1.ts" ```ts title="src/workflows/hello-world/step1.ts"
import { createStep } from "@medusajs/workflows-sdk" import { createStep } from "@medusajs/workflows-sdk"
import { IProductModuleService } from "@medusajs/types" import { IProductModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
const step1 = createStep("step-1", async (_, { container }) => { const step1 = createStep("step-1", async (_, { container }) => {
const productModuleService: IProductModuleService = container.resolve( const productModuleService: IProductModuleService = container.resolve(
ModuleRegistrationName.PRODUCT Modules.PRODUCT
) )
const products = await productModuleService.listProducts() const products = await productModuleService.listProducts()
@@ -16,14 +16,14 @@ In this document, you’ll find common examples of how you can use the Promotion
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IPromotionModuleService } from "@medusajs/types" import { IPromotionModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function POST( export async function POST(
request: MedusaRequest, request: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const promotionModuleService: IPromotionModuleService = request.scope.resolve( const promotionModuleService: IPromotionModuleService = request.scope.resolve(
ModuleRegistrationName.PROMOTION Modules.PROMOTION
) )
const promotion = await promotionModuleService.createPromotions({ const promotion = await promotionModuleService.createPromotions({
@@ -81,14 +81,14 @@ export async function POST(request: Request) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IPromotionModuleService } from "@medusajs/types" import { IPromotionModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function POST( export async function POST(
request: MedusaRequest, request: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const promotionModuleService: IPromotionModuleService = request.scope.resolve( const promotionModuleService: IPromotionModuleService = request.scope.resolve(
ModuleRegistrationName.PROMOTION Modules.PROMOTION
) )
const campaign = await promotionModuleService.createCampaigns({ const campaign = await promotionModuleService.createCampaigns({
@@ -138,14 +138,14 @@ export async function POST(request: Request) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IPromotionModuleService } from "@medusajs/types" import { IPromotionModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function POST( export async function POST(
request: MedusaRequest, request: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const promotionModuleService: IPromotionModuleService = request.scope.resolve( const promotionModuleService: IPromotionModuleService = request.scope.resolve(
ModuleRegistrationName.PROMOTION Modules.PROMOTION
) )
const promotion = await promotionModuleService.createPromotions({ const promotion = await promotionModuleService.createPromotions({
@@ -216,14 +216,14 @@ export async function POST(request: Request) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IPromotionModuleService } from "@medusajs/types" import { IPromotionModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function GET( export async function GET(
request: MedusaRequest, request: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const promotionModuleService: IPromotionModuleService = request.scope.resolve( const promotionModuleService: IPromotionModuleService = request.scope.resolve(
ModuleRegistrationName.PROMOTION Modules.PROMOTION
) )
res.json({ res.json({
@@ -10,7 +10,7 @@ The Promotion Module is the `@medusajs/promotion` NPM package that provides prom
## How to Use the Promotion Module's Service ## How to Use the Promotion Module's Service
You can use the Promotion Module's main service by resolving from the Medusa container the resource `ModuleRegistrationName.PROMOTION` imported from `@medusajs/utils`. You can use the Promotion Module's main service by resolving from the Medusa container the resource `Modules.PROMOTION` imported from `@medusajs/utils`.
For example: For example:
@@ -20,14 +20,14 @@ For example:
```ts title="src/api/store/custom/route.ts" ```ts title="src/api/store/custom/route.ts"
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IPromotionModuleService } from "@medusajs/types" import { IPromotionModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function GET( export async function GET(
request: MedusaRequest, request: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const promotionModuleService: IPromotionModuleService = request.scope.resolve( const promotionModuleService: IPromotionModuleService = request.scope.resolve(
ModuleRegistrationName.PROMOTION Modules.PROMOTION
) )
res.json({ res.json({
@@ -42,11 +42,11 @@ export async function GET(
```ts title="src/subscribers/custom-handler.ts" ```ts title="src/subscribers/custom-handler.ts"
import { SubscriberArgs } from "@medusajs/medusa" import { SubscriberArgs } from "@medusajs/medusa"
import { IPromotionModuleService } from "@medusajs/types" import { IPromotionModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export default async function subscriberHandler({ container }: SubscriberArgs) { export default async function subscriberHandler({ container }: SubscriberArgs) {
const promotionModuleService: IPromotionModuleService = container.resolve( const promotionModuleService: IPromotionModuleService = container.resolve(
ModuleRegistrationName.PROMOTION Modules.PROMOTION
) )
const promotions = await promotionModuleService.listPromotions() const promotions = await promotionModuleService.listPromotions()
@@ -59,11 +59,11 @@ export default async function subscriberHandler({ container }: SubscriberArgs) {
```ts title="src/workflows/hello-world/step1.ts" ```ts title="src/workflows/hello-world/step1.ts"
import { createStep } from "@medusajs/workflows-sdk" import { createStep } from "@medusajs/workflows-sdk"
import { IPromotionModuleService } from "@medusajs/types" import { IPromotionModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
const step1 = createStep("step-1", async (_, { container }) => { const step1 = createStep("step-1", async (_, { container }) => {
const promotionModuleService: IPromotionModuleService = container.resolve( const promotionModuleService: IPromotionModuleService = container.resolve(
ModuleRegistrationName.PROMOTION Modules.PROMOTION
) )
const promotions = await promotionModuleService.listPromotions() const promotions = await promotionModuleService.listPromotions()
@@ -16,14 +16,14 @@ In this guide, you’ll find common examples of how you can use the Region Modul
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IRegionModuleService } from "@medusajs/types" import { IRegionModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function POST( export async function POST(
req: MedusaRequest, req: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const regionModuleService: IRegionModuleService = req.scope.resolve( const regionModuleService: IRegionModuleService = req.scope.resolve(
ModuleRegistrationName.REGION Modules.REGION
) )
const region = await regionModuleService.createRegions({ const region = await regionModuleService.createRegions({
@@ -72,14 +72,14 @@ export async function POST(request: Request) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IRegionModuleService } from "@medusajs/types" import { IRegionModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function GET( export async function GET(
req: MedusaRequest, req: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const regionModuleService: IRegionModuleService = req.scope.resolve( const regionModuleService: IRegionModuleService = req.scope.resolve(
ModuleRegistrationName.REGION Modules.REGION
) )
res.json({ res.json({
@@ -118,14 +118,14 @@ export async function GET(request: Request) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IRegionModuleService } from "@medusajs/types" import { IRegionModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function GET( export async function GET(
req: MedusaRequest, req: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const regionModuleService: IRegionModuleService = req.scope.resolve( const regionModuleService: IRegionModuleService = req.scope.resolve(
ModuleRegistrationName.REGION Modules.REGION
) )
const region = await regionModuleService.retrieveRegion("reg_123") const region = await regionModuleService.retrieveRegion("reg_123")
@@ -164,14 +164,14 @@ export async function GET(request: Request) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IRegionModuleService } from "@medusajs/types" import { IRegionModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function POST( export async function POST(
req: MedusaRequest, req: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const regionModuleService: IRegionModuleService = req.scope.resolve( const regionModuleService: IRegionModuleService = req.scope.resolve(
ModuleRegistrationName.REGION Modules.REGION
) )
const region = await regionModuleService.updateRegions("reg_123", { const region = await regionModuleService.updateRegions("reg_123", {
@@ -214,14 +214,14 @@ export async function POST(request: Request) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IRegionModuleService } from "@medusajs/types" import { IRegionModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function DELETE( export async function DELETE(
req: MedusaRequest, req: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const regionModuleService: IRegionModuleService = req.scope.resolve( const regionModuleService: IRegionModuleService = req.scope.resolve(
ModuleRegistrationName.REGION Modules.REGION
) )
await regionModuleService.deleteRegions("reg_123") await regionModuleService.deleteRegions("reg_123")
@@ -10,7 +10,7 @@ The Region Module is the `@medusajs/region` NPM package that provides region-rel
## How to Use Region Module's Service ## How to Use Region Module's Service
You can use the Region Module's main service by resolving from the Medusa container the resource `ModuleRegistrationName.REGION` imported from `@medusajs/utils`. You can use the Region Module's main service by resolving from the Medusa container the resource `Modules.REGION` imported from `@medusajs/utils`.
For example: For example:
@@ -20,14 +20,14 @@ For example:
```ts title="src/api/store/custom/route.ts" ```ts title="src/api/store/custom/route.ts"
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IRegionModuleService } from "@medusajs/types" import { IRegionModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function GET( export async function GET(
req: MedusaRequest, req: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const regionModuleService: IRegionModuleService = req.scope.resolve( const regionModuleService: IRegionModuleService = req.scope.resolve(
ModuleRegistrationName.REGION Modules.REGION
) )
res.json({ res.json({
@@ -42,11 +42,11 @@ export async function GET(
```ts title="src/subscribers/custom-handler.ts" ```ts title="src/subscribers/custom-handler.ts"
import { SubscriberArgs } from "@medusajs/medusa" import { SubscriberArgs } from "@medusajs/medusa"
import { IRegionModuleService } from "@medusajs/types" import { IRegionModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export default async function subscriberHandler({ container }: SubscriberArgs) { export default async function subscriberHandler({ container }: SubscriberArgs) {
const regionModuleService: IRegionModuleService = container.resolve( const regionModuleService: IRegionModuleService = container.resolve(
ModuleRegistrationName.REGION Modules.REGION
) )
const regions = await regionModuleService.listRegions() const regions = await regionModuleService.listRegions()
@@ -59,11 +59,11 @@ export default async function subscriberHandler({ container }: SubscriberArgs) {
```ts title="src/workflows/hello-world/step1.ts" ```ts title="src/workflows/hello-world/step1.ts"
import { createStep } from "@medusajs/workflows-sdk" import { createStep } from "@medusajs/workflows-sdk"
import { IRegionModuleService } from "@medusajs/types" import { IRegionModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
const step1 = createStep("step-1", async (_, { container }) => { const step1 = createStep("step-1", async (_, { container }) => {
const regionModuleService: IRegionModuleService = container.resolve( const regionModuleService: IRegionModuleService = container.resolve(
ModuleRegistrationName.REGION Modules.REGION
) )
const regions = await regionModuleService.listRegions() const regions = await regionModuleService.listRegions()
@@ -16,14 +16,14 @@ In this guide, you’ll find common examples of how you can use the Sales Channe
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { ISalesChannelModuleService } from "@medusajs/types" import { ISalesChannelModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function POST( export async function POST(
request: MedusaRequest, request: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const salesChannelModuleService: ISalesChannelModuleService = const salesChannelModuleService: ISalesChannelModuleService =
request.scope.resolve(ModuleRegistrationName.SALES_CHANNEL) request.scope.resolve(Modules.SALES_CHANNEL)
const salesChannel = await salesChannelModuleService.createSalesChannels({ const salesChannel = await salesChannelModuleService.createSalesChannels({
name: "B2B", name: "B2B",
@@ -67,14 +67,14 @@ export async function POST(request: Request) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { ISalesChannelModuleService } from "@medusajs/types" import { ISalesChannelModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function GET( export async function GET(
request: MedusaRequest, request: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const salesChannelModuleService: ISalesChannelModuleService = const salesChannelModuleService: ISalesChannelModuleService =
request.scope.resolve(ModuleRegistrationName.SALES_CHANNEL) request.scope.resolve(Modules.SALES_CHANNEL)
res.json({ res.json({
sales_channels: salesChannelModuleService.listSalesChannels(), sales_channels: salesChannelModuleService.listSalesChannels(),
@@ -112,14 +112,14 @@ export async function GET(request: Request) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { ISalesChannelModuleService } from "@medusajs/types" import { ISalesChannelModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function GET( export async function GET(
request: MedusaRequest, request: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const salesChannelModuleService: ISalesChannelModuleService = const salesChannelModuleService: ISalesChannelModuleService =
request.scope.resolve(ModuleRegistrationName.SALES_CHANNEL) request.scope.resolve(Modules.SALES_CHANNEL)
const salesChannel = await salesChannelModuleService.retrieveSalesChannel( const salesChannel = await salesChannelModuleService.retrieveSalesChannel(
"sc_123" "sc_123"
@@ -163,14 +163,14 @@ export async function GET(request: Request) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { ISalesChannelModuleService } from "@medusajs/types" import { ISalesChannelModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function POST( export async function POST(
request: MedusaRequest, request: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const salesChannelModuleService: ISalesChannelModuleService = const salesChannelModuleService: ISalesChannelModuleService =
request.scope.resolve(ModuleRegistrationName.SALES_CHANNEL) request.scope.resolve(Modules.SALES_CHANNEL)
const salesChannel = await salesChannelModuleService.updateSalesChannels({ const salesChannel = await salesChannelModuleService.updateSalesChannels({
id: "sc_123", id: "sc_123",
@@ -216,14 +216,14 @@ export async function POST(request: Request) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { ISalesChannelModuleService } from "@medusajs/types" import { ISalesChannelModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function DELETE( export async function DELETE(
request: MedusaRequest, request: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const salesChannelModuleService: ISalesChannelModuleService = const salesChannelModuleService: ISalesChannelModuleService =
request.scope.resolve(ModuleRegistrationName.SALES_CHANNEL) request.scope.resolve(Modules.SALES_CHANNEL)
await salesChannelModuleService.deleteSalesChannels("sc_123") await salesChannelModuleService.deleteSalesChannels("sc_123")
@@ -10,7 +10,7 @@ The Sales Channel Module is the `@medusajs/sales-channel` NPM package that provi
## How to Use Sales Channel Module's Service ## How to Use Sales Channel Module's Service
You can use the Sales Channel Module's main service by resolving from the Medusa container the resource `ModuleRegistrationName.SALES_CHANNEL` imported from `@medusajs/utils`. You can use the Sales Channel Module's main service by resolving from the Medusa container the resource `Modules.SALES_CHANNEL` imported from `@medusajs/utils`.
For example: For example:
@@ -20,14 +20,14 @@ For example:
```ts title="src/api/store/custom/route.ts" ```ts title="src/api/store/custom/route.ts"
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { ISalesChannelModuleService } from "@medusajs/types" import { ISalesChannelModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function GET( export async function GET(
request: MedusaRequest, request: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const salesChannelModuleService: ISalesChannelModuleService = const salesChannelModuleService: ISalesChannelModuleService =
request.scope.resolve(ModuleRegistrationName.SALES_CHANNEL) request.scope.resolve(Modules.SALES_CHANNEL)
res.json({ res.json({
sales_channels: await salesChannelModuleService.listSalesChannels(), sales_channels: await salesChannelModuleService.listSalesChannels(),
@@ -41,11 +41,11 @@ export async function GET(
```ts title="src/subscribers/custom-handler.ts" ```ts title="src/subscribers/custom-handler.ts"
import { SubscriberArgs } from "@medusajs/medusa" import { SubscriberArgs } from "@medusajs/medusa"
import { ISalesChannelModuleService } from "@medusajs/types" import { ISalesChannelModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export default async function subscriberHandler({ container }: SubscriberArgs) { export default async function subscriberHandler({ container }: SubscriberArgs) {
const salesChannelModuleService: ISalesChannelModuleService = const salesChannelModuleService: ISalesChannelModuleService =
container.resolve(ModuleRegistrationName.SALES_CHANNEL) container.resolve(Modules.SALES_CHANNEL)
const salesChannels = await salesChannelModuleService.listSalesChannels() const salesChannels = await salesChannelModuleService.listSalesChannels()
} }
@@ -57,11 +57,11 @@ export default async function subscriberHandler({ container }: SubscriberArgs) {
```ts title="src/workflows/hello-world/step1.ts" ```ts title="src/workflows/hello-world/step1.ts"
import { createStep } from "@medusajs/workflows-sdk" import { createStep } from "@medusajs/workflows-sdk"
import { ISalesChannelModuleService } from "@medusajs/types" import { ISalesChannelModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
const step1 = createStep("step-1", async (_, { container }) => { const step1 = createStep("step-1", async (_, { container }) => {
const salesChannelModuleService: ISalesChannelModuleService = const salesChannelModuleService: ISalesChannelModuleService =
container.resolve(ModuleRegistrationName.SALES_CHANNEL) container.resolve(Modules.SALES_CHANNEL)
const salesChannels = await salesChannelModuleService.listSalesChannels() const salesChannels = await salesChannelModuleService.listSalesChannels()
}) })
@@ -16,14 +16,14 @@ In this document, you’ll find common examples of how you can use the Stock Loc
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IStockLocationService } from "@medusajs/types" import { IStockLocationService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function POST( export async function POST(
request: MedusaRequest, request: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const stockLocationModuleService: IStockLocationService = const stockLocationModuleService: IStockLocationService =
request.scope.resolve(ModuleRegistrationName.STOCK_LOCATION) request.scope.resolve(Modules.STOCK_LOCATION)
const stockLocation = await stockLocationModuleService.createStockLocations({ const stockLocation = await stockLocationModuleService.createStockLocations({
name: "Warehouse 1", name: "Warehouse 1",
@@ -67,14 +67,14 @@ export async function POST(request: Request) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IStockLocationService } from "@medusajs/types" import { IStockLocationService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function GET( export async function GET(
request: MedusaRequest, request: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const stockLocationModuleService: IStockLocationService = const stockLocationModuleService: IStockLocationService =
request.scope.resolve(ModuleRegistrationName.STOCK_LOCATION) request.scope.resolve(Modules.STOCK_LOCATION)
res.json({ res.json({
stock_locations: await stockLocationModuleService.listStockLocations({}), stock_locations: await stockLocationModuleService.listStockLocations({}),
@@ -112,14 +112,14 @@ export async function GET(request: Request) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IStockLocationService } from "@medusajs/types" import { IStockLocationService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function POST( export async function POST(
request: MedusaRequest, request: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const stockLocationModuleService: IStockLocationService = const stockLocationModuleService: IStockLocationService =
request.scope.resolve(ModuleRegistrationName.STOCK_LOCATION) request.scope.resolve(Modules.STOCK_LOCATION)
const stockLocation = await stockLocationModuleService.updateStockLocations({ const stockLocation = await stockLocationModuleService.updateStockLocations({
id: "sloc_123", id: "sloc_123",
@@ -177,14 +177,14 @@ export async function POST(request: Request) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IStockLocationService } from "@medusajs/types" import { IStockLocationService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function DELETE( export async function DELETE(
request: MedusaRequest, request: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const stockLocationModuleService: IStockLocationService = const stockLocationModuleService: IStockLocationService =
request.scope.resolve(ModuleRegistrationName.STOCK_LOCATION) request.scope.resolve(Modules.STOCK_LOCATION)
await stockLocationModuleService.deleteStockLocations("sloc_123") await stockLocationModuleService.deleteStockLocations("sloc_123")
@@ -10,7 +10,7 @@ The Stock Location Module is the `@medusajs/stock-location-next` NPM package tha
## How to Use Stock Location Module's Service ## How to Use Stock Location Module's Service
You can use the Stock Location Module's main service by resolving from the Medusa container the resource `ModuleRegistrationName.STOCK_LOCATION` imported from `@medusajs/utils`. You can use the Stock Location Module's main service by resolving from the Medusa container the resource `Modules.STOCK_LOCATION` imported from `@medusajs/utils`.
For example: For example:
@@ -20,14 +20,14 @@ For example:
```ts title="src/api/store/custom/route.ts" ```ts title="src/api/store/custom/route.ts"
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IStockLocationService } from "@medusajs/types" import { IStockLocationService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function GET( export async function GET(
request: MedusaRequest, request: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const stockLocationModuleService: IStockLocationService = const stockLocationModuleService: IStockLocationService =
request.scope.resolve(ModuleRegistrationName.STOCK_LOCATION) request.scope.resolve(Modules.STOCK_LOCATION)
res.json({ res.json({
stock_locations: await stockLocationModuleService.listStockLocations({}), stock_locations: await stockLocationModuleService.listStockLocations({}),
@@ -41,11 +41,11 @@ export async function GET(
```ts title="src/subscribers/custom-handler.ts" ```ts title="src/subscribers/custom-handler.ts"
import { SubscriberArgs } from "@medusajs/medusa" import { SubscriberArgs } from "@medusajs/medusa"
import { IStockLocationService } from "@medusajs/types" import { IStockLocationService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export default async function subscriberHandler({ container }: SubscriberArgs) { export default async function subscriberHandler({ container }: SubscriberArgs) {
const stockLocationModuleService: IStockLocationService = container.resolve( const stockLocationModuleService: IStockLocationService = container.resolve(
ModuleRegistrationName.STOCK_LOCATION Modules.STOCK_LOCATION
) )
const stockLocations = await stockLocationModuleService.listStockLocations({}) const stockLocations = await stockLocationModuleService.listStockLocations({})
@@ -58,11 +58,11 @@ export default async function subscriberHandler({ container }: SubscriberArgs) {
```ts title="src/workflows/hello-world/step1.ts" ```ts title="src/workflows/hello-world/step1.ts"
import { createStep } from "@medusajs/workflows-sdk" import { createStep } from "@medusajs/workflows-sdk"
import { IStockLocationService } from "@medusajs/types" import { IStockLocationService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
const step1 = createStep("step-1", async (_, { container }) => { const step1 = createStep("step-1", async (_, { container }) => {
const stockLocationModuleService: IStockLocationService = container.resolve( const stockLocationModuleService: IStockLocationService = container.resolve(
ModuleRegistrationName.STOCK_LOCATION Modules.STOCK_LOCATION
) )
const stockLocations = await stockLocationModuleService.listStockLocations({}) const stockLocations = await stockLocationModuleService.listStockLocations({})
@@ -16,14 +16,14 @@ In this guide, you’ll find common examples of how you can use the Store Module
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IStoreModuleService } from "@medusajs/types" import { IStoreModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function POST( export async function POST(
request: MedusaRequest, request: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const storeModuleService: IStoreModuleService = request.scope.resolve( const storeModuleService: IStoreModuleService = request.scope.resolve(
ModuleRegistrationName.STORE Modules.STORE
) )
const store = await storeModuleService.createStores({ const store = await storeModuleService.createStores({
@@ -82,14 +82,14 @@ export async function POST(request: Request) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IStoreModuleService } from "@medusajs/types" import { IStoreModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function GET( export async function GET(
request: MedusaRequest, request: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const storeModuleService: IStoreModuleService = request.scope.resolve( const storeModuleService: IStoreModuleService = request.scope.resolve(
ModuleRegistrationName.STORE Modules.STORE
) )
res.json({ res.json({
@@ -130,14 +130,14 @@ export async function GET(request: Request) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IStoreModuleService } from "@medusajs/types" import { IStoreModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function GET( export async function GET(
request: MedusaRequest, request: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const storeModuleService: IStoreModuleService = request.scope.resolve( const storeModuleService: IStoreModuleService = request.scope.resolve(
ModuleRegistrationName.STORE Modules.STORE
) )
const store = await storeModuleService.retrieveStore("store_123") const store = await storeModuleService.retrieveStore("store_123")
@@ -178,14 +178,14 @@ export async function GET(request: Request, { params }: ContextType) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IStoreModuleService } from "@medusajs/types" import { IStoreModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function POST( export async function POST(
request: MedusaRequest, request: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const storeModuleService: IStoreModuleService = request.scope.resolve( const storeModuleService: IStoreModuleService = request.scope.resolve(
ModuleRegistrationName.STORE Modules.STORE
) )
const store = await storeModuleService.updateStores("store_123", { const store = await storeModuleService.updateStores("store_123", {
@@ -230,14 +230,14 @@ export async function POST(request: Request, { params }: ContextType) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IStoreModuleService } from "@medusajs/types" import { IStoreModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function DELETE( export async function DELETE(
request: MedusaRequest, request: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const storeModuleService: IStoreModuleService = request.scope.resolve( const storeModuleService: IStoreModuleService = request.scope.resolve(
ModuleRegistrationName.STORE Modules.STORE
) )
await storeModuleService.deleteStores("store_123") await storeModuleService.deleteStores("store_123")
@@ -10,7 +10,7 @@ The Store Module is the `@medusajs/store` NPM package that provides store-relate
## How to Use Store Module's Service ## How to Use Store Module's Service
You can use the Store Module's main service by resolving from the Medusa container the resource `ModuleRegistrationName.STORE` imported from `@medusajs/utils`. You can use the Store Module's main service by resolving from the Medusa container the resource `Modules.STORE` imported from `@medusajs/utils`.
For example: For example:
@@ -20,14 +20,14 @@ For example:
```ts title="src/api/store/custom/route.ts" ```ts title="src/api/store/custom/route.ts"
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IStoreModuleService } from "@medusajs/types" import { IStoreModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function GET( export async function GET(
request: MedusaRequest, request: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const storeModuleService: IStoreModuleService = request.scope.resolve( const storeModuleService: IStoreModuleService = request.scope.resolve(
ModuleRegistrationName.STORE Modules.STORE
) )
res.json({ res.json({
@@ -42,11 +42,11 @@ export async function GET(
```ts title="src/subscribers/custom-handler.ts" ```ts title="src/subscribers/custom-handler.ts"
import { SubscriberArgs } from "@medusajs/medusa" import { SubscriberArgs } from "@medusajs/medusa"
import { IStoreModuleService } from "@medusajs/types" import { IStoreModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export default async function subscriberHandler({ container }: SubscriberArgs) { export default async function subscriberHandler({ container }: SubscriberArgs) {
const storeModuleService: IStoreModuleService = container.resolve( const storeModuleService: IStoreModuleService = container.resolve(
ModuleRegistrationName.STORE Modules.STORE
) )
const stores = await storeModuleService.listStores() const stores = await storeModuleService.listStores()
@@ -59,11 +59,11 @@ export default async function subscriberHandler({ container }: SubscriberArgs) {
```ts title="src/workflows/hello-world/step1.ts" ```ts title="src/workflows/hello-world/step1.ts"
import { createStep } from "@medusajs/workflows-sdk" import { createStep } from "@medusajs/workflows-sdk"
import { IStoreModuleService } from "@medusajs/types" import { IStoreModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
const step1 = createStep("step-1", async (_, { container }) => { const step1 = createStep("step-1", async (_, { container }) => {
const storeModuleService: IStoreModuleService = container.resolve( const storeModuleService: IStoreModuleService = container.resolve(
ModuleRegistrationName.STORE Modules.STORE
) )
const stores = await storeModuleService.listStores() const stores = await storeModuleService.listStores()
@@ -16,14 +16,14 @@ In this guide, you’ll find common examples of how you can use the Tax Module i
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { ITaxModuleService } from "@medusajs/types" import { ITaxModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function GET( export async function GET(
req: MedusaRequest, req: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const taxModuleService: ITaxModuleService = req.scope.resolve( const taxModuleService: ITaxModuleService = req.scope.resolve(
ModuleRegistrationName.TAX Modules.TAX
) )
const taxRegion = await taxModuleService.createTaxRegions({ const taxRegion = await taxModuleService.createTaxRegions({
@@ -78,14 +78,14 @@ export async function POST(request: Request) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { ITaxModuleService } from "@medusajs/types" import { ITaxModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function GET( export async function GET(
req: MedusaRequest, req: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const taxModuleService: ITaxModuleService = req.scope.resolve( const taxModuleService: ITaxModuleService = req.scope.resolve(
ModuleRegistrationName.TAX Modules.TAX
) )
res.json({ res.json({
@@ -124,14 +124,14 @@ export async function GET(request: Request) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { ITaxModuleService } from "@medusajs/types" import { ITaxModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function POST( export async function POST(
req: MedusaRequest, req: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const taxModuleService: ITaxModuleService = req.scope.resolve( const taxModuleService: ITaxModuleService = req.scope.resolve(
ModuleRegistrationName.TAX Modules.TAX
) )
const taxRate = await taxModuleService.createTaxRates({ const taxRate = await taxModuleService.createTaxRates({
@@ -202,14 +202,14 @@ export async function POST(request: Request) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { ITaxModuleService } from "@medusajs/types" import { ITaxModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function GET( export async function GET(
req: MedusaRequest, req: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const taxModuleService: ITaxModuleService = req.scope.resolve( const taxModuleService: ITaxModuleService = req.scope.resolve(
ModuleRegistrationName.TAX Modules.TAX
) )
res.json({ res.json({
@@ -248,14 +248,14 @@ export async function GET(request: Request) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { ITaxModuleService } from "@medusajs/types" import { ITaxModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function GET( export async function GET(
req: MedusaRequest, req: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const taxModuleService: ITaxModuleService = req.scope.resolve( const taxModuleService: ITaxModuleService = req.scope.resolve(
ModuleRegistrationName.TAX Modules.TAX
) )
const taxLines = await taxModuleService.getTaxLines( const taxLines = await taxModuleService.getTaxLines(
@@ -10,7 +10,7 @@ The Tax Module is the `@medusajs/tax` NPM package that provides tax-related feat
## How to Use Tax Module's Service ## How to Use Tax Module's Service
You can use the Tax Module's main service by resolving from the Medusa container the resource `ModuleRegistrationName.TAX` imported from `@medusajs/utils`. You can use the Tax Module's main service by resolving from the Medusa container the resource `Modules.TAX` imported from `@medusajs/utils`.
For example: For example:
@@ -20,14 +20,14 @@ For example:
```ts title="src/api/store/custom/route.ts" ```ts title="src/api/store/custom/route.ts"
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { ITaxModuleService } from "@medusajs/types" import { ITaxModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function GET( export async function GET(
req: MedusaRequest, req: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const taxModuleService: ITaxModuleService = req.scope.resolve( const taxModuleService: ITaxModuleService = req.scope.resolve(
ModuleRegistrationName.TAX Modules.TAX
) )
res.json({ res.json({
@@ -42,11 +42,11 @@ export async function GET(
```ts title="src/subscribers/custom-handler.ts" ```ts title="src/subscribers/custom-handler.ts"
import { SubscriberArgs } from "@medusajs/medusa" import { SubscriberArgs } from "@medusajs/medusa"
import { ITaxModuleService } from "@medusajs/types" import { ITaxModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export default async function subscriberHandler({ container }: SubscriberArgs) { export default async function subscriberHandler({ container }: SubscriberArgs) {
const taxModuleService: ITaxModuleService = container.resolve( const taxModuleService: ITaxModuleService = container.resolve(
ModuleRegistrationName.TAX Modules.TAX
) )
const taxRegions = await taxModuleService.listTaxRegions() const taxRegions = await taxModuleService.listTaxRegions()
@@ -59,11 +59,11 @@ export default async function subscriberHandler({ container }: SubscriberArgs) {
```ts title="src/workflows/hello-world/step1.ts" ```ts title="src/workflows/hello-world/step1.ts"
import { createStep } from "@medusajs/workflows-sdk" import { createStep } from "@medusajs/workflows-sdk"
import { ITaxModuleService } from "@medusajs/types" import { ITaxModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
const step1 = createStep("step-1", async (_, { container }) => { const step1 = createStep("step-1", async (_, { container }) => {
const taxModuleService: ITaxModuleService = container.resolve( const taxModuleService: ITaxModuleService = container.resolve(
ModuleRegistrationName.TAX Modules.TAX
) )
const taxRegions = await taxModuleService.listTaxRegions() const taxRegions = await taxModuleService.listTaxRegions()
@@ -16,14 +16,14 @@ In this guide, you’ll find common examples of how you can use the User Module
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IUserModuleService } from "@medusajs/types" import { IUserModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function POST( export async function POST(
req: MedusaRequest, req: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const userModuleService: IUserModuleService = req.scope.resolve( const userModuleService: IUserModuleService = req.scope.resolve(
ModuleRegistrationName.USER Modules.USER
) )
const user = await userModuleService.createUsers({ const user = await userModuleService.createUsers({
@@ -72,14 +72,14 @@ export async function POST(request: Request) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IUserModuleService } from "@medusajs/types" import { IUserModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function GET( export async function GET(
req: MedusaRequest, req: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const userModuleService: IUserModuleService = req.scope.resolve( const userModuleService: IUserModuleService = req.scope.resolve(
ModuleRegistrationName.USER Modules.USER
) )
res.json({ res.json({
@@ -118,14 +118,14 @@ export async function GET(request: Request) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IUserModuleService } from "@medusajs/types" import { IUserModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function POST( export async function POST(
req: MedusaRequest, req: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const userModuleService: IUserModuleService = req.scope.resolve( const userModuleService: IUserModuleService = req.scope.resolve(
ModuleRegistrationName.USER Modules.USER
) )
const user = await userModuleService.updateUsers({ const user = await userModuleService.updateUsers({
@@ -172,14 +172,14 @@ export async function POST(request: Request) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IUserModuleService } from "@medusajs/types" import { IUserModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function DELETE( export async function DELETE(
req: MedusaRequest, req: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const userModuleService: IUserModuleService = req.scope.resolve( const userModuleService: IUserModuleService = req.scope.resolve(
ModuleRegistrationName.USER Modules.USER
) )
await userModuleService.deleteUsers(["user_123"]) await userModuleService.deleteUsers(["user_123"])
@@ -214,14 +214,14 @@ export async function DELETE(request: Request) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IUserModuleService } from "@medusajs/types" import { IUserModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function POST( export async function POST(
req: MedusaRequest, req: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const userModuleService: IUserModuleService = req.scope.resolve( const userModuleService: IUserModuleService = req.scope.resolve(
ModuleRegistrationName.USER Modules.USER
) )
const invite = await userModuleService.createInvites({ const invite = await userModuleService.createInvites({
@@ -268,14 +268,14 @@ export async function POST(request: Request, { params }: ContextType) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IUserModuleService } from "@medusajs/types" import { IUserModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function POST( export async function POST(
req: MedusaRequest, req: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const userModuleService: IUserModuleService = req.scope.resolve( const userModuleService: IUserModuleService = req.scope.resolve(
ModuleRegistrationName.USER Modules.USER
) )
const invite = await userModuleService.validateInviteToken("secret_123") const invite = await userModuleService.validateInviteToken("secret_123")
@@ -338,14 +338,14 @@ export async function POST(request: Request, { params }: ContextType) {
```ts ```ts
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IUserModuleService } from "@medusajs/types" import { IUserModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function POST( export async function POST(
req: MedusaRequest, req: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const userModuleService: IUserModuleService = req.scope.resolve( const userModuleService: IUserModuleService = req.scope.resolve(
ModuleRegistrationName.USER Modules.USER
) )
const invites = await userModuleService.refreshInviteTokens(["invite_123"]) const invites = await userModuleService.refreshInviteTokens(["invite_123"])
@@ -10,7 +10,7 @@ The User Module is the `@medusajs/user` NPM package that provides user-related f
## How to Use User Module's Service ## How to Use User Module's Service
You can use the User Module's main service by resolving from the Medusa container the resource `ModuleRegistrationName.USER` imported from `@medusajs/utils`. You can use the User Module's main service by resolving from the Medusa container the resource `Modules.USER` imported from `@medusajs/utils`.
For example: For example:
@@ -20,14 +20,14 @@ For example:
```ts title="src/api/store/custom/route.ts" ```ts title="src/api/store/custom/route.ts"
import { MedusaRequest, MedusaResponse } from "@medusajs/medusa" import { MedusaRequest, MedusaResponse } from "@medusajs/medusa"
import { IUserModuleService } from "@medusajs/types" import { IUserModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export async function GET( export async function GET(
req: MedusaRequest, req: MedusaRequest,
res: MedusaResponse res: MedusaResponse
): Promise<void> { ): Promise<void> {
const userModuleService: IUserModuleService = req.scope.resolve( const userModuleService: IUserModuleService = req.scope.resolve(
ModuleRegistrationName.USER Modules.USER
) )
res.json({ res.json({
@@ -42,11 +42,11 @@ export async function GET(
```ts title="src/subscribers/custom-handler.ts" ```ts title="src/subscribers/custom-handler.ts"
import { SubscriberArgs } from "@medusajs/medusa" import { SubscriberArgs } from "@medusajs/medusa"
import { IUserModuleService } from "@medusajs/types" import { IUserModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
export default async function subscriberHandler({ container }: SubscriberArgs) { export default async function subscriberHandler({ container }: SubscriberArgs) {
const userModuleService: IUserModuleService = container.resolve( const userModuleService: IUserModuleService = container.resolve(
ModuleRegistrationName.USER Modules.USER
) )
const users = await userModuleService.listUsers() const users = await userModuleService.listUsers()
@@ -59,11 +59,11 @@ export default async function subscriberHandler({ container }: SubscriberArgs) {
```ts title="src/workflows/hello-world/step1.ts" ```ts title="src/workflows/hello-world/step1.ts"
import { createStep } from "@medusajs/workflows-sdk" import { createStep } from "@medusajs/workflows-sdk"
import { IUserModuleService } from "@medusajs/types" import { IUserModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
const step1 = createStep("step-1", async (_, { container }) => { const step1 = createStep("step-1", async (_, { container }) => {
const userModuleService: IUserModuleService = container.resolve( const userModuleService: IUserModuleService = container.resolve(
ModuleRegistrationName.USER Modules.USER
) )
const users = await userModuleService.listUsers() const users = await userModuleService.listUsers()
@@ -122,7 +122,7 @@ Use the `ContainerRegistrationKeys` enum imported from `@medusajs/utils` to reso
<Table.Cell> <Table.Cell>
- For custom modules, the registration name is the key of the module in the `modules` configuration. - For custom modules, the registration name is the key of the module in the `modules` configuration.
- For Medusa's commerce modules, you can use the `ModuleRegistrationName` enum imported from `@medusajs/utils`. - For Medusa's commerce modules, you can use the `Modules` enum imported from `@medusajs/utils`.
</Table.Cell> </Table.Cell>
</Table.Row> </Table.Row>
+2 -2
View File
@@ -609,7 +609,7 @@ export const checkCustomerHighlights = [
AuthenticatedMedusaRequest, AuthenticatedMedusaRequest,
MedusaResponse, MedusaResponse,
} from "@medusajs/medusa" } from "@medusajs/medusa"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
import { ICustomerModuleService } from "@medusajs/types" import { ICustomerModuleService } from "@medusajs/types"
import B2bModuleService from "../../../../modules/b2b/service" import B2bModuleService from "../../../../modules/b2b/service"
@@ -618,7 +618,7 @@ export const checkCustomerHighlights = [
res: MedusaResponse res: MedusaResponse
) { ) {
const customerModuleService: ICustomerModuleService = req const customerModuleService: ICustomerModuleService = req
.scope.resolve(ModuleRegistrationName.CUSTOMER) .scope.resolve(Modules.CUSTOMER)
const b2bModuleService: B2bModuleService = req.scope.resolve( const b2bModuleService: B2bModuleService = req.scope.resolve(
"b2bModuleService" "b2bModuleService"
) )
@@ -461,7 +461,7 @@ export const syncProductsWorkflowHighlight = [
```ts title="src/workflows/sync-products.ts" highlights={syncProductsWorkflowHighlight} collapsibleLines="1-16" expandButtonLabel="Show Imports" ```ts title="src/workflows/sync-products.ts" highlights={syncProductsWorkflowHighlight} collapsibleLines="1-16" expandButtonLabel="Show Imports"
import { import {
ModuleRegistrationName Modules
} from "@medusajs/utils" } from "@medusajs/utils"
import { import {
IProductModuleService, IProductModuleService,
@@ -483,7 +483,7 @@ export const syncProductsWorkflowHighlight = [
"retrieve-store-step", "retrieve-store-step",
async ({ id }: RetrieveStoreStepInput, { container }) => { async ({ id }: RetrieveStoreStepInput, { container }) => {
const storeModuleService: IStoreModuleService = const storeModuleService: IStoreModuleService =
container.resolve(ModuleRegistrationName.STORE) container.resolve(Modules.STORE)
const store = await storeModuleService.retrieveStore(id) const store = await storeModuleService.retrieveStore(id)
@@ -499,7 +499,7 @@ export const syncProductsWorkflowHighlight = [
"retrieve-products-to-update-step", "retrieve-products-to-update-step",
async ({ last_sync_date }: RetrieveProductsToUpdateStepInput, { container }) => { async ({ last_sync_date }: RetrieveProductsToUpdateStepInput, { container }) => {
const productModuleService: IProductModuleService = const productModuleService: IProductModuleService =
container.resolve(ModuleRegistrationName.PRODUCT) container.resolve(Modules.PRODUCT)
const products = await productModuleService.listProducts({ const products = await productModuleService.listProducts({
updated_at: { updated_at: {
@@ -553,7 +553,7 @@ export const syncProductsWorkflowHighlight = [
"update-store-last-sync-step", "update-store-last-sync-step",
async ({ store }: UpdateStoreLastSyncStepInput, { container }) => { async ({ store }: UpdateStoreLastSyncStepInput, { container }) => {
const storeModuleService: IStoreModuleService = const storeModuleService: IStoreModuleService =
container.resolve(ModuleRegistrationName.STORE) container.resolve(Modules.STORE)
const prevLastSyncDate = store.metadata.last_sync_date const prevLastSyncDate = store.metadata.last_sync_date
@@ -570,7 +570,7 @@ export const syncProductsWorkflowHighlight = [
}, },
async ({ id, last_sync_date }, { container }) => { async ({ id, last_sync_date }, { container }) => {
const storeModuleService: IStoreModuleService = const storeModuleService: IStoreModuleService =
container.resolve(ModuleRegistrationName.STORE) container.resolve(Modules.STORE)
await storeModuleService.updateStores(id, { await storeModuleService.updateStores(id, {
metadata: { metadata: {
@@ -764,7 +764,7 @@ The `order.placed` event is currently not emitted.
SubscriberConfig, SubscriberConfig,
} from "@medusajs/medusa" } from "@medusajs/medusa"
import { import {
ModuleRegistrationName, Modules,
} from "@medusajs/utils" } from "@medusajs/utils"
import { import {
ICustomerModuleService, ICustomerModuleService,
@@ -778,11 +778,11 @@ The `order.placed` event is currently not emitted.
const orderId = data.id const orderId = data.id
const orderModuleService: IOrderModuleService = container const orderModuleService: IOrderModuleService = container
.resolve(ModuleRegistrationName.ORDER) .resolve(Modules.ORDER)
const customerModuleService: const customerModuleService:
ICustomerModuleService = container.resolve( ICustomerModuleService = container.resolve(
ModuleRegistrationName.CUSTOMER Modules.CUSTOMER
) )
// check if VIP group exists // check if VIP group exists
@@ -878,7 +878,7 @@ export const newsletterHighlights = [
SubscriberConfig, SubscriberConfig,
} from "@medusajs/medusa" } from "@medusajs/medusa"
import { import {
ModuleRegistrationName, Modules,
} from "@medusajs/utils" } from "@medusajs/utils"
import { import {
ICustomerModuleService, ICustomerModuleService,
@@ -891,17 +891,17 @@ export const newsletterHighlights = [
container, container,
}: SubscriberArgs<{ id: string }>) { }: SubscriberArgs<{ id: string }>) {
const productModuleService: IProductModuleService = const productModuleService: IProductModuleService =
container.resolve(ModuleRegistrationName.PRODUCT) container.resolve(Modules.PRODUCT)
const storeModuleService: IStoreModuleService = const storeModuleService: IStoreModuleService =
container.resolve(ModuleRegistrationName.STORE) container.resolve(Modules.STORE)
const customerModuleService: ICustomerModuleService = const customerModuleService: ICustomerModuleService =
container.resolve(ModuleRegistrationName.CUSTOMER) container.resolve(Modules.CUSTOMER)
const notificationModuleService: const notificationModuleService:
INotificationModuleService = container.resolve( INotificationModuleService = container.resolve(
ModuleRegistrationName.NOTIFICATION Modules.NOTIFICATION
) )
const store = (await storeModuleService.listStores())[0] const store = (await storeModuleService.listStores())[0]
@@ -1841,7 +1841,7 @@ import {
IFileModuleService, IFileModuleService,
} from "@medusajs/types" } from "@medusajs/types"
import { import {
ModuleRegistrationName, Modules,
ContainerRegistrationKeys, ContainerRegistrationKeys,
} from "@medusajs/utils" } from "@medusajs/utils"
import { MediaType } from "../modules/digital-product/types" import { MediaType } from "../modules/digital-product/types"
@@ -1852,9 +1852,9 @@ async function digitalProductOrderCreatedHandler({
}: SubscriberArgs<{ id: string }>) { }: SubscriberArgs<{ id: string }>) {
const query = container.resolve(ContainerRegistrationKeys.QUERY) const query = container.resolve(ContainerRegistrationKeys.QUERY)
const notificationModuleService: INotificationModuleService = container const notificationModuleService: INotificationModuleService = container
.resolve(ModuleRegistrationName.NOTIFICATION) .resolve(Modules.NOTIFICATION)
const fileModuleService: IFileModuleService = container.resolve( const fileModuleService: IFileModuleService = container.resolve(
ModuleRegistrationName.FILE Modules.FILE
) )
const { data: [digitalProductOrder] } = await query.graph({ const { data: [digitalProductOrder] } = await query.graph({
@@ -1970,7 +1970,7 @@ import {
MedusaResponse, MedusaResponse,
} from "@medusajs/medusa" } from "@medusajs/medusa"
import { import {
ModuleRegistrationName, Modules,
} from "@medusajs/utils" } from "@medusajs/utils"
import { import {
DIGITAL_PRODUCT_MODULE, DIGITAL_PRODUCT_MODULE,
@@ -1985,7 +1985,7 @@ export const GET = async (
res: MedusaResponse res: MedusaResponse
) => { ) => {
const fileModuleService = req.scope.resolve( const fileModuleService = req.scope.resolve(
ModuleRegistrationName.FILE Modules.FILE
) )
const digitalProductModuleService: DigitalProductModuleService = const digitalProductModuleService: DigitalProductModuleService =
@@ -2094,7 +2094,7 @@ import {
MedusaResponse, MedusaResponse,
} from "@medusajs/medusa" } from "@medusajs/medusa"
import { import {
ModuleRegistrationName, Modules,
ContainerRegistrationKeys, ContainerRegistrationKeys,
MedusaError, MedusaError,
} from "@medusajs/utils" } from "@medusajs/utils"
@@ -2104,7 +2104,7 @@ export const POST = async (
res: MedusaResponse res: MedusaResponse
) => { ) => {
const fileModuleService = req.scope.resolve( const fileModuleService = req.scope.resolve(
ModuleRegistrationName.FILE Modules.FILE
) )
const query = req.scope.resolve(ContainerRegistrationKeys.QUERY) const query = req.scope.resolve(ContainerRegistrationKeys.QUERY)
@@ -182,7 +182,7 @@ export const workflowHighlights = [
WorkflowResponse, WorkflowResponse,
} from "@medusajs/workflows-sdk" } from "@medusajs/workflows-sdk"
import { IProductModuleService } from "@medusajs/types" import { IProductModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
import ErpModuleService from "../modules/erp/service" import ErpModuleService from "../modules/erp/service"
type WorkflowInput = { type WorkflowInput = {
@@ -200,7 +200,7 @@ export const workflowHighlights = [
"erpModuleService" "erpModuleService"
) )
const productModuleService: IProductModuleService = container const productModuleService: IProductModuleService = container
.resolve(ModuleRegistrationName.PRODUCT) .resolve(Modules.PRODUCT)
const createdProductData = await productModuleService const createdProductData = await productModuleService
.retrieveProduct(productId) .retrieveProduct(productId)
@@ -226,7 +226,7 @@ export const workflowHighlights = [
"erpModuleService" "erpModuleService"
) )
const productModuleService: IProductModuleService = container const productModuleService: IProductModuleService = container
.resolve(ModuleRegistrationName.PRODUCT) .resolve(Modules.PRODUCT)
await erpModuleService.deleteProduct(erpId) await erpModuleService.deleteProduct(erpId)
await productModuleService.updateProducts(productId, { await productModuleService.updateProducts(productId, {
@@ -315,7 +315,7 @@ For example, suppose an administrator changes the product data in the ERP system
UpdateProductDTO UpdateProductDTO
} from "@medusajs/types" } from "@medusajs/types"
import { import {
ModuleRegistrationName Modules
} from "@medusajs/utils" } from "@medusajs/utils"
type WebhookReq = { type WebhookReq = {
@@ -331,7 +331,7 @@ For example, suppose an administrator changes the product data in the ERP system
const productService: IProductModuleService = req.scope const productService: IProductModuleService = req.scope
.resolve( .resolve(
ModuleRegistrationName.PRODUCT Modules.PRODUCT
) )
await productService.updateProducts(id, updatedData) await productService.updateProducts(id, updatedData)
@@ -1673,7 +1673,7 @@ export const notifyRestaurantStepHighlights = [
```ts title="src/workflows/delivery/steps/notify-restaurant.ts" highlights={notifyRestaurantStepHighlights} collapsibleLines="1-6" expandButtonLabel="Show Imports" ```ts title="src/workflows/delivery/steps/notify-restaurant.ts" highlights={notifyRestaurantStepHighlights} collapsibleLines="1-6" expandButtonLabel="Show Imports"
import { import {
ModuleRegistrationName, Modules,
ContainerRegistrationKeys, ContainerRegistrationKeys,
} from "@medusajs/utils" } from "@medusajs/utils"
import { createStep } from "@medusajs/workflows-sdk" import { createStep } from "@medusajs/workflows-sdk"
@@ -1699,7 +1699,7 @@ export const notifyRestaurantStep = createStep(
fields: ["id", "restaurant.id"], fields: ["id", "restaurant.id"],
}) })
const eventBus = container.resolve(ModuleRegistrationName.EVENT_BUS) const eventBus = container.resolve(Modules.EVENT_BUS)
await eventBus.emit({ await eventBus.emit({
name: "notify.restaurant", name: "notify.restaurant",
@@ -1760,7 +1760,6 @@ export const createOrderStepHighlights1 = [
```ts title="src/workflows/delivery/steps/create-order.ts" highlights={createOrderStepHighlights1} collapsibleLines="1-9" expandButtonLabel="Show Imports" ```ts title="src/workflows/delivery/steps/create-order.ts" highlights={createOrderStepHighlights1} collapsibleLines="1-9" expandButtonLabel="Show Imports"
import { CreateOrderShippingMethodDTO } from "@medusajs/types" import { CreateOrderShippingMethodDTO } from "@medusajs/types"
import { import {
ModuleRegistrationName,
Modules, Modules,
ContainerRegistrationKeys, ContainerRegistrationKeys,
} from "@medusajs/utils" } from "@medusajs/utils"
@@ -1810,7 +1809,7 @@ export const createOrderStepHighlights2 = [
```ts title="src/workflows/delivery/steps/create-order.ts" highlights={createOrderStepHighlights2} ```ts title="src/workflows/delivery/steps/create-order.ts" highlights={createOrderStepHighlights2}
const { cart } = delivery const { cart } = delivery
const orderModuleService = container.resolve(ModuleRegistrationName.ORDER) const orderModuleService = container.resolve(Modules.ORDER)
const order = await orderModuleService.createOrders({ const order = await orderModuleService.createOrders({
currency_code: cart.currency_code, currency_code: cart.currency_code,
@@ -1847,7 +1846,7 @@ You create the order using the Order Module’s main service. Then, you create a
Then, replace the `TODO` in the compensation function with the following: Then, replace the `TODO` in the compensation function with the following:
```ts title="src/workflows/delivery/steps/create-order.ts" ```ts title="src/workflows/delivery/steps/create-order.ts"
const orderService = container.resolve(ModuleRegistrationName.ORDER) const orderService = container.resolve(Modules.ORDER)
await orderService.softDeleteOrders([orderId]) await orderService.softDeleteOrders([orderId])
``` ```
@@ -1903,14 +1902,14 @@ export const createFulfillmentStepHighlights = [
```ts title="src/workflows/delivery/steps/create-fulfillment.ts" highlights={createFulfillmentStepHighlights} ```ts title="src/workflows/delivery/steps/create-fulfillment.ts" highlights={createFulfillmentStepHighlights}
import { OrderDTO } from "@medusajs/types" import { OrderDTO } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
import { StepResponse, createStep } from "@medusajs/workflows-sdk" import { StepResponse, createStep } from "@medusajs/workflows-sdk"
export const createFulfillmentStep = createStep( export const createFulfillmentStep = createStep(
"create-fulfillment-step", "create-fulfillment-step",
async function (order: OrderDTO, { container }) { async function (order: OrderDTO, { container }) {
const fulfillmentModuleService = container.resolve( const fulfillmentModuleService = container.resolve(
ModuleRegistrationName.FULFILLMENT Modules.FULFILLMENT
) )
const items = order.items?.map((lineItem) => ({ const items = order.items?.map((lineItem) => ({
@@ -1934,7 +1933,7 @@ export const createFulfillmentStep = createStep(
}, },
function (id: string, { container }) { function (id: string, { container }) {
const fulfillmentModuleService = container.resolve( const fulfillmentModuleService = container.resolve(
ModuleRegistrationName.FULFILLMENT Modules.FULFILLMENT
) )
return fulfillmentModuleService.cancelFulfillment(id) return fulfillmentModuleService.cancelFulfillment(id)
@@ -2345,7 +2344,7 @@ export const setStepSuccessStepHighlights = [
```ts title="src/workflows/delivery/steps/set-step-success.ts" highlights={setStepSuccessStepHighlights} collapsibleLines="1-8" expandButtonLabel="Show Imports" ```ts title="src/workflows/delivery/steps/set-step-success.ts" highlights={setStepSuccessStepHighlights} collapsibleLines="1-8" expandButtonLabel="Show Imports"
import { import {
ModuleRegistrationName, Modules,
TransactionHandlerType, TransactionHandlerType,
} from "@medusajs/utils" } from "@medusajs/utils"
import { StepResponse, createStep } from "@medusajs/workflows-sdk" import { StepResponse, createStep } from "@medusajs/workflows-sdk"
@@ -2364,7 +2363,7 @@ export const setStepSuccessStep = createStep(
{ container } { container }
) { ) {
const engineService = container.resolve( const engineService = container.resolve(
ModuleRegistrationName.WORKFLOW_ENGINE Modules.WORKFLOW_ENGINE
) )
await engineService.setStepSuccess({ await engineService.setStepSuccess({
@@ -2396,7 +2395,7 @@ export const setStepFailedStepHighlights = [
```ts title="src/workflows/delivery/steps/set-step-failed.ts" highlights={setStepFailedStepHighlights} collapsibleLines="1-8" expandButtonLabel="Show Imports" ```ts title="src/workflows/delivery/steps/set-step-failed.ts" highlights={setStepFailedStepHighlights} collapsibleLines="1-8" expandButtonLabel="Show Imports"
import { import {
ModuleRegistrationName, Modules,
TransactionHandlerType, TransactionHandlerType,
} from "@medusajs/utils" } from "@medusajs/utils"
import { StepResponse, createStep } from "@medusajs/workflows-sdk" import { StepResponse, createStep } from "@medusajs/workflows-sdk"
@@ -2415,7 +2414,7 @@ export const setStepFailedStep = createStep(
{ container } { container }
) { ) {
const engineService = container.resolve( const engineService = container.resolve(
ModuleRegistrationName.WORKFLOW_ENGINE Modules.WORKFLOW_ENGINE
) )
await engineService.setStepFailure({ await engineService.setStepFailure({
@@ -3266,7 +3265,7 @@ import {
MedusaResponse, MedusaResponse,
} from "@medusajs/medusa" } from "@medusajs/medusa"
import { import {
ModuleRegistrationName, Modules,
} from "@medusajs/utils" } from "@medusajs/utils"
import { import {
handleDeliveryWorkflowId, handleDeliveryWorkflowId,
@@ -3320,7 +3319,7 @@ To listen to the workflow changes, replace the new `TODO` with the following:
```ts title="src/api/store/deliveries/subscribe/route.ts" ```ts title="src/api/store/deliveries/subscribe/route.ts"
const workflowEngine = req.scope.resolve( const workflowEngine = req.scope.resolve(
ModuleRegistrationName.WORKFLOW_ENGINE Modules.WORKFLOW_ENGINE
) )
const workflowSubHandler = (data: any) => { const workflowSubHandler = (data: any) => {
@@ -624,7 +624,7 @@ import {
} from "@medusajs/types" } from "@medusajs/types"
import { import {
Modules, Modules,
ModuleRegistrationName, Modules,
} from "@medusajs/utils" } from "@medusajs/utils"
// GET method... // GET method...
@@ -639,9 +639,9 @@ export const POST = async (
const marketplaceModuleService: MarketplaceModuleService = const marketplaceModuleService: MarketplaceModuleService =
req.scope.resolve(MARKETPLACE_MODULE) req.scope.resolve(MARKETPLACE_MODULE)
const productModuleService: IProductModuleService = req.scope const productModuleService: IProductModuleService = req.scope
.resolve(ModuleRegistrationName.PRODUCT) .resolve(Modules.PRODUCT)
const salesChannelModuleService: ISalesChannelModuleService = req.scope const salesChannelModuleService: ISalesChannelModuleService = req.scope
.resolve(ModuleRegistrationName.SALES_CHANNEL) .resolve(Modules.SALES_CHANNEL)
// Retrieve default sales channel to make the product available in. // Retrieve default sales channel to make the product available in.
// Alternatively, you can link sales channels to vendors and allow vendors // Alternatively, you can link sales channels to vendors and allow vendors
// to manage sales channels // to manage sales channels
+2 -2
View File
@@ -78,7 +78,7 @@ Here’s an example of creating a custom API Route at `/store/pos/search-barcode
MedusaResponse, MedusaResponse,
} from "@medusajs/medusa" } from "@medusajs/medusa"
import { MedusaError } from "@medusajs/utils" import { MedusaError } from "@medusajs/utils"
import { ModuleRegistrationName } from "@medusajs/utils" import { Modules } from "@medusajs/utils"
import { IProductModuleService } from "@medusajs/types" import { IProductModuleService } from "@medusajs/types"
export const GET = async (req: MedusaRequest, res: MedusaResponse) => { export const GET = async (req: MedusaRequest, res: MedusaResponse) => {
@@ -88,7 +88,7 @@ export const GET = async (req: MedusaRequest, res: MedusaResponse) => {
} }
// get product service // get product service
const productModuleService: IProductModuleService = req.scope.resolve( const productModuleService: IProductModuleService = req.scope.resolve(
ModuleRegistrationName.PRODUCT Modules.PRODUCT
) )
// retrieve product variants by barcode // retrieve product variants by barcode
@@ -1495,7 +1495,6 @@ import {
} from "@medusajs/types" } from "@medusajs/types"
import { import {
Modules, Modules,
ModuleRegistrationName,
} from "@medusajs/utils" } from "@medusajs/utils"
import { createOrdersWorkflow } from "@medusajs/core-flows" import { createOrdersWorkflow } from "@medusajs/core-flows"
import { SubscriptionData } from "../../../modules/subscription/types" import { SubscriptionData } from "../../../modules/subscription/types"
@@ -1624,7 +1623,7 @@ Finally, replace the `TODO` in the compensation function to cancel the order in
```ts title="src/workflows/create-subscription-order/steps/create-subscription-order.ts" ```ts title="src/workflows/create-subscription-order/steps/create-subscription-order.ts"
const orderModuleService: IOrderModuleService = container.resolve( const orderModuleService: IOrderModuleService = container.resolve(
ModuleRegistrationName.ORDER Modules.ORDER
) )
await orderModuleService.cancel(order.id) await orderModuleService.cancel(order.id)