/** * Availability Service * * Serviço para gerenciamento de disponibilidade dos médicos */ import { apiClient } from "../api/client"; import { DoctorAvailability, ListAvailabilityFilters, CreateAvailabilityInput, UpdateAvailabilityInput, } from "./types"; class AvailabilityService { private readonly basePath = "/doctor-availability"; /** * Lista as disponibilidades dos médicos */ async list(filters?: ListAvailabilityFilters): Promise { const response = await apiClient.get(this.basePath, { params: filters, }); return response.data; } /** * Cria uma nova configuração de disponibilidade */ async create(data: CreateAvailabilityInput): Promise { const response = await apiClient.post( this.basePath, data ); return response.data; } /** * Atualiza uma configuração de disponibilidade */ async update( id: string, data: UpdateAvailabilityInput ): Promise { const response = await apiClient.patch( `${this.basePath}/${id}`, data ); return response.data; } /** * Remove uma configuração de disponibilidade */ async delete(id: string): Promise { await apiClient.delete(`${this.basePath}/${id}`); } } export const availabilityService = new AvailabilityService();