diff --git a/src/modules/item-related/item/domain/usecases/managers/index-item-rates.manager.ts b/src/modules/item-related/item/domain/usecases/managers/index-item-rates.manager.ts index 41c3e00..109393d 100644 --- a/src/modules/item-related/item/domain/usecases/managers/index-item-rates.manager.ts +++ b/src/modules/item-related/item/domain/usecases/managers/index-item-rates.manager.ts @@ -19,14 +19,25 @@ export class IndexItemRatesManager extends BaseIndexManager { } async afterProcess(): Promise { - this.result.data?.map((item) => { + this.result.data?.map((rates) => { + const item = rates['item']; const item_price = - Number(item['item']?.total_price ?? 0) == 0 - ? item['item']?.total_price - : item['item']?.base_price; + Number(item?.total_price ?? 0) == 0 + ? item?.total_price + : item?.base_price; + + const bundlings = item?.bundling_items ?? []; + const bundling_items = bundlings.map((bundling) => { + const rate = bundling.item_rates?.[0]?.price ?? 0; + return { + ...bundling, + item_rates: rate, + }; + }); Object.assign(item, { price: item.price ?? item_price, + bundling_items, }); }); return; @@ -43,6 +54,7 @@ export class IndexItemRatesManager extends BaseIndexManager { 'season_period.season_type', 'item', 'item.bundling_items', + 'bundling_items.item_rates', ], // relation yang hanya ingin dihitung (akan return number) @@ -64,6 +76,9 @@ export class IndexItemRatesManager extends BaseIndexManager { 'bundling_items.hpp', 'bundling_items.id', 'bundling_items.name', + + 'item_rates.price', + `season_period.id`, `season_period.priority`, `season_period.created_at`,