@blue-impact-engine/blue-impact-engine-client
Version:
Blue Impact Engine API Client
45 lines • 1.68 kB
TypeScript
/**
* User service for handling user-related operations
* @packageDocumentation
*/
import { HttpClient } from '../../core/http-client';
import { UserEntity, UserRole, UserService } from '.';
import { ApiResponse, PaginatedResponse, QueryParams, RequestOptions } from '../../core';
/**
* User Service
* Handles all user-related API operations and business logic
*/
export declare class DefaultUserService implements UserService {
private httpClient;
private baseEndpoint;
constructor(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>>
*/
getAll(params?: QueryParams, options?: RequestOptions): Promise<PaginatedResponse<UserEntity>>;
/**
* Get a user by ID
* @param id - User ID
* @param options - Request options
* @returns Promise<ApiResponse<User>>
*/
getById(id: string, options?: RequestOptions): Promise<ApiResponse<UserEntity>>;
/**
* Get current authenticated user
* @param options - Request options
* @returns Promise<ApiResponse<User>>
*/
getCurrent(options?: RequestOptions): Promise<ApiResponse<UserEntity>>;
/**
* Get users by role
* @param role - User role
* @param params - Query parameters
* @param options - Request options
* @returns Promise<PaginatedResponse<User>>
*/
getByRole(role: UserRole, params?: QueryParams, options?: RequestOptions): Promise<PaginatedResponse<UserEntity>>;
}
//# sourceMappingURL=userService.d.ts.map