From a3f3e3e62d7d1bc15785517077499b1099c975a1 Mon Sep 17 00:00:00 2001 From: Balu Babu Date: Tue, 19 Mar 2024 17:12:35 +0530 Subject: [PATCH] refactor: collection search query (#3908) --- .../team-collection.controller.ts | 4 +- packages/hoppscotch-backend/src/utils.ts | 47 +++++++++---------- 2 files changed, 25 insertions(+), 26 deletions(-) diff --git a/packages/hoppscotch-backend/src/team-collection/team-collection.controller.ts b/packages/hoppscotch-backend/src/team-collection/team-collection.controller.ts index 4da0eec9c..6b9e26a21 100644 --- a/packages/hoppscotch-backend/src/team-collection/team-collection.controller.ts +++ b/packages/hoppscotch-backend/src/team-collection/team-collection.controller.ts @@ -13,7 +13,7 @@ import { throwHTTPErr } from 'src/utils'; export class TeamCollectionController { constructor(private readonly teamCollectionService: TeamCollectionService) {} - @Get('search/:teamID/:searchQuery') + @Get('search/:teamID') @RequiresTeamRole( TeamMemberRole.VIEWER, TeamMemberRole.EDITOR, @@ -21,7 +21,7 @@ export class TeamCollectionController { ) @UseGuards(JwtAuthGuard, RESTTeamMemberGuard) async searchByTitle( - @Param('searchQuery') searchQuery: string, + @Query('searchQuery') searchQuery: string, @Param('teamID') teamID: string, @Query('take') take: string, @Query('skip') skip: string, diff --git a/packages/hoppscotch-backend/src/utils.ts b/packages/hoppscotch-backend/src/utils.ts index 34095eb63..f201a37b3 100644 --- a/packages/hoppscotch-backend/src/utils.ts +++ b/packages/hoppscotch-backend/src/utils.ts @@ -261,29 +261,28 @@ export function checkEnvironmentAuthProvider( * Source: https://stackoverflow.com/a/32648526 */ export function escapeSqlLikeString(str: string) { - if (typeof str != 'string') - return str; + if (typeof str != 'string') return str; - return str.replace(/[\0\x08\x09\x1a\n\r"'\\\%]/g, function (char) { - switch (char) { - case "\0": - return "\\0"; - case "\x08": - return "\\b"; - case "\x09": - return "\\t"; - case "\x1a": - return "\\z"; - case "\n": - return "\\n"; - case "\r": - return "\\r"; - case "\"": - case "'": - case "\\": - case "%": - return "\\"+char; // prepends a backslash to backslash, percent, - // and double/single quotes - } - }); + return str.replace(/[\0\x08\x09\x1a\n\r"'\\\%]/g, function (char) { + switch (char) { + case '\0': + return '\\0'; + case '\x08': + return '\\b'; + case '\x09': + return '\\t'; + case '\x1a': + return '\\z'; + case '\n': + return '\\n'; + case '\r': + return '\\r'; + case '"': + case "'": + case '\\': + case '%': + return '\\' + char; // prepends a backslash to backslash, percent, + // and double/single quotes + } + }); }