Files
dashlibstorage/src/providers/mssql/queries/modelvfs.js
2026-10-03 23:13:40 +02:00

64 lines
1.3 KiB
JavaScript

export const MODELVFS_COLUMNS = `
id,
company_id,
name,
mime,
meta,
created_at,
updated_at
`;
export const GET_BY_COMPANY_AND_NAME = `
SELECT
${MODELVFS_COLUMNS},
content
FROM modelvfs
WHERE company_id = @companyId AND name = @name
`;
export const GET_META_BY_COMPANY_AND_NAME = `
SELECT
${MODELVFS_COLUMNS}
FROM modelvfs
WHERE company_id = @companyId AND name = @name
`;
export const LIST_BY_COMPANY = `
SELECT
${MODELVFS_COLUMNS}
FROM modelvfs
WHERE company_id = @companyId
ORDER BY name ASC
`;
export const UPSERT = `
MERGE modelvfs AS target
USING (SELECT @companyId AS company_id, @name AS name) AS src
ON target.company_id = src.company_id AND target.name = src.name
WHEN MATCHED THEN
UPDATE SET mime = @mime, content = @content, meta = @meta, updated_at = SYSUTCDATETIME()
WHEN NOT MATCHED THEN
INSERT (company_id, name, mime, content, meta)
VALUES (@companyId, @name, @mime, @content, @meta)
OUTPUT
INSERTED.id,
INSERTED.company_id,
INSERTED.name,
INSERTED.mime,
INSERTED.meta,
INSERTED.created_at,
INSERTED.updated_at;
`;
export const DELETE_BY_COMPANY_AND_NAME = `
DELETE FROM modelvfs
OUTPUT DELETED.id
WHERE company_id = @companyId AND name = @name
`;
export const DELETE_ALL_BY_COMPANY = `
DELETE FROM modelvfs
OUTPUT DELETED.id
WHERE company_id = @companyId
`;