paging getList

This commit is contained in:
Bright 2024-05-30 15:24:38 +07:00
parent aef313bac7
commit 7fdd950c85
2 changed files with 6 additions and 5 deletions

View file

@ -198,8 +198,8 @@ export class KeycloakController extends Controller {
} }
@Get("user") @Get("user")
async getUserList(@Query() search = "") { async getUserList(@Query() first = "", @Query() max = "" ,@Query() search = "") {
const result = await getUserList(search); const result = await getUserList(first, max, search);
if (Array.isArray(result)) { if (Array.isArray(result)) {
return result; return result;

View file

@ -123,9 +123,10 @@ export async function getUser(userId: string) {
* *
* @returns user list if success, false otherwise. * @returns user list if success, false otherwise.
*/ */
export async function getUserList(search = "") { export async function getUserList(first = "", max = "", search = "") {
const res = await fetch( 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 // prettier-ignore
headers: { headers: {
@ -140,7 +141,7 @@ export async function getUserList(search = "") {
return Boolean(console.error("Keycloak Error Response: ", await res.json())); return Boolean(console.error("Keycloak Error Response: ", await res.json()));
} }
return ((await res.json()) as any[]).map((v: Record<string, string>) => ({ return ((await res.json()) as any[]).slice(0, 5000).map((v: Record<string, string>) => ({
id: v.id, id: v.id,
username: v.username, username: v.username,
firstName: v.firstName, firstName: v.firstName,