diff --git a/www/apps/resources/app/architectural-modules/workflow-engine/how-to-use/page.mdx b/www/apps/resources/app/architectural-modules/workflow-engine/how-to-use/page.mdx
new file mode 100644
index 0000000000..f2252a60ff
--- /dev/null
+++ b/www/apps/resources/app/architectural-modules/workflow-engine/how-to-use/page.mdx
@@ -0,0 +1,392 @@
+---
+sidebar_label: "Use Workflow Engine Module"
+tags:
+ - workflow engine
+ - server
+ - how to
+---
+
+import { TypeList } from "docs-ui"
+
+export const metadata = {
+ title: `How to Use the Workflow Engine Module`,
+}
+
+# {metadata.title}
+
+In this document, you’ll learn about the different methods in the Workflow Engine Module's service and how to use them.
+
+---
+
+## Resolve Workflow Engine Module's Service
+
+In your workflow's step, you can resolve the Workflow Engine Module's service from the Medusa container:
+
+```ts
+import { Modules } from "@medusajs/framework/utils"
+import { createStep } from "@medusajs/framework/workflows-sdk"
+
+const step1 = createStep(
+ "step-1",
+ async ({}, { container }) => {
+ const workflowEngineModuleService = container.resolve(
+ Modules.WORKFLOW_ENGINE
+ )
+
+ // TODO use workflowEngineModuleService
+ }
+)
+```
+
+This will resolve the service of the configured Workflow Engine Module, which is the [In-Memory Workflow Engine Module](../in-memory/page.mdx) by default.
+
+You can then use the Workflow Engine Module's service's methods in the step. The rest of this guide details these methods.
+
+---
+
+## setStepSuccess
+
+This method sets an async step in a currently-executing [long-running workflow](!docs!/learn/fundamentals/workflows/long-running-workflow) as successful. The workflow will then continue to the next step.
+
+### Example
+
+```ts
+// other imports...
+import {
+ TransactionHandlerType,
+} from "@medusajs/framework/utils"
+
+await workflowEngineModuleService.setStepSuccess({
+ idempotencyKey: {
+ action: TransactionHandlerType.INVOKE,
+ transactionId,
+ stepId: "step-2",
+ workflowId: "hello-world",
+ },
+ stepResponse: new StepResponse("Done!"),
+ options: {
+ container,
+ },
+})
+```
+
+### Parameters
+
+
+
+---
+
+## setStepFailure
+
+This method sets an async step in a currently-executing [long-running workflow](!docs!/learn/fundamentals/workflows/long-running-workflow) as failed. The workflow will then stop executing and the compensation functions of the workflow's steps will be executed.
+
+### Example
+
+```ts
+// other imports...
+import {
+ TransactionHandlerType,
+} from "@medusajs/framework/utils"
+
+await workflowEngineModuleService.setStepFailure({
+ idempotencyKey: {
+ action: TransactionHandlerType.INVOKE,
+ transactionId,
+ stepId: "step-2",
+ workflowId: "hello-world",
+ },
+ stepResponse: new StepResponse("Failed!"),
+ options: {
+ container,
+ },
+})
+```
+
+### Parameters
+
+
+
+---
+
+## subscribe
+
+This method subscribes to a workflow's events. You can use this method to listen to a [long-running workflow](!docs!/learn/fundamentals/workflows/long-running-workflow)'s events and retrieve its result once it's done executing.
+
+Refer to the [Long-Running Workflows](!docs!/learn/fundamentals/workflows/long-running-workflow#access-long-running-workflow-status-and-result) documentation to learn more.
+
+### Example
+
+```ts
+const { transaction } = await helloWorldWorkflow(container).run()
+
+const subscriptionOptions = {
+ workflowId: "hello-world",
+ transactionId: transaction.transactionId,
+ subscriberId: "hello-world-subscriber",
+}
+
+await workflowEngineModuleService.subscribe({
+ ...subscriptionOptions,
+ subscriber: async (data) => {
+ if (data.eventType === "onFinish") {
+ console.log("Finished execution", data.result)
+ // unsubscribe
+ await workflowEngineModuleService.unsubscribe({
+ ...subscriptionOptions,
+ subscriberOrId: subscriptionOptions.subscriberId,
+ })
+ } else if (data.eventType === "onStepFailure") {
+ console.log("Workflow failed", data.step)
+ }
+ },
+})
+```
+
+### Parameters
+
+ void`",
+ "description": "The subscriber function that will be called when the workflow emits an event.",
+ "optional": false,
+ "defaultValue": "",
+ "expandable": false,
+ "children": []
+ }
+ ]
+ }
+]} expandUrl="https://docs.medusajs.com/learn/fundamentals/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="subscribe"/>
+
+---
+
+## unsubscribe
+
+This method unsubscribes from a workflow's events. You can use this method to stop listening to a [long-running workflow](!docs!/learn/fundamentals/workflows/long-running-workflow)'s events after you've received the result.
+
+### Example
+
+```ts
+await workflowEngineModuleService.unsubscribe({
+ workflowId: "hello-world",
+ transactionId: "transaction-id",
+ subscriberOrId: "hello-world-subscriber",
+})
+```
+
+### Parameters
+
+
\ No newline at end of file
diff --git a/www/apps/resources/generated/edit-dates.mjs b/www/apps/resources/generated/edit-dates.mjs
index 2dd27abe13..ecd879ccf9 100644
--- a/www/apps/resources/generated/edit-dates.mjs
+++ b/www/apps/resources/generated/edit-dates.mjs
@@ -6049,5 +6049,13 @@ export const generatedEditDates = {
"app/architectural-modules/locking/redis/page.mdx": "2025-03-12T10:07:43.867Z",
"references/locking/interfaces/locking.ILockingModule/page.mdx": "2025-03-12T12:28:30.425Z",
"references/locking/interfaces/locking.ILockingProvider/page.mdx": "2025-03-12T12:28:30.422Z",
- "references/modules/locking/page.mdx": "2025-03-12T12:28:30.419Z"
+ "references/modules/locking/page.mdx": "2025-03-12T12:28:30.419Z",
+ "references/cache/interfaces/cache.ICacheService/page.mdx": "2025-03-17T15:24:02.574Z",
+ "references/event/interfaces/event.IEventBusModuleService/page.mdx": "2025-03-17T15:24:03.025Z",
+ "references/file_service/interfaces/file_service.IFileModuleService/page.mdx": "2025-03-17T15:24:03.031Z",
+ "references/modules/cache/page.mdx": "2025-03-17T15:24:02.572Z",
+ "references/modules/event/page.mdx": "2025-03-17T15:24:03.021Z",
+ "references/modules/file_service/page.mdx": "2025-03-17T15:24:03.025Z",
+ "references/modules/notification_service/page.mdx": "2025-03-17T15:24:05.164Z",
+ "references/notification_service/interfaces/notification_service.INotificationModuleService/page.mdx": "2025-03-17T15:24:05.173Z"
}
\ No newline at end of file
diff --git a/www/apps/resources/generated/files-map.mjs b/www/apps/resources/generated/files-map.mjs
index bfff577d9f..b2251be626 100644
--- a/www/apps/resources/generated/files-map.mjs
+++ b/www/apps/resources/generated/files-map.mjs
@@ -123,6 +123,10 @@ export const filesMap = [
"filePath": "/www/apps/resources/app/architectural-modules/page.mdx",
"pathname": "/architectural-modules"
},
+ {
+ "filePath": "/www/apps/resources/app/architectural-modules/workflow-engine/how-to-use/page.mdx",
+ "pathname": "/architectural-modules/workflow-engine/how-to-use"
+ },
{
"filePath": "/www/apps/resources/app/architectural-modules/workflow-engine/in-memory/page.mdx",
"pathname": "/architectural-modules/workflow-engine/in-memory"
@@ -1691,6 +1695,10 @@ export const filesMap = [
"filePath": "/www/apps/resources/references/auth_provider/classes/auth_provider.AbstractAuthModuleProvider/page.mdx",
"pathname": "/references/auth_provider/classes/auth_provider.AbstractAuthModuleProvider"
},
+ {
+ "filePath": "/www/apps/resources/references/cache/interfaces/cache.ICacheService/page.mdx",
+ "pathname": "/references/cache/interfaces/cache.ICacheService"
+ },
{
"filePath": "/www/apps/resources/references/cart/IBigNumber/methods/cart.IBigNumber.toJSON/page.mdx",
"pathname": "/references/cart/IBigNumber/methods/cart.IBigNumber.toJSON"
@@ -9571,10 +9579,18 @@ export const filesMap = [
"filePath": "/www/apps/resources/references/dml/properties_base/classes/dml.properties_base.BaseProperty/page.mdx",
"pathname": "/references/dml/properties_base/classes/dml.properties_base.BaseProperty"
},
+ {
+ "filePath": "/www/apps/resources/references/event/interfaces/event.IEventBusModuleService/page.mdx",
+ "pathname": "/references/event/interfaces/event.IEventBusModuleService"
+ },
{
"filePath": "/www/apps/resources/references/file/classes/file.AbstractFileProviderService/page.mdx",
"pathname": "/references/file/classes/file.AbstractFileProviderService"
},
+ {
+ "filePath": "/www/apps/resources/references/file_service/interfaces/file_service.IFileModuleService/page.mdx",
+ "pathname": "/references/file_service/interfaces/file_service.IFileModuleService"
+ },
{
"filePath": "/www/apps/resources/references/fulfillment/IBigNumber/methods/fulfillment.IBigNumber.toJSON/page.mdx",
"pathname": "/references/fulfillment/IBigNumber/methods/fulfillment.IBigNumber.toJSON"
@@ -12967,6 +12983,10 @@ export const filesMap = [
"filePath": "/www/apps/resources/references/modules/auth_provider/page.mdx",
"pathname": "/references/modules/auth_provider"
},
+ {
+ "filePath": "/www/apps/resources/references/modules/cache/page.mdx",
+ "pathname": "/references/modules/cache"
+ },
{
"filePath": "/www/apps/resources/references/modules/cart/page.mdx",
"pathname": "/references/modules/cart"
@@ -12999,10 +13019,18 @@ export const filesMap = [
"filePath": "/www/apps/resources/references/modules/dml/page.mdx",
"pathname": "/references/modules/dml"
},
+ {
+ "filePath": "/www/apps/resources/references/modules/event/page.mdx",
+ "pathname": "/references/modules/event"
+ },
{
"filePath": "/www/apps/resources/references/modules/file/page.mdx",
"pathname": "/references/modules/file"
},
+ {
+ "filePath": "/www/apps/resources/references/modules/file_service/page.mdx",
+ "pathname": "/references/modules/file_service"
+ },
{
"filePath": "/www/apps/resources/references/modules/fulfillment/page.mdx",
"pathname": "/references/modules/fulfillment"
@@ -13051,6 +13079,10 @@ export const filesMap = [
"filePath": "/www/apps/resources/references/modules/notification/page.mdx",
"pathname": "/references/modules/notification"
},
+ {
+ "filePath": "/www/apps/resources/references/modules/notification_service/page.mdx",
+ "pathname": "/references/modules/notification_service"
+ },
{
"filePath": "/www/apps/resources/references/modules/order/page.mdx",
"pathname": "/references/modules/order"
@@ -13239,6 +13271,10 @@ export const filesMap = [
"filePath": "/www/apps/resources/references/notification/classes/notification.AbstractNotificationProviderService/page.mdx",
"pathname": "/references/notification/classes/notification.AbstractNotificationProviderService"
},
+ {
+ "filePath": "/www/apps/resources/references/notification_service/interfaces/notification_service.INotificationModuleService/page.mdx",
+ "pathname": "/references/notification_service/interfaces/notification_service.INotificationModuleService"
+ },
{
"filePath": "/www/apps/resources/references/order/IBigNumber/methods/order.IBigNumber.toJSON/page.mdx",
"pathname": "/references/order/IBigNumber/methods/order.IBigNumber.toJSON"
diff --git a/www/apps/resources/generated/generated-architectural-modules-sidebar.mjs b/www/apps/resources/generated/generated-architectural-modules-sidebar.mjs
index 19c70753b7..c7e974971e 100644
--- a/www/apps/resources/generated/generated-architectural-modules-sidebar.mjs
+++ b/www/apps/resources/generated/generated-architectural-modules-sidebar.mjs
@@ -65,6 +65,14 @@ const generatedgeneratedArchitecturalModulesSidebarSidebar = {
"path": "/architectural-modules/cache/create",
"title": "Create Cache Module",
"children": []
+ },
+ {
+ "loaded": true,
+ "isPathHref": true,
+ "type": "link",
+ "path": "/references/cache-service",
+ "title": "Use Cache Module",
+ "children": []
}
]
}
@@ -122,6 +130,14 @@ const generatedgeneratedArchitecturalModulesSidebarSidebar = {
"path": "/architectural-modules/event/create",
"title": "Create Event Module",
"children": []
+ },
+ {
+ "loaded": true,
+ "isPathHref": true,
+ "type": "link",
+ "path": "/references/event-service",
+ "title": "Use Event Module",
+ "children": []
}
]
}
@@ -179,6 +195,14 @@ const generatedgeneratedArchitecturalModulesSidebarSidebar = {
"path": "/references/file-provider-module",
"title": "Create File Provider",
"children": []
+ },
+ {
+ "loaded": true,
+ "isPathHref": true,
+ "type": "link",
+ "path": "/references/file-service",
+ "title": "Use File Module",
+ "children": []
}
]
}
@@ -317,6 +341,14 @@ const generatedgeneratedArchitecturalModulesSidebarSidebar = {
"path": "/architectural-modules/notification/send-notification",
"title": "Send Notification",
"children": []
+ },
+ {
+ "loaded": true,
+ "isPathHref": true,
+ "type": "link",
+ "path": "/references/notification-service",
+ "title": "Use Notification Module",
+ "children": []
}
]
}
@@ -360,6 +392,22 @@ const generatedgeneratedArchitecturalModulesSidebarSidebar = {
"children": []
}
]
+ },
+ {
+ "loaded": true,
+ "isPathHref": true,
+ "type": "sub-category",
+ "title": "Guides",
+ "children": [
+ {
+ "loaded": true,
+ "isPathHref": true,
+ "type": "link",
+ "path": "/architectural-modules/workflow-engine/how-to-use",
+ "title": "Use Workflow Engine Module",
+ "children": []
+ }
+ ]
}
]
}
diff --git a/www/apps/resources/generated/generated-how-to-tutorials-sidebar.mjs b/www/apps/resources/generated/generated-how-to-tutorials-sidebar.mjs
index a36ba6e7a8..79a9f465d4 100644
--- a/www/apps/resources/generated/generated-how-to-tutorials-sidebar.mjs
+++ b/www/apps/resources/generated/generated-how-to-tutorials-sidebar.mjs
@@ -142,6 +142,30 @@ const generatedgeneratedHowToTutorialsSidebarSidebar = {
"path": "https://docs.medusajs.com/resources/architectural-modules/notification/send-notification",
"children": []
},
+ {
+ "loaded": true,
+ "isPathHref": true,
+ "type": "ref",
+ "title": "Use Cache Module",
+ "path": "https://docs.medusajs.com/resources/references/cache-service",
+ "children": []
+ },
+ {
+ "loaded": true,
+ "isPathHref": true,
+ "type": "ref",
+ "title": "Use Event Module",
+ "path": "https://docs.medusajs.com/resources/references/event-service",
+ "children": []
+ },
+ {
+ "loaded": true,
+ "isPathHref": true,
+ "type": "ref",
+ "title": "Use File Module",
+ "path": "https://docs.medusajs.com/resources/references/file-service",
+ "children": []
+ },
{
"loaded": true,
"isPathHref": true,
@@ -149,6 +173,22 @@ const generatedgeneratedHowToTutorialsSidebarSidebar = {
"title": "Use Locking Module",
"path": "https://docs.medusajs.com/resources/references/locking-service",
"children": []
+ },
+ {
+ "loaded": true,
+ "isPathHref": true,
+ "type": "ref",
+ "title": "Use Notification Module",
+ "path": "https://docs.medusajs.com/resources/references/notification-service",
+ "children": []
+ },
+ {
+ "loaded": true,
+ "isPathHref": true,
+ "type": "ref",
+ "title": "Use Workflow Engine Module",
+ "path": "https://docs.medusajs.com/resources/architectural-modules/workflow-engine/how-to-use",
+ "children": []
}
]
},
diff --git a/www/apps/resources/generated/slug-changes.mjs b/www/apps/resources/generated/slug-changes.mjs
index 492af4da92..0d69b079a4 100644
--- a/www/apps/resources/generated/slug-changes.mjs
+++ b/www/apps/resources/generated/slug-changes.mjs
@@ -149,6 +149,11 @@ export const slugChanges = [
"newSlug": "/references/auth/provider",
"filePath": "/www/apps/resources/references/auth_provider/classes/auth_provider.AbstractAuthModuleProvider/page.mdx"
},
+ {
+ "origSlug": "/references/cache/interfaces/cache.ICacheService",
+ "newSlug": "/references/cache-service",
+ "filePath": "/www/apps/resources/references/cache/interfaces/cache.ICacheService/page.mdx"
+ },
{
"origSlug": "/references/cart/ICartModuleService/methods/cart.ICartModuleService.addLineItemAdjustments",
"newSlug": "/references/cart/addLineItemAdjustments",
@@ -3734,11 +3739,21 @@ export const slugChanges = [
"newSlug": "/references/data-model/define",
"filePath": "/www/apps/resources/references/dml/entity_builder/EntityBuilder/methods/dml.entity_builder.EntityBuilder.define/page.mdx"
},
+ {
+ "origSlug": "/references/event/interfaces/event.IEventBusModuleService",
+ "newSlug": "/references/event-service",
+ "filePath": "/www/apps/resources/references/event/interfaces/event.IEventBusModuleService/page.mdx"
+ },
{
"origSlug": "/references/file/classes/file.AbstractFileProviderService",
"newSlug": "/references/file-provider-module",
"filePath": "/www/apps/resources/references/file/classes/file.AbstractFileProviderService/page.mdx"
},
+ {
+ "origSlug": "/references/file_service/interfaces/file_service.IFileModuleService",
+ "newSlug": "/references/file-service",
+ "filePath": "/www/apps/resources/references/file_service/interfaces/file_service.IFileModuleService/page.mdx"
+ },
{
"origSlug": "/references/fulfillment/IFulfillmentModuleService/methods/fulfillment.IFulfillmentModuleService.calculateShippingOptionsPrices",
"newSlug": "/references/fulfillment/calculateShippingOptionsPrices",
@@ -4829,6 +4844,11 @@ export const slugChanges = [
"newSlug": "/references/notification-provider-module",
"filePath": "/www/apps/resources/references/notification/classes/notification.AbstractNotificationProviderService/page.mdx"
},
+ {
+ "origSlug": "/references/notification_service/interfaces/notification_service.INotificationModuleService",
+ "newSlug": "/references/notification-service",
+ "filePath": "/www/apps/resources/references/notification_service/interfaces/notification_service.INotificationModuleService/page.mdx"
+ },
{
"origSlug": "/references/order/IOrderModuleService/methods/order.IOrderModuleService.addOrderAction",
"newSlug": "/references/order/addOrderAction",
diff --git a/www/apps/resources/references/_index.mdx b/www/apps/resources/references/_index.mdx
index a5302a0816..04a315986f 100644
--- a/www/apps/resources/references/_index.mdx
+++ b/www/apps/resources/references/_index.mdx
@@ -9,6 +9,7 @@ import { TypeList } from "docs-ui"
- [auth](modules/auth/page.mdx)
- [auth-models](modules/auth_models/page.mdx)
- [auth-provider](modules/auth_provider/page.mdx)
+- [cache](modules/cache/page.mdx)
- [cart](modules/cart/page.mdx)
- [cart-models](modules/cart_models/page.mdx)
- [core-flows](modules/core_flows/page.mdx)
@@ -17,7 +18,9 @@ import { TypeList } from "docs-ui"
- [customer](modules/customer/page.mdx)
- [customer-models](modules/customer_models/page.mdx)
- [dml](modules/dml/page.mdx)
+- [event](modules/event/page.mdx)
- [file](modules/file/page.mdx)
+- [file-service](modules/file_service/page.mdx)
- [fulfillment](modules/fulfillment/page.mdx)
- [fulfillment-models](modules/fulfillment_models/page.mdx)
- [fulfillment-provider](modules/fulfillment_provider/page.mdx)
@@ -30,6 +33,7 @@ import { TypeList } from "docs-ui"
- [medusa-config](modules/medusa_config/page.mdx)
- [modules-sdk](modules/modules_sdk/page.mdx)
- [notification](modules/notification/page.mdx)
+- [notification-service](modules/notification_service/page.mdx)
- [order](modules/order/page.mdx)
- [order-models](modules/order_models/page.mdx)
- [payment](modules/payment/page.mdx)
diff --git a/www/apps/resources/references/cache/interfaces/cache.ICacheService/page.mdx b/www/apps/resources/references/cache/interfaces/cache.ICacheService/page.mdx
new file mode 100644
index 0000000000..6f4eb40aa2
--- /dev/null
+++ b/www/apps/resources/references/cache/interfaces/cache.ICacheService/page.mdx
@@ -0,0 +1,104 @@
+---
+slug: /references/cache-service
+tags:
+ - cache
+ - server
+ - how to
+sidebar_label: Use Cache Module
+---
+
+import { TypeList } from "docs-ui"
+
+# How to Use Cache Module
+
+In this document, you’ll learn about the different methods in the Cache Module's service and how to use them.
+
+---
+
+## Resolve Cache Module's Service
+
+In your workflow's step, you can resolve the Cache Module's service from the Medusa container:
+
+```ts
+import { Modules } from "@medusajs/framework/utils"
+import { createStep } from "@medusajs/framework/workflows-sdk"
+
+const step1 = createStep(
+ "step-1",
+ async ({}, { container }) => {
+ const cacheModuleService = container.resolve(
+ Modules.CACHE
+ )
+
+ // TODO use cacheModuleService
+ }
+)
+```
+
+This will resolve the service of the configured Cache Module, which is the [In-Memory Cache Module](https://docs.medusajs.com/resources/architectural-modules/cache/in-memory) by default.
+
+You can then use the Cache Module's service's methods in the step. The rest of this guide details these methods.
+
+---
+
+## get
+
+This method retrieves data from the cache.
+
+### Example
+
+```ts
+const data = await cacheModuleService.get("my-key")
+```
+
+### Type Parameters
+
+
+
+### Parameters
+
+
+
+### Returns
+
+
+
+___
+
+## set
+
+This method stores data in the cache.
+
+### Example
+
+```ts
+await cacheModuleService.set("my-key", { product_id: "prod_123" }, 60)
+```
+
+### Parameters
+
+
+
+### Returns
+
+
+
+___
+
+## invalidate
+
+This method removes an item from the cache.
+
+### Example
+
+```ts
+await cacheModuleService.invalidate("my-key")
+```
+
+### Parameters
+
+
+
+### Returns
+
+
diff --git a/www/apps/resources/references/event/interfaces/event.IEventBusModuleService/page.mdx b/www/apps/resources/references/event/interfaces/event.IEventBusModuleService/page.mdx
new file mode 100644
index 0000000000..8ef8637483
--- /dev/null
+++ b/www/apps/resources/references/event/interfaces/event.IEventBusModuleService/page.mdx
@@ -0,0 +1,155 @@
+---
+slug: /references/event-service
+tags:
+ - event
+ - server
+ - how to
+sidebar_label: Use Event Module
+---
+
+import { TypeList } from "docs-ui"
+
+# How to Use Event Module
+
+In this document, you’ll learn about the different methods in the Event Module's service and how to use them.
+
+---
+
+## Resolve Event Module's Service
+
+In your workflow's step, you can resolve the Event Module's service from the Medusa container:
+
+```ts
+import { Modules } from "@medusajs/framework/utils"
+import { createStep } from "@medusajs/framework/workflows-sdk"
+
+const step1 = createStep(
+ "step-1",
+ async ({}, { container }) => {
+ const eventModuleService = container.resolve(
+ Modules.EVENT
+ )
+
+ // TODO use eventModuleService
+ }
+)
+```
+
+This will resolve the service of the configured Event Module, which is the [Local Event Module](https://docs.medusajs.com/resources/architectural-modules/event/local) by default.
+
+You can then use the Event Module's service's methods in the step. The rest of this guide details these methods.
+
+---
+
+## emit
+
+This method emits one or more events. Subscribers listening to the event(s) are executed asynchronously.
+
+### Example
+
+```ts
+await eventModuleService.emit({
+ name: "user.created",
+ data: {
+ user_id: "user_123"
+ }
+})
+```
+
+### Type Parameters
+
+
+
+### Parameters
+
+`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"options","type":"`Record`","description":"Additional options for the event.","optional":true,"defaultValue":"","expandable":false,"children":[]}]} expandUrl="https://docs.medusajs.com/learn/fundamentals/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="emit"/>
+
+### Returns
+
+
+
+___
+
+## subscribe
+
+This method adds a subscriber to an event. It's mainly used internally to register subscribers.
+
+### Example
+
+```ts
+eventModuleService.subscribe("user.created", async (data) => {
+ console.log("User created", data)
+})
+```
+
+### Parameters
+
+
+
+### Returns
+
+
+
+___
+
+## unsubscribe
+
+This method removes a subscriber from an event. It's mainly used internally to unregister subscribers.
+
+### Example
+
+```ts
+eventModuleService.unsubscribe("user.created", async (data) => {
+ console.log("User created", data)
+})
+```
+
+### Parameters
+
+
+
+### Returns
+
+
+
+___
+
+## releaseGroupedEvents
+
+This method emits all events in the specified group. Grouped events are useful when you have distributed transactions
+where you need to explicitly group, release and clear events upon lifecycle events of a transaction.
+
+### Example
+
+```ts
+await eventModuleService.releaseGroupedEvents("group_123")
+```
+
+### Parameters
+
+
+
+### Returns
+
+
+
+___
+
+## clearGroupedEvents
+
+This method removes all events in the specified group. Grouped events are useful when you have distributed transactions
+where you need to explicitly group, release and clear events upon lifecycle events of a transaction.
+
+### Example
+
+```ts
+await eventModuleService.clearGroupedEvents("group_123")
+```
+
+### Parameters
+
+
+
+### Returns
+
+
diff --git a/www/apps/resources/references/file_service/interfaces/file_service.IFileModuleService/page.mdx b/www/apps/resources/references/file_service/interfaces/file_service.IFileModuleService/page.mdx
new file mode 100644
index 0000000000..a346e013a5
--- /dev/null
+++ b/www/apps/resources/references/file_service/interfaces/file_service.IFileModuleService/page.mdx
@@ -0,0 +1,186 @@
+---
+slug: /references/file-service
+tags:
+ - file
+ - server
+ - how to
+sidebar_label: Use File Module
+---
+
+import { TypeList } from "docs-ui"
+
+# How to Use File Module
+
+In this document, you’ll learn about the different methods in the File Module's service and how to use them.
+
+---
+
+## Resolve File Module's Service
+
+In your workflow's step, you can resolve the File Module's service from the Medusa container:
+
+```ts
+import { Modules } from "@medusajs/framework/utils"
+import { createStep } from "@medusajs/framework/workflows-sdk"
+
+const step1 = createStep(
+ "step-1",
+ async ({}, { container }) => {
+ const fileModuleService = container.resolve(
+ Modules.FILE
+ )
+
+ // TODO use fileModuleService
+ }
+)
+```
+
+You can then use the File Module's service's methods in the step. The rest of this guide details these methods.
+
+---
+
+## createFiles
+
+### createFiles(data, sharedContext?): Promise<[FileDTO](../../../types/FileTypes/interfaces/types.FileTypes.FileDTO/page.mdx)[]>
+
+This method uploads files to the designated file storage system.
+
+#### Example
+
+```ts
+const [file] = await fileModuleService.createFiles([{
+ filename: "product.png",
+ mimeType: "image/png",
+ content: "somecontent" // base64 encoded
+}])
+```
+
+#### Parameters
+
+
+
+#### Returns
+
+
+
+### createFiles(data, sharedContext?): Promise<[FileDTO](../../../types/FileTypes/interfaces/types.FileTypes.FileDTO/page.mdx)>
+
+This method uploads a file to the designated file storage system.
+
+#### Example
+
+```ts
+const file = await fileModuleService.createFiles({
+ filename: "product.png",
+ mimeType: "image/png",
+ content: "somecontent" // base64 encoded
+})
+```
+
+#### Parameters
+
+
+
+#### Returns
+
+
+
+___
+
+## deleteFiles
+
+### deleteFiles(ids, sharedContext?): Promise<void>
+
+This method deletes files by their IDs.
+
+#### Example
+
+```ts
+await fileModuleService.deleteFiles(["file_123"])
+```
+
+#### Parameters
+
+
+
+#### Returns
+
+
+
+### deleteFiles(id, sharedContext?): Promise<void>
+
+This method deletes a file by its ID.
+
+#### Example
+
+```ts
+await fileModuleService.deleteFiles("file_123")
+```
+
+#### Parameters
+
+
+
+#### Returns
+
+
+
+___
+
+## retrieveFile
+
+This method retrieves a file with a downloadable URL by its ID.
+
+### Example
+
+```ts
+const file = await fileModuleService.retrieveFile("file_123")
+```
+
+### Parameters
+
+`","description":"Enable ORM specific defined filters","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"Enable ORM specific defined options","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"sharedContext","type":"[Context](../../../types/interfaces/types.Context/page.mdx)","description":"A context used to share resources, such as transaction manager, between the application and the module.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"transactionManager","type":"TManager","description":"An instance of a transaction manager of type `TManager`, which is a typed parameter passed to the context to specify the type of the `transactionManager`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manager","type":"TManager","description":"An instance of a manager, typically an entity manager, of type `TManager`, which is a typed parameter passed to the context to specify the type of the `manager`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"isolationLevel","type":"`string`","description":"A string indicating the isolation level of the context. Possible values are `READ UNCOMMITTED`, `READ COMMITTED`, `REPEATABLE READ`, or `SERIALIZABLE`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"enableNestedTransactions","type":"`boolean`","description":"A boolean value indicating whether nested transactions are enabled.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"eventGroupId","type":"`string`","description":"A string indicating the ID of the group to aggregate the events to be emitted at a later point.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"transactionId","type":"`string`","description":"A string indicating the ID of the current transaction.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"messageAggregator","type":"[IMessageAggregator](../../../types/interfaces/types.IMessageAggregator/page.mdx)","description":"An instance of a message aggregator, which is used to aggregate messages to be emitted at a later point.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"requestId","type":"`string`","description":"A string indicating the ID of the current request.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"idempotencyKey","type":"`string`","description":"A string indicating the idempotencyKey of the current workflow execution.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"parentStepIdempotencyKey","type":"`string`","description":"A string indicating the idempotencyKey of the parent workflow execution.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]} expandUrl="https://docs.medusajs.com/learn/fundamentals/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="retrieveFile"/>
+
+### Returns
+
+
+
+___
+
+## listFiles
+
+This method is used to retrieve a file by ID, similarly to `retrieve`. It doesn't retrieve multiple files, but it's added to support retrieving files with [Query](https://docs.medusajs.com/learn/fundamentals/module-links/query).
+
+### Example
+
+```ts
+const files = await fileModuleService.listFiles({ id: "file_123" })
+```
+
+### Parameters
+
+`","description":"Enable ORM specific defined filters","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"Enable ORM specific defined options","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"sharedContext","type":"[Context](../../../types/interfaces/types.Context/page.mdx)","description":"A context used to share resources, such as transaction manager, between the application and the module.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"transactionManager","type":"TManager","description":"An instance of a transaction manager of type `TManager`, which is a typed parameter passed to the context to specify the type of the `transactionManager`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manager","type":"TManager","description":"An instance of a manager, typically an entity manager, of type `TManager`, which is a typed parameter passed to the context to specify the type of the `manager`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"isolationLevel","type":"`string`","description":"A string indicating the isolation level of the context. Possible values are `READ UNCOMMITTED`, `READ COMMITTED`, `REPEATABLE READ`, or `SERIALIZABLE`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"enableNestedTransactions","type":"`boolean`","description":"A boolean value indicating whether nested transactions are enabled.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"eventGroupId","type":"`string`","description":"A string indicating the ID of the group to aggregate the events to be emitted at a later point.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"transactionId","type":"`string`","description":"A string indicating the ID of the current transaction.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"messageAggregator","type":"[IMessageAggregator](../../../types/interfaces/types.IMessageAggregator/page.mdx)","description":"An instance of a message aggregator, which is used to aggregate messages to be emitted at a later point.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"requestId","type":"`string`","description":"A string indicating the ID of the current request.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"idempotencyKey","type":"`string`","description":"A string indicating the idempotencyKey of the current workflow execution.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"parentStepIdempotencyKey","type":"`string`","description":"A string indicating the idempotencyKey of the parent workflow execution.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]} expandUrl="https://docs.medusajs.com/learn/fundamentals/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="listFiles"/>
+
+### Returns
+
+
+
+___
+
+## listAndCountFiles
+
+This method is used to retrieve a file by ID, similarly to `retrieve`. It doesn't retrieve multiple files, but it's added to support retrieving files with [Query](https://docs.medusajs.com/learn/fundamentals/module-links/query).
+
+### Example
+
+```ts
+const [files] = await fileModuleService.listAndCountFiles({ id: "file_123" })
+```
+
+### Parameters
+
+`","description":"Enable ORM specific defined filters","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"Enable ORM specific defined options","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"sharedContext","type":"[Context](../../../types/interfaces/types.Context/page.mdx)","description":"A context used to share resources, such as transaction manager, between the application and the module.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"transactionManager","type":"TManager","description":"An instance of a transaction manager of type `TManager`, which is a typed parameter passed to the context to specify the type of the `transactionManager`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manager","type":"TManager","description":"An instance of a manager, typically an entity manager, of type `TManager`, which is a typed parameter passed to the context to specify the type of the `manager`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"isolationLevel","type":"`string`","description":"A string indicating the isolation level of the context. Possible values are `READ UNCOMMITTED`, `READ COMMITTED`, `REPEATABLE READ`, or `SERIALIZABLE`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"enableNestedTransactions","type":"`boolean`","description":"A boolean value indicating whether nested transactions are enabled.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"eventGroupId","type":"`string`","description":"A string indicating the ID of the group to aggregate the events to be emitted at a later point.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"transactionId","type":"`string`","description":"A string indicating the ID of the current transaction.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"messageAggregator","type":"[IMessageAggregator](../../../types/interfaces/types.IMessageAggregator/page.mdx)","description":"An instance of a message aggregator, which is used to aggregate messages to be emitted at a later point.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"requestId","type":"`string`","description":"A string indicating the ID of the current request.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"idempotencyKey","type":"`string`","description":"A string indicating the idempotencyKey of the current workflow execution.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"parentStepIdempotencyKey","type":"`string`","description":"A string indicating the idempotencyKey of the parent workflow execution.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]} expandUrl="https://docs.medusajs.com/learn/fundamentals/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="listAndCountFiles"/>
+
+### Returns
+
+
diff --git a/www/apps/resources/references/modules/cache/page.mdx b/www/apps/resources/references/modules/cache/page.mdx
new file mode 100644
index 0000000000..04c3f2d8a7
--- /dev/null
+++ b/www/apps/resources/references/modules/cache/page.mdx
@@ -0,0 +1,7 @@
+import { TypeList } from "docs-ui"
+
+# cache
+
+## Interfaces
+
+- [ICacheService](../../cache/interfaces/cache.ICacheService/page.mdx)
diff --git a/www/apps/resources/references/modules/event/page.mdx b/www/apps/resources/references/modules/event/page.mdx
new file mode 100644
index 0000000000..7611339142
--- /dev/null
+++ b/www/apps/resources/references/modules/event/page.mdx
@@ -0,0 +1,7 @@
+import { TypeList } from "docs-ui"
+
+# event
+
+## Interfaces
+
+- [IEventBusModuleService](../../event/interfaces/event.IEventBusModuleService/page.mdx)
diff --git a/www/apps/resources/references/modules/file_service/page.mdx b/www/apps/resources/references/modules/file_service/page.mdx
new file mode 100644
index 0000000000..b656dfcc16
--- /dev/null
+++ b/www/apps/resources/references/modules/file_service/page.mdx
@@ -0,0 +1,7 @@
+import { TypeList } from "docs-ui"
+
+# file-service
+
+## Interfaces
+
+- [IFileModuleService](../../file_service/interfaces/file_service.IFileModuleService/page.mdx)
diff --git a/www/apps/resources/references/modules/notification_service/page.mdx b/www/apps/resources/references/modules/notification_service/page.mdx
new file mode 100644
index 0000000000..8be751e0bf
--- /dev/null
+++ b/www/apps/resources/references/modules/notification_service/page.mdx
@@ -0,0 +1,7 @@
+import { TypeList } from "docs-ui"
+
+# notification-service
+
+## Interfaces
+
+- [INotificationModuleService](../../notification_service/interfaces/notification_service.INotificationModuleService/page.mdx)
diff --git a/www/apps/resources/references/notification_service/interfaces/notification_service.INotificationModuleService/page.mdx b/www/apps/resources/references/notification_service/interfaces/notification_service.INotificationModuleService/page.mdx
new file mode 100644
index 0000000000..808d053c9e
--- /dev/null
+++ b/www/apps/resources/references/notification_service/interfaces/notification_service.INotificationModuleService/page.mdx
@@ -0,0 +1,234 @@
+---
+slug: /references/notification-service
+tags:
+ - notification
+ - server
+ - how to
+sidebar_label: Use Notification Module
+---
+
+import { TypeList } from "docs-ui"
+
+# How to Use Notification Module
+
+In this document, you’ll learn about the different methods in the Notification Module's service and how to use them.
+
+---
+
+## Resolve Notification Module's Service
+
+In your workflow's step, you can resolve the Notification Module's service from the Medusa container:
+
+```ts
+import { Modules } from "@medusajs/framework/utils"
+import { createStep } from "@medusajs/framework/workflows-sdk"
+
+const step1 = createStep(
+ "step-1",
+ async ({}, { container }) => {
+ const notificationModuleService = container.resolve(
+ Modules.NOTIFICATION
+ )
+
+ // TODO use notificationModuleService
+ }
+)
+```
+
+You can then use the Notification Module's service's methods in the step. The rest of this guide details these methods.
+
+---
+
+## createNotifications
+
+### createNotifications(data, sharedContext?): Promise<[NotificationDTO](../../../types/NotificationTypes/interfaces/types.NotificationTypes.NotificationDTO/page.mdx)[]>
+
+This method is used to send multiple notifications and store them in the database.
+
+#### Example
+
+```ts
+const notifications = await notificationModuleService.createNotifications([
+ {
+ to: "john@doe.me",
+ template: "order-confirmation",
+ channel: "email",
+ },
+ {
+ to: "+38975123456",
+ template: "order-confirmation",
+ channel: "sms",
+ },
+])
+```
+
+#### Parameters
+
+`","description":"The data that gets passed over to the provider for rendering the notification.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"content","type":"`null` \\| [NotificationContent](../../../types/NotificationTypes/interfaces/types.NotificationTypes.NotificationContent/page.mdx)","description":"The content that gets passed over to the provider.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"subject","type":"`string`","description":"the subject of the notification","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"text","type":"`string`","description":"the text content of the notification","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"html","type":"`string`","description":"the html content of the notification","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"trigger_type","type":"`null` \\| `string`","description":"The event name, the workflow, or anything else that can help to identify what triggered the notification.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"resource_id","type":"`null` \\| `string`","description":"The ID of the resource this notification is for, if applicable. Useful for displaying relevant information in the UI","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"resource_type","type":"`null` \\| `string`","description":"The type of the resource this notification is for, if applicable, eg. \"order\"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"receiver_id","type":"`null` \\| `string`","description":"The ID of the customer this notification is for, if applicable.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"original_notification_id","type":"`null` \\| `string`","description":"The original notification, in case this is a retried notification.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"idempotency_key","type":"`null` \\| `string`","description":"An idempotency key that ensures the same notification is not sent multiple times.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"sharedContext","type":"[Context](../../../types/interfaces/types.Context/page.mdx)","description":"A context used to share resources, such as transaction manager, between the application and the module.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"transactionManager","type":"TManager","description":"An instance of a transaction manager of type `TManager`, which is a typed parameter passed to the context to specify the type of the `transactionManager`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manager","type":"TManager","description":"An instance of a manager, typically an entity manager, of type `TManager`, which is a typed parameter passed to the context to specify the type of the `manager`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"isolationLevel","type":"`string`","description":"A string indicating the isolation level of the context. Possible values are `READ UNCOMMITTED`, `READ COMMITTED`, `REPEATABLE READ`, or `SERIALIZABLE`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"enableNestedTransactions","type":"`boolean`","description":"A boolean value indicating whether nested transactions are enabled.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"eventGroupId","type":"`string`","description":"A string indicating the ID of the group to aggregate the events to be emitted at a later point.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"transactionId","type":"`string`","description":"A string indicating the ID of the current transaction.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"messageAggregator","type":"[IMessageAggregator](../../../types/interfaces/types.IMessageAggregator/page.mdx)","description":"An instance of a message aggregator, which is used to aggregate messages to be emitted at a later point.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"requestId","type":"`string`","description":"A string indicating the ID of the current request.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"idempotencyKey","type":"`string`","description":"A string indicating the idempotencyKey of the current workflow execution.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"parentStepIdempotencyKey","type":"`string`","description":"A string indicating the idempotencyKey of the parent workflow execution.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]} expandUrl="https://docs.medusajs.com/learn/fundamentals/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="createNotifications"/>
+
+#### Returns
+
+
+
+### createNotifications(data, sharedContext?): Promise<[NotificationDTO](../../../types/NotificationTypes/interfaces/types.NotificationTypes.NotificationDTO/page.mdx)>
+
+This method is used to send a notification, and store the request in the database.
+
+#### Example
+
+```ts
+const notification = await notificationModuleService.createNotifications({
+ to: "john@doe.me",
+ template: "order-confirmation",
+ channel: "email",
+})
+```
+
+#### Parameters
+
+`","description":"The data that gets passed over to the provider for rendering the notification.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"content","type":"`null` \\| [NotificationContent](../../../types/NotificationTypes/interfaces/types.NotificationTypes.NotificationContent/page.mdx)","description":"The content that gets passed over to the provider.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"subject","type":"`string`","description":"the subject of the notification","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"text","type":"`string`","description":"the text content of the notification","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"html","type":"`string`","description":"the html content of the notification","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"trigger_type","type":"`null` \\| `string`","description":"The event name, the workflow, or anything else that can help to identify what triggered the notification.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"resource_id","type":"`null` \\| `string`","description":"The ID of the resource this notification is for, if applicable. Useful for displaying relevant information in the UI","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"resource_type","type":"`null` \\| `string`","description":"The type of the resource this notification is for, if applicable, eg. \"order\"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"receiver_id","type":"`null` \\| `string`","description":"The ID of the customer this notification is for, if applicable.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"original_notification_id","type":"`null` \\| `string`","description":"The original notification, in case this is a retried notification.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"idempotency_key","type":"`null` \\| `string`","description":"An idempotency key that ensures the same notification is not sent multiple times.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"sharedContext","type":"[Context](../../../types/interfaces/types.Context/page.mdx)","description":"A context used to share resources, such as transaction manager, between the application and the module.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"transactionManager","type":"TManager","description":"An instance of a transaction manager of type `TManager`, which is a typed parameter passed to the context to specify the type of the `transactionManager`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manager","type":"TManager","description":"An instance of a manager, typically an entity manager, of type `TManager`, which is a typed parameter passed to the context to specify the type of the `manager`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"isolationLevel","type":"`string`","description":"A string indicating the isolation level of the context. Possible values are `READ UNCOMMITTED`, `READ COMMITTED`, `REPEATABLE READ`, or `SERIALIZABLE`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"enableNestedTransactions","type":"`boolean`","description":"A boolean value indicating whether nested transactions are enabled.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"eventGroupId","type":"`string`","description":"A string indicating the ID of the group to aggregate the events to be emitted at a later point.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"transactionId","type":"`string`","description":"A string indicating the ID of the current transaction.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"messageAggregator","type":"[IMessageAggregator](../../../types/interfaces/types.IMessageAggregator/page.mdx)","description":"An instance of a message aggregator, which is used to aggregate messages to be emitted at a later point.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"requestId","type":"`string`","description":"A string indicating the ID of the current request.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"idempotencyKey","type":"`string`","description":"A string indicating the idempotencyKey of the current workflow execution.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"parentStepIdempotencyKey","type":"`string`","description":"A string indicating the idempotencyKey of the parent workflow execution.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]} expandUrl="https://docs.medusajs.com/learn/fundamentals/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="createNotifications"/>
+
+#### Returns
+
+`","description":"The data that gets passed over to the provider for rendering the notification.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"provider_id","type":"`string`","description":"The ID of the notification provider.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"provider","type":"[NotificationProviderDTO](../../../types/NotificationTypes/interfaces/types.NotificationTypes.NotificationProviderDTO/page.mdx)","description":"Information about the notification provider","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the notification provider.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string`","description":"The handle of the notification provider.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"name","type":"`string`","description":"A user-friendly name of the notification provider.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"channels","type":"`string`[]","description":"The supported channels by the notification provider.","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"created_at","type":"`Date`","description":"The date and time the notification was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"`\"pending\"` \\| `\"success\"` \\| `\"failure\"`","description":"The status of the notification","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"from","type":"`null` \\| `string`","description":"The sender of the notification. It can be email, phone number, or username, depending on the channel.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"attachments","type":"`null` \\| [Attachment](../../../types/NotificationTypes/interfaces/types.NotificationTypes.Attachment/page.mdx)[]","description":"Optional attachments for the notification.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"content","type":"`string`","description":"The content of the attachment, encoded as a base64 string.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"filename","type":"`string`","description":"The filename of the attachment.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"content_type","type":"`string`","description":"The MIME type of the attachment.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"disposition","type":"`string`","description":"The disposition of the attachment, For example, \"inline\" or \"attachment\".","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string`","description":"The ID, if the attachment is meant to be referenced within the body of the message.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"trigger_type","type":"`null` \\| `string`","description":"The event name, the workflow, or anything else that can help to identify what triggered the notification.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"resource_id","type":"`null` \\| `string`","description":"The ID of the resource this notification is for, if applicable. Useful for displaying relevant information in the UI","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"resource_type","type":"`null` \\| `string`","description":"The type of the resource this notification is for, if applicable, eg. \"order\"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"receiver_id","type":"`null` \\| `string`","description":"The ID of the customer this notification is for, if applicable.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"original_notification_id","type":"`null` \\| `string`","description":"The original notification, in case this is a retried notification.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"external_id","type":"`null` \\| `string`","description":"The id of the notification in the external system, if applicable","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]}]} expandUrl="https://docs.medusajs.com/learn/fundamentals/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="createNotifications"/>
+
+___
+
+## retrieveNotification
+
+This method is used to retrieve a notification by its ID
+
+### Example
+
+A simple example that retrieves a notification by its ID:
+
+```ts
+const notification =
+ await notificationModuleService.retrieveNotification("noti_123")
+```
+
+To specify relations that should be retrieved:
+
+```ts
+const notification = await notificationModuleService.retrieveNotification(
+ "noti_123",
+ {
+ relations: ["provider"],
+ }
+)
+```
+
+### Parameters
+
+`","description":"Enable ORM specific defined filters","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"Enable ORM specific defined options","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"sharedContext","type":"[Context](../../../types/interfaces/types.Context/page.mdx)","description":"A context used to share resources, such as transaction manager, between the application and the module.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"transactionManager","type":"TManager","description":"An instance of a transaction manager of type `TManager`, which is a typed parameter passed to the context to specify the type of the `transactionManager`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manager","type":"TManager","description":"An instance of a manager, typically an entity manager, of type `TManager`, which is a typed parameter passed to the context to specify the type of the `manager`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"isolationLevel","type":"`string`","description":"A string indicating the isolation level of the context. Possible values are `READ UNCOMMITTED`, `READ COMMITTED`, `REPEATABLE READ`, or `SERIALIZABLE`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"enableNestedTransactions","type":"`boolean`","description":"A boolean value indicating whether nested transactions are enabled.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"eventGroupId","type":"`string`","description":"A string indicating the ID of the group to aggregate the events to be emitted at a later point.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"transactionId","type":"`string`","description":"A string indicating the ID of the current transaction.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"messageAggregator","type":"[IMessageAggregator](../../../types/interfaces/types.IMessageAggregator/page.mdx)","description":"An instance of a message aggregator, which is used to aggregate messages to be emitted at a later point.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"requestId","type":"`string`","description":"A string indicating the ID of the current request.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"idempotencyKey","type":"`string`","description":"A string indicating the idempotencyKey of the current workflow execution.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"parentStepIdempotencyKey","type":"`string`","description":"A string indicating the idempotencyKey of the parent workflow execution.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]} expandUrl="https://docs.medusajs.com/learn/fundamentals/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="retrieveNotification"/>
+
+### Returns
+
+`","description":"The data that gets passed over to the provider for rendering the notification.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"provider_id","type":"`string`","description":"The ID of the notification provider.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"provider","type":"[NotificationProviderDTO](../../../types/NotificationTypes/interfaces/types.NotificationTypes.NotificationProviderDTO/page.mdx)","description":"Information about the notification provider","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the notification provider.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string`","description":"The handle of the notification provider.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"name","type":"`string`","description":"A user-friendly name of the notification provider.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"channels","type":"`string`[]","description":"The supported channels by the notification provider.","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"created_at","type":"`Date`","description":"The date and time the notification was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"`\"pending\"` \\| `\"success\"` \\| `\"failure\"`","description":"The status of the notification","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"from","type":"`null` \\| `string`","description":"The sender of the notification. It can be email, phone number, or username, depending on the channel.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"attachments","type":"`null` \\| [Attachment](../../../types/NotificationTypes/interfaces/types.NotificationTypes.Attachment/page.mdx)[]","description":"Optional attachments for the notification.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"content","type":"`string`","description":"The content of the attachment, encoded as a base64 string.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"filename","type":"`string`","description":"The filename of the attachment.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"content_type","type":"`string`","description":"The MIME type of the attachment.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"disposition","type":"`string`","description":"The disposition of the attachment, For example, \"inline\" or \"attachment\".","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string`","description":"The ID, if the attachment is meant to be referenced within the body of the message.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"trigger_type","type":"`null` \\| `string`","description":"The event name, the workflow, or anything else that can help to identify what triggered the notification.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"resource_id","type":"`null` \\| `string`","description":"The ID of the resource this notification is for, if applicable. Useful for displaying relevant information in the UI","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"resource_type","type":"`null` \\| `string`","description":"The type of the resource this notification is for, if applicable, eg. \"order\"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"receiver_id","type":"`null` \\| `string`","description":"The ID of the customer this notification is for, if applicable.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"original_notification_id","type":"`null` \\| `string`","description":"The original notification, in case this is a retried notification.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"external_id","type":"`null` \\| `string`","description":"The id of the notification in the external system, if applicable","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]}]} expandUrl="https://docs.medusajs.com/learn/fundamentals/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="retrieveNotification"/>
+
+___
+
+## listNotifications
+
+This method is used to retrieve a paginated list of notifications based on optional filters and configuration.
+
+### Example
+
+To retrieve a list of notifications using their IDs:
+
+```ts
+const notifications = await notificationModuleService.listNotifications({
+ id: ["noti_123", "noti_321"],
+})
+```
+
+To specify relations that should be retrieved within the notifications:
+
+```ts
+const notifications = await notificationModuleService.listNotifications(
+ {
+ id: ["noti_123", "noti_321"],
+ },
+ {
+ relations: ["provider"],
+ }
+)
+```
+
+By default, only the first `15` records are retrieved. You can control pagination by specifying the `skip` and `take` properties of the `config` parameter:
+
+```ts
+const notifications = await notificationModuleService.listNotifications(
+ {
+ id: ["noti_123", "noti_321"],
+ },
+ {
+ relations: ["provider"],
+ take: 20,
+ skip: 2,
+ }
+)
+```
+
+### Parameters
+
+`","description":"Enable ORM specific defined filters","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"Enable ORM specific defined options","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"sharedContext","type":"[Context](../../../types/interfaces/types.Context/page.mdx)","description":"A context used to share resources, such as transaction manager, between the application and the module.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"transactionManager","type":"TManager","description":"An instance of a transaction manager of type `TManager`, which is a typed parameter passed to the context to specify the type of the `transactionManager`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manager","type":"TManager","description":"An instance of a manager, typically an entity manager, of type `TManager`, which is a typed parameter passed to the context to specify the type of the `manager`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"isolationLevel","type":"`string`","description":"A string indicating the isolation level of the context. Possible values are `READ UNCOMMITTED`, `READ COMMITTED`, `REPEATABLE READ`, or `SERIALIZABLE`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"enableNestedTransactions","type":"`boolean`","description":"A boolean value indicating whether nested transactions are enabled.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"eventGroupId","type":"`string`","description":"A string indicating the ID of the group to aggregate the events to be emitted at a later point.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"transactionId","type":"`string`","description":"A string indicating the ID of the current transaction.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"messageAggregator","type":"[IMessageAggregator](../../../types/interfaces/types.IMessageAggregator/page.mdx)","description":"An instance of a message aggregator, which is used to aggregate messages to be emitted at a later point.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"requestId","type":"`string`","description":"A string indicating the ID of the current request.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"idempotencyKey","type":"`string`","description":"A string indicating the idempotencyKey of the current workflow execution.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"parentStepIdempotencyKey","type":"`string`","description":"A string indicating the idempotencyKey of the parent workflow execution.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]} expandUrl="https://docs.medusajs.com/learn/fundamentals/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="listNotifications"/>
+
+### Returns
+
+
+
+___
+
+## listAndCountNotifications
+
+This method is used to retrieve a paginated list of notifications along with the total count of available notifications satisfying the provided filters.
+
+### Example
+
+To retrieve a list of notifications using their IDs:
+
+```ts
+const [notifications, count] =
+ await notificationModuleService.listAndCountNotifications({
+ id: ["noti_123", "noti_321"],
+ })
+```
+
+To specify relations that should be retrieved within the notifications:
+
+```ts
+const [notifications, count] =
+ await notificationModuleService.listAndCountNotifications(
+ {
+ id: ["noti_123", "noti_321"],
+ },
+ {
+ relations: ["provider"],
+ }
+ )
+```
+
+By default, only the first `15` records are retrieved. You can control pagination by specifying the `skip` and `take` properties of the `config` parameter:
+
+```ts
+const [notifications, count] =
+ await notificationModuleService.listAndCountNotifications(
+ {
+ id: ["noti_123", "noti_321"],
+ },
+ {
+ relations: ["provider"],
+ take: 20,
+ skip: 2,
+ }
+ )
+```
+
+### Parameters
+
+`","description":"Enable ORM specific defined filters","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"Enable ORM specific defined options","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"sharedContext","type":"[Context](../../../types/interfaces/types.Context/page.mdx)","description":"A context used to share resources, such as transaction manager, between the application and the module.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"transactionManager","type":"TManager","description":"An instance of a transaction manager of type `TManager`, which is a typed parameter passed to the context to specify the type of the `transactionManager`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manager","type":"TManager","description":"An instance of a manager, typically an entity manager, of type `TManager`, which is a typed parameter passed to the context to specify the type of the `manager`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"isolationLevel","type":"`string`","description":"A string indicating the isolation level of the context. Possible values are `READ UNCOMMITTED`, `READ COMMITTED`, `REPEATABLE READ`, or `SERIALIZABLE`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"enableNestedTransactions","type":"`boolean`","description":"A boolean value indicating whether nested transactions are enabled.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"eventGroupId","type":"`string`","description":"A string indicating the ID of the group to aggregate the events to be emitted at a later point.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"transactionId","type":"`string`","description":"A string indicating the ID of the current transaction.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"messageAggregator","type":"[IMessageAggregator](../../../types/interfaces/types.IMessageAggregator/page.mdx)","description":"An instance of a message aggregator, which is used to aggregate messages to be emitted at a later point.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"requestId","type":"`string`","description":"A string indicating the ID of the current request.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"idempotencyKey","type":"`string`","description":"A string indicating the idempotencyKey of the current workflow execution.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"parentStepIdempotencyKey","type":"`string`","description":"A string indicating the idempotencyKey of the parent workflow execution.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]} expandUrl="https://docs.medusajs.com/learn/fundamentals/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="listAndCountNotifications"/>
+
+### Returns
+
+
diff --git a/www/apps/resources/sidebars/architectural-modules.mjs b/www/apps/resources/sidebars/architectural-modules.mjs
index 0652145401..20599e4a45 100644
--- a/www/apps/resources/sidebars/architectural-modules.mjs
+++ b/www/apps/resources/sidebars/architectural-modules.mjs
@@ -43,6 +43,11 @@ export const architecturalModulesSidebar = [
path: "/architectural-modules/cache/create",
title: "Create Cache Module",
},
+ {
+ type: "link",
+ path: "/references/cache-service",
+ title: "Use Cache Module",
+ },
],
},
],
@@ -82,6 +87,11 @@ export const architecturalModulesSidebar = [
path: "/architectural-modules/event/create",
title: "Create Event Module",
},
+ {
+ type: "link",
+ path: "/references/event-service",
+ title: "Use Event Module",
+ },
],
},
],
@@ -121,6 +131,11 @@ export const architecturalModulesSidebar = [
path: "/references/file-provider-module",
title: "Create File Provider",
},
+ {
+ type: "link",
+ path: "/references/file-service",
+ title: "Use File Module",
+ },
],
},
],
@@ -214,6 +229,11 @@ export const architecturalModulesSidebar = [
path: "/architectural-modules/notification/send-notification",
title: "Send Notification",
},
+ {
+ type: "link",
+ path: "/references/notification-service",
+ title: "Use Notification Module",
+ },
],
},
],
@@ -244,6 +264,17 @@ export const architecturalModulesSidebar = [
},
],
},
+ {
+ type: "sub-category",
+ title: "Guides",
+ children: [
+ {
+ type: "link",
+ path: "/architectural-modules/workflow-engine/how-to-use",
+ title: "Use Workflow Engine Module",
+ },
+ ],
+ },
],
},
]
diff --git a/www/apps/resources/utils/get-sidebar-for-path.ts b/www/apps/resources/utils/get-sidebar-for-path.ts
index c022e76ed1..b3a8ad265c 100644
--- a/www/apps/resources/utils/get-sidebar-for-path.ts
+++ b/www/apps/resources/utils/get-sidebar-for-path.ts
@@ -71,6 +71,10 @@ const sidebarMappings: {
"/references/file-provider-module",
"/references/locking",
"/references/notification-provider-module",
+ "/references/notification-service",
+ "/references/event-service",
+ "/references/cache-service",
+ "/references/file-service",
],
},
{
diff --git a/www/packages/tags/src/tags/cache.ts b/www/packages/tags/src/tags/cache.ts
index ad2014e8ac..96586af408 100644
--- a/www/packages/tags/src/tags/cache.ts
+++ b/www/packages/tags/src/tags/cache.ts
@@ -2,5 +2,9 @@ export const cache = [
{
"title": "Create Cache Module",
"path": "https://docs.medusajs.com/resources/architectural-modules/cache/create"
+ },
+ {
+ "title": "Use Cache Module",
+ "path": "https://docs.medusajs.com/resources/references/cache-service"
}
]
\ No newline at end of file
diff --git a/www/packages/tags/src/tags/event.ts b/www/packages/tags/src/tags/event.ts
index a59397728b..38465bae25 100644
--- a/www/packages/tags/src/tags/event.ts
+++ b/www/packages/tags/src/tags/event.ts
@@ -2,5 +2,9 @@ export const event = [
{
"title": "Create Event Module",
"path": "https://docs.medusajs.com/resources/architectural-modules/event/create"
+ },
+ {
+ "title": "Use Event Module",
+ "path": "https://docs.medusajs.com/resources/references/event-service"
}
]
\ No newline at end of file
diff --git a/www/packages/tags/src/tags/file.ts b/www/packages/tags/src/tags/file.ts
index a219157855..cb9c8c6950 100644
--- a/www/packages/tags/src/tags/file.ts
+++ b/www/packages/tags/src/tags/file.ts
@@ -23,6 +23,10 @@ export const file = [
"title": "exportProductsWorkflow",
"path": "https://docs.medusajs.com/resources/references/medusa-workflows/exportProductsWorkflow"
},
+ {
+ "title": "Use File Module",
+ "path": "https://docs.medusajs.com/resources/references/file-service"
+ },
{
"title": "upload",
"path": "https://docs.medusajs.com/resources/references/js-sdk/admin/upload"
diff --git a/www/packages/tags/src/tags/how-to.ts b/www/packages/tags/src/tags/how-to.ts
index 94f17ecf3f..b442d997e1 100644
--- a/www/packages/tags/src/tags/how-to.ts
+++ b/www/packages/tags/src/tags/how-to.ts
@@ -11,6 +11,10 @@ export const howTo = [
"title": "Send Notification",
"path": "https://docs.medusajs.com/resources/architectural-modules/notification/send-notification"
},
+ {
+ "title": "Use Workflow Engine Module",
+ "path": "https://docs.medusajs.com/resources/architectural-modules/workflow-engine/how-to-use"
+ },
{
"title": "Create Actor Type",
"path": "https://docs.medusajs.com/resources/commerce-modules/auth/create-actor-type"
@@ -31,6 +35,18 @@ export const howTo = [
"title": "Create Auth Provider",
"path": "https://docs.medusajs.com/resources/references/auth/provider"
},
+ {
+ "title": "Use Cache Module",
+ "path": "https://docs.medusajs.com/resources/references/cache-service"
+ },
+ {
+ "title": "Use Event Module",
+ "path": "https://docs.medusajs.com/resources/references/event-service"
+ },
+ {
+ "title": "Use File Module",
+ "path": "https://docs.medusajs.com/resources/references/file-service"
+ },
{
"title": "Create Fulfillment Provider",
"path": "https://docs.medusajs.com/resources/references/fulfillment/provider"
@@ -47,6 +63,10 @@ export const howTo = [
"title": "Create Notification Provider",
"path": "https://docs.medusajs.com/resources/references/notification-provider-module"
},
+ {
+ "title": "Use Notification Module",
+ "path": "https://docs.medusajs.com/resources/references/notification-service"
+ },
{
"title": "Create Payment Provider",
"path": "https://docs.medusajs.com/resources/references/payment/provider"
diff --git a/www/packages/tags/src/tags/index.ts b/www/packages/tags/src/tags/index.ts
index 7d594eba17..41d60a0e29 100644
--- a/www/packages/tags/src/tags/index.ts
+++ b/www/packages/tags/src/tags/index.ts
@@ -1,45 +1,46 @@
-export * from "./user-guide.js"
+export * from "./admin.js"
+export * from "./api-key.js"
+export * from "./auth.js"
+export * from "./cache.js"
+export * from "./cart.js"
+export * from "./checkout.js"
+export * from "./concept.js"
+export * from "./currency.js"
+export * from "./customer.js"
+export * from "./event-bus.js"
+export * from "./event.js"
+export * from "./example.js"
+export * from "./extend-module.js"
+export * from "./file.js"
+export * from "./fulfillment.js"
+export * from "./how-to.js"
+export * from "./inventory.js"
+export * from "./js-sdk.js"
+export * from "./link.js"
+export * from "./locking.js"
+export * from "./logger.js"
+export * from "./notification.js"
export * from "./order.js"
export * from "./payment.js"
-export * from "./cache.js"
-export * from "./how-to.js"
-export * from "./server.js"
-export * from "./product.js"
export * from "./pricing.js"
-export * from "./event.js"
-export * from "./promotion.js"
-export * from "./notification.js"
-export * from "./auth.js"
-export * from "./api-key.js"
-export * from "./workflow.js"
-export * from "./stock-location.js"
-export * from "./inventory.js"
-export * from "./sales-channel.js"
-export * from "./user.js"
-export * from "./region.js"
-export * from "./store.js"
-export * from "./cart.js"
-export * from "./currency.js"
-export * from "./extend-module.js"
-export * from "./tutorial.js"
-export * from "./fulfillment.js"
-export * from "./tax.js"
-export * from "./concept.js"
-export * from "./stripe.js"
-export * from "./storefront.js"
export * from "./product-category.js"
-export * from "./query.js"
-export * from "./checkout.js"
-export * from "./publishable-api-key.js"
export * from "./product-collection.js"
-export * from "./step.js"
-export * from "./example.js"
-export * from "./customer.js"
-export * from "./locking.js"
+export * from "./product.js"
+export * from "./promotion.js"
+export * from "./publishable-api-key.js"
+export * from "./query.js"
+export * from "./region.js"
export * from "./remote-query.js"
-export * from "./link.js"
-export * from "./event-bus.js"
-export * from "./logger.js"
-export * from "./file.js"
-export * from "./js-sdk.js"
-export * from "./admin.js"
+export * from "./sales-channel.js"
+export * from "./server.js"
+export * from "./step.js"
+export * from "./stock-location.js"
+export * from "./store.js"
+export * from "./storefront.js"
+export * from "./stripe.js"
+export * from "./tax.js"
+export * from "./tutorial.js"
+export * from "./user-guide.js"
+export * from "./user.js"
+export * from "./workflow-engine.js"
+export * from "./workflow.js"
diff --git a/www/packages/tags/src/tags/notification.ts b/www/packages/tags/src/tags/notification.ts
index 77f5901c34..62bc322a04 100644
--- a/www/packages/tags/src/tags/notification.ts
+++ b/www/packages/tags/src/tags/notification.ts
@@ -30,5 +30,9 @@ export const notification = [
{
"title": "Create Notification Provider",
"path": "https://docs.medusajs.com/resources/references/notification-provider-module"
+ },
+ {
+ "title": "Use Notification Module",
+ "path": "https://docs.medusajs.com/resources/references/notification-service"
}
]
\ No newline at end of file
diff --git a/www/packages/tags/src/tags/server.ts b/www/packages/tags/src/tags/server.ts
index dce6391c5e..74dbf8d30a 100644
--- a/www/packages/tags/src/tags/server.ts
+++ b/www/packages/tags/src/tags/server.ts
@@ -11,6 +11,10 @@ export const server = [
"title": "Send Notification",
"path": "https://docs.medusajs.com/resources/architectural-modules/notification/send-notification"
},
+ {
+ "title": "Use Workflow Engine Module",
+ "path": "https://docs.medusajs.com/resources/architectural-modules/workflow-engine/how-to-use"
+ },
{
"title": "Create Actor Type",
"path": "https://docs.medusajs.com/resources/commerce-modules/auth/create-actor-type"
@@ -59,6 +63,18 @@ export const server = [
"title": "Create Auth Provider",
"path": "https://docs.medusajs.com/resources/references/auth/provider"
},
+ {
+ "title": "Use Cache Module",
+ "path": "https://docs.medusajs.com/resources/references/cache-service"
+ },
+ {
+ "title": "Use Event Module",
+ "path": "https://docs.medusajs.com/resources/references/event-service"
+ },
+ {
+ "title": "Use File Module",
+ "path": "https://docs.medusajs.com/resources/references/file-service"
+ },
{
"title": "Create Fulfillment Provider",
"path": "https://docs.medusajs.com/resources/references/fulfillment/provider"
@@ -75,6 +91,10 @@ export const server = [
"title": "Create Notification Provider",
"path": "https://docs.medusajs.com/resources/references/notification-provider-module"
},
+ {
+ "title": "Use Notification Module",
+ "path": "https://docs.medusajs.com/resources/references/notification-service"
+ },
{
"title": "Create Payment Provider",
"path": "https://docs.medusajs.com/resources/references/payment/provider"
diff --git a/www/packages/tags/src/tags/workflow-engine.ts b/www/packages/tags/src/tags/workflow-engine.ts
new file mode 100644
index 0000000000..17ae08d183
--- /dev/null
+++ b/www/packages/tags/src/tags/workflow-engine.ts
@@ -0,0 +1,6 @@
+export const workflowEngine = [
+ {
+ "title": "Use Workflow Engine Module",
+ "path": "https://docs.medusajs.com/resources/architectural-modules/workflow-engine/how-to-use"
+ }
+]
\ No newline at end of file
diff --git a/www/packages/tags/src/utils/generate-tags.ts b/www/packages/tags/src/utils/generate-tags.ts
index 38e1a8a17b..2970293db4 100644
--- a/www/packages/tags/src/utils/generate-tags.ts
+++ b/www/packages/tags/src/utils/generate-tags.ts
@@ -158,6 +158,6 @@ export async function generateTags(basePath?: string) {
)
// write index.ts
- const indexContent = files.map((file) => `export * from "./${file}"\n`)
+ const indexContent = files.sort().map((file) => `export * from "./${file}"\n`)
await writeFile(path.join(tagsDir, "index.ts"), indexContent)
}
diff --git a/www/utils/generated/typedoc-json-output/cache.json b/www/utils/generated/typedoc-json-output/cache.json
new file mode 100644
index 0000000000..cbbce650f3
--- /dev/null
+++ b/www/utils/generated/typedoc-json-output/cache.json
@@ -0,0 +1,442 @@
+{
+ "id": 0,
+ "name": "cache",
+ "variant": "project",
+ "kind": 1,
+ "flags": {},
+ "children": [
+ {
+ "id": 1,
+ "name": "ICacheService",
+ "variant": "declaration",
+ "kind": 256,
+ "flags": {},
+ "children": [
+ {
+ "id": 2,
+ "name": "get",
+ "variant": "declaration",
+ "kind": 2048,
+ "flags": {},
+ "sources": [
+ {
+ "fileName": "service.ts",
+ "line": 11,
+ "character": 2,
+ "url": "https://github.com/medusajs/medusa/blob/cb6249320e7322e8eabfec8434f1278f8d63e96c/packages/core/types/src/cache/service.ts#L11"
+ }
+ ],
+ "signatures": [
+ {
+ "id": 3,
+ "name": "get",
+ "variant": "signature",
+ "kind": 4096,
+ "flags": {},
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "This method retrieves data from the cache."
+ }
+ ],
+ "blockTags": [
+ {
+ "tag": "@returns",
+ "content": [
+ {
+ "kind": "text",
+ "text": "The item that was stored in the cache. If the item was not found, null is returned."
+ }
+ ]
+ },
+ {
+ "tag": "@example",
+ "content": [
+ {
+ "kind": "code",
+ "text": "```ts\nconst data = await cache.get(\"my-key\")\n```"
+ }
+ ]
+ }
+ ]
+ },
+ "sources": [
+ {
+ "fileName": "service.ts",
+ "line": 11,
+ "character": 2,
+ "url": "https://github.com/medusajs/medusa/blob/cb6249320e7322e8eabfec8434f1278f8d63e96c/packages/core/types/src/cache/service.ts#L11"
+ }
+ ],
+ "typeParameters": [
+ {
+ "id": 4,
+ "name": "T",
+ "variant": "typeParam",
+ "kind": 131072,
+ "flags": {}
+ }
+ ],
+ "parameters": [
+ {
+ "id": 5,
+ "name": "key",
+ "variant": "param",
+ "kind": 32768,
+ "flags": {},
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "The key of the item to retrieve."
+ }
+ ]
+ },
+ "type": {
+ "type": "intrinsic",
+ "name": "string"
+ }
+ }
+ ],
+ "type": {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../node_modules/typescript/lib/lib.es5.d.ts",
+ "qualifiedName": "Promise"
+ },
+ "typeArguments": [
+ {
+ "type": "union",
+ "types": [
+ {
+ "type": "literal",
+ "value": null
+ },
+ {
+ "type": "reference",
+ "target": 4,
+ "name": "T",
+ "package": "@medusajs/types",
+ "refersToTypeParameter": true
+ }
+ ]
+ }
+ ],
+ "name": "Promise",
+ "package": "typescript"
+ }
+ }
+ ]
+ },
+ {
+ "id": 6,
+ "name": "set",
+ "variant": "declaration",
+ "kind": 2048,
+ "flags": {},
+ "sources": [
+ {
+ "fileName": "service.ts",
+ "line": 22,
+ "character": 2,
+ "url": "https://github.com/medusajs/medusa/blob/cb6249320e7322e8eabfec8434f1278f8d63e96c/packages/core/types/src/cache/service.ts#L22"
+ }
+ ],
+ "signatures": [
+ {
+ "id": 7,
+ "name": "set",
+ "variant": "signature",
+ "kind": 4096,
+ "flags": {},
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "This method stores data in the cache."
+ }
+ ],
+ "blockTags": [
+ {
+ "tag": "@example",
+ "content": [
+ {
+ "kind": "code",
+ "text": "```ts\nawait cache.set(\"my-key\", { product_id: \"prod_123\" }, 60)\n```"
+ }
+ ]
+ }
+ ]
+ },
+ "sources": [
+ {
+ "fileName": "service.ts",
+ "line": 22,
+ "character": 2,
+ "url": "https://github.com/medusajs/medusa/blob/cb6249320e7322e8eabfec8434f1278f8d63e96c/packages/core/types/src/cache/service.ts#L22"
+ }
+ ],
+ "parameters": [
+ {
+ "id": 8,
+ "name": "key",
+ "variant": "param",
+ "kind": 32768,
+ "flags": {},
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "The key of the item to store."
+ }
+ ]
+ },
+ "type": {
+ "type": "intrinsic",
+ "name": "string"
+ }
+ },
+ {
+ "id": 9,
+ "name": "data",
+ "variant": "param",
+ "kind": 32768,
+ "flags": {},
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "The data to store in the cache."
+ }
+ ]
+ },
+ "type": {
+ "type": "intrinsic",
+ "name": "unknown"
+ }
+ },
+ {
+ "id": 10,
+ "name": "ttl",
+ "variant": "param",
+ "kind": 32768,
+ "flags": {
+ "isOptional": true
+ },
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "The time-to-live (TTL) value in seconds. If not provided, the default TTL value is used. The default value is based on the used Cache Module."
+ }
+ ]
+ },
+ "type": {
+ "type": "intrinsic",
+ "name": "number"
+ }
+ }
+ ],
+ "type": {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../node_modules/typescript/lib/lib.es5.d.ts",
+ "qualifiedName": "Promise"
+ },
+ "typeArguments": [
+ {
+ "type": "intrinsic",
+ "name": "void"
+ }
+ ],
+ "name": "Promise",
+ "package": "typescript"
+ }
+ }
+ ]
+ },
+ {
+ "id": 11,
+ "name": "invalidate",
+ "variant": "declaration",
+ "kind": 2048,
+ "flags": {},
+ "sources": [
+ {
+ "fileName": "service.ts",
+ "line": 31,
+ "character": 2,
+ "url": "https://github.com/medusajs/medusa/blob/cb6249320e7322e8eabfec8434f1278f8d63e96c/packages/core/types/src/cache/service.ts#L31"
+ }
+ ],
+ "signatures": [
+ {
+ "id": 12,
+ "name": "invalidate",
+ "variant": "signature",
+ "kind": 4096,
+ "flags": {},
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "This method removes an item from the cache."
+ }
+ ],
+ "blockTags": [
+ {
+ "tag": "@example",
+ "content": [
+ {
+ "kind": "code",
+ "text": "```ts\nawait cache.invalidate(\"my-key\")\n```"
+ }
+ ]
+ }
+ ]
+ },
+ "sources": [
+ {
+ "fileName": "service.ts",
+ "line": 31,
+ "character": 2,
+ "url": "https://github.com/medusajs/medusa/blob/cb6249320e7322e8eabfec8434f1278f8d63e96c/packages/core/types/src/cache/service.ts#L31"
+ }
+ ],
+ "parameters": [
+ {
+ "id": 13,
+ "name": "key",
+ "variant": "param",
+ "kind": 32768,
+ "flags": {},
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "The key of the item to remove."
+ }
+ ]
+ },
+ "type": {
+ "type": "intrinsic",
+ "name": "string"
+ }
+ }
+ ],
+ "type": {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../node_modules/typescript/lib/lib.es5.d.ts",
+ "qualifiedName": "Promise"
+ },
+ "typeArguments": [
+ {
+ "type": "intrinsic",
+ "name": "void"
+ }
+ ],
+ "name": "Promise",
+ "package": "typescript"
+ }
+ }
+ ]
+ }
+ ],
+ "groups": [
+ {
+ "title": "Methods",
+ "children": [
+ 2,
+ 6,
+ 11
+ ]
+ }
+ ],
+ "sources": [
+ {
+ "fileName": "service.ts",
+ "line": 1,
+ "character": 17,
+ "url": "https://github.com/medusajs/medusa/blob/cb6249320e7322e8eabfec8434f1278f8d63e96c/packages/core/types/src/cache/service.ts#L1"
+ }
+ ]
+ }
+ ],
+ "groups": [
+ {
+ "title": "Interfaces",
+ "children": [
+ 1
+ ]
+ }
+ ],
+ "packageName": "@medusajs/types",
+ "symbolIdMap": {
+ "0": {
+ "sourceFileName": "../../../../packages/core/types/src/cache/service.ts",
+ "qualifiedName": ""
+ },
+ "1": {
+ "sourceFileName": "../../../../packages/core/types/src/cache/service.ts",
+ "qualifiedName": "ICacheService"
+ },
+ "2": {
+ "sourceFileName": "../../../../packages/core/types/src/cache/service.ts",
+ "qualifiedName": "ICacheService.get"
+ },
+ "3": {
+ "sourceFileName": "../../../../packages/core/types/src/cache/service.ts",
+ "qualifiedName": "ICacheService.get"
+ },
+ "4": {
+ "sourceFileName": "../../../../packages/core/types/src/cache/service.ts",
+ "qualifiedName": "T"
+ },
+ "5": {
+ "sourceFileName": "../../../../packages/core/types/src/cache/service.ts",
+ "qualifiedName": "key"
+ },
+ "6": {
+ "sourceFileName": "../../../../packages/core/types/src/cache/service.ts",
+ "qualifiedName": "ICacheService.set"
+ },
+ "7": {
+ "sourceFileName": "../../../../packages/core/types/src/cache/service.ts",
+ "qualifiedName": "ICacheService.set"
+ },
+ "8": {
+ "sourceFileName": "../../../../packages/core/types/src/cache/service.ts",
+ "qualifiedName": "key"
+ },
+ "9": {
+ "sourceFileName": "../../../../packages/core/types/src/cache/service.ts",
+ "qualifiedName": "data"
+ },
+ "10": {
+ "sourceFileName": "../../../../packages/core/types/src/cache/service.ts",
+ "qualifiedName": "ttl"
+ },
+ "11": {
+ "sourceFileName": "../../../../packages/core/types/src/cache/service.ts",
+ "qualifiedName": "ICacheService.invalidate"
+ },
+ "12": {
+ "sourceFileName": "../../../../packages/core/types/src/cache/service.ts",
+ "qualifiedName": "ICacheService.invalidate"
+ },
+ "13": {
+ "sourceFileName": "../../../../packages/core/types/src/cache/service.ts",
+ "qualifiedName": "key"
+ }
+ },
+ "files": {
+ "entries": {
+ "1": "../../../../packages/core/types/src/cache/service.ts"
+ },
+ "reflections": {
+ "1": 0
+ }
+ }
+}
diff --git a/www/utils/generated/typedoc-json-output/event.json b/www/utils/generated/typedoc-json-output/event.json
new file mode 100644
index 0000000000..9b270464aa
--- /dev/null
+++ b/www/utils/generated/typedoc-json-output/event.json
@@ -0,0 +1,783 @@
+{
+ "id": 58,
+ "name": "event",
+ "variant": "project",
+ "kind": 1,
+ "flags": {},
+ "children": [
+ {
+ "id": 59,
+ "name": "IEventBusModuleService",
+ "variant": "declaration",
+ "kind": 256,
+ "flags": {},
+ "children": [
+ {
+ "id": 60,
+ "name": "emit",
+ "variant": "declaration",
+ "kind": 2048,
+ "flags": {},
+ "sources": [
+ {
+ "fileName": "event-bus-module.ts",
+ "line": 18,
+ "character": 2,
+ "url": "https://github.com/medusajs/medusa/blob/cb6249320e7322e8eabfec8434f1278f8d63e96c/packages/core/types/src/event-bus/event-bus-module.ts#L18"
+ }
+ ],
+ "signatures": [
+ {
+ "id": 61,
+ "name": "emit",
+ "variant": "signature",
+ "kind": 4096,
+ "flags": {},
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "This method emits one or more events. Subscribers listening to the event(s) are executed asynchronously."
+ }
+ ],
+ "blockTags": [
+ {
+ "tag": "@example",
+ "content": [
+ {
+ "kind": "code",
+ "text": "```ts\nawait eventBus.emit({ \n name: \"user.created\", \n data: { \n user_id: \"user_123\"\n }\n})\n```"
+ }
+ ]
+ }
+ ]
+ },
+ "sources": [
+ {
+ "fileName": "event-bus-module.ts",
+ "line": 18,
+ "character": 2,
+ "url": "https://github.com/medusajs/medusa/blob/cb6249320e7322e8eabfec8434f1278f8d63e96c/packages/core/types/src/event-bus/event-bus-module.ts#L18"
+ }
+ ],
+ "typeParameters": [
+ {
+ "id": 62,
+ "name": "T",
+ "variant": "typeParam",
+ "kind": 131072,
+ "flags": {}
+ }
+ ],
+ "parameters": [
+ {
+ "id": 63,
+ "name": "data",
+ "variant": "param",
+ "kind": 32768,
+ "flags": {},
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "The details of the events to emit."
+ }
+ ]
+ },
+ "type": {
+ "type": "union",
+ "types": [
+ {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../../../packages/core/types/src/event-bus/common.ts",
+ "qualifiedName": "Message"
+ },
+ "typeArguments": [
+ {
+ "type": "reference",
+ "target": 62,
+ "name": "T",
+ "package": "@medusajs/types",
+ "refersToTypeParameter": true
+ }
+ ],
+ "name": "Message",
+ "package": "@medusajs/types"
+ },
+ {
+ "type": "array",
+ "elementType": {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../../../packages/core/types/src/event-bus/common.ts",
+ "qualifiedName": "Message"
+ },
+ "typeArguments": [
+ {
+ "type": "reference",
+ "target": 62,
+ "name": "T",
+ "package": "@medusajs/types",
+ "refersToTypeParameter": true
+ }
+ ],
+ "name": "Message",
+ "package": "@medusajs/types"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "id": 64,
+ "name": "options",
+ "variant": "param",
+ "kind": 32768,
+ "flags": {
+ "isOptional": true
+ },
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "Additional options for the event."
+ }
+ ]
+ },
+ "type": {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../node_modules/typescript/lib/lib.es5.d.ts",
+ "qualifiedName": "Record"
+ },
+ "typeArguments": [
+ {
+ "type": "intrinsic",
+ "name": "string"
+ },
+ {
+ "type": "intrinsic",
+ "name": "unknown"
+ }
+ ],
+ "name": "Record",
+ "package": "typescript"
+ }
+ }
+ ],
+ "type": {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../node_modules/typescript/lib/lib.es5.d.ts",
+ "qualifiedName": "Promise"
+ },
+ "typeArguments": [
+ {
+ "type": "intrinsic",
+ "name": "void"
+ }
+ ],
+ "name": "Promise",
+ "package": "typescript"
+ }
+ }
+ ]
+ },
+ {
+ "id": 65,
+ "name": "subscribe",
+ "variant": "declaration",
+ "kind": 2048,
+ "flags": {},
+ "sources": [
+ {
+ "fileName": "event-bus-module.ts",
+ "line": 36,
+ "character": 2,
+ "url": "https://github.com/medusajs/medusa/blob/cb6249320e7322e8eabfec8434f1278f8d63e96c/packages/core/types/src/event-bus/event-bus-module.ts#L36"
+ }
+ ],
+ "signatures": [
+ {
+ "id": 66,
+ "name": "subscribe",
+ "variant": "signature",
+ "kind": 4096,
+ "flags": {},
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "This method adds a subscriber to an event. It's mainly used internally to register subscribers."
+ }
+ ],
+ "blockTags": [
+ {
+ "tag": "@returns",
+ "content": [
+ {
+ "kind": "text",
+ "text": "The instance of the Event Module"
+ }
+ ]
+ },
+ {
+ "tag": "@example",
+ "content": [
+ {
+ "kind": "code",
+ "text": "```ts\neventBus.subscribe(\"user.created\", async (data) => {\n console.log(\"User created\", data)\n})\n```"
+ }
+ ]
+ }
+ ]
+ },
+ "sources": [
+ {
+ "fileName": "event-bus-module.ts",
+ "line": 36,
+ "character": 2,
+ "url": "https://github.com/medusajs/medusa/blob/cb6249320e7322e8eabfec8434f1278f8d63e96c/packages/core/types/src/event-bus/event-bus-module.ts#L36"
+ }
+ ],
+ "parameters": [
+ {
+ "id": 67,
+ "name": "eventName",
+ "variant": "param",
+ "kind": 32768,
+ "flags": {},
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "The name of the event to subscribe to."
+ }
+ ]
+ },
+ "type": {
+ "type": "union",
+ "types": [
+ {
+ "type": "intrinsic",
+ "name": "string"
+ },
+ {
+ "type": "intrinsic",
+ "name": "symbol"
+ }
+ ]
+ }
+ },
+ {
+ "id": 68,
+ "name": "subscriber",
+ "variant": "param",
+ "kind": 32768,
+ "flags": {},
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "The subscriber function to execute when the event is emitted."
+ }
+ ]
+ },
+ "type": {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../../../packages/core/types/src/event-bus/common.ts",
+ "qualifiedName": "Subscriber"
+ },
+ "name": "Subscriber",
+ "package": "@medusajs/types"
+ }
+ },
+ {
+ "id": 69,
+ "name": "context",
+ "variant": "param",
+ "kind": 32768,
+ "flags": {
+ "isOptional": true
+ },
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "The context of the subscriber."
+ }
+ ]
+ },
+ "type": {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../../../packages/core/types/src/event-bus/common.ts",
+ "qualifiedName": "SubscriberContext"
+ },
+ "name": "SubscriberContext",
+ "package": "@medusajs/types"
+ }
+ }
+ ],
+ "type": {
+ "type": "intrinsic",
+ "name": "this"
+ }
+ }
+ ]
+ },
+ {
+ "id": 70,
+ "name": "unsubscribe",
+ "variant": "declaration",
+ "kind": 2048,
+ "flags": {},
+ "sources": [
+ {
+ "fileName": "event-bus-module.ts",
+ "line": 55,
+ "character": 2,
+ "url": "https://github.com/medusajs/medusa/blob/cb6249320e7322e8eabfec8434f1278f8d63e96c/packages/core/types/src/event-bus/event-bus-module.ts#L55"
+ }
+ ],
+ "signatures": [
+ {
+ "id": 71,
+ "name": "unsubscribe",
+ "variant": "signature",
+ "kind": 4096,
+ "flags": {},
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "This method removes a subscriber from an event. It's mainly used internally to unregister subscribers."
+ }
+ ],
+ "blockTags": [
+ {
+ "tag": "@returns",
+ "content": [
+ {
+ "kind": "text",
+ "text": "The instance of the Event Module"
+ }
+ ]
+ },
+ {
+ "tag": "@example",
+ "content": [
+ {
+ "kind": "code",
+ "text": "```ts\neventBus.unsubscribe(\"user.created\", async (data) => {\n console.log(\"User created\", data)\n})\n```"
+ }
+ ]
+ }
+ ]
+ },
+ "sources": [
+ {
+ "fileName": "event-bus-module.ts",
+ "line": 55,
+ "character": 2,
+ "url": "https://github.com/medusajs/medusa/blob/cb6249320e7322e8eabfec8434f1278f8d63e96c/packages/core/types/src/event-bus/event-bus-module.ts#L55"
+ }
+ ],
+ "parameters": [
+ {
+ "id": 72,
+ "name": "eventName",
+ "variant": "param",
+ "kind": 32768,
+ "flags": {},
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "The name of the event to unsubscribe from."
+ }
+ ]
+ },
+ "type": {
+ "type": "union",
+ "types": [
+ {
+ "type": "intrinsic",
+ "name": "string"
+ },
+ {
+ "type": "intrinsic",
+ "name": "symbol"
+ }
+ ]
+ }
+ },
+ {
+ "id": 73,
+ "name": "subscriber",
+ "variant": "param",
+ "kind": 32768,
+ "flags": {},
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "The subscriber function to remove."
+ }
+ ]
+ },
+ "type": {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../../../packages/core/types/src/event-bus/common.ts",
+ "qualifiedName": "Subscriber"
+ },
+ "name": "Subscriber",
+ "package": "@medusajs/types"
+ }
+ },
+ {
+ "id": 74,
+ "name": "context",
+ "variant": "param",
+ "kind": 32768,
+ "flags": {
+ "isOptional": true
+ },
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "The context of the subscriber."
+ }
+ ]
+ },
+ "type": {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../../../packages/core/types/src/event-bus/common.ts",
+ "qualifiedName": "SubscriberContext"
+ },
+ "name": "SubscriberContext",
+ "package": "@medusajs/types"
+ }
+ }
+ ],
+ "type": {
+ "type": "intrinsic",
+ "name": "this"
+ }
+ }
+ ]
+ },
+ {
+ "id": 75,
+ "name": "releaseGroupedEvents",
+ "variant": "declaration",
+ "kind": 2048,
+ "flags": {},
+ "sources": [
+ {
+ "fileName": "event-bus-module.ts",
+ "line": 70,
+ "character": 2,
+ "url": "https://github.com/medusajs/medusa/blob/cb6249320e7322e8eabfec8434f1278f8d63e96c/packages/core/types/src/event-bus/event-bus-module.ts#L70"
+ }
+ ],
+ "signatures": [
+ {
+ "id": 76,
+ "name": "releaseGroupedEvents",
+ "variant": "signature",
+ "kind": 4096,
+ "flags": {},
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "This method emits all events in the specified group. Grouped events are useful when you have distributed transactions\nwhere you need to explicitly group, release and clear events upon lifecycle events of a transaction."
+ }
+ ],
+ "blockTags": [
+ {
+ "tag": "@example",
+ "content": [
+ {
+ "kind": "code",
+ "text": "```ts\nawait eventBus.releaseGroupedEvents(\"group_123\")\n```"
+ }
+ ]
+ }
+ ]
+ },
+ "sources": [
+ {
+ "fileName": "event-bus-module.ts",
+ "line": 70,
+ "character": 2,
+ "url": "https://github.com/medusajs/medusa/blob/cb6249320e7322e8eabfec8434f1278f8d63e96c/packages/core/types/src/event-bus/event-bus-module.ts#L70"
+ }
+ ],
+ "parameters": [
+ {
+ "id": 77,
+ "name": "eventGroupId",
+ "variant": "param",
+ "kind": 32768,
+ "flags": {},
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "The ID of the event group."
+ }
+ ]
+ },
+ "type": {
+ "type": "intrinsic",
+ "name": "string"
+ }
+ }
+ ],
+ "type": {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../node_modules/typescript/lib/lib.es5.d.ts",
+ "qualifiedName": "Promise"
+ },
+ "typeArguments": [
+ {
+ "type": "intrinsic",
+ "name": "void"
+ }
+ ],
+ "name": "Promise",
+ "package": "typescript"
+ }
+ }
+ ]
+ },
+ {
+ "id": 78,
+ "name": "clearGroupedEvents",
+ "variant": "declaration",
+ "kind": 2048,
+ "flags": {},
+ "sources": [
+ {
+ "fileName": "event-bus-module.ts",
+ "line": 80,
+ "character": 2,
+ "url": "https://github.com/medusajs/medusa/blob/cb6249320e7322e8eabfec8434f1278f8d63e96c/packages/core/types/src/event-bus/event-bus-module.ts#L80"
+ }
+ ],
+ "signatures": [
+ {
+ "id": 79,
+ "name": "clearGroupedEvents",
+ "variant": "signature",
+ "kind": 4096,
+ "flags": {},
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "This method removes all events in the specified group. Grouped events are useful when you have distributed transactions\nwhere you need to explicitly group, release and clear events upon lifecycle events of a transaction."
+ }
+ ],
+ "blockTags": [
+ {
+ "tag": "@example",
+ "content": [
+ {
+ "kind": "code",
+ "text": "```ts\nawait eventBus.clearGroupedEvents(\"group_123\")\n```"
+ }
+ ]
+ }
+ ]
+ },
+ "sources": [
+ {
+ "fileName": "event-bus-module.ts",
+ "line": 80,
+ "character": 2,
+ "url": "https://github.com/medusajs/medusa/blob/cb6249320e7322e8eabfec8434f1278f8d63e96c/packages/core/types/src/event-bus/event-bus-module.ts#L80"
+ }
+ ],
+ "parameters": [
+ {
+ "id": 80,
+ "name": "eventGroupId",
+ "variant": "param",
+ "kind": 32768,
+ "flags": {},
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "The ID of the event group."
+ }
+ ]
+ },
+ "type": {
+ "type": "intrinsic",
+ "name": "string"
+ }
+ }
+ ],
+ "type": {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../node_modules/typescript/lib/lib.es5.d.ts",
+ "qualifiedName": "Promise"
+ },
+ "typeArguments": [
+ {
+ "type": "intrinsic",
+ "name": "void"
+ }
+ ],
+ "name": "Promise",
+ "package": "typescript"
+ }
+ }
+ ]
+ }
+ ],
+ "groups": [
+ {
+ "title": "Methods",
+ "children": [
+ 60,
+ 65,
+ 70,
+ 75,
+ 78
+ ]
+ }
+ ],
+ "sources": [
+ {
+ "fileName": "event-bus-module.ts",
+ "line": 3,
+ "character": 17,
+ "url": "https://github.com/medusajs/medusa/blob/cb6249320e7322e8eabfec8434f1278f8d63e96c/packages/core/types/src/event-bus/event-bus-module.ts#L3"
+ }
+ ]
+ }
+ ],
+ "groups": [
+ {
+ "title": "Interfaces",
+ "children": [
+ 59
+ ]
+ }
+ ],
+ "packageName": "@medusajs/types",
+ "symbolIdMap": {
+ "58": {
+ "sourceFileName": "../../../../packages/core/types/src/event-bus/event-bus-module.ts",
+ "qualifiedName": ""
+ },
+ "59": {
+ "sourceFileName": "../../../../packages/core/types/src/event-bus/event-bus-module.ts",
+ "qualifiedName": "IEventBusModuleService"
+ },
+ "60": {
+ "sourceFileName": "../../../../packages/core/types/src/event-bus/event-bus-module.ts",
+ "qualifiedName": "IEventBusModuleService.emit"
+ },
+ "61": {
+ "sourceFileName": "../../../../packages/core/types/src/event-bus/event-bus-module.ts",
+ "qualifiedName": "IEventBusModuleService.emit"
+ },
+ "62": {
+ "sourceFileName": "../../../../packages/core/types/src/event-bus/event-bus-module.ts",
+ "qualifiedName": "T"
+ },
+ "63": {
+ "sourceFileName": "../../../../packages/core/types/src/event-bus/event-bus-module.ts",
+ "qualifiedName": "data"
+ },
+ "64": {
+ "sourceFileName": "../../../../packages/core/types/src/event-bus/event-bus-module.ts",
+ "qualifiedName": "options"
+ },
+ "65": {
+ "sourceFileName": "../../../../packages/core/types/src/event-bus/event-bus-module.ts",
+ "qualifiedName": "IEventBusModuleService.subscribe"
+ },
+ "66": {
+ "sourceFileName": "../../../../packages/core/types/src/event-bus/event-bus-module.ts",
+ "qualifiedName": "IEventBusModuleService.subscribe"
+ },
+ "67": {
+ "sourceFileName": "../../../../packages/core/types/src/event-bus/event-bus-module.ts",
+ "qualifiedName": "eventName"
+ },
+ "68": {
+ "sourceFileName": "../../../../packages/core/types/src/event-bus/event-bus-module.ts",
+ "qualifiedName": "subscriber"
+ },
+ "69": {
+ "sourceFileName": "../../../../packages/core/types/src/event-bus/event-bus-module.ts",
+ "qualifiedName": "context"
+ },
+ "70": {
+ "sourceFileName": "../../../../packages/core/types/src/event-bus/event-bus-module.ts",
+ "qualifiedName": "IEventBusModuleService.unsubscribe"
+ },
+ "71": {
+ "sourceFileName": "../../../../packages/core/types/src/event-bus/event-bus-module.ts",
+ "qualifiedName": "IEventBusModuleService.unsubscribe"
+ },
+ "72": {
+ "sourceFileName": "../../../../packages/core/types/src/event-bus/event-bus-module.ts",
+ "qualifiedName": "eventName"
+ },
+ "73": {
+ "sourceFileName": "../../../../packages/core/types/src/event-bus/event-bus-module.ts",
+ "qualifiedName": "subscriber"
+ },
+ "74": {
+ "sourceFileName": "../../../../packages/core/types/src/event-bus/event-bus-module.ts",
+ "qualifiedName": "context"
+ },
+ "75": {
+ "sourceFileName": "../../../../packages/core/types/src/event-bus/event-bus-module.ts",
+ "qualifiedName": "IEventBusModuleService.releaseGroupedEvents"
+ },
+ "76": {
+ "sourceFileName": "../../../../packages/core/types/src/event-bus/event-bus-module.ts",
+ "qualifiedName": "IEventBusModuleService.releaseGroupedEvents"
+ },
+ "77": {
+ "sourceFileName": "../../../../packages/core/types/src/event-bus/event-bus-module.ts",
+ "qualifiedName": "eventGroupId"
+ },
+ "78": {
+ "sourceFileName": "../../../../packages/core/types/src/event-bus/event-bus-module.ts",
+ "qualifiedName": "IEventBusModuleService.clearGroupedEvents"
+ },
+ "79": {
+ "sourceFileName": "../../../../packages/core/types/src/event-bus/event-bus-module.ts",
+ "qualifiedName": "IEventBusModuleService.clearGroupedEvents"
+ },
+ "80": {
+ "sourceFileName": "../../../../packages/core/types/src/event-bus/event-bus-module.ts",
+ "qualifiedName": "eventGroupId"
+ }
+ },
+ "files": {
+ "entries": {
+ "1": "../../../../packages/core/types/src/event-bus/event-bus-module.ts"
+ },
+ "reflections": {
+ "1": 58
+ }
+ }
+}
diff --git a/www/utils/generated/typedoc-json-output/file-service.json b/www/utils/generated/typedoc-json-output/file-service.json
new file mode 100644
index 0000000000..a1db58163f
--- /dev/null
+++ b/www/utils/generated/typedoc-json-output/file-service.json
@@ -0,0 +1,1280 @@
+{
+ "id": 14,
+ "name": "file-service",
+ "variant": "project",
+ "kind": 1,
+ "flags": {},
+ "children": [
+ {
+ "id": 15,
+ "name": "IFileModuleService",
+ "variant": "declaration",
+ "kind": 256,
+ "flags": {},
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "The main service interface for the File Module."
+ }
+ ]
+ },
+ "children": [
+ {
+ "id": 16,
+ "name": "createFiles",
+ "variant": "declaration",
+ "kind": 2048,
+ "flags": {},
+ "sources": [
+ {
+ "fileName": "file/service.ts",
+ "line": 25,
+ "character": 2,
+ "url": "https://github.com/medusajs/medusa/blob/cb6249320e7322e8eabfec8434f1278f8d63e96c/packages/core/types/src/file/service.ts#L25"
+ },
+ {
+ "fileName": "file/service.ts",
+ "line": 45,
+ "character": 2,
+ "url": "https://github.com/medusajs/medusa/blob/cb6249320e7322e8eabfec8434f1278f8d63e96c/packages/core/types/src/file/service.ts#L45"
+ }
+ ],
+ "signatures": [
+ {
+ "id": 17,
+ "name": "createFiles",
+ "variant": "signature",
+ "kind": 4096,
+ "flags": {},
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "This method uploads files to the designated file storage system."
+ }
+ ],
+ "blockTags": [
+ {
+ "tag": "@returns",
+ "content": [
+ {
+ "kind": "text",
+ "text": "The created files."
+ }
+ ]
+ },
+ {
+ "tag": "@example",
+ "content": [
+ {
+ "kind": "code",
+ "text": "```ts\nconst [file] = await fileModuleService.createFiles([{\n filename: \"product.png\",\n mimeType: \"image/png\",\n content: \"somecontent\" // base64 encoded\n}])\n```"
+ }
+ ]
+ }
+ ]
+ },
+ "sources": [
+ {
+ "fileName": "file/service.ts",
+ "line": 25,
+ "character": 2,
+ "url": "https://github.com/medusajs/medusa/blob/cb6249320e7322e8eabfec8434f1278f8d63e96c/packages/core/types/src/file/service.ts#L25"
+ }
+ ],
+ "parameters": [
+ {
+ "id": 18,
+ "name": "data",
+ "variant": "param",
+ "kind": 32768,
+ "flags": {},
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "The files to be created."
+ }
+ ]
+ },
+ "type": {
+ "type": "array",
+ "elementType": {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../../../packages/core/types/src/file/mutations.ts",
+ "qualifiedName": "CreateFileDTO"
+ },
+ "name": "CreateFileDTO",
+ "package": "@medusajs/types"
+ }
+ }
+ },
+ {
+ "id": 19,
+ "name": "sharedContext",
+ "variant": "param",
+ "kind": 32768,
+ "flags": {
+ "isOptional": true
+ },
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "A context used to share resources, such as transaction manager, between the application and the module."
+ }
+ ]
+ },
+ "type": {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../../../packages/core/types/src/shared-context.ts",
+ "qualifiedName": "Context"
+ },
+ "name": "Context",
+ "package": "@medusajs/types"
+ }
+ }
+ ],
+ "type": {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../node_modules/typescript/lib/lib.es5.d.ts",
+ "qualifiedName": "Promise"
+ },
+ "typeArguments": [
+ {
+ "type": "array",
+ "elementType": {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../../../packages/core/types/src/file/common.ts",
+ "qualifiedName": "FileDTO"
+ },
+ "name": "FileDTO",
+ "package": "@medusajs/types"
+ }
+ }
+ ],
+ "name": "Promise",
+ "package": "typescript"
+ }
+ },
+ {
+ "id": 20,
+ "name": "createFiles",
+ "variant": "signature",
+ "kind": 4096,
+ "flags": {},
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "This method uploads a file to the designated file storage system."
+ }
+ ],
+ "blockTags": [
+ {
+ "tag": "@returns",
+ "content": [
+ {
+ "kind": "text",
+ "text": "The created file."
+ }
+ ]
+ },
+ {
+ "tag": "@example",
+ "content": [
+ {
+ "kind": "code",
+ "text": "```ts\nconst file = await fileModuleService.createFiles({\n filename: \"product.png\",\n mimeType: \"image/png\",\n content: \"somecontent\" // base64 encoded\n})\n```"
+ }
+ ]
+ }
+ ]
+ },
+ "sources": [
+ {
+ "fileName": "file/service.ts",
+ "line": 45,
+ "character": 2,
+ "url": "https://github.com/medusajs/medusa/blob/cb6249320e7322e8eabfec8434f1278f8d63e96c/packages/core/types/src/file/service.ts#L45"
+ }
+ ],
+ "parameters": [
+ {
+ "id": 21,
+ "name": "data",
+ "variant": "param",
+ "kind": 32768,
+ "flags": {},
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "The file to be created."
+ }
+ ]
+ },
+ "type": {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../../../packages/core/types/src/file/mutations.ts",
+ "qualifiedName": "CreateFileDTO"
+ },
+ "name": "CreateFileDTO",
+ "package": "@medusajs/types"
+ }
+ },
+ {
+ "id": 22,
+ "name": "sharedContext",
+ "variant": "param",
+ "kind": 32768,
+ "flags": {
+ "isOptional": true
+ },
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "A context used to share resources, such as transaction manager, between the application and the module."
+ }
+ ]
+ },
+ "type": {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../../../packages/core/types/src/shared-context.ts",
+ "qualifiedName": "Context"
+ },
+ "name": "Context",
+ "package": "@medusajs/types"
+ }
+ }
+ ],
+ "type": {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../node_modules/typescript/lib/lib.es5.d.ts",
+ "qualifiedName": "Promise"
+ },
+ "typeArguments": [
+ {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../../../packages/core/types/src/file/common.ts",
+ "qualifiedName": "FileDTO"
+ },
+ "name": "FileDTO",
+ "package": "@medusajs/types"
+ }
+ ],
+ "name": "Promise",
+ "package": "typescript"
+ }
+ }
+ ]
+ },
+ {
+ "id": 23,
+ "name": "deleteFiles",
+ "variant": "declaration",
+ "kind": 2048,
+ "flags": {},
+ "sources": [
+ {
+ "fileName": "file/service.ts",
+ "line": 57,
+ "character": 2,
+ "url": "https://github.com/medusajs/medusa/blob/cb6249320e7322e8eabfec8434f1278f8d63e96c/packages/core/types/src/file/service.ts#L57"
+ },
+ {
+ "fileName": "file/service.ts",
+ "line": 69,
+ "character": 2,
+ "url": "https://github.com/medusajs/medusa/blob/cb6249320e7322e8eabfec8434f1278f8d63e96c/packages/core/types/src/file/service.ts#L69"
+ }
+ ],
+ "signatures": [
+ {
+ "id": 24,
+ "name": "deleteFiles",
+ "variant": "signature",
+ "kind": 4096,
+ "flags": {},
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "This method deletes files by their IDs."
+ }
+ ],
+ "blockTags": [
+ {
+ "tag": "@returns",
+ "content": [
+ {
+ "kind": "text",
+ "text": "Resolves when the files are deleted successfully."
+ }
+ ]
+ },
+ {
+ "tag": "@example",
+ "content": [
+ {
+ "kind": "code",
+ "text": "```ts\nawait fileModuleService.deleteFiles([\"file_123\"])\n```"
+ }
+ ]
+ }
+ ]
+ },
+ "sources": [
+ {
+ "fileName": "file/service.ts",
+ "line": 57,
+ "character": 2,
+ "url": "https://github.com/medusajs/medusa/blob/cb6249320e7322e8eabfec8434f1278f8d63e96c/packages/core/types/src/file/service.ts#L57"
+ }
+ ],
+ "parameters": [
+ {
+ "id": 25,
+ "name": "ids",
+ "variant": "param",
+ "kind": 32768,
+ "flags": {},
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "The IDs of the files."
+ }
+ ]
+ },
+ "type": {
+ "type": "array",
+ "elementType": {
+ "type": "intrinsic",
+ "name": "string"
+ }
+ }
+ },
+ {
+ "id": 26,
+ "name": "sharedContext",
+ "variant": "param",
+ "kind": 32768,
+ "flags": {
+ "isOptional": true
+ },
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "A context used to share resources, such as transaction manager, between the application and the module."
+ }
+ ]
+ },
+ "type": {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../../../packages/core/types/src/shared-context.ts",
+ "qualifiedName": "Context"
+ },
+ "name": "Context",
+ "package": "@medusajs/types"
+ }
+ }
+ ],
+ "type": {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../node_modules/typescript/lib/lib.es5.d.ts",
+ "qualifiedName": "Promise"
+ },
+ "typeArguments": [
+ {
+ "type": "intrinsic",
+ "name": "void"
+ }
+ ],
+ "name": "Promise",
+ "package": "typescript"
+ }
+ },
+ {
+ "id": 27,
+ "name": "deleteFiles",
+ "variant": "signature",
+ "kind": 4096,
+ "flags": {},
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "This method deletes a file by its ID."
+ }
+ ],
+ "blockTags": [
+ {
+ "tag": "@returns",
+ "content": [
+ {
+ "kind": "text",
+ "text": "Resolves when the file is deleted successfully."
+ }
+ ]
+ },
+ {
+ "tag": "@example",
+ "content": [
+ {
+ "kind": "code",
+ "text": "```ts\nawait fileModuleService.deleteFiles(\"file_123\")\n```"
+ }
+ ]
+ }
+ ]
+ },
+ "sources": [
+ {
+ "fileName": "file/service.ts",
+ "line": 69,
+ "character": 2,
+ "url": "https://github.com/medusajs/medusa/blob/cb6249320e7322e8eabfec8434f1278f8d63e96c/packages/core/types/src/file/service.ts#L69"
+ }
+ ],
+ "parameters": [
+ {
+ "id": 28,
+ "name": "id",
+ "variant": "param",
+ "kind": 32768,
+ "flags": {},
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "The ID of the file."
+ }
+ ]
+ },
+ "type": {
+ "type": "intrinsic",
+ "name": "string"
+ }
+ },
+ {
+ "id": 29,
+ "name": "sharedContext",
+ "variant": "param",
+ "kind": 32768,
+ "flags": {
+ "isOptional": true
+ },
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "A context used to share resources, such as transaction manager, between the application and the module."
+ }
+ ]
+ },
+ "type": {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../../../packages/core/types/src/shared-context.ts",
+ "qualifiedName": "Context"
+ },
+ "name": "Context",
+ "package": "@medusajs/types"
+ }
+ }
+ ],
+ "type": {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../node_modules/typescript/lib/lib.es5.d.ts",
+ "qualifiedName": "Promise"
+ },
+ "typeArguments": [
+ {
+ "type": "intrinsic",
+ "name": "void"
+ }
+ ],
+ "name": "Promise",
+ "package": "typescript"
+ }
+ }
+ ]
+ },
+ {
+ "id": 30,
+ "name": "retrieveFile",
+ "variant": "declaration",
+ "kind": 2048,
+ "flags": {},
+ "sources": [
+ {
+ "fileName": "file/service.ts",
+ "line": 83,
+ "character": 2,
+ "url": "https://github.com/medusajs/medusa/blob/cb6249320e7322e8eabfec8434f1278f8d63e96c/packages/core/types/src/file/service.ts#L83"
+ }
+ ],
+ "signatures": [
+ {
+ "id": 31,
+ "name": "retrieveFile",
+ "variant": "signature",
+ "kind": 4096,
+ "flags": {},
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "This method retrieves a file with a downloadable URL by its ID."
+ }
+ ],
+ "blockTags": [
+ {
+ "tag": "@returns",
+ "content": [
+ {
+ "kind": "text",
+ "text": "The retrieved file."
+ }
+ ]
+ },
+ {
+ "tag": "@example",
+ "content": [
+ {
+ "kind": "code",
+ "text": "```ts\nconst file = await fileModuleService.retrieveFile(\"file_123\")\n```"
+ }
+ ]
+ }
+ ]
+ },
+ "sources": [
+ {
+ "fileName": "file/service.ts",
+ "line": 83,
+ "character": 2,
+ "url": "https://github.com/medusajs/medusa/blob/cb6249320e7322e8eabfec8434f1278f8d63e96c/packages/core/types/src/file/service.ts#L83"
+ }
+ ],
+ "parameters": [
+ {
+ "id": 32,
+ "name": "id",
+ "variant": "param",
+ "kind": 32768,
+ "flags": {},
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "The ID of the file."
+ }
+ ]
+ },
+ "type": {
+ "type": "intrinsic",
+ "name": "string"
+ }
+ },
+ {
+ "id": 33,
+ "name": "config",
+ "variant": "param",
+ "kind": 32768,
+ "flags": {
+ "isOptional": true
+ },
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "The configurations determining how the file is retrieved. Its properties, such as "
+ },
+ {
+ "kind": "code",
+ "text": "`select`"
+ },
+ {
+ "kind": "text",
+ "text": " or "
+ },
+ {
+ "kind": "code",
+ "text": "`relations`"
+ },
+ {
+ "kind": "text",
+ "text": ", accept the\nattributes or relations associated with a file."
+ }
+ ]
+ },
+ "type": {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../../../packages/core/types/src/common/common.ts",
+ "qualifiedName": "FindConfig"
+ },
+ "typeArguments": [
+ {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../../../packages/core/types/src/file/common.ts",
+ "qualifiedName": "FileDTO"
+ },
+ "name": "FileDTO",
+ "package": "@medusajs/types"
+ }
+ ],
+ "name": "FindConfig",
+ "package": "@medusajs/types"
+ }
+ },
+ {
+ "id": 34,
+ "name": "sharedContext",
+ "variant": "param",
+ "kind": 32768,
+ "flags": {
+ "isOptional": true
+ },
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "A context used to share resources, such as transaction manager, between the application and the module."
+ }
+ ]
+ },
+ "type": {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../../../packages/core/types/src/shared-context.ts",
+ "qualifiedName": "Context"
+ },
+ "name": "Context",
+ "package": "@medusajs/types"
+ }
+ }
+ ],
+ "type": {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../node_modules/typescript/lib/lib.es5.d.ts",
+ "qualifiedName": "Promise"
+ },
+ "typeArguments": [
+ {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../../../packages/core/types/src/file/common.ts",
+ "qualifiedName": "FileDTO"
+ },
+ "name": "FileDTO",
+ "package": "@medusajs/types"
+ }
+ ],
+ "name": "Promise",
+ "package": "typescript"
+ }
+ }
+ ]
+ },
+ {
+ "id": 35,
+ "name": "listFiles",
+ "variant": "declaration",
+ "kind": 2048,
+ "flags": {},
+ "sources": [
+ {
+ "fileName": "file/service.ts",
+ "line": 102,
+ "character": 2,
+ "url": "https://github.com/medusajs/medusa/blob/cb6249320e7322e8eabfec8434f1278f8d63e96c/packages/core/types/src/file/service.ts#L102"
+ }
+ ],
+ "signatures": [
+ {
+ "id": 36,
+ "name": "listFiles",
+ "variant": "signature",
+ "kind": 4096,
+ "flags": {},
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "This method is used to retrieve a file by ID, similarly to "
+ },
+ {
+ "kind": "code",
+ "text": "`retrieve`"
+ },
+ {
+ "kind": "text",
+ "text": ". It doesn't retrieve multiple files, but it's added to support retrieving files with [Query](https://docs.medusajs.com/learn/fundamentals/module-links/query)."
+ }
+ ],
+ "blockTags": [
+ {
+ "tag": "@returns",
+ "content": [
+ {
+ "kind": "text",
+ "text": "The list of files. In this case, it will have at most one file."
+ }
+ ]
+ },
+ {
+ "tag": "@example",
+ "content": [
+ {
+ "kind": "code",
+ "text": "```ts\nconst files = await fileModuleService.listFiles({ id: \"file_123\" })\n```"
+ }
+ ]
+ }
+ ]
+ },
+ "sources": [
+ {
+ "fileName": "file/service.ts",
+ "line": 102,
+ "character": 2,
+ "url": "https://github.com/medusajs/medusa/blob/cb6249320e7322e8eabfec8434f1278f8d63e96c/packages/core/types/src/file/service.ts#L102"
+ }
+ ],
+ "parameters": [
+ {
+ "id": 37,
+ "name": "filters",
+ "variant": "param",
+ "kind": 32768,
+ "flags": {
+ "isOptional": true
+ },
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "The filters to apply on the retrieved files."
+ }
+ ]
+ },
+ "type": {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../../../packages/core/types/src/file/common.ts",
+ "qualifiedName": "FilterableFileProps"
+ },
+ "name": "FilterableFileProps",
+ "package": "@medusajs/types"
+ }
+ },
+ {
+ "id": 38,
+ "name": "config",
+ "variant": "param",
+ "kind": 32768,
+ "flags": {
+ "isOptional": true
+ },
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "The configurations determining how the files are retrieved. Its properties, such as "
+ },
+ {
+ "kind": "code",
+ "text": "`select`"
+ },
+ {
+ "kind": "text",
+ "text": " or "
+ },
+ {
+ "kind": "code",
+ "text": "`relations`"
+ },
+ {
+ "kind": "text",
+ "text": ", accept the\nattributes or relations associated with a file."
+ }
+ ]
+ },
+ "type": {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../../../packages/core/types/src/common/common.ts",
+ "qualifiedName": "FindConfig"
+ },
+ "typeArguments": [
+ {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../../../packages/core/types/src/file/common.ts",
+ "qualifiedName": "FileDTO"
+ },
+ "name": "FileDTO",
+ "package": "@medusajs/types"
+ }
+ ],
+ "name": "FindConfig",
+ "package": "@medusajs/types"
+ }
+ },
+ {
+ "id": 39,
+ "name": "sharedContext",
+ "variant": "param",
+ "kind": 32768,
+ "flags": {
+ "isOptional": true
+ },
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "A context used to share resources, such as transaction manager, between the application and the module."
+ }
+ ]
+ },
+ "type": {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../../../packages/core/types/src/shared-context.ts",
+ "qualifiedName": "Context"
+ },
+ "name": "Context",
+ "package": "@medusajs/types"
+ }
+ }
+ ],
+ "type": {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../node_modules/typescript/lib/lib.es5.d.ts",
+ "qualifiedName": "Promise"
+ },
+ "typeArguments": [
+ {
+ "type": "array",
+ "elementType": {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../../../packages/core/types/src/file/common.ts",
+ "qualifiedName": "FileDTO"
+ },
+ "name": "FileDTO",
+ "package": "@medusajs/types"
+ }
+ }
+ ],
+ "name": "Promise",
+ "package": "typescript"
+ }
+ }
+ ]
+ },
+ {
+ "id": 40,
+ "name": "listAndCountFiles",
+ "variant": "declaration",
+ "kind": 2048,
+ "flags": {},
+ "sources": [
+ {
+ "fileName": "file/service.ts",
+ "line": 121,
+ "character": 2,
+ "url": "https://github.com/medusajs/medusa/blob/cb6249320e7322e8eabfec8434f1278f8d63e96c/packages/core/types/src/file/service.ts#L121"
+ }
+ ],
+ "signatures": [
+ {
+ "id": 41,
+ "name": "listAndCountFiles",
+ "variant": "signature",
+ "kind": 4096,
+ "flags": {},
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "This method is used to retrieve a file by ID, similarly to "
+ },
+ {
+ "kind": "code",
+ "text": "`retrieve`"
+ },
+ {
+ "kind": "text",
+ "text": ". It doesn't retrieve multiple files, but it's added to support retrieving files with [Query](https://docs.medusajs.com/learn/fundamentals/module-links/query)."
+ }
+ ],
+ "blockTags": [
+ {
+ "tag": "@returns",
+ "content": [
+ {
+ "kind": "text",
+ "text": "The list of files and their count. In this case, it will have at most one file."
+ }
+ ]
+ },
+ {
+ "tag": "@example",
+ "content": [
+ {
+ "kind": "code",
+ "text": "```ts\nconst [files] = await fileModuleService.listAndCountFiles({ id: \"file_123\" })\n```"
+ }
+ ]
+ }
+ ]
+ },
+ "sources": [
+ {
+ "fileName": "file/service.ts",
+ "line": 121,
+ "character": 2,
+ "url": "https://github.com/medusajs/medusa/blob/cb6249320e7322e8eabfec8434f1278f8d63e96c/packages/core/types/src/file/service.ts#L121"
+ }
+ ],
+ "parameters": [
+ {
+ "id": 42,
+ "name": "filters",
+ "variant": "param",
+ "kind": 32768,
+ "flags": {
+ "isOptional": true
+ },
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "The filters to apply on the retrieved files."
+ }
+ ]
+ },
+ "type": {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../../../packages/core/types/src/file/common.ts",
+ "qualifiedName": "FilterableFileProps"
+ },
+ "name": "FilterableFileProps",
+ "package": "@medusajs/types"
+ }
+ },
+ {
+ "id": 43,
+ "name": "config",
+ "variant": "param",
+ "kind": 32768,
+ "flags": {
+ "isOptional": true
+ },
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "The configurations determining how the files are retrieved. Its properties, such as "
+ },
+ {
+ "kind": "code",
+ "text": "`select`"
+ },
+ {
+ "kind": "text",
+ "text": " or "
+ },
+ {
+ "kind": "code",
+ "text": "`relations`"
+ },
+ {
+ "kind": "text",
+ "text": ", accept the\nattributes or relations associated with a file."
+ }
+ ]
+ },
+ "type": {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../../../packages/core/types/src/common/common.ts",
+ "qualifiedName": "FindConfig"
+ },
+ "typeArguments": [
+ {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../../../packages/core/types/src/file/common.ts",
+ "qualifiedName": "FileDTO"
+ },
+ "name": "FileDTO",
+ "package": "@medusajs/types"
+ }
+ ],
+ "name": "FindConfig",
+ "package": "@medusajs/types"
+ }
+ },
+ {
+ "id": 44,
+ "name": "sharedContext",
+ "variant": "param",
+ "kind": 32768,
+ "flags": {
+ "isOptional": true
+ },
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "A context used to share resources, such as transaction manager, between the application and the module."
+ }
+ ]
+ },
+ "type": {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../../../packages/core/types/src/shared-context.ts",
+ "qualifiedName": "Context"
+ },
+ "name": "Context",
+ "package": "@medusajs/types"
+ }
+ }
+ ],
+ "type": {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../node_modules/typescript/lib/lib.es5.d.ts",
+ "qualifiedName": "Promise"
+ },
+ "typeArguments": [
+ {
+ "type": "tuple",
+ "elements": [
+ {
+ "type": "array",
+ "elementType": {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../../../packages/core/types/src/file/common.ts",
+ "qualifiedName": "FileDTO"
+ },
+ "name": "FileDTO",
+ "package": "@medusajs/types"
+ }
+ },
+ {
+ "type": "intrinsic",
+ "name": "number"
+ }
+ ]
+ }
+ ],
+ "name": "Promise",
+ "package": "typescript"
+ }
+ }
+ ]
+ }
+ ],
+ "groups": [
+ {
+ "title": "Methods",
+ "children": [
+ 16,
+ 23,
+ 30,
+ 35,
+ 40
+ ]
+ }
+ ],
+ "sources": [
+ {
+ "fileName": "file/service.ts",
+ "line": 10,
+ "character": 17,
+ "url": "https://github.com/medusajs/medusa/blob/cb6249320e7322e8eabfec8434f1278f8d63e96c/packages/core/types/src/file/service.ts#L10"
+ }
+ ],
+ "extendedTypes": [
+ {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../../../packages/core/types/src/modules-sdk/index.ts",
+ "qualifiedName": "IModuleService"
+ },
+ "name": "IModuleService",
+ "package": "@medusajs/types"
+ }
+ ]
+ }
+ ],
+ "groups": [
+ {
+ "title": "Interfaces",
+ "children": [
+ 15
+ ]
+ }
+ ],
+ "packageName": "@medusajs/types",
+ "symbolIdMap": {
+ "14": {
+ "sourceFileName": "../../../../packages/core/types/src/file/service.ts",
+ "qualifiedName": ""
+ },
+ "15": {
+ "sourceFileName": "../../../../packages/core/types/src/file/service.ts",
+ "qualifiedName": "IFileModuleService"
+ },
+ "16": {
+ "sourceFileName": "../../../../packages/core/types/src/file/service.ts",
+ "qualifiedName": "IFileModuleService.createFiles"
+ },
+ "17": {
+ "sourceFileName": "../../../../packages/core/types/src/file/service.ts",
+ "qualifiedName": "IFileModuleService.createFiles"
+ },
+ "18": {
+ "sourceFileName": "../../../../packages/core/types/src/file/service.ts",
+ "qualifiedName": "data"
+ },
+ "19": {
+ "sourceFileName": "../../../../packages/core/types/src/file/service.ts",
+ "qualifiedName": "sharedContext"
+ },
+ "20": {
+ "sourceFileName": "../../../../packages/core/types/src/file/service.ts",
+ "qualifiedName": "IFileModuleService.createFiles"
+ },
+ "21": {
+ "sourceFileName": "../../../../packages/core/types/src/file/service.ts",
+ "qualifiedName": "data"
+ },
+ "22": {
+ "sourceFileName": "../../../../packages/core/types/src/file/service.ts",
+ "qualifiedName": "sharedContext"
+ },
+ "23": {
+ "sourceFileName": "../../../../packages/core/types/src/file/service.ts",
+ "qualifiedName": "IFileModuleService.deleteFiles"
+ },
+ "24": {
+ "sourceFileName": "../../../../packages/core/types/src/file/service.ts",
+ "qualifiedName": "IFileModuleService.deleteFiles"
+ },
+ "25": {
+ "sourceFileName": "../../../../packages/core/types/src/file/service.ts",
+ "qualifiedName": "ids"
+ },
+ "26": {
+ "sourceFileName": "../../../../packages/core/types/src/file/service.ts",
+ "qualifiedName": "sharedContext"
+ },
+ "27": {
+ "sourceFileName": "../../../../packages/core/types/src/file/service.ts",
+ "qualifiedName": "IFileModuleService.deleteFiles"
+ },
+ "28": {
+ "sourceFileName": "../../../../packages/core/types/src/file/service.ts",
+ "qualifiedName": "id"
+ },
+ "29": {
+ "sourceFileName": "../../../../packages/core/types/src/file/service.ts",
+ "qualifiedName": "sharedContext"
+ },
+ "30": {
+ "sourceFileName": "../../../../packages/core/types/src/file/service.ts",
+ "qualifiedName": "IFileModuleService.retrieveFile"
+ },
+ "31": {
+ "sourceFileName": "../../../../packages/core/types/src/file/service.ts",
+ "qualifiedName": "IFileModuleService.retrieveFile"
+ },
+ "32": {
+ "sourceFileName": "../../../../packages/core/types/src/file/service.ts",
+ "qualifiedName": "id"
+ },
+ "33": {
+ "sourceFileName": "../../../../packages/core/types/src/file/service.ts",
+ "qualifiedName": "config"
+ },
+ "34": {
+ "sourceFileName": "../../../../packages/core/types/src/file/service.ts",
+ "qualifiedName": "sharedContext"
+ },
+ "35": {
+ "sourceFileName": "../../../../packages/core/types/src/file/service.ts",
+ "qualifiedName": "IFileModuleService.listFiles"
+ },
+ "36": {
+ "sourceFileName": "../../../../packages/core/types/src/file/service.ts",
+ "qualifiedName": "IFileModuleService.listFiles"
+ },
+ "37": {
+ "sourceFileName": "../../../../packages/core/types/src/file/service.ts",
+ "qualifiedName": "filters"
+ },
+ "38": {
+ "sourceFileName": "../../../../packages/core/types/src/file/service.ts",
+ "qualifiedName": "config"
+ },
+ "39": {
+ "sourceFileName": "../../../../packages/core/types/src/file/service.ts",
+ "qualifiedName": "sharedContext"
+ },
+ "40": {
+ "sourceFileName": "../../../../packages/core/types/src/file/service.ts",
+ "qualifiedName": "IFileModuleService.listAndCountFiles"
+ },
+ "41": {
+ "sourceFileName": "../../../../packages/core/types/src/file/service.ts",
+ "qualifiedName": "IFileModuleService.listAndCountFiles"
+ },
+ "42": {
+ "sourceFileName": "../../../../packages/core/types/src/file/service.ts",
+ "qualifiedName": "filters"
+ },
+ "43": {
+ "sourceFileName": "../../../../packages/core/types/src/file/service.ts",
+ "qualifiedName": "config"
+ },
+ "44": {
+ "sourceFileName": "../../../../packages/core/types/src/file/service.ts",
+ "qualifiedName": "sharedContext"
+ }
+ },
+ "files": {
+ "entries": {
+ "1": "../../../../packages/core/types/src/file/service.ts"
+ },
+ "reflections": {
+ "1": 14
+ }
+ }
+}
diff --git a/www/utils/generated/typedoc-json-output/notification-service.json b/www/utils/generated/typedoc-json-output/notification-service.json
new file mode 100644
index 0000000000..7ba0cfc374
--- /dev/null
+++ b/www/utils/generated/typedoc-json-output/notification-service.json
@@ -0,0 +1,1115 @@
+{
+ "id": 81,
+ "name": "notification-service",
+ "variant": "project",
+ "kind": 1,
+ "flags": {},
+ "children": [
+ {
+ "id": 82,
+ "name": "INotificationModuleService",
+ "variant": "declaration",
+ "kind": 256,
+ "flags": {},
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "The main service interface for the Notification Module."
+ }
+ ]
+ },
+ "children": [
+ {
+ "id": 83,
+ "name": "createNotifications",
+ "variant": "declaration",
+ "kind": 2048,
+ "flags": {},
+ "sources": [
+ {
+ "fileName": "notification/service.ts",
+ "line": 32,
+ "character": 2,
+ "url": "https://github.com/medusajs/medusa/blob/cb6249320e7322e8eabfec8434f1278f8d63e96c/packages/core/types/src/notification/service.ts#L32"
+ },
+ {
+ "fileName": "notification/service.ts",
+ "line": 51,
+ "character": 2,
+ "url": "https://github.com/medusajs/medusa/blob/cb6249320e7322e8eabfec8434f1278f8d63e96c/packages/core/types/src/notification/service.ts#L51"
+ }
+ ],
+ "signatures": [
+ {
+ "id": 84,
+ "name": "createNotifications",
+ "variant": "signature",
+ "kind": 4096,
+ "flags": {},
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "This method is used to send multiple notifications and store them in the database."
+ }
+ ],
+ "blockTags": [
+ {
+ "tag": "@returns",
+ "content": [
+ {
+ "kind": "text",
+ "text": "The list of sent notifications."
+ }
+ ]
+ },
+ {
+ "tag": "@example",
+ "content": [
+ {
+ "kind": "code",
+ "text": "```ts\nconst notifications = await notificationModuleService.createNotifications([\n {\n to: \"john@doe.me\",\n template: \"order-confirmation\",\n channel: \"email\",\n },\n {\n to: \"+38975123456\",\n template: \"order-confirmation\",\n channel: \"sms\",\n },\n])\n```"
+ }
+ ]
+ }
+ ]
+ },
+ "sources": [
+ {
+ "fileName": "notification/service.ts",
+ "line": 32,
+ "character": 2,
+ "url": "https://github.com/medusajs/medusa/blob/cb6249320e7322e8eabfec8434f1278f8d63e96c/packages/core/types/src/notification/service.ts#L32"
+ }
+ ],
+ "parameters": [
+ {
+ "id": 85,
+ "name": "data",
+ "variant": "param",
+ "kind": 32768,
+ "flags": {},
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "The notifications to be sent."
+ }
+ ]
+ },
+ "type": {
+ "type": "array",
+ "elementType": {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../../../packages/core/types/src/notification/mutations.ts",
+ "qualifiedName": "CreateNotificationDTO"
+ },
+ "name": "CreateNotificationDTO",
+ "package": "@medusajs/types"
+ }
+ }
+ },
+ {
+ "id": 86,
+ "name": "sharedContext",
+ "variant": "param",
+ "kind": 32768,
+ "flags": {
+ "isOptional": true
+ },
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "A context used to share resources, such as transaction manager, between the application and the module."
+ }
+ ]
+ },
+ "type": {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../../../packages/core/types/src/shared-context.ts",
+ "qualifiedName": "Context"
+ },
+ "name": "Context",
+ "package": "@medusajs/types"
+ }
+ }
+ ],
+ "type": {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../node_modules/typescript/lib/lib.es5.d.ts",
+ "qualifiedName": "Promise"
+ },
+ "typeArguments": [
+ {
+ "type": "array",
+ "elementType": {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../../../packages/core/types/src/notification/common.ts",
+ "qualifiedName": "NotificationDTO"
+ },
+ "name": "NotificationDTO",
+ "package": "@medusajs/types"
+ }
+ }
+ ],
+ "name": "Promise",
+ "package": "typescript"
+ }
+ },
+ {
+ "id": 87,
+ "name": "createNotifications",
+ "variant": "signature",
+ "kind": 4096,
+ "flags": {},
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "This method is used to send a notification, and store the request in the database."
+ }
+ ],
+ "blockTags": [
+ {
+ "tag": "@returns",
+ "content": [
+ {
+ "kind": "text",
+ "text": "The sent notification."
+ }
+ ]
+ },
+ {
+ "tag": "@example",
+ "content": [
+ {
+ "kind": "code",
+ "text": "```ts\nconst notification = await notificationModuleService.createNotifications({\n to: \"john@doe.me\",\n template: \"order-confirmation\",\n channel: \"email\",\n})\n```"
+ }
+ ]
+ }
+ ]
+ },
+ "sources": [
+ {
+ "fileName": "notification/service.ts",
+ "line": 51,
+ "character": 2,
+ "url": "https://github.com/medusajs/medusa/blob/cb6249320e7322e8eabfec8434f1278f8d63e96c/packages/core/types/src/notification/service.ts#L51"
+ }
+ ],
+ "parameters": [
+ {
+ "id": 88,
+ "name": "data",
+ "variant": "param",
+ "kind": 32768,
+ "flags": {},
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "The notification to be sent."
+ }
+ ]
+ },
+ "type": {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../../../packages/core/types/src/notification/mutations.ts",
+ "qualifiedName": "CreateNotificationDTO"
+ },
+ "name": "CreateNotificationDTO",
+ "package": "@medusajs/types"
+ }
+ },
+ {
+ "id": 89,
+ "name": "sharedContext",
+ "variant": "param",
+ "kind": 32768,
+ "flags": {
+ "isOptional": true
+ },
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "A context used to share resources, such as transaction manager, between the application and the module."
+ }
+ ]
+ },
+ "type": {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../../../packages/core/types/src/shared-context.ts",
+ "qualifiedName": "Context"
+ },
+ "name": "Context",
+ "package": "@medusajs/types"
+ }
+ }
+ ],
+ "type": {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../node_modules/typescript/lib/lib.es5.d.ts",
+ "qualifiedName": "Promise"
+ },
+ "typeArguments": [
+ {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../../../packages/core/types/src/notification/common.ts",
+ "qualifiedName": "NotificationDTO"
+ },
+ "name": "NotificationDTO",
+ "package": "@medusajs/types"
+ }
+ ],
+ "name": "Promise",
+ "package": "typescript"
+ }
+ }
+ ]
+ },
+ {
+ "id": 90,
+ "name": "retrieveNotification",
+ "variant": "declaration",
+ "kind": 2048,
+ "flags": {},
+ "sources": [
+ {
+ "fileName": "notification/service.ts",
+ "line": 85,
+ "character": 2,
+ "url": "https://github.com/medusajs/medusa/blob/cb6249320e7322e8eabfec8434f1278f8d63e96c/packages/core/types/src/notification/service.ts#L85"
+ }
+ ],
+ "signatures": [
+ {
+ "id": 91,
+ "name": "retrieveNotification",
+ "variant": "signature",
+ "kind": 4096,
+ "flags": {},
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "This method is used to retrieve a notification by its ID"
+ }
+ ],
+ "blockTags": [
+ {
+ "tag": "@returns",
+ "content": [
+ {
+ "kind": "text",
+ "text": "The retrieved notification."
+ }
+ ]
+ },
+ {
+ "tag": "@example",
+ "content": [
+ {
+ "kind": "text",
+ "text": "A simple example that retrieves a notification by its ID:\n\n"
+ },
+ {
+ "kind": "code",
+ "text": "```ts\nconst notification =\n await notificationModuleService.retrieveNotification(\"noti_123\")\n```"
+ },
+ {
+ "kind": "text",
+ "text": "\n\nTo specify relations that should be retrieved:\n\n"
+ },
+ {
+ "kind": "code",
+ "text": "```ts\nconst notification = await notificationModuleService.retrieveNotification(\n \"noti_123\",\n {\n relations: [\"provider\"],\n }\n)\n```"
+ }
+ ]
+ }
+ ]
+ },
+ "sources": [
+ {
+ "fileName": "notification/service.ts",
+ "line": 85,
+ "character": 2,
+ "url": "https://github.com/medusajs/medusa/blob/cb6249320e7322e8eabfec8434f1278f8d63e96c/packages/core/types/src/notification/service.ts#L85"
+ }
+ ],
+ "parameters": [
+ {
+ "id": 92,
+ "name": "notificationId",
+ "variant": "param",
+ "kind": 32768,
+ "flags": {},
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "The ID of the notification to retrieve."
+ }
+ ]
+ },
+ "type": {
+ "type": "intrinsic",
+ "name": "string"
+ }
+ },
+ {
+ "id": 93,
+ "name": "config",
+ "variant": "param",
+ "kind": 32768,
+ "flags": {
+ "isOptional": true
+ },
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "The configurations determining how the notification is retrieved. Its properties, such as "
+ },
+ {
+ "kind": "code",
+ "text": "`select`"
+ },
+ {
+ "kind": "text",
+ "text": " or "
+ },
+ {
+ "kind": "code",
+ "text": "`relations`"
+ },
+ {
+ "kind": "text",
+ "text": ", accept the\nattributes or relations associated with a notification."
+ }
+ ]
+ },
+ "type": {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../../../packages/core/types/src/common/common.ts",
+ "qualifiedName": "FindConfig"
+ },
+ "typeArguments": [
+ {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../../../packages/core/types/src/notification/common.ts",
+ "qualifiedName": "NotificationDTO"
+ },
+ "name": "NotificationDTO",
+ "package": "@medusajs/types"
+ }
+ ],
+ "name": "FindConfig",
+ "package": "@medusajs/types"
+ }
+ },
+ {
+ "id": 94,
+ "name": "sharedContext",
+ "variant": "param",
+ "kind": 32768,
+ "flags": {
+ "isOptional": true
+ },
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "A context used to share resources, such as transaction manager, between the application and the module."
+ }
+ ]
+ },
+ "type": {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../../../packages/core/types/src/shared-context.ts",
+ "qualifiedName": "Context"
+ },
+ "name": "Context",
+ "package": "@medusajs/types"
+ }
+ }
+ ],
+ "type": {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../node_modules/typescript/lib/lib.es5.d.ts",
+ "qualifiedName": "Promise"
+ },
+ "typeArguments": [
+ {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../../../packages/core/types/src/notification/common.ts",
+ "qualifiedName": "NotificationDTO"
+ },
+ "name": "NotificationDTO",
+ "package": "@medusajs/types"
+ }
+ ],
+ "name": "Promise",
+ "package": "typescript"
+ }
+ }
+ ]
+ },
+ {
+ "id": 95,
+ "name": "listNotifications",
+ "variant": "declaration",
+ "kind": 2048,
+ "flags": {},
+ "sources": [
+ {
+ "fileName": "notification/service.ts",
+ "line": 138,
+ "character": 2,
+ "url": "https://github.com/medusajs/medusa/blob/cb6249320e7322e8eabfec8434f1278f8d63e96c/packages/core/types/src/notification/service.ts#L138"
+ }
+ ],
+ "signatures": [
+ {
+ "id": 96,
+ "name": "listNotifications",
+ "variant": "signature",
+ "kind": 4096,
+ "flags": {},
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "This method is used to retrieve a paginated list of notifications based on optional filters and configuration."
+ }
+ ],
+ "blockTags": [
+ {
+ "tag": "@returns",
+ "content": [
+ {
+ "kind": "text",
+ "text": "The list of notifications."
+ }
+ ]
+ },
+ {
+ "tag": "@example",
+ "content": [
+ {
+ "kind": "text",
+ "text": "To retrieve a list of notifications using their IDs:\n\n"
+ },
+ {
+ "kind": "code",
+ "text": "```ts\nconst notifications = await notificationModuleService.listNotifications({\n id: [\"noti_123\", \"noti_321\"],\n})\n```"
+ },
+ {
+ "kind": "text",
+ "text": "\n\nTo specify relations that should be retrieved within the notifications:\n\n"
+ },
+ {
+ "kind": "code",
+ "text": "```ts\nconst notifications = await notificationModuleService.listNotifications(\n {\n id: [\"noti_123\", \"noti_321\"],\n },\n {\n relations: [\"provider\"],\n }\n)\n```"
+ },
+ {
+ "kind": "text",
+ "text": "\n\nBy default, only the first "
+ },
+ {
+ "kind": "code",
+ "text": "`15`"
+ },
+ {
+ "kind": "text",
+ "text": " records are retrieved. You can control pagination by specifying the "
+ },
+ {
+ "kind": "code",
+ "text": "`skip`"
+ },
+ {
+ "kind": "text",
+ "text": " and "
+ },
+ {
+ "kind": "code",
+ "text": "`take`"
+ },
+ {
+ "kind": "text",
+ "text": " properties of the "
+ },
+ {
+ "kind": "code",
+ "text": "`config`"
+ },
+ {
+ "kind": "text",
+ "text": " parameter:\n\n"
+ },
+ {
+ "kind": "code",
+ "text": "```ts\nconst notifications = await notificationModuleService.listNotifications(\n {\n id: [\"noti_123\", \"noti_321\"],\n },\n {\n relations: [\"provider\"],\n take: 20,\n skip: 2,\n }\n)\n```"
+ }
+ ]
+ }
+ ]
+ },
+ "sources": [
+ {
+ "fileName": "notification/service.ts",
+ "line": 138,
+ "character": 2,
+ "url": "https://github.com/medusajs/medusa/blob/cb6249320e7322e8eabfec8434f1278f8d63e96c/packages/core/types/src/notification/service.ts#L138"
+ }
+ ],
+ "parameters": [
+ {
+ "id": 97,
+ "name": "filters",
+ "variant": "param",
+ "kind": 32768,
+ "flags": {
+ "isOptional": true
+ },
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "The filters to apply on the retrieved notifications."
+ }
+ ]
+ },
+ "type": {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../../../packages/core/types/src/notification/common.ts",
+ "qualifiedName": "FilterableNotificationProps"
+ },
+ "name": "FilterableNotificationProps",
+ "package": "@medusajs/types"
+ }
+ },
+ {
+ "id": 98,
+ "name": "config",
+ "variant": "param",
+ "kind": 32768,
+ "flags": {
+ "isOptional": true
+ },
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "The configurations determining how the notifications are retrieved. Its properties, such as "
+ },
+ {
+ "kind": "code",
+ "text": "`select`"
+ },
+ {
+ "kind": "text",
+ "text": " or "
+ },
+ {
+ "kind": "code",
+ "text": "`relations`"
+ },
+ {
+ "kind": "text",
+ "text": ", accept the\nattributes or relations associated with a notification."
+ }
+ ]
+ },
+ "type": {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../../../packages/core/types/src/common/common.ts",
+ "qualifiedName": "FindConfig"
+ },
+ "typeArguments": [
+ {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../../../packages/core/types/src/notification/common.ts",
+ "qualifiedName": "NotificationDTO"
+ },
+ "name": "NotificationDTO",
+ "package": "@medusajs/types"
+ }
+ ],
+ "name": "FindConfig",
+ "package": "@medusajs/types"
+ }
+ },
+ {
+ "id": 99,
+ "name": "sharedContext",
+ "variant": "param",
+ "kind": 32768,
+ "flags": {
+ "isOptional": true
+ },
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "A context used to share resources, such as transaction manager, between the application and the module."
+ }
+ ]
+ },
+ "type": {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../../../packages/core/types/src/shared-context.ts",
+ "qualifiedName": "Context"
+ },
+ "name": "Context",
+ "package": "@medusajs/types"
+ }
+ }
+ ],
+ "type": {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../node_modules/typescript/lib/lib.es5.d.ts",
+ "qualifiedName": "Promise"
+ },
+ "typeArguments": [
+ {
+ "type": "array",
+ "elementType": {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../../../packages/core/types/src/notification/common.ts",
+ "qualifiedName": "NotificationDTO"
+ },
+ "name": "NotificationDTO",
+ "package": "@medusajs/types"
+ }
+ }
+ ],
+ "name": "Promise",
+ "package": "typescript"
+ }
+ }
+ ]
+ },
+ {
+ "id": 100,
+ "name": "listAndCountNotifications",
+ "variant": "declaration",
+ "kind": 2048,
+ "flags": {},
+ "sources": [
+ {
+ "fileName": "notification/service.ts",
+ "line": 194,
+ "character": 2,
+ "url": "https://github.com/medusajs/medusa/blob/cb6249320e7322e8eabfec8434f1278f8d63e96c/packages/core/types/src/notification/service.ts#L194"
+ }
+ ],
+ "signatures": [
+ {
+ "id": 101,
+ "name": "listAndCountNotifications",
+ "variant": "signature",
+ "kind": 4096,
+ "flags": {},
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "This method is used to retrieve a paginated list of notifications along with the total count of available notifications satisfying the provided filters."
+ }
+ ],
+ "blockTags": [
+ {
+ "tag": "@returns",
+ "content": [
+ {
+ "kind": "text",
+ "text": "The list of notifications along with the total count."
+ }
+ ]
+ },
+ {
+ "tag": "@example",
+ "content": [
+ {
+ "kind": "text",
+ "text": "To retrieve a list of notifications using their IDs:\n\n"
+ },
+ {
+ "kind": "code",
+ "text": "```ts\nconst [notifications, count] =\n await notificationModuleService.listAndCountNotifications({\n id: [\"noti_123\", \"noti_321\"],\n })\n```"
+ },
+ {
+ "kind": "text",
+ "text": "\n\nTo specify relations that should be retrieved within the notifications:\n\n"
+ },
+ {
+ "kind": "code",
+ "text": "```ts\nconst [notifications, count] =\n await notificationModuleService.listAndCountNotifications(\n {\n id: [\"noti_123\", \"noti_321\"],\n },\n {\n relations: [\"provider\"],\n }\n )\n```"
+ },
+ {
+ "kind": "text",
+ "text": "\n\nBy default, only the first "
+ },
+ {
+ "kind": "code",
+ "text": "`15`"
+ },
+ {
+ "kind": "text",
+ "text": " records are retrieved. You can control pagination by specifying the "
+ },
+ {
+ "kind": "code",
+ "text": "`skip`"
+ },
+ {
+ "kind": "text",
+ "text": " and "
+ },
+ {
+ "kind": "code",
+ "text": "`take`"
+ },
+ {
+ "kind": "text",
+ "text": " properties of the "
+ },
+ {
+ "kind": "code",
+ "text": "`config`"
+ },
+ {
+ "kind": "text",
+ "text": " parameter:\n\n"
+ },
+ {
+ "kind": "code",
+ "text": "```ts\nconst [notifications, count] =\n await notificationModuleService.listAndCountNotifications(\n {\n id: [\"noti_123\", \"noti_321\"],\n },\n {\n relations: [\"provider\"],\n take: 20,\n skip: 2,\n }\n )\n```"
+ }
+ ]
+ }
+ ]
+ },
+ "sources": [
+ {
+ "fileName": "notification/service.ts",
+ "line": 194,
+ "character": 2,
+ "url": "https://github.com/medusajs/medusa/blob/cb6249320e7322e8eabfec8434f1278f8d63e96c/packages/core/types/src/notification/service.ts#L194"
+ }
+ ],
+ "parameters": [
+ {
+ "id": 102,
+ "name": "filters",
+ "variant": "param",
+ "kind": 32768,
+ "flags": {
+ "isOptional": true
+ },
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "The filters to apply on the retrieved notifications."
+ }
+ ]
+ },
+ "type": {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../../../packages/core/types/src/notification/common.ts",
+ "qualifiedName": "FilterableNotificationProps"
+ },
+ "name": "FilterableNotificationProps",
+ "package": "@medusajs/types"
+ }
+ },
+ {
+ "id": 103,
+ "name": "config",
+ "variant": "param",
+ "kind": 32768,
+ "flags": {
+ "isOptional": true
+ },
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "The configurations determining how the notifications are retrieved. Its properties, such as "
+ },
+ {
+ "kind": "code",
+ "text": "`select`"
+ },
+ {
+ "kind": "text",
+ "text": " or "
+ },
+ {
+ "kind": "code",
+ "text": "`relations`"
+ },
+ {
+ "kind": "text",
+ "text": ", accept the\nattributes or relations associated with a notification."
+ }
+ ]
+ },
+ "type": {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../../../packages/core/types/src/common/common.ts",
+ "qualifiedName": "FindConfig"
+ },
+ "typeArguments": [
+ {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../../../packages/core/types/src/notification/common.ts",
+ "qualifiedName": "NotificationDTO"
+ },
+ "name": "NotificationDTO",
+ "package": "@medusajs/types"
+ }
+ ],
+ "name": "FindConfig",
+ "package": "@medusajs/types"
+ }
+ },
+ {
+ "id": 104,
+ "name": "sharedContext",
+ "variant": "param",
+ "kind": 32768,
+ "flags": {
+ "isOptional": true
+ },
+ "comment": {
+ "summary": [
+ {
+ "kind": "text",
+ "text": "A context used to share resources, such as transaction manager, between the application and the module."
+ }
+ ]
+ },
+ "type": {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../../../packages/core/types/src/shared-context.ts",
+ "qualifiedName": "Context"
+ },
+ "name": "Context",
+ "package": "@medusajs/types"
+ }
+ }
+ ],
+ "type": {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../node_modules/typescript/lib/lib.es5.d.ts",
+ "qualifiedName": "Promise"
+ },
+ "typeArguments": [
+ {
+ "type": "tuple",
+ "elements": [
+ {
+ "type": "array",
+ "elementType": {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../../../packages/core/types/src/notification/common.ts",
+ "qualifiedName": "NotificationDTO"
+ },
+ "name": "NotificationDTO",
+ "package": "@medusajs/types"
+ }
+ },
+ {
+ "type": "intrinsic",
+ "name": "number"
+ }
+ ]
+ }
+ ],
+ "name": "Promise",
+ "package": "typescript"
+ }
+ }
+ ]
+ }
+ ],
+ "groups": [
+ {
+ "title": "Methods",
+ "children": [
+ 83,
+ 90,
+ 95,
+ 100
+ ]
+ }
+ ],
+ "sources": [
+ {
+ "fileName": "notification/service.ts",
+ "line": 10,
+ "character": 17,
+ "url": "https://github.com/medusajs/medusa/blob/cb6249320e7322e8eabfec8434f1278f8d63e96c/packages/core/types/src/notification/service.ts#L10"
+ }
+ ],
+ "extendedTypes": [
+ {
+ "type": "reference",
+ "target": {
+ "sourceFileName": "../../../../packages/core/types/src/modules-sdk/index.ts",
+ "qualifiedName": "IModuleService"
+ },
+ "name": "IModuleService",
+ "package": "@medusajs/types"
+ }
+ ]
+ }
+ ],
+ "groups": [
+ {
+ "title": "Interfaces",
+ "children": [
+ 82
+ ]
+ }
+ ],
+ "packageName": "@medusajs/types",
+ "symbolIdMap": {
+ "81": {
+ "sourceFileName": "../../../../packages/core/types/src/notification/service.ts",
+ "qualifiedName": ""
+ },
+ "82": {
+ "sourceFileName": "../../../../packages/core/types/src/notification/service.ts",
+ "qualifiedName": "INotificationModuleService"
+ },
+ "83": {
+ "sourceFileName": "../../../../packages/core/types/src/notification/service.ts",
+ "qualifiedName": "INotificationModuleService.createNotifications"
+ },
+ "84": {
+ "sourceFileName": "../../../../packages/core/types/src/notification/service.ts",
+ "qualifiedName": "INotificationModuleService.createNotifications"
+ },
+ "85": {
+ "sourceFileName": "../../../../packages/core/types/src/notification/service.ts",
+ "qualifiedName": "data"
+ },
+ "86": {
+ "sourceFileName": "../../../../packages/core/types/src/notification/service.ts",
+ "qualifiedName": "sharedContext"
+ },
+ "87": {
+ "sourceFileName": "../../../../packages/core/types/src/notification/service.ts",
+ "qualifiedName": "INotificationModuleService.createNotifications"
+ },
+ "88": {
+ "sourceFileName": "../../../../packages/core/types/src/notification/service.ts",
+ "qualifiedName": "data"
+ },
+ "89": {
+ "sourceFileName": "../../../../packages/core/types/src/notification/service.ts",
+ "qualifiedName": "sharedContext"
+ },
+ "90": {
+ "sourceFileName": "../../../../packages/core/types/src/notification/service.ts",
+ "qualifiedName": "INotificationModuleService.retrieveNotification"
+ },
+ "91": {
+ "sourceFileName": "../../../../packages/core/types/src/notification/service.ts",
+ "qualifiedName": "INotificationModuleService.retrieveNotification"
+ },
+ "92": {
+ "sourceFileName": "../../../../packages/core/types/src/notification/service.ts",
+ "qualifiedName": "notificationId"
+ },
+ "93": {
+ "sourceFileName": "../../../../packages/core/types/src/notification/service.ts",
+ "qualifiedName": "config"
+ },
+ "94": {
+ "sourceFileName": "../../../../packages/core/types/src/notification/service.ts",
+ "qualifiedName": "sharedContext"
+ },
+ "95": {
+ "sourceFileName": "../../../../packages/core/types/src/notification/service.ts",
+ "qualifiedName": "INotificationModuleService.listNotifications"
+ },
+ "96": {
+ "sourceFileName": "../../../../packages/core/types/src/notification/service.ts",
+ "qualifiedName": "INotificationModuleService.listNotifications"
+ },
+ "97": {
+ "sourceFileName": "../../../../packages/core/types/src/notification/service.ts",
+ "qualifiedName": "filters"
+ },
+ "98": {
+ "sourceFileName": "../../../../packages/core/types/src/notification/service.ts",
+ "qualifiedName": "config"
+ },
+ "99": {
+ "sourceFileName": "../../../../packages/core/types/src/notification/service.ts",
+ "qualifiedName": "sharedContext"
+ },
+ "100": {
+ "sourceFileName": "../../../../packages/core/types/src/notification/service.ts",
+ "qualifiedName": "INotificationModuleService.listAndCountNotifications"
+ },
+ "101": {
+ "sourceFileName": "../../../../packages/core/types/src/notification/service.ts",
+ "qualifiedName": "INotificationModuleService.listAndCountNotifications"
+ },
+ "102": {
+ "sourceFileName": "../../../../packages/core/types/src/notification/service.ts",
+ "qualifiedName": "filters"
+ },
+ "103": {
+ "sourceFileName": "../../../../packages/core/types/src/notification/service.ts",
+ "qualifiedName": "config"
+ },
+ "104": {
+ "sourceFileName": "../../../../packages/core/types/src/notification/service.ts",
+ "qualifiedName": "sharedContext"
+ }
+ },
+ "files": {
+ "entries": {
+ "1": "../../../../packages/core/types/src/notification/service.ts"
+ },
+ "reflections": {
+ "1": 81
+ }
+ }
+}
diff --git a/www/utils/packages/typedoc-generate-references/src/constants/custom-options.ts b/www/utils/packages/typedoc-generate-references/src/constants/custom-options.ts
index 9bf3f9893c..013ba2edfc 100644
--- a/www/utils/packages/typedoc-generate-references/src/constants/custom-options.ts
+++ b/www/utils/packages/typedoc-generate-references/src/constants/custom-options.ts
@@ -11,6 +11,17 @@ import { modules } from "./references.js"
import { getCoreFlowNamespaces } from "../utils/get-namespaces.js"
const customOptions: Record> = {
+ "auth-provider": getOptions({
+ entryPointPath: "packages/core/utils/src/auth/abstract-auth-provider.ts",
+ tsConfigName: "utils.json",
+ name: "auth-provider",
+ parentIgnore: true,
+ }),
+ cache: getOptions({
+ entryPointPath: "packages/core/types/src/cache/service.ts",
+ tsConfigName: "types.json",
+ name: "cache",
+ }),
"core-flows": getOptions({
entryPointPath: "packages/core/core-flows/src/index.ts",
tsConfigName: "core-flows.json",
@@ -21,17 +32,6 @@ const customOptions: Record> = {
// @ts-expect-error there's a typing issue in typedoc
generatePathNamespaces: getCoreFlowNamespaces(),
}),
- "auth-provider": getOptions({
- entryPointPath: "packages/core/utils/src/auth/abstract-auth-provider.ts",
- tsConfigName: "utils.json",
- name: "auth-provider",
- parentIgnore: true,
- }),
- locking: getOptions({
- entryPointPath: "packages/core/types/src/locking/index.ts",
- tsConfigName: "types.json",
- name: "locking",
- }),
dml: getOptions({
entryPointPath: [
"packages/core/utils/src/dml/entity-builder.ts",
@@ -42,29 +42,28 @@ const customOptions: Record> = {
name: "dml",
generateCustomNamespaces: true,
}),
+ event: getOptions({
+ entryPointPath: "packages/core/types/src/event-bus/event-bus-module.ts",
+ tsConfigName: "types.json",
+ name: "event",
+ }),
file: getOptions({
entryPointPath: "packages/core/utils/src/file/abstract-file-provider.ts",
tsConfigName: "utils.json",
name: "file",
parentIgnore: true,
}),
+ "file-service": getOptions({
+ entryPointPath: "packages/core/types/src/file/service.ts",
+ tsConfigName: "types.json",
+ name: "file-service",
+ }),
"fulfillment-provider": getOptions({
entryPointPath: "packages/core/utils/src/fulfillment/provider.ts",
tsConfigName: "utils.json",
name: "fulfillment-provider",
parentIgnore: true,
}),
- "js-sdk": getOptions({
- entryPointPath: [
- "packages/core/js-sdk/src/admin/index.ts",
- "packages/core/js-sdk/src/auth/index.ts",
- "packages/core/js-sdk/src/store/index.ts",
- ],
- tsConfigName: "js-sdk.json",
- name: "js-sdk",
- enableInternalResolve: true,
- exclude: [...(baseOptions.exclude || []), "**/dist/**"],
- }),
"helper-steps": getOptions({
entryPointPath: "packages/core/core-flows/src/common/index.ts",
tsConfigName: "core-flows.json",
@@ -77,6 +76,22 @@ const customOptions: Record> = {
),
],
}),
+ "js-sdk": getOptions({
+ entryPointPath: [
+ "packages/core/js-sdk/src/admin/index.ts",
+ "packages/core/js-sdk/src/auth/index.ts",
+ "packages/core/js-sdk/src/store/index.ts",
+ ],
+ tsConfigName: "js-sdk.json",
+ name: "js-sdk",
+ enableInternalResolve: true,
+ exclude: [...(baseOptions.exclude || []), "**/dist/**"],
+ }),
+ locking: getOptions({
+ entryPointPath: "packages/core/types/src/locking/index.ts",
+ tsConfigName: "types.json",
+ name: "locking",
+ }),
medusa: getOptions({
entryPointPath: "packages/medusa/src/index.ts",
tsConfigName: "medusa.json",
@@ -104,6 +119,11 @@ const customOptions: Record> = {
"**/modules-config.ts",
],
}),
+ "modules-sdk": getOptions({
+ entryPointPath: "packages/core/modules-sdk/src/index.ts",
+ tsConfigName: "modules-sdk.json",
+ name: "modules-sdk",
+ }),
notification: getOptions({
entryPointPath:
"packages/core/utils/src/notification/abstract-notification-provider.ts",
@@ -111,6 +131,11 @@ const customOptions: Record> = {
name: "notification",
parentIgnore: true,
}),
+ "notification-service": getOptions({
+ entryPointPath: "packages/core/types/src/notification/service.ts",
+ tsConfigName: "types.json",
+ name: "notification-service",
+ }),
"payment-provider": getOptions({
entryPointPath:
"packages/core/utils/src/payment/abstract-payment-provider.ts",
@@ -143,11 +168,6 @@ const customOptions: Record> = {
),
],
}),
- "modules-sdk": getOptions({
- entryPointPath: "packages/core/modules-sdk/src/index.ts",
- tsConfigName: "modules-sdk.json",
- name: "modules-sdk",
- }),
utils: getOptions({
entryPointPath: "packages/core/utils/src/index.ts",
tsConfigName: "utils.json",
diff --git a/www/utils/packages/typedoc-generate-references/src/constants/merger-custom-options/cache.ts b/www/utils/packages/typedoc-generate-references/src/constants/merger-custom-options/cache.ts
new file mode 100644
index 0000000000..fba14d8678
--- /dev/null
+++ b/www/utils/packages/typedoc-generate-references/src/constants/merger-custom-options/cache.ts
@@ -0,0 +1,49 @@
+import { FormattingOptionsType } from "types"
+
+const cacheOptions: FormattingOptionsType = {
+ "^cache/.*ICacheService": {
+ reflectionGroups: {
+ Constructors: false,
+ },
+ reflectionDescription: `In this document, you’ll learn about the different methods in the Cache Module's service and how to use them.`,
+ frontmatterData: {
+ slug: "/references/cache-service",
+ tags: ["cache", "server", "how to"],
+ sidebar_label: "Use Cache Module",
+ },
+ reflectionTitle: {
+ fullReplacement: "How to Use Cache Module",
+ },
+ expandMembers: true,
+ startSections: [
+ `## Resolve Cache Module's Service
+
+In your workflow's step, you can resolve the Cache Module's service from the Medusa container:
+
+\`\`\`ts
+import { Modules } from "@medusajs/framework/utils"
+import { createStep } from "@medusajs/framework/workflows-sdk"
+
+const step1 = createStep(
+ "step-1",
+ async ({}, { container }) => {
+ const cacheModuleService = container.resolve(
+ Modules.CACHE
+ )
+
+ // TODO use cacheModuleService
+ }
+)
+\`\`\`
+
+This will resolve the service of the configured Cache Module, which is the [In-Memory Cache Module](https://docs.medusajs.com/resources/architectural-modules/cache/in-memory) by default.
+
+You can then use the Cache Module's service's methods in the step. The rest of this guide details these methods.
+
+---
+`,
+ ],
+ },
+}
+
+export default cacheOptions
diff --git a/www/utils/packages/typedoc-generate-references/src/constants/merger-custom-options/event.ts b/www/utils/packages/typedoc-generate-references/src/constants/merger-custom-options/event.ts
new file mode 100644
index 0000000000..4b0c09e5fb
--- /dev/null
+++ b/www/utils/packages/typedoc-generate-references/src/constants/merger-custom-options/event.ts
@@ -0,0 +1,49 @@
+import { FormattingOptionsType } from "types"
+
+const eventOptions: FormattingOptionsType = {
+ "^event/.*IEventBusModuleService": {
+ reflectionGroups: {
+ Constructors: false,
+ },
+ reflectionDescription: `In this document, you’ll learn about the different methods in the Event Module's service and how to use them.`,
+ frontmatterData: {
+ slug: "/references/event-service",
+ tags: ["event", "server", "how to"],
+ sidebar_label: "Use Event Module",
+ },
+ reflectionTitle: {
+ fullReplacement: "How to Use Event Module",
+ },
+ expandMembers: true,
+ startSections: [
+ `## Resolve Event Module's Service
+
+In your workflow's step, you can resolve the Event Module's service from the Medusa container:
+
+\`\`\`ts
+import { Modules } from "@medusajs/framework/utils"
+import { createStep } from "@medusajs/framework/workflows-sdk"
+
+const step1 = createStep(
+ "step-1",
+ async ({}, { container }) => {
+ const eventModuleService = container.resolve(
+ Modules.EVENT
+ )
+
+ // TODO use eventModuleService
+ }
+)
+\`\`\`
+
+This will resolve the service of the configured Event Module, which is the [Local Event Module](https://docs.medusajs.com/resources/architectural-modules/event/local) by default.
+
+You can then use the Event Module's service's methods in the step. The rest of this guide details these methods.
+
+---
+`,
+ ],
+ },
+}
+
+export default eventOptions
diff --git a/www/utils/packages/typedoc-generate-references/src/constants/merger-custom-options/file-service.ts b/www/utils/packages/typedoc-generate-references/src/constants/merger-custom-options/file-service.ts
new file mode 100644
index 0000000000..8988cbde14
--- /dev/null
+++ b/www/utils/packages/typedoc-generate-references/src/constants/merger-custom-options/file-service.ts
@@ -0,0 +1,47 @@
+import { FormattingOptionsType } from "types"
+
+const fileServiceOptions: FormattingOptionsType = {
+ "^file_service/.*IFileModuleService": {
+ reflectionGroups: {
+ Constructors: false,
+ },
+ reflectionDescription: `In this document, you’ll learn about the different methods in the File Module's service and how to use them.`,
+ frontmatterData: {
+ slug: "/references/file-service",
+ tags: ["file", "server", "how to"],
+ sidebar_label: "Use File Module",
+ },
+ reflectionTitle: {
+ fullReplacement: "How to Use File Module",
+ },
+ expandMembers: true,
+ startSections: [
+ `## Resolve File Module's Service
+
+In your workflow's step, you can resolve the File Module's service from the Medusa container:
+
+\`\`\`ts
+import { Modules } from "@medusajs/framework/utils"
+import { createStep } from "@medusajs/framework/workflows-sdk"
+
+const step1 = createStep(
+ "step-1",
+ async ({}, { container }) => {
+ const fileModuleService = container.resolve(
+ Modules.FILE
+ )
+
+ // TODO use fileModuleService
+ }
+)
+\`\`\`
+
+You can then use the File Module's service's methods in the step. The rest of this guide details these methods.
+
+---
+`,
+ ],
+ },
+}
+
+export default fileServiceOptions
diff --git a/www/utils/packages/typedoc-generate-references/src/constants/merger-custom-options/index.ts b/www/utils/packages/typedoc-generate-references/src/constants/merger-custom-options/index.ts
index 52fd7a12c0..03d23c7938 100644
--- a/www/utils/packages/typedoc-generate-references/src/constants/merger-custom-options/index.ts
+++ b/www/utils/packages/typedoc-generate-references/src/constants/merger-custom-options/index.ts
@@ -14,11 +14,18 @@ import dmlOptions from "./dml.js"
import coreFlowsOptions from "./core-flows.js"
import jsSdkOptions from "./js-sdk.js"
import lockingOptions from "./locking.js"
+import cacheOptions from "./cache.js"
+import eventOptions from "./event.js"
+import fileServiceOptions from "./file-service.js"
+import notificationServiceOptions from "./notification-service.js"
const mergerCustomOptions: FormattingOptionsType = {
...authProviderOptions,
+ ...cacheOptions,
...coreFlowsOptions,
...dmlOptions,
+ ...eventOptions,
+ ...fileServiceOptions,
...fileOptions,
...fulfillmentProviderOptions,
...helperStepsOptions,
@@ -26,6 +33,7 @@ const mergerCustomOptions: FormattingOptionsType = {
...lockingOptions,
...medusaConfigOptions,
...medusaOptions,
+ ...notificationServiceOptions,
...notificationOptions,
...paymentProviderOptions,
...searchOptions,
diff --git a/www/utils/packages/typedoc-generate-references/src/constants/merger-custom-options/notification-service.ts b/www/utils/packages/typedoc-generate-references/src/constants/merger-custom-options/notification-service.ts
new file mode 100644
index 0000000000..95bd0ee5cb
--- /dev/null
+++ b/www/utils/packages/typedoc-generate-references/src/constants/merger-custom-options/notification-service.ts
@@ -0,0 +1,47 @@
+import { FormattingOptionsType } from "types"
+
+const notificationServiceOptions: FormattingOptionsType = {
+ "^notification_service/.*INotificationModuleService": {
+ reflectionGroups: {
+ Constructors: false,
+ },
+ reflectionDescription: `In this document, you’ll learn about the different methods in the Notification Module's service and how to use them.`,
+ frontmatterData: {
+ slug: "/references/notification-service",
+ tags: ["notification", "server", "how to"],
+ sidebar_label: "Use Notification Module",
+ },
+ reflectionTitle: {
+ fullReplacement: "How to Use Notification Module",
+ },
+ expandMembers: true,
+ startSections: [
+ `## Resolve Notification Module's Service
+
+In your workflow's step, you can resolve the Notification Module's service from the Medusa container:
+
+\`\`\`ts
+import { Modules } from "@medusajs/framework/utils"
+import { createStep } from "@medusajs/framework/workflows-sdk"
+
+const step1 = createStep(
+ "step-1",
+ async ({}, { container }) => {
+ const notificationModuleService = container.resolve(
+ Modules.NOTIFICATION
+ )
+
+ // TODO use notificationModuleService
+ }
+)
+\`\`\`
+
+You can then use the Notification Module's service's methods in the step. The rest of this guide details these methods.
+
+---
+`,
+ ],
+ },
+}
+
+export default notificationServiceOptions
diff --git a/www/utils/packages/typedoc-generate-references/src/constants/references.ts b/www/utils/packages/typedoc-generate-references/src/constants/references.ts
index 2eb0aa4fd6..875fdfacee 100644
--- a/www/utils/packages/typedoc-generate-references/src/constants/references.ts
+++ b/www/utils/packages/typedoc-generate-references/src/constants/references.ts
@@ -39,6 +39,10 @@ const allReferences = [
"utils",
"workflows",
"locking",
+ "cache",
+ "event",
+ "file-service",
+ "notification-service",
]
export default allReferences