From fca2b0c4dfe620067c7672241b8336ce7786eec9 Mon Sep 17 00:00:00 2001 From: Mario Date: Thu, 16 Jan 2025 02:41:24 +0100 Subject: [PATCH] feat: [#49] new function to get the list of user profiles --- src/modes/rest/resources/user.ts | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/src/modes/rest/resources/user.ts b/src/modes/rest/resources/user.ts index cadfb1f..1b6af12 100644 --- a/src/modes/rest/resources/user.ts +++ b/src/modes/rest/resources/user.ts @@ -1,7 +1,8 @@ import {Rest} from "../rest"; import {IRestResource} from "../restResource"; -import {fetchPost} from "../../../utils/fetch"; -import {TokenResponse} from "torrust-index-types-lib"; +import {fetchGet, fetchPost} from "../../../utils/fetch"; +import { TokenResponse, UserProfile } from "torrust-index-types-lib"; + type LoginUserParams = { login: string @@ -41,6 +42,10 @@ type NewUser = { user_id: number } +type GetUserProfilesResponse = { + data: Array +} + export class UserResource implements IRestResource { client: Rest; @@ -112,4 +117,20 @@ export class UserResource implements IRestResource { return Promise.reject(err.response?.data?.error ?? err); }); } + async getUserProfiles(): Promise> { + return await fetchGet( + `${this.client.apiBaseUrl}/users`, + { + "Authorization": `Bearer ${this.client.authToken}`, + "Content-Type": "application/json" + } + ) + .then((res) => { + return Promise.resolve(res.data); + }) + .catch((err) => { + return Promise.reject(err.response?.data?.error ?? err); + }); + } } +