UNPKG

reqres-api

Version:

A managed API client for ReqResIn.

58 lines (57 loc) 2.21 kB
import { CreateUserRequest, CreateUserResponse, PaginatedUsersResponse, UpdateUserResponse } from "./ReqResType"; /** * ReqResAPI provides a wrapper around the ReqRes API client to perform user operations. * It includes methods for fetching, creating, updating, and deleting users. */ export declare class ReqResAPI { private client; /** * Creates an instance of ReqResAPI. * @param client - An instance of the ReqRes API client. */ constructor(client: any); /** * Handles the execution of an API request. * @param request - A function that returns a `Response` object when invoked. * @returns A promise resolving to an object containing the parsed data or an error message. */ private handleRequest; /** * Fetches a paginated list of users. * @param pageNumber - The page number to fetch. * @returns A promise that resolves to an object containing user data or an error message. */ getUsers(pageNumber: number): Promise<{ data?: PaginatedUsersResponse; error?: string; }>; /** * Creates a new user. * @param data - The user details including name and job title. * @returns A promise that resolves to the created user data or an error message. */ createUser(data: CreateUserRequest): Promise<{ data?: CreateUserResponse; error?: string; }>; /** * Updates an existing user. * @param userId - The ID of the user to update. * @param data - The new user details including name and job title. * @param method - Define how update should happen, in fully (PUT) or partial (PATCH) * @returns A promise that resolves to the updated user data or an error message. */ updateUser(userId: number, data: CreateUserRequest, method: 'PUT' | 'PATCH'): Promise<{ data?: UpdateUserResponse; error?: string; }>; /** * Deletes a user by ID. * @param userId - The ID of the user to delete. * @returns A promise that resolves to `true` if the user was deleted successfully or an error message. */ deleteUser(userId: number): Promise<{ data?: boolean; error?: string; }>; }