misc: removed transactional

This commit is contained in:
Sheen Capadngan
2024-06-03 22:06:32 +08:00
parent 4d830f1d1a
commit 68a30f4212
2 changed files with 35 additions and 39 deletions
@@ -64,25 +64,23 @@ export const secretFolderVersionDALFactory = (db: TDbClient) => {
const pruneExcessVersions = async () => { const pruneExcessVersions = async () => {
try { try {
await secretFolderVerOrm.transaction((txn) => { await db(TableName.SecretFolderVersion)
return txn(TableName.SecretFolderVersion) .with("folder_cte", (qb) => {
.with("folder_cte", (qb) => { void qb
void qb .from(TableName.SecretFolderVersion)
.from(TableName.SecretFolderVersion) .select(
.select( "id",
"id", "folderId",
"folderId", db.raw(
txn.raw( `ROW_NUMBER() OVER (PARTITION BY ${TableName.SecretFolderVersion}."folderId" ORDER BY ${TableName.SecretFolderVersion}."createdAt" DESC) AS row_num`
`ROW_NUMBER() OVER (PARTITION BY ${TableName.SecretFolderVersion}."folderId" ORDER BY ${TableName.SecretFolderVersion}."createdAt" DESC) AS row_num` )
) );
); })
}) .join(TableName.Environment, `${TableName.Environment}.id`, `${TableName.SecretFolderVersion}.envId`)
.join(TableName.Environment, `${TableName.Environment}.id`, `${TableName.SecretFolderVersion}.envId`) .join(TableName.Project, `${TableName.Project}.id`, `${TableName.Environment}.projectId`)
.join(TableName.Project, `${TableName.Project}.id`, `${TableName.Environment}.projectId`) .join("folder_cte", "folder_cte.id", `${TableName.SecretFolderVersion}.id`)
.join("folder_cte", "folder_cte.id", `${TableName.SecretFolderVersion}.id`) .whereRaw(`folder_cte.row_num > ${TableName.Project}."pitVersionLimit"`)
.whereRaw(`folder_cte.row_num > ${TableName.Project}."pitVersionLimit"`) .delete();
.delete();
});
} catch (error) { } catch (error) {
throw new DatabaseError({ throw new DatabaseError({
error, error,
@@ -112,26 +112,24 @@ export const secretVersionDALFactory = (db: TDbClient) => {
const pruneExcessVersions = async () => { const pruneExcessVersions = async () => {
try { try {
await secretVersionOrm.transaction((txn) => { await db(TableName.SecretVersion)
return txn(TableName.SecretVersion) .with("version_cte", (qb) => {
.with("version_cte", (qb) => { void qb
void qb .from(TableName.SecretVersion)
.from(TableName.SecretVersion) .select(
.select( "id",
"id", "folderId",
"folderId", db.raw(
txn.raw( `ROW_NUMBER() OVER (PARTITION BY ${TableName.SecretVersion}."secretId" ORDER BY ${TableName.SecretVersion}."createdAt" DESC) AS row_num`
`ROW_NUMBER() OVER (PARTITION BY ${TableName.SecretVersion}."secretId" ORDER BY ${TableName.SecretVersion}."createdAt" DESC) AS row_num` )
) );
); })
}) .join(TableName.SecretFolder, `${TableName.SecretFolder}.id`, `${TableName.SecretVersion}.folderId`)
.join(TableName.SecretFolder, `${TableName.SecretFolder}.id`, `${TableName.SecretVersion}.folderId`) .join(TableName.Environment, `${TableName.Environment}.id`, `${TableName.SecretFolder}.envId`)
.join(TableName.Environment, `${TableName.Environment}.id`, `${TableName.SecretFolder}.envId`) .join(TableName.Project, `${TableName.Project}.id`, `${TableName.Environment}.projectId`)
.join(TableName.Project, `${TableName.Project}.id`, `${TableName.Environment}.projectId`) .join("version_cte", "version_cte.id", `${TableName.SecretVersion}.id`)
.join("version_cte", "version_cte.id", `${TableName.SecretVersion}.id`) .whereRaw(`version_cte.row_num > ${TableName.Project}."pitVersionLimit"`)
.whereRaw(`version_cte.row_num > ${TableName.Project}."pitVersionLimit"`) .delete();
.delete();
});
} catch (error) { } catch (error) {
throw new DatabaseError({ throw new DatabaseError({
error, error,