feat(pricing): pricing models are made soft deletable (#6732)
what: - pricing models are made soft deletable - adds missing timestamp attributes - removes unwanted relationships + cascade cleanup
This commit is contained in:
@@ -35,7 +35,6 @@ import {
|
||||
PriceRule,
|
||||
PriceSet,
|
||||
PriceSetMoneyAmount,
|
||||
PriceSetMoneyAmountRules,
|
||||
PriceSetRuleType,
|
||||
RuleType,
|
||||
} from "@models"
|
||||
@@ -56,7 +55,6 @@ type InjectedDependencies = {
|
||||
pricingRepository: PricingRepositoryService
|
||||
moneyAmountService: ModulesSdkTypes.InternalModuleService<any>
|
||||
priceSetService: ModulesSdkTypes.InternalModuleService<any>
|
||||
priceSetMoneyAmountRulesService: ModulesSdkTypes.InternalModuleService<any>
|
||||
ruleTypeService: RuleTypeService<any>
|
||||
priceRuleService: PriceRuleService<any>
|
||||
priceSetRuleTypeService: ModulesSdkTypes.InternalModuleService<any>
|
||||
@@ -73,7 +71,6 @@ const generateMethodForModels = [
|
||||
PriceListRuleValue,
|
||||
PriceRule,
|
||||
PriceSetMoneyAmount,
|
||||
PriceSetMoneyAmountRules,
|
||||
PriceSetRuleType,
|
||||
RuleType,
|
||||
]
|
||||
@@ -82,7 +79,6 @@ export default class PricingModuleService<
|
||||
TPriceSet extends PriceSet = PriceSet,
|
||||
TMoneyAmount extends MoneyAmount = MoneyAmount,
|
||||
TRuleType extends RuleType = RuleType,
|
||||
TPriceSetMoneyAmountRules extends PriceSetMoneyAmountRules = PriceSetMoneyAmountRules,
|
||||
TPriceRule extends PriceRule = PriceRule,
|
||||
TPriceSetRuleType extends PriceSetRuleType = PriceSetRuleType,
|
||||
TPriceSetMoneyAmount extends PriceSetMoneyAmount = PriceSetMoneyAmount,
|
||||
@@ -100,10 +96,11 @@ export default class PricingModuleService<
|
||||
update: PricingTypes.UpdateMoneyAmountDTO
|
||||
}
|
||||
PriceSetMoneyAmount: { dto: PricingTypes.PriceSetMoneyAmountDTO }
|
||||
PriceSetMoneyAmountRules: {
|
||||
dto: PricingTypes.PriceSetMoneyAmountRulesDTO
|
||||
PriceRule: {
|
||||
dto: PricingTypes.PriceRuleDTO
|
||||
create: PricingTypes.CreatePriceRuleDTO
|
||||
update: PricingTypes.UpdatePriceRuleDTO
|
||||
}
|
||||
PriceRule: { dto: PricingTypes.PriceRuleDTO }
|
||||
RuleType: {
|
||||
dto: PricingTypes.RuleTypeDTO
|
||||
create: PricingTypes.CreateRuleTypeDTO
|
||||
@@ -120,7 +117,6 @@ export default class PricingModuleService<
|
||||
protected readonly moneyAmountService_: ModulesSdkTypes.InternalModuleService<TMoneyAmount>
|
||||
protected readonly ruleTypeService_: RuleTypeService<TRuleType>
|
||||
protected readonly priceSetService_: ModulesSdkTypes.InternalModuleService<TPriceSet>
|
||||
protected readonly priceSetMoneyAmountRulesService_: ModulesSdkTypes.InternalModuleService<TPriceSetMoneyAmountRules>
|
||||
protected readonly priceRuleService_: PriceRuleService<TPriceRule>
|
||||
protected readonly priceSetRuleTypeService_: ModulesSdkTypes.InternalModuleService<TPriceSetRuleType>
|
||||
protected readonly priceSetMoneyAmountService_: ModulesSdkTypes.InternalModuleService<TPriceSetMoneyAmount>
|
||||
@@ -135,7 +131,6 @@ export default class PricingModuleService<
|
||||
moneyAmountService,
|
||||
ruleTypeService,
|
||||
priceSetService,
|
||||
priceSetMoneyAmountRulesService,
|
||||
priceRuleService,
|
||||
priceSetRuleTypeService,
|
||||
priceSetMoneyAmountService,
|
||||
@@ -153,7 +148,6 @@ export default class PricingModuleService<
|
||||
this.moneyAmountService_ = moneyAmountService
|
||||
this.ruleTypeService_ = ruleTypeService
|
||||
this.priceSetService_ = priceSetService
|
||||
this.priceSetMoneyAmountRulesService_ = priceSetMoneyAmountRulesService
|
||||
this.ruleTypeService_ = ruleTypeService
|
||||
this.priceRuleService_ = priceRuleService
|
||||
this.priceSetRuleTypeService_ = priceSetRuleTypeService
|
||||
@@ -259,7 +253,11 @@ export default class PricingModuleService<
|
||||
const dbPriceSets = await this.list(
|
||||
{ id: priceSets.filter((p) => !!p).map((p) => p!.id) },
|
||||
{
|
||||
relations: ["rule_types", "money_amounts", "price_rules"],
|
||||
relations: [
|
||||
"rule_types",
|
||||
"price_set_money_amounts.money_amount",
|
||||
"price_rules",
|
||||
],
|
||||
},
|
||||
sharedContext
|
||||
)
|
||||
@@ -538,7 +536,7 @@ export default class PricingModuleService<
|
||||
|
||||
return (await this.list(
|
||||
{ id: input.map((d) => d.priceSetId) },
|
||||
{ relations: ["money_amounts"] },
|
||||
{ relations: ["price_set_money_amounts"] },
|
||||
sharedContext
|
||||
)) as unknown as PricingTypes.PriceSetDTO[] | PricingTypes.PriceSetDTO
|
||||
}
|
||||
@@ -713,73 +711,6 @@ export default class PricingModuleService<
|
||||
)
|
||||
}
|
||||
|
||||
@InjectTransactionManager("baseRepository_")
|
||||
async createPriceSetMoneyAmountRules(
|
||||
data: PricingTypes.CreatePriceSetMoneyAmountRulesDTO[],
|
||||
@MedusaContext() sharedContext: Context = {}
|
||||
): Promise<PricingTypes.PriceSetMoneyAmountRulesDTO[]> {
|
||||
const records = await this.priceSetMoneyAmountRulesService_.create(
|
||||
data,
|
||||
sharedContext
|
||||
)
|
||||
|
||||
return await this.baseRepository_.serialize<
|
||||
PricingTypes.PriceSetMoneyAmountRulesDTO[]
|
||||
>(records, {
|
||||
populate: true,
|
||||
})
|
||||
}
|
||||
|
||||
@InjectTransactionManager("baseRepository_")
|
||||
async updatePriceSetMoneyAmountRules(
|
||||
data: PricingTypes.UpdatePriceSetMoneyAmountRulesDTO[],
|
||||
@MedusaContext() sharedContext: Context = {}
|
||||
): Promise<PricingTypes.PriceSetMoneyAmountRulesDTO[]> {
|
||||
const records = await this.priceSetMoneyAmountRulesService_.update(
|
||||
data,
|
||||
sharedContext
|
||||
)
|
||||
|
||||
return await this.baseRepository_.serialize<
|
||||
PricingTypes.PriceSetMoneyAmountRulesDTO[]
|
||||
>(records, {
|
||||
populate: true,
|
||||
})
|
||||
}
|
||||
|
||||
@InjectTransactionManager("baseRepository_")
|
||||
async createPriceRules(
|
||||
data: PricingTypes.CreatePriceRuleDTO[],
|
||||
@MedusaContext() sharedContext: Context = {}
|
||||
): Promise<PricingTypes.PriceRuleDTO[]> {
|
||||
const priceRules = await this.priceRuleService_.create(
|
||||
data as ServiceTypes.CreatePriceRuleDTO[],
|
||||
sharedContext
|
||||
)
|
||||
|
||||
return await this.baseRepository_.serialize<PricingTypes.PriceRuleDTO[]>(
|
||||
priceRules,
|
||||
{
|
||||
populate: true,
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
@InjectTransactionManager("baseRepository_")
|
||||
async updatePriceRules(
|
||||
data: PricingTypes.UpdatePriceRuleDTO[],
|
||||
@MedusaContext() sharedContext: Context = {}
|
||||
): Promise<PricingTypes.PriceRuleDTO[]> {
|
||||
const priceRules = await this.priceRuleService_.update(data, sharedContext)
|
||||
|
||||
return await this.baseRepository_.serialize<PricingTypes.PriceRuleDTO[]>(
|
||||
priceRules,
|
||||
{
|
||||
populate: true,
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
@InjectManager("baseRepository_")
|
||||
async createPriceLists(
|
||||
data: PricingTypes.CreatePriceListDTO[],
|
||||
|
||||
Reference in New Issue
Block a user