feat: Product module events (#7598)

WIP, not ready to review

**what**
- add events
- integration tests of emitted events
- remove integration tests on auto generated services in favor of module method integration tests
This commit is contained in:
Adrien de Peretti
2024-06-06 11:47:38 +00:00
committed by GitHub
parent c3b6fc1d8e
commit 3fbb8aa671
20 changed files with 292 additions and 1756 deletions
@@ -0,0 +1,102 @@
import {
CommonEvents,
eventBuilderFactory,
Modules,
ProductEvents,
} from "@medusajs/utils"
export const eventBuilders = {
createdProduct: eventBuilderFactory({
service: Modules.PRODUCT,
action: CommonEvents.CREATED,
object: "product",
eventsEnum: ProductEvents,
isMainEntity: true,
}),
updatedProduct: eventBuilderFactory({
service: Modules.PRODUCT,
action: CommonEvents.UPDATED,
object: "product",
eventsEnum: ProductEvents,
isMainEntity: true,
}),
deletedProduct: eventBuilderFactory({
service: Modules.PRODUCT,
action: CommonEvents.DELETED,
object: "product",
eventsEnum: ProductEvents,
isMainEntity: true,
}),
createdProductVariant: eventBuilderFactory({
service: Modules.PRODUCT,
action: CommonEvents.CREATED,
object: "product_variant",
eventsEnum: ProductEvents,
}),
updatedProductVariant: eventBuilderFactory({
service: Modules.PRODUCT,
action: CommonEvents.UPDATED,
object: "product_variant",
eventsEnum: ProductEvents,
}),
deletedProductVariant: eventBuilderFactory({
service: Modules.PRODUCT,
action: CommonEvents.DELETED,
object: "product_variant",
eventsEnum: ProductEvents,
}),
createdProductOption: eventBuilderFactory({
service: Modules.PRODUCT,
action: CommonEvents.CREATED,
object: "product_option",
eventsEnum: ProductEvents,
}),
updatedProductOption: eventBuilderFactory({
service: Modules.PRODUCT,
action: CommonEvents.UPDATED,
object: "product_option",
eventsEnum: ProductEvents,
}),
deletedProductOption: eventBuilderFactory({
service: Modules.PRODUCT,
action: CommonEvents.DELETED,
object: "product_option",
eventsEnum: ProductEvents,
}),
createdProductType: eventBuilderFactory({
service: Modules.PRODUCT,
action: CommonEvents.CREATED,
object: "product_type",
eventsEnum: ProductEvents,
}),
updatedProductType: eventBuilderFactory({
service: Modules.PRODUCT,
action: CommonEvents.UPDATED,
object: "product_type",
eventsEnum: ProductEvents,
}),
deletedProductType: eventBuilderFactory({
service: Modules.PRODUCT,
action: CommonEvents.DELETED,
object: "product_type",
eventsEnum: ProductEvents,
}),
createdProductTag: eventBuilderFactory({
service: Modules.PRODUCT,
action: CommonEvents.CREATED,
object: "product_tag",
eventsEnum: ProductEvents,
}),
updatedProductTag: eventBuilderFactory({
service: Modules.PRODUCT,
action: CommonEvents.UPDATED,
object: "product_tag",
eventsEnum: ProductEvents,
}),
deletedProductTag: eventBuilderFactory({
service: Modules.PRODUCT,
action: CommonEvents.DELETED,
object: "product_tag",
eventsEnum: ProductEvents,
}),
}
@@ -0,0 +1 @@
export * from "./events"