Files
dashlibstorage/src/providers/mssql/queries/attributename.js
2026-09-29 16:16:05 +02:00

89 lines
1.8 KiB
JavaScript

export const LIST_BY_COMPANY = `
SELECT
an.id,
an.name,
an.sort,
an.exclusive,
(
SELECT
av.id,
av.value,
av.sort
FROM attributevalue av
WHERE av.attribute_id = an.id
ORDER BY av.sort ASC, av.id ASC
FOR JSON PATH
) AS valuesJson
FROM attributename an
WHERE an.company_id = @companyId
ORDER BY an.sort ASC, an.id ASC
`;
export const LIST_IDS_BY_COMPANY = `
SELECT id
FROM attributename
WHERE company_id = @companyId
ORDER BY sort ASC, id ASC
`;
export const GET_BY_COMPANY_AND_ID = `
SELECT
an.id,
an.company_id,
an.name,
an.sort,
an.exclusive,
(
SELECT
av.id,
av.value,
av.sort
FROM attributevalue av
WHERE av.attribute_id = an.id
ORDER BY av.sort ASC, av.id ASC
FOR JSON PATH
) AS valuesJson
FROM attributename an
WHERE an.id = @id AND an.company_id = @companyId
`;
export const GET_BY_COMPANY_AND_NAME = `
SELECT
id,
company_id,
name,
sort,
exclusive
FROM attributename
WHERE name = @name AND company_id = @companyId
`;
export const GET_NEXT_SORT = `
SELECT ISNULL(MAX(sort), -1) + 1 AS sort
FROM attributename
WHERE company_id = @companyId
`;
export const CREATE = `
INSERT INTO attributename (company_id, name, sort, exclusive)
OUTPUT INSERTED.id, INSERTED.name, INSERTED.sort, INSERTED.exclusive
VALUES (@companyId, @name, @sort, @exclusive)
`;
export const UPDATE_BY_ID = `
UPDATE attributename
SET name = @name, sort = @sort, exclusive = @exclusive
WHERE id = @id AND company_id = @companyId
`;
export const UPDATE_SORT = `
UPDATE attributename
SET sort = @sort
WHERE id = @id AND company_id = @companyId
`;
export const DELETE_BY_COMPANY_AND_ID = `
DELETE FROM attributename
WHERE id = @id AND company_id = @companyId
`;