89 lines
1.8 KiB
JavaScript
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
|
|
`;
|