@letsparky/api-v2-client
Version:
TypeScript client for the LetsParky API V2
59 lines (58 loc) • 2.32 kB
TypeScript
import { ApiClient } from './client';
import { User, UserPublic, UserUpdateParams, UserFilters, UserListResponse, ApiResponse, PaginationParams, PaginatedResponse, UserCardFilters, UserCardListResponse } from './types';
export declare class Users {
private client;
constructor(client: ApiClient);
/**
* Get a paginated list of users with optional filtering (admin only)
* @param filters Optional filter parameters
* @returns Promise with paginated user list
*/
list(filters?: UserFilters): Promise<ApiResponse<UserListResponse>>;
/**
* Get a paginated list of users with optional filtering (admin only)
* @param filters Optional filter parameters
* @returns Promise with paginated user list
*/
listCards(filters?: UserCardFilters): Promise<ApiResponse<UserCardListResponse>>;
setDefaultCard(card_id: string): Promise<ApiResponse<{
success: boolean;
}>>;
deleteCard(card_id: string): Promise<ApiResponse<{
success: boolean;
}>>;
/**
* Get a paginated list of users with pagination controls (admin only)
* @param paginationParams Pagination parameters (page, limit, sort, order)
* @param filters Optional filter parameters
* @returns Promise with paginated users
*/
listPaginated(paginationParams: PaginationParams, filters?: UserFilters): Promise<PaginatedResponse<User>>;
/**
* Get a specific user by ID
* @param user_id The ID of the user to retrieve
* @returns Promise with user details
*/
get(user_id: string): Promise<ApiResponse<User>>;
/**
* Get public profile of a user
* @param user_id The ID of the user to retrieve
* @returns Promise with public user details
*/
getPublic(user_id: string): Promise<ApiResponse<UserPublic>>;
/**
* Update a user profile
* @param user_id The ID of the user to update
* @param params The user update parameters
* @returns Promise with the updated user
*/
update(user_id: string, params: UserUpdateParams): Promise<ApiResponse<User>>;
/**
* Delete a user
* @param user_id The ID of the user to delete
* @returns Promise with the deletion result
*/
delete(user_id: string): Promise<ApiResponse<{
success: boolean;
}>>;
}