u
This commit is contained in:
@@ -47,25 +47,29 @@ export default function setBrandIdBySku(provider) {
|
||||
throw new Error('Invalid brandId');
|
||||
}
|
||||
|
||||
// Read old brand for history
|
||||
// Read old brand name (null = no brand assigned)
|
||||
const oldBrandRes = await runner.query(
|
||||
`SELECT b.name FROM article a LEFT JOIN brand b ON b.id = a.brand_id WHERE a.id = @articleId`,
|
||||
{ articleId },
|
||||
);
|
||||
const oldBrandName = oldBrandRes.rows[0]?.name ?? '';
|
||||
const oldBrandName = oldBrandRes.rows[0]?.name ?? null;
|
||||
|
||||
let resolvedBrandId = null;
|
||||
let newBrandName = '';
|
||||
let newBrandName = null;
|
||||
if (brandId !== null) {
|
||||
const brand = await runner.query(getBrandSql, {
|
||||
brandId,
|
||||
companyId,
|
||||
});
|
||||
if (!brand.rows[0]) {
|
||||
// Verify brand belongs to this company
|
||||
const brandCheck = await runner.query(getBrandSql, { brandId, companyId });
|
||||
if (!brandCheck.rows[0]) {
|
||||
throw new Error('Brand not found');
|
||||
}
|
||||
resolvedBrandId = brandId;
|
||||
newBrandName = brand.rows[0].name ?? '';
|
||||
|
||||
// GET_BRAND_BY_COMPANY_AND_ID only selects `id`, so fetch name separately
|
||||
const brandNameRes = await runner.query(
|
||||
'SELECT name FROM brand WHERE id = @brandId',
|
||||
{ brandId },
|
||||
);
|
||||
newBrandName = brandNameRes.rows[0]?.name ?? null;
|
||||
}
|
||||
|
||||
const result = await runner.query(updateBrandSql, {
|
||||
@@ -77,12 +81,12 @@ export default function setBrandIdBySku(provider) {
|
||||
throw new Error('Article not found');
|
||||
}
|
||||
|
||||
// Write history if brand changed
|
||||
// null = no brand; treat as distinct sentinel so first assignment is logged
|
||||
if (oldBrandName !== newBrandName) {
|
||||
await runner.query(insertHistorySql, {
|
||||
articleId,
|
||||
companyuserId,
|
||||
text: `Marke geändert von "${oldBrandName}" auf "${newBrandName}"`,
|
||||
text: `Marke ge\u00e4ndert von "${oldBrandName ?? ''}" auf "${newBrandName ?? ''}"`,
|
||||
});
|
||||
}
|
||||
|
||||
@@ -94,4 +98,3 @@ export default function setBrandIdBySku(provider) {
|
||||
return article;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user