This PR includes documentation that preps for v2 docs (but doesn't introduce new docs). _Note: The number of file changes in the PR is due to find-and-replace within the `references` which is unavoidable. Let me know if I should move it to another PR._ ## Changes - Change Medusa version in base OAS used for v2. - Fix to docblock generator related to not catching all path parameters. - Added typedoc plugin that generates ER Diagrams, which will be used specifically for data model references in commerce modules. - Changed OAS tool to output references in `www/apps/api-reference/specs-v2` directory when the `--v2` option is used. - Added a version switcher to the API reference to switch between V1 and V2. This switcher is enabled by an environment variable, so it won't be visible/usable at the moment. - Upgraded docusaurus to v3.0.1 - Added new Vale rules to ensure correct spelling of Medusa Admin and module names. - Added new components to the `docs-ui` package that will be used in future documentation changes.
181 lines
11 KiB
Plaintext
181 lines
11 KiB
Plaintext
---
|
|
displayed_sidebar: servicesSidebar
|
|
---
|
|
|
|
import TypeList from "@site/src/components/TypeList"
|
|
|
|
# EventBusService
|
|
|
|
Can keep track of multiple subscribers to different events and run the
|
|
subscribers when events happen. Events will run asynchronously.
|
|
|
|
## constructor
|
|
|
|
### Parameters
|
|
|
|
<TypeList types={[{"name":"__namedParameters","type":"`InjectedDependencies`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"config","type":"[ConfigModule](../../medusa/interfaces/medusa.ConfigModule-1.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"isSingleton","type":"`boolean`","description":"","optional":false,"defaultValue":"true","expandable":false,"children":[]}]} sectionTitle="new EventBusService"/>
|
|
|
|
___
|
|
|
|
## Properties
|
|
|
|
<TypeList types={[{"name":"manager_","type":"`EntityManager`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"transactionManager_","type":"`undefined` \\| `EntityManager`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"__container__","type":"`any`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"config_","type":"[ConfigModule](../../medusa/interfaces/medusa.ConfigModule-1.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"stagedJobService_","type":"[StagedJobService](services.StagedJobService.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"logger_","type":"[Logger](../../medusa/interfaces/medusa.Logger-1.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"shouldEnqueuerRun","type":"`boolean`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"enqueue_","type":"Promise<void>","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"__configModule__","type":"`Record<string, unknown>`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"__moduleDeclaration__","type":"`Record<string, unknown>`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]} sectionTitle="EventBusService"/>
|
|
|
|
___
|
|
|
|
## Accessors
|
|
|
|
### activeManager\_
|
|
|
|
#### Returns
|
|
|
|
<TypeList types={[{"name":"EntityManager","type":"`EntityManager`","optional":false,"defaultValue":"","description":"","expandable":false,"children":[]}]} sectionTitle="activeManager_"/>
|
|
|
|
### eventBusModuleService\_
|
|
|
|
#### Returns
|
|
|
|
<TypeList types={[{"name":"IEventBusModuleService","type":"`object`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]} sectionTitle="eventBusModuleService_"/>
|
|
|
|
___
|
|
|
|
## Methods
|
|
|
|
### shouldRetryTransaction\_
|
|
|
|
#### Parameters
|
|
|
|
<TypeList types={[{"name":"err","type":"`Record<string, unknown>` \\| `object`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]} sectionTitle="shouldRetryTransaction_"/>
|
|
|
|
#### Returns
|
|
|
|
<TypeList types={[{"name":"boolean","type":"`boolean`","optional":false,"defaultValue":"","description":"","expandable":false,"children":[]}]} sectionTitle="shouldRetryTransaction_"/>
|
|
|
|
### atomicPhase\_
|
|
|
|
Wraps some work within a transactional block. If the service already has
|
|
a transaction manager attached this will be reused, otherwise a new
|
|
transaction manager is created.
|
|
|
|
#### Type Parameters
|
|
|
|
<TypeList types={[{"name":"TResult","type":"`object`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"TError","type":"`object`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]} sectionTitle="atomicPhase_"/>
|
|
|
|
#### Parameters
|
|
|
|
<TypeList types={[{"name":"work","type":"(`transactionManager`: `EntityManager`) => Promise<TResult>","description":"the transactional work to be done","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"isolationOrErrorHandler","type":"`IsolationLevel` \\| (`error`: TError) => Promise<void \\| TResult>","description":"the isolation level to be used for the work.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"maybeErrorHandlerOrDontFail","type":"(`error`: TError) => Promise<void \\| TResult>","description":"Potential error handler","optional":true,"defaultValue":"","expandable":false,"children":[]}]} sectionTitle="atomicPhase_"/>
|
|
|
|
#### Returns
|
|
|
|
<TypeList types={[{"name":"Promise","type":"Promise<TResult>","optional":false,"defaultValue":"","description":"the result of the transactional work","expandable":false,"children":[]}]} sectionTitle="atomicPhase_"/>
|
|
|
|
### withTransaction
|
|
|
|
#### Parameters
|
|
|
|
<TypeList types={[{"name":"transactionManager","type":"`EntityManager`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]} sectionTitle="withTransaction"/>
|
|
|
|
#### Returns
|
|
|
|
<TypeList types={[{"name":"this","type":"`this`","optional":false,"defaultValue":"","description":"","expandable":false,"children":[]}]} sectionTitle="withTransaction"/>
|
|
|
|
### subscribe
|
|
|
|
Adds a function to a list of event subscribers.
|
|
|
|
#### Parameters
|
|
|
|
<TypeList types={[{"name":"event","type":"`string` \\| `symbol`","description":"the event that the subscriber will listen for.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"subscriber","type":"[Subscriber](../../types/EventBusTypes/types/types.EventBusTypes.Subscriber.mdx)<unknown>","description":"the function to be called when a certain event\nhappens. Subscribers must return a Promise.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"context","type":"[SubscriberContext](../../types/EventBusTypes/types/types.EventBusTypes.SubscriberContext.mdx)","description":"subscriber context","optional":true,"defaultValue":"","expandable":false,"children":[]}]} sectionTitle="subscribe"/>
|
|
|
|
#### Returns
|
|
|
|
<TypeList types={[{"name":"this","type":"`this`","optional":false,"defaultValue":"","description":"this","expandable":false,"children":[]}]} sectionTitle="subscribe"/>
|
|
|
|
### unsubscribe
|
|
|
|
Removes function from the list of event subscribers.
|
|
|
|
#### Parameters
|
|
|
|
<TypeList types={[{"name":"event","type":"`string` \\| `symbol`","description":"the event of the subcriber.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"subscriber","type":"[Subscriber](../../types/EventBusTypes/types/types.EventBusTypes.Subscriber.mdx)<unknown>","description":"the function to be removed","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"context","type":"[SubscriberContext](../../types/EventBusTypes/types/types.EventBusTypes.SubscriberContext.mdx)","description":"subscriber context","optional":false,"defaultValue":"","expandable":false,"children":[]}]} sectionTitle="unsubscribe"/>
|
|
|
|
#### Returns
|
|
|
|
<TypeList types={[{"name":"this","type":"`this`","optional":false,"defaultValue":"","description":"this","expandable":false,"children":[]}]} sectionTitle="unsubscribe"/>
|
|
|
|
### emit
|
|
|
|
`**emit**<TypeParameter T>(data): Promise<void \| [StagedJob](../../entities/classes/entities.StagedJob.mdx)[]>`
|
|
|
|
Calls all subscribers when an event occurs.
|
|
|
|
#### Type Parameters
|
|
|
|
<TypeList types={[{"name":"T","type":"`object`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]} sectionTitle="emit"/>
|
|
|
|
#### Parameters
|
|
|
|
<TypeList types={[{"name":"data","type":"[EmitData](../../types/EventBusTypes/types/types.EventBusTypes.EmitData.mdx)<T>[]","description":"The data to use to process the events","optional":false,"defaultValue":"","expandable":false,"children":[]}]} sectionTitle="emit"/>
|
|
|
|
#### Returns
|
|
|
|
<TypeList types={[{"name":"Promise","type":"Promise<void \\| [StagedJob](../../entities/classes/entities.StagedJob.mdx)[]>","optional":false,"defaultValue":"","description":"the jobs from our queue","expandable":false,"children":[]}]} sectionTitle="emit"/>
|
|
|
|
`**emit**<TypeParameter T>(data): Promise<void \| [StagedJob](../../entities/classes/entities.StagedJob.mdx)[]>`
|
|
|
|
#### Type Parameters
|
|
|
|
<TypeList types={[{"name":"T","type":"`object`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]} sectionTitle="emit"/>
|
|
|
|
#### Parameters
|
|
|
|
<TypeList types={[{"name":"data","type":"[Message](../../types/EventBusTypes/types/types.EventBusTypes.Message.mdx)<T>[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]} sectionTitle="emit"/>
|
|
|
|
#### Returns
|
|
|
|
<TypeList types={[{"name":"Promise","type":"Promise<void \\| [StagedJob](../../entities/classes/entities.StagedJob.mdx)[]>","optional":false,"defaultValue":"","description":"","expandable":false,"children":[]}]} sectionTitle="emit"/>
|
|
|
|
`**emit**<TypeParameter T>(eventName, data, options?): Promise<void \| [StagedJob](../../entities/classes/entities.StagedJob.mdx)>`
|
|
|
|
Calls all subscribers when an event occurs.
|
|
|
|
#### Type Parameters
|
|
|
|
<TypeList types={[{"name":"T","type":"`object`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]} sectionTitle="emit"/>
|
|
|
|
#### Parameters
|
|
|
|
<TypeList types={[{"name":"eventName","type":"`string`","description":"the name of the event to be process.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"data","type":"T","description":"the data to send to the subscriber.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record<string, unknown>`","description":"options to add the job with","optional":true,"defaultValue":"","expandable":false,"children":[]}]} sectionTitle="emit"/>
|
|
|
|
#### Returns
|
|
|
|
<TypeList types={[{"name":"Promise","type":"Promise<void \\| [StagedJob](../../entities/classes/entities.StagedJob.mdx)>","optional":false,"defaultValue":"","description":"the job from our queue","expandable":false,"children":[]}]} sectionTitle="emit"/>
|
|
|
|
### startEnqueuer
|
|
|
|
#### Returns
|
|
|
|
<TypeList types={[{"name":"void","type":"`void`","optional":false,"defaultValue":"","description":"","expandable":false,"children":[]}]} sectionTitle="startEnqueuer"/>
|
|
|
|
### stopEnqueuer
|
|
|
|
#### Returns
|
|
|
|
<TypeList types={[{"name":"Promise","type":"Promise<void>","optional":false,"defaultValue":"","description":"","expandable":false,"children":[]}]} sectionTitle="stopEnqueuer"/>
|
|
|
|
### enqueuer\_
|
|
|
|
#### Returns
|
|
|
|
<TypeList types={[{"name":"Promise","type":"Promise<void>","optional":false,"defaultValue":"","description":"","expandable":false,"children":[]}]} sectionTitle="enqueuer_"/>
|
|
|
|
### listJobs
|
|
|
|
#### Parameters
|
|
|
|
<TypeList types={[{"name":"listConfig","type":"[FindConfig](../../medusa/interfaces/medusa.FindConfig.mdx)<[StagedJob](../../entities/classes/entities.StagedJob.mdx)>","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]} sectionTitle="listJobs"/>
|
|
|
|
#### Returns
|
|
|
|
<TypeList types={[{"name":"Promise","type":"Promise<never[] \\| [StagedJob](../../entities/classes/entities.StagedJob.mdx)[]>","optional":false,"defaultValue":"","description":"","expandable":false,"children":[]}]} sectionTitle="listJobs"/>
|