From 7fdd950c854058ae9a6fb78c9b82791d2f6bd8c1 Mon Sep 17 00:00:00 2001 From: Bright Date: Thu, 30 May 2024 15:24:38 +0700 Subject: [PATCH] paging getList --- src/controllers/UserController.ts | 4 ++-- src/keycloak/index.ts | 7 ++++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/controllers/UserController.ts b/src/controllers/UserController.ts index 39c7a0ea..44629fac 100644 --- a/src/controllers/UserController.ts +++ b/src/controllers/UserController.ts @@ -198,8 +198,8 @@ export class KeycloakController extends Controller { } @Get("user") - async getUserList(@Query() search = "") { - const result = await getUserList(search); + async getUserList(@Query() first = "", @Query() max = "" ,@Query() search = "") { + const result = await getUserList(first, max, search); if (Array.isArray(result)) { return result; diff --git a/src/keycloak/index.ts b/src/keycloak/index.ts index f7825281..27317452 100644 --- a/src/keycloak/index.ts +++ b/src/keycloak/index.ts @@ -123,9 +123,10 @@ export async function getUser(userId: string) { * * @returns user list if success, false otherwise. */ -export async function getUserList(search = "") { +export async function getUserList(first = "", max = "", search = "") { const res = await fetch( - `${KC_URL}/admin/realms/${KC_REALM}/users`.concat(!!search ? `?search=${search}` : ""), + // `${KC_URL}/admin/realms/${KC_REALM}/users`.concat(!!search ? `?search=${search}` : ""), + `${KC_URL}/admin/realms/${KC_REALM}/users?first=${first || "0"}&max=${max || "-1"}${search ? `&search=${search}` : ""}`, { // prettier-ignore headers: { @@ -140,7 +141,7 @@ export async function getUserList(search = "") { return Boolean(console.error("Keycloak Error Response: ", await res.json())); } - return ((await res.json()) as any[]).map((v: Record) => ({ + return ((await res.json()) as any[]).slice(0, 5000).map((v: Record) => ({ id: v.id, username: v.username, firstName: v.firstName,