From 1d6224da73977f056390d05fea24f98869d27cfc Mon Sep 17 00:00:00 2001 From: Kanjana Date: Thu, 24 Apr 2025 10:41:22 +0700 Subject: [PATCH] add query in keycloak --- src/controllers/00-keycloak-controller.ts | 7 ++++--- src/services/keycloak.ts | 4 ++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/controllers/00-keycloak-controller.ts b/src/controllers/00-keycloak-controller.ts index e17331f..1d5d9b9 100644 --- a/src/controllers/00-keycloak-controller.ts +++ b/src/controllers/00-keycloak-controller.ts @@ -1,4 +1,4 @@ -import { Body, Controller, Delete, Get, Path, Post, Route, Security, Tags } from "tsoa"; +import { Body, Controller, Delete, Get, Path, Post, Query, Route, Security, Tags } from "tsoa"; import { addUserRoles, getGroup, listRole, removeUserRoles } from "../services/keycloak"; @Route("api/v1/keycloak") @@ -46,8 +46,9 @@ export class KeycloakController extends Controller { } @Get("group") - async getGroup() { - const group = await getGroup(); + async getGroup(@Query() query: string = "") { + const querySearch = query === "" ? "q" : `search=${query}`; + const group = await getGroup(querySearch); if (!Array.isArray(group)) throw new Error("Failed. Cannot get group(s) data from the server."); return group; diff --git a/src/services/keycloak.ts b/src/services/keycloak.ts index 3875b18..5352b2c 100644 --- a/src/services/keycloak.ts +++ b/src/services/keycloak.ts @@ -346,8 +346,8 @@ export async function removeUserRoles(userId: string, roles: { id: string; name: return true; } -export async function getGroup() { - const res = await fetch(`${KC_URL}/admin/realms/${KC_REALM}/groups?q`, { +export async function getGroup(query: string) { + const res = await fetch(`${KC_URL}/admin/realms/${KC_REALM}/groups?${query}`, { headers: { authorization: `Bearer ${await getToken()}`, "content-type": `application/json`,