fix(product): Update performance issue (#14150)

Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
This commit is contained in:
Adrien de PerettiandOli Juhl authored and GitHub committed 2025-12-01 16:45:18 +01:00
1 parent 3cf1e5e9de
commit 0f835381e9
3 files changed
+168 -5

No files matched your search

@@ -58,8 +58,8 @@ import {
UpdateTypeInput,
VariantImageInputArray,
} from "../types"
import { joinerConfig } from "./../joiner-config"
import { eventBuilders } from "../utils/events"
import { joinerConfig } from "./../joiner-config"
type InjectedDependencies = {
baseRepository: DAL.RepositoryService
@@ -1743,12 +1743,15 @@ export default class ProductModuleService
.registerSubscriber(new subscriber(sharedContext))
}
const productIds = data.map((d) => d.id).filter(Boolean)
const originalProducts = await this.productService_.list(
{
id: data.map((d) => d.id),
id: productIds,
},
{
relations: ["options", "options.values", "variants", "images", "tags"],
relations: ["options", "options.values", "tags"],
take: productIds.length,
},
sharedContext
)
@@ -2012,10 +2015,9 @@ export default class ProductModuleService
// Re map options to handle non serialized data as well
dbOptions =
originalProducts
?.map((originalProduct) =>
?.flatMap((originalProduct) =>
originalProduct.options.map((option) => option)
)
.flat()
.filter(Boolean) ?? []
}