From 0229732a6c0aca7711d8a1af642b117e5d9ae2c9 Mon Sep 17 00:00:00 2001 From: Piyush Gupta Date: Tue, 4 Nov 2025 23:11:01 +0530 Subject: [PATCH] refactor: enhance folder sorting logic to use conditional ordering based on direction --- .../src/services/secret-folder/secret-folder-dal.ts | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/backend/src/services/secret-folder/secret-folder-dal.ts b/backend/src/services/secret-folder/secret-folder-dal.ts index b8d7e1de0..1923add8e 100644 --- a/backend/src/services/secret-folder/secret-folder-dal.ts +++ b/backend/src/services/secret-folder/secret-folder-dal.ts @@ -423,7 +423,10 @@ export const secretFolderDALFactory = (db: TDbClient) => { ), db.ref("slug").withSchema(TableName.Environment).as("environment") ) - .orderByRaw(`${TableName.SecretFolder}.?? COLLATE "en-x-icu" ${orderDirection}`, [orderBy]); + .orderByRaw( + `${TableName.SecretFolder}.?? COLLATE "en-x-icu" ${orderDirection === OrderByDirection.ASC ? "ASC" : "DESC"}`, + [orderBy] + ); if (limit) { const rankOffset = offset + 1; // ranks start from 1 @@ -433,7 +436,9 @@ export const secretFolderDALFactory = (db: TDbClient) => { .from[number]>("w") .where("w.rank", ">=", rankOffset) .andWhere("w.rank", "<", rankOffset + limit) - .orderByRaw(`"w".?? COLLATE "en-x-icu" ${orderDirection}`, [orderBy]); + .orderByRaw(`"w".?? COLLATE "en-x-icu" ${orderDirection === OrderByDirection.ASC ? "ASC" : "DESC"}`, [ + orderBy + ]); } const folders = await query; @@ -482,7 +487,9 @@ export const secretFolderDALFactory = (db: TDbClient) => { .select<(TSecretFolders & { path: string; depth: number; environment: string })[]>("*") .from("parents") .orderBy("depth") - .orderByRaw(`"parents".?? COLLATE "en-x-icu" ${orderDirection}`, [orderBy]); + .orderByRaw(`"parents".?? COLLATE "en-x-icu" ${orderDirection === OrderByDirection.ASC ? "ASC" : "DESC"}`, [ + orderBy + ]); return folders; } catch (error) {