chore(): Handle medusa service base methods events (#9179)

* chore(): Handle medusa service base methods events

* cleanup

* cleanup

* fix import

* fix decorator order

* fixes

* apply default event emition

* fix binding

* fix binding

* align tests with new event emition
This commit is contained in:
Adrien de Peretti authored and GitHub committed 2024-09-18 17:57:00 +02:00
1 parent 81d3ae01c7
commit a734184538
13 files changed
+290 -116

No files matched your search

@@ -10,157 +10,157 @@ import {
import { Context } from "@medusajs/types"
import {
CommonEvents,
eventBuilderFactory,
FulfillmentEvents,
moduleEventBuilderFactory,
Modules,
} from "@medusajs/utils"
export const eventBuilders = {
createdFulfillment: eventBuilderFactory({
createdFulfillment: moduleEventBuilderFactory({
source: Modules.FULFILLMENT,
action: CommonEvents.CREATED,
object: "fulfillment",
eventsEnum: FulfillmentEvents,
}),
updatedFulfillment: eventBuilderFactory({
updatedFulfillment: moduleEventBuilderFactory({
source: Modules.FULFILLMENT,
action: CommonEvents.UPDATED,
object: "fulfillment",
eventsEnum: FulfillmentEvents,
}),
createdFulfillmentAddress: eventBuilderFactory({
createdFulfillmentAddress: moduleEventBuilderFactory({
source: Modules.FULFILLMENT,
action: CommonEvents.CREATED,
object: "fulfillment_address",
eventsEnum: FulfillmentEvents,
}),
createdFulfillmentItem: eventBuilderFactory({
createdFulfillmentItem: moduleEventBuilderFactory({
source: Modules.FULFILLMENT,
action: CommonEvents.CREATED,
object: "fulfillment_item",
eventsEnum: FulfillmentEvents,
}),
createdFulfillmentLabel: eventBuilderFactory({
createdFulfillmentLabel: moduleEventBuilderFactory({
source: Modules.FULFILLMENT,
action: CommonEvents.CREATED,
object: "fulfillment_label",
eventsEnum: FulfillmentEvents,
}),
updatedFulfillmentLabel: eventBuilderFactory({
updatedFulfillmentLabel: moduleEventBuilderFactory({
source: Modules.FULFILLMENT,
action: CommonEvents.UPDATED,
object: "fulfillment_label",
eventsEnum: FulfillmentEvents,
}),
deletedFulfillmentLabel: eventBuilderFactory({
deletedFulfillmentLabel: moduleEventBuilderFactory({
source: Modules.FULFILLMENT,
action: CommonEvents.DELETED,
object: "fulfillment_label",
eventsEnum: FulfillmentEvents,
}),
createdShippingProfile: eventBuilderFactory({
createdShippingProfile: moduleEventBuilderFactory({
source: Modules.FULFILLMENT,
action: CommonEvents.CREATED,
object: "shipping_profile",
eventsEnum: FulfillmentEvents,
}),
createdShippingOptionType: eventBuilderFactory({
createdShippingOptionType: moduleEventBuilderFactory({
source: Modules.FULFILLMENT,
action: CommonEvents.CREATED,
object: "shipping_option_type",
eventsEnum: FulfillmentEvents,
}),
updatedShippingOptionType: eventBuilderFactory({
updatedShippingOptionType: moduleEventBuilderFactory({
source: Modules.FULFILLMENT,
action: CommonEvents.UPDATED,
object: "shipping_option_type",
eventsEnum: FulfillmentEvents,
}),
deletedShippingOptionType: eventBuilderFactory({
deletedShippingOptionType: moduleEventBuilderFactory({
source: Modules.FULFILLMENT,
action: CommonEvents.DELETED,
object: "shipping_option_type",
eventsEnum: FulfillmentEvents,
}),
createdShippingOptionRule: eventBuilderFactory({
createdShippingOptionRule: moduleEventBuilderFactory({
source: Modules.FULFILLMENT,
action: CommonEvents.CREATED,
object: "shipping_option_rule",
eventsEnum: FulfillmentEvents,
}),
updatedShippingOptionRule: eventBuilderFactory({
updatedShippingOptionRule: moduleEventBuilderFactory({
source: Modules.FULFILLMENT,
action: CommonEvents.UPDATED,
object: "shipping_option_rule",
eventsEnum: FulfillmentEvents,
}),
deletedShippingOptionRule: eventBuilderFactory({
deletedShippingOptionRule: moduleEventBuilderFactory({
source: Modules.FULFILLMENT,
action: CommonEvents.DELETED,
object: "shipping_option_rule",
eventsEnum: FulfillmentEvents,
}),
createdShippingOption: eventBuilderFactory({
createdShippingOption: moduleEventBuilderFactory({
source: Modules.FULFILLMENT,
action: CommonEvents.CREATED,
object: "shipping_option",
eventsEnum: FulfillmentEvents,
}),
updatedShippingOption: eventBuilderFactory({
updatedShippingOption: moduleEventBuilderFactory({
source: Modules.FULFILLMENT,
action: CommonEvents.UPDATED,
object: "shipping_option",
eventsEnum: FulfillmentEvents,
}),
createdFulfillmentSet: eventBuilderFactory({
createdFulfillmentSet: moduleEventBuilderFactory({
source: Modules.FULFILLMENT,
action: CommonEvents.CREATED,
object: "fulfillment_set",
eventsEnum: FulfillmentEvents,
}),
updatedFulfillmentSet: eventBuilderFactory({
updatedFulfillmentSet: moduleEventBuilderFactory({
source: Modules.FULFILLMENT,
action: CommonEvents.UPDATED,
object: "fulfillment_set",
eventsEnum: FulfillmentEvents,
}),
deletedFulfillmentSet: eventBuilderFactory({
deletedFulfillmentSet: moduleEventBuilderFactory({
source: Modules.FULFILLMENT,
action: CommonEvents.DELETED,
object: "fulfillment_set",
eventsEnum: FulfillmentEvents,
}),
createdServiceZone: eventBuilderFactory({
createdServiceZone: moduleEventBuilderFactory({
source: Modules.FULFILLMENT,
action: CommonEvents.CREATED,
object: "service_zone",
eventsEnum: FulfillmentEvents,
}),
updatedServiceZone: eventBuilderFactory({
updatedServiceZone: moduleEventBuilderFactory({
source: Modules.FULFILLMENT,
action: CommonEvents.UPDATED,
object: "service_zone",
eventsEnum: FulfillmentEvents,
}),
deletedServiceZone: eventBuilderFactory({
deletedServiceZone: moduleEventBuilderFactory({
source: Modules.FULFILLMENT,
action: CommonEvents.DELETED,
object: "service_zone",
eventsEnum: FulfillmentEvents,
}),
createdGeoZone: eventBuilderFactory({
createdGeoZone: moduleEventBuilderFactory({
source: Modules.FULFILLMENT,
action: CommonEvents.CREATED,
object: "geo_zone",
eventsEnum: FulfillmentEvents,
}),
updatedGeoZone: eventBuilderFactory({
updatedGeoZone: moduleEventBuilderFactory({
source: Modules.FULFILLMENT,
action: CommonEvents.UPDATED,
object: "geo_zone",
eventsEnum: FulfillmentEvents,
}),
deletedGeoZone: eventBuilderFactory({
deletedGeoZone: moduleEventBuilderFactory({
source: Modules.FULFILLMENT,
action: CommonEvents.DELETED,
object: "geo_zone",
@@ -1,12 +1,12 @@
import {
CommonEvents,
eventBuilderFactory,
moduleEventBuilderFactory,
Modules,
NotificationEvents,
} from "@medusajs/utils"
export const eventBuilders = {
createdNotification: eventBuilderFactory({
createdNotification: moduleEventBuilderFactory({
source: Modules.NOTIFICATION,
action: CommonEvents.CREATED,
object: "notification",
+11 -11
View File
@@ -1,66 +1,66 @@
import {
CommonEvents,
eventBuilderFactory,
moduleEventBuilderFactory,
Modules,
PricingEvents,
} from "@medusajs/utils"
export const eventBuilders = {
createdPriceSet: eventBuilderFactory({
createdPriceSet: moduleEventBuilderFactory({
source: Modules.PRICING,
action: CommonEvents.CREATED,
object: "price_set",
eventsEnum: PricingEvents,
}),
createdPrice: eventBuilderFactory({
createdPrice: moduleEventBuilderFactory({
source: Modules.PRICING,
action: CommonEvents.CREATED,
object: "price",
eventsEnum: PricingEvents,
}),
createdPriceRule: eventBuilderFactory({
createdPriceRule: moduleEventBuilderFactory({
source: Modules.PRICING,
action: CommonEvents.CREATED,
object: "price_rule",
eventsEnum: PricingEvents,
}),
createdPriceList: eventBuilderFactory({
createdPriceList: moduleEventBuilderFactory({
source: Modules.PRICING,
action: CommonEvents.CREATED,
object: "price_list",
eventsEnum: PricingEvents,
}),
createdPriceListRule: eventBuilderFactory({
createdPriceListRule: moduleEventBuilderFactory({
source: Modules.PRICING,
action: CommonEvents.CREATED,
object: "price_list_rule",
eventsEnum: PricingEvents,
}),
attachedPriceListRule: eventBuilderFactory({
attachedPriceListRule: moduleEventBuilderFactory({
source: Modules.PRICING,
action: CommonEvents.ATTACHED,
object: "price_list_rule",
eventsEnum: PricingEvents,
}),
updatedPrice: eventBuilderFactory({
updatedPrice: moduleEventBuilderFactory({
source: Modules.PRICING,
action: CommonEvents.UPDATED,
object: "price",
eventsEnum: PricingEvents,
}),
updatedPriceRule: eventBuilderFactory({
updatedPriceRule: moduleEventBuilderFactory({
source: Modules.PRICING,
action: CommonEvents.UPDATED,
object: "price_rule",
eventsEnum: PricingEvents,
}),
deletedPrice: eventBuilderFactory({
deletedPrice: moduleEventBuilderFactory({
source: Modules.PRICING,
action: CommonEvents.DELETED,
object: "price",
eventsEnum: PricingEvents,
}),
deletedPriceRule: eventBuilderFactory({
deletedPriceRule: moduleEventBuilderFactory({
source: Modules.PRICING,
action: CommonEvents.DELETED,
object: "price_rule",
@@ -692,11 +692,11 @@ moduleIntegrationTestRunner<IProductModuleService>({
[
expect.objectContaining({
data: { id: productCategoryOne.id },
name: "product-category.deleted",
name: "Product.product-category.deleted",
metadata: {
action: "",
object: "",
source: "",
action: CommonEvents.DELETED,
object: "product_category",
source: Modules.PRODUCT,
},
}),
],
@@ -1,5 +1,5 @@
import { IProductModuleService } from "@medusajs/types"
import { Modules, ProductStatus } from "@medusajs/utils"
import { CommonEvents, Modules, ProductStatus } from "@medusajs/utils"
import { Product, ProductCollection } from "@models"
import {
MockEventBusService,
@@ -281,12 +281,12 @@ moduleIntegrationTestRunner<IProductModuleService>({
expect(eventBusSpy).toHaveBeenCalledWith(
[
{
name: "product-collection.deleted",
name: "Product.product-collection.deleted",
data: { id: collectionId },
metadata: {
action: "",
object: "",
source: "",
action: CommonEvents.DELETED,
object: "product_collection",
source: Modules.PRODUCT,
},
},
],
+19 -19
View File
@@ -1,114 +1,114 @@
import {
CommonEvents,
eventBuilderFactory,
moduleEventBuilderFactory,
Modules,
ProductEvents,
} from "@medusajs/utils"
export const eventBuilders = {
createdProduct: eventBuilderFactory({
createdProduct: moduleEventBuilderFactory({
source: Modules.PRODUCT,
action: CommonEvents.CREATED,
object: "product",
eventsEnum: ProductEvents,
}),
updatedProduct: eventBuilderFactory({
updatedProduct: moduleEventBuilderFactory({
source: Modules.PRODUCT,
action: CommonEvents.UPDATED,
object: "product",
eventsEnum: ProductEvents,
}),
deletedProduct: eventBuilderFactory({
deletedProduct: moduleEventBuilderFactory({
source: Modules.PRODUCT,
action: CommonEvents.DELETED,
object: "product",
eventsEnum: ProductEvents,
}),
createdProductVariant: eventBuilderFactory({
createdProductVariant: moduleEventBuilderFactory({
source: Modules.PRODUCT,
action: CommonEvents.CREATED,
object: "product_variant",
eventsEnum: ProductEvents,
}),
updatedProductVariant: eventBuilderFactory({
updatedProductVariant: moduleEventBuilderFactory({
source: Modules.PRODUCT,
action: CommonEvents.UPDATED,
object: "product_variant",
eventsEnum: ProductEvents,
}),
deletedProductVariant: eventBuilderFactory({
deletedProductVariant: moduleEventBuilderFactory({
source: Modules.PRODUCT,
action: CommonEvents.DELETED,
object: "product_variant",
eventsEnum: ProductEvents,
}),
createdProductOption: eventBuilderFactory({
createdProductOption: moduleEventBuilderFactory({
source: Modules.PRODUCT,
action: CommonEvents.CREATED,
object: "product_option",
eventsEnum: ProductEvents,
}),
updatedProductOption: eventBuilderFactory({
updatedProductOption: moduleEventBuilderFactory({
source: Modules.PRODUCT,
action: CommonEvents.UPDATED,
object: "product_option",
eventsEnum: ProductEvents,
}),
deletedProductOption: eventBuilderFactory({
deletedProductOption: moduleEventBuilderFactory({
source: Modules.PRODUCT,
action: CommonEvents.DELETED,
object: "product_option",
eventsEnum: ProductEvents,
}),
createdProductType: eventBuilderFactory({
createdProductType: moduleEventBuilderFactory({
source: Modules.PRODUCT,
action: CommonEvents.CREATED,
object: "product_type",
eventsEnum: ProductEvents,
}),
updatedProductType: eventBuilderFactory({
updatedProductType: moduleEventBuilderFactory({
source: Modules.PRODUCT,
action: CommonEvents.UPDATED,
object: "product_type",
eventsEnum: ProductEvents,
}),
deletedProductType: eventBuilderFactory({
deletedProductType: moduleEventBuilderFactory({
source: Modules.PRODUCT,
action: CommonEvents.DELETED,
object: "product_type",
eventsEnum: ProductEvents,
}),
createdProductTag: eventBuilderFactory({
createdProductTag: moduleEventBuilderFactory({
source: Modules.PRODUCT,
action: CommonEvents.CREATED,
object: "product_tag",
eventsEnum: ProductEvents,
}),
updatedProductTag: eventBuilderFactory({
updatedProductTag: moduleEventBuilderFactory({
source: Modules.PRODUCT,
action: CommonEvents.UPDATED,
object: "product_tag",
eventsEnum: ProductEvents,
}),
deletedProductTag: eventBuilderFactory({
deletedProductTag: moduleEventBuilderFactory({
source: Modules.PRODUCT,
action: CommonEvents.DELETED,
object: "product_tag",
eventsEnum: ProductEvents,
}),
createdProductCategory: eventBuilderFactory({
createdProductCategory: moduleEventBuilderFactory({
source: Modules.PRODUCT,
action: CommonEvents.CREATED,
object: "product_category",
eventsEnum: ProductEvents,
}),
updatedProductCategory: eventBuilderFactory({
updatedProductCategory: moduleEventBuilderFactory({
source: Modules.PRODUCT,
action: CommonEvents.UPDATED,
object: "product_category",
eventsEnum: ProductEvents,
}),
deletedProductCategory: eventBuilderFactory({
deletedProductCategory: moduleEventBuilderFactory({
source: Modules.PRODUCT,
action: CommonEvents.DELETED,
object: "product_category",