chore(): Module Internal Events (#13296)

* chore(): Ensure the product module emits all necessary events

* chore(): Ensure the product module emits all necessary events

* Update events tests

* more events and fixes

* more tests and category fixes

* more tests and category fixes

* Add todo

* update updateProduct_ event emitting and adjust test

* Adjust update products implementation to rely on already computed events

* rm unnecessary update variants events

* Fix formatting in changeset for product events

* refactor: Manage event emitting automatically (WIP)

* refactor: Manage event emitting automatically (WIP)

* chore(api-key): Add missing emit events and refactoring

* chore(cart): Add missing emit events and refactoring

* chore(customer): Add missing emit events and refactoring

* chore(fufillment, utils): Add missing emit events and refactoring

* chore(fufillment, utils): Add missing emit events and refactoring

* chore(inventory): Add missing emit events and refactoring

* chore(notification): Add missing emit events and refactoring

* chore(utils): Remove medusa service event handling legacy

* chore(product): Add missing emit events and refactoring

* chore(order): Add missing emit events and refactoring

* chore(payment): Add missing emit events and refactoring

* chore(pricing, util): Add missing emit events and refactoring, fix internal service upsertWithReplace event dispatching

* chore(promotions): Add missing emit events and refactoring

* chore(region): Add missing emit events and refactoring

* chore(sales-channel): Add missing emit events and refactoring

* chore(settings): Add missing emit events and refactoring

* chore(stock-location): Add missing emit events and refactoring

* chore(store): Add missing emit events and refactoring

* chore(taxes): Add missing emit events and refactoring

* chore(user): Add missing emit events and refactoring

* fix unit tests

* rm changeset for regeneration

* Create changeset for Medusa.js patch updates

Add a changeset for patch updates to multiple Medusa.js modules.

* rm unused product event builders

* address feedback

* remove old changeset

* fix event action for token generated

* fix user module events

* fix import

* fix promotion events

* add new module integration tests shard

* fix medusa service

* revert shard

* fix event action

* fix pipeline

* fix pipeline

---------

Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
This commit is contained in:
Adrien de Peretti
2025-09-10 14:37:38 +02:00
committed by GitHub
parent afe21741c4
commit e8822f3e69
55 changed files with 3614 additions and 2353 deletions

View File

@@ -18,6 +18,7 @@ import {
CampaignBudgetType,
ComputedActions,
deduplicate,
EmitEvents,
InjectManager,
InjectTransactionManager,
isDefined,
@@ -193,6 +194,7 @@ export default class PromotionModuleService
}
@InjectTransactionManager()
@EmitEvents()
async registerUsage(
computedActions: PromotionTypes.UsageComputedActions[],
@MedusaContext() sharedContext: Context = {}
@@ -306,6 +308,7 @@ export default class PromotionModuleService
}
@InjectTransactionManager()
@EmitEvents()
async revertUsage(
computedActions: PromotionTypes.UsageComputedActions[],
@MedusaContext() sharedContext: Context = {}
@@ -625,6 +628,7 @@ export default class PromotionModuleService
): Promise<PromotionTypes.PromotionDTO[]>
@InjectManager()
@EmitEvents()
// @ts-expect-error
async createPromotions(
data:
@@ -1041,6 +1045,7 @@ export default class PromotionModuleService
}
@InjectManager()
@EmitEvents()
// @ts-ignore
async updatePromotionRules(
data: PromotionTypes.UpdatePromotionRuleDTO[],
@@ -1149,6 +1154,7 @@ export default class PromotionModuleService
}
@InjectManager()
@EmitEvents()
async addPromotionTargetRules(
promotionId: string,
rulesData: PromotionTypes.CreatePromotionRuleDTO[],
@@ -1182,6 +1188,7 @@ export default class PromotionModuleService
}
@InjectManager()
@EmitEvents()
async addPromotionBuyRules(
promotionId: string,
rulesData: PromotionTypes.CreatePromotionRuleDTO[],
@@ -1278,6 +1285,7 @@ export default class PromotionModuleService
}
@InjectManager()
@EmitEvents()
async removePromotionRules(
promotionId: string,
ruleIds: string[],
@@ -1305,6 +1313,7 @@ export default class PromotionModuleService
}
@InjectManager()
@EmitEvents()
async removePromotionTargetRules(
promotionId: string,
ruleIds: string[],
@@ -1379,6 +1388,7 @@ export default class PromotionModuleService
): Promise<PromotionTypes.CampaignDTO[]>
@InjectManager()
@EmitEvents()
// @ts-expect-error
async createCampaigns(
data: PromotionTypes.CreateCampaignDTO | PromotionTypes.CreateCampaignDTO[],
@@ -1490,6 +1500,7 @@ export default class PromotionModuleService
): Promise<PromotionTypes.CampaignDTO[]>
@InjectManager()
@EmitEvents()
// @ts-expect-error
async updateCampaigns(
data: PromotionTypes.UpdateCampaignDTO | PromotionTypes.UpdateCampaignDTO[],
@@ -1583,9 +1594,10 @@ export default class PromotionModuleService
}
@InjectManager()
@EmitEvents()
async addPromotionsToCampaign(
data: PromotionTypes.AddPromotionsToCampaignDTO,
sharedContext?: Context
@MedusaContext() sharedContext?: Context
): Promise<{ ids: string[] }> {
const ids = await this.addPromotionsToCampaign_(data, sharedContext)
@@ -1650,9 +1662,10 @@ export default class PromotionModuleService
}
@InjectManager()
@EmitEvents()
async removePromotionsFromCampaign(
data: PromotionTypes.AddPromotionsToCampaignDTO,
sharedContext?: Context
@MedusaContext() sharedContext: Context = {}
): Promise<{ ids: string[] }> {
const ids = await this.removePromotionsFromCampaign_(data, sharedContext)