UNPKG

@blue-impact-engine/blue-impact-engine-client

Version:
55 lines 1.76 kB
/** * User service for handling user-related operations * @packageDocumentation */ /** * User Service * Handles all user-related API operations and business logic */ export class DefaultUserService { constructor(httpClient) { this.baseEndpoint = "/api/users"; this.httpClient = httpClient; } /** * Get all users with optional filtering and pagination * @param params - Query parameters for filtering, sorting, and pagination * @param options - Request options * @returns Promise<PaginatedResponse<User>> */ async getAll(params, options) { const response = await this.httpClient.get(this.baseEndpoint, params, options); return response; } /** * Get a user by ID * @param id - User ID * @param options - Request options * @returns Promise<ApiResponse<User>> */ async getById(id, options) { const response = await this.httpClient.get(`${this.baseEndpoint}/${id}`, undefined, options); return response; } /** * Get current authenticated user * @param options - Request options * @returns Promise<ApiResponse<User>> */ async getCurrent(options) { const response = await this.httpClient.get(`${this.baseEndpoint}/me`, undefined, options); return response; } /** * Get users by role * @param role - User role * @param params - Query parameters * @param options - Request options * @returns Promise<PaginatedResponse<User>> */ async getByRole(role, params, options) { const response = await this.httpClient.get(`${this.baseEndpoint}/role/${role}`, params, options); return response; } } //# sourceMappingURL=userService.js.map