riseup-squad21/services/disponibilidadeApi.ts
2025-10-22 20:30:37 -03:00

43 lines
1.3 KiB
TypeScript

// Caminho: services/disponibilidadeApi.ts
import api from './api';
export interface Availability {
id: any;
doctor_id: string;
weekday: string;
start_time: string;
end_time: string;
[key: string]: any;
}
export const disponibilidadeApi = {
list: async (): Promise<Availability[]> => {
const response = await api.get<Availability[]>('/rest/v1/doctor_availability');
return response.data;
},
getById: async (id: string): Promise<Availability> => {
const response = await api.get<Availability>(`/rest/v1/doctor_availability?id=eq.${id}`, {
headers: { Accept: 'application/vnd.pgrst.object+json' },
});
return response.data;
},
create: async (data: Omit<Availability, 'id'>): Promise<Availability> => {
const response = await api.post<Availability[]>('/rest/v1/doctor_availability', data, {
headers: { 'Prefer': 'return=representation' }
});
return response.data[0];
},
update: async (id: string, data: Partial<Availability>): Promise<Availability> => {
const response = await api.patch<Availability[]>(`/rest/v1/doctor_availability?id=eq.${id}`, data, {
headers: { 'Prefer': 'return=representation' }
});
return response.data[0];
},
delete: async (id: string): Promise<void> => {
await api.delete(`/rest/v1/doctor_availability?id=eq.${id}`);
},
};