This commit is contained in:
seb
2026-08-01 05:10:03 +02:00
parent ee895fab5f
commit 9be9f7f74c
12 changed files with 164 additions and 79 deletions

View File

@@ -1,6 +1,6 @@
import {
GET_CATEGORY_IDS_BY_ARTICLE_ID,
GET_DETAIL_BY_SKU,
GET_DETAIL_BY_ARTICLE_ID,
GET_EANS_BY_ARTICLE_ID,
GET_PHOTOS_BY_ARTICLE_ID,
GET_PRICES_BY_ARTICLE_ID,
@@ -36,25 +36,24 @@ function shapeArticleDetail(row, categoryIds, photos, eans, prices) {
}
export default function queryBySku(pool) {
return async (sku, languageId) => {
const detail = await pool
.request()
.input('sku', sku)
.input('languageId', languageId)
.query(GET_DETAIL_BY_SKU);
return async (articleId, languageId) => {
const [detail, categories, photos, eans, prices] = await Promise.all([
pool
.request()
.input('articleId', articleId)
.input('languageId', languageId)
.query(GET_DETAIL_BY_ARTICLE_ID),
pool.request().input('articleId', articleId).query(GET_CATEGORY_IDS_BY_ARTICLE_ID),
pool.request().input('articleId', articleId).query(GET_PHOTOS_BY_ARTICLE_ID),
pool.request().input('articleId', articleId).query(GET_EANS_BY_ARTICLE_ID),
pool.request().input('articleId', articleId).query(GET_PRICES_BY_ARTICLE_ID),
]);
const row = detail.recordset[0];
if (!row) {
return null;
}
const [categories, photos, eans, prices] = await Promise.all([
pool.request().input('articleId', row.id).query(GET_CATEGORY_IDS_BY_ARTICLE_ID),
pool.request().input('articleId', row.id).query(GET_PHOTOS_BY_ARTICLE_ID),
pool.request().input('articleId', row.id).query(GET_EANS_BY_ARTICLE_ID),
pool.request().input('articleId', row.id).query(GET_PRICES_BY_ARTICLE_ID),
]);
return shapeArticleDetail(
row,
categories.recordset,