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

@@ -59,6 +59,45 @@ INNER JOIN categoryarticle ca ON ca.article_id = a.id
WHERE a.sku = @sku
`;
/** SKU → article/category + company auth in one round-trip. */
export const RESOLVE_ARTICLE_ACCESS_BY_SKU = `
WITH article_cat AS (
SELECT TOP 1 a.id AS articleId, ca.category_id AS categoryId
FROM article a
INNER JOIN categoryarticle ca ON ca.article_id = a.id
WHERE a.sku = @sku
),
ancestors AS (
SELECT c.id, c.parent_id
FROM category c
INNER JOIN article_cat ac ON c.id = ac.categoryId
UNION ALL
SELECT c.id, c.parent_id
FROM category c
INNER JOIN ancestors a ON c.id = a.parent_id
),
root AS (
SELECT TOP 1 id AS rootCategoryId
FROM ancestors
WHERE parent_id IS NULL
)
SELECT
ac.articleId,
ac.categoryId,
r.rootCategoryId,
co.id AS companyId,
co.default_language_id AS languageId,
co.poscustomergroup_id AS posCustomerGroupId,
cu.id AS companyuserId
FROM article_cat ac
LEFT JOIN root r ON 1 = 1
LEFT JOIN company co ON co.root_category_id = r.rootCategoryId
LEFT JOIN companyuser cu
ON cu.company_id = co.id AND cu.google_auth_id = @googleAuthId
`;
export const CREATE = `
INSERT INTO article (sku, unit_id, unitamount, weight)
OUTPUT INSERTED.id

View File

@@ -54,6 +54,25 @@ LEFT JOIN article father ON father.id = a.fatherarticle_id
WHERE a.sku = @sku
`;
export const GET_DETAIL_BY_ARTICLE_ID = `
SELECT
${ARTICLE_DETAIL_COLUMNS}
FROM article a
LEFT JOIN articletext at
ON at.article_id = a.id AND at.language_id = @languageId
LEFT JOIN unit u ON u.id = a.unit_id
LEFT JOIN brand b ON b.id = a.brand_id
OUTER APPLY (
SELECT TOP 1 bp.pic_id
FROM brandpic bp
WHERE bp.brand_id = b.id
ORDER BY bp.sort ASC, bp.id ASC
) first_brand_pic
LEFT JOIN pic brand_pic ON brand_pic.id = first_brand_pic.pic_id
LEFT JOIN article father ON father.id = a.fatherarticle_id
WHERE a.id = @articleId
`;
export const GET_CATEGORY_IDS_BY_ARTICLE_ID = `
SELECT ca.category_id AS categoryId
FROM categoryarticle ca

View File

@@ -17,7 +17,8 @@ INSERT INTO company (
default_language_id,
taxrate,
reducedtaxrate,
taxfreerate
taxfreerate,
poscustomergroup_id
)
OUTPUT INSERTED.id
VALUES (
@@ -26,7 +27,8 @@ VALUES (
@languageId,
@taxrate,
@reducedtaxrate,
@taxfreerate
@taxfreerate,
@posCustomerGroupId
)
`;

17
src/sql/customergroup.js Normal file
View File

@@ -0,0 +1,17 @@
export const CREATE = `
INSERT INTO customergroup (name, company_id)
OUTPUT INSERTED.id
VALUES (@name, @companyId)
`;
export const CREATE_WITHOUT_COMPANY = `
INSERT INTO customergroup (name)
OUTPUT INSERTED.id
VALUES (@name)
`;
export const SET_COMPANY = `
UPDATE customergroup
SET company_id = @companyId
WHERE id = @id
`;