This commit is contained in:
seb
2026-09-27 16:19:45 +02:00
parent e7f92ebef8
commit cd57f21af8
25 changed files with 412 additions and 49 deletions

View File

@@ -18,7 +18,7 @@ export default function getBySku(provider) {
* @param {number} googleAuthId - The id of the Google auth user.
* @param {string} sku - The article SKU.
* @param {object} [tx] - Optional transaction.
* @returns {Promise<{article: {id: number, sku: string, name: string, slug: string, unitamount: number|null, weight: number|null, unit: {si: string|null, basesi: string|null, basesifactor: number|null, symbol: string|null, name: string|null}, brand: {name: string, thumbW: number, thumbH: number, thumbHash: string}|null, categoryIds: number[], photos: Array<{sort: number, fullHash: string, fullW: number, fullH: number, fullSize: number, thumbW: number, thumbH: number, thumbHash: string}>, eans: string[], prices: Array<{minmultiplier: number, net: number, taxRate: number, customergroupId: number}>, suppliers: Array<{id: number, articleId: number, entityId: number, supplierName: string|null, sku: string|null, pu: number, stock: number|null, sort: number, priceId: number|null, price: {net: number, taxId: number, taxRate?: number}|null}>, optionsCount: number, articleListCount: number, childCount: number, fatherArticleId: number|null, fatherSku: string|null}}>} The full article detail.
* @returns {Promise<{article: {id: number, sku: string, name: string, slug: string, unitamount: number|null, weight: number|null, unit: {si: string|null, basesi: string|null, basesifactor: number|null, symbol: string|null, name: string|null}, brand: {id: number|null, name: string, fullHash: string|null, thumbW: number|null, thumbH: number|null, thumbHash: string|null}|null, categoryIds: number[], photos: Array<{sort: number, fullHash: string, fullW: number, fullH: number, fullSize: number, thumbW: number, thumbH: number, thumbHash: string}>, eans: string[], prices: Array<{minmultiplier: number, net: number, taxRate: number, customergroupId: number}>, suppliers: Array<{id: number, articleId: number, entityId: number, supplierName: string|null, sku: string|null, pu: number, stock: number|null, sort: number, priceId: number|null, price: {net: number, taxId: number, taxRate?: number}|null}>, optionsCount: number, articleListCount: number, childCount: number, fatherArticleId: number|null, fatherSku: string|null}}>} The full article detail.
* @throws {Error} If the article is not found or the user is not authorized.
*
* @example
@@ -65,10 +65,12 @@ export default function getBySku(provider) {
},
brand: a.brandName
? {
id: a.brandId ?? null,
name: a.brandName,
thumbW: a.brandThumbW,
thumbH: a.brandThumbH,
thumbHash: a.brandThumbHash,
fullHash: a.brandFullHash ?? null,
thumbW: a.brandThumbW ?? null,
thumbH: a.brandThumbH ?? null,
thumbHash: a.brandThumbHash ?? null,
}
: null,
categoryIds: parseJsonArray(a.categoryIdsJson).map((r) => r.category_id),

View File

@@ -19,10 +19,12 @@ function shapeArticleDetail(row, categoryIds, photos, eans, prices) {
},
brand: row.brandName
? {
id: row.brandId ?? null,
name: row.brandName,
thumbW: row.brandThumbW,
thumbH: row.brandThumbH,
thumbHash: row.brandThumbHash,
fullHash: row.brandFullHash ?? null,
thumbW: row.brandThumbW ?? null,
thumbH: row.brandThumbH ?? null,
thumbHash: row.brandThumbHash ?? null,
}
: null,
categoryIds: categoryIds.map((r) => r.categoryId),