159 lines
3.9 KiB
TypeScript

/**
* Exportações centralizadas dos serviços
*/
// Edge Functions API (Nova arquitetura)
export { default as edgeFunctions } from "./api/edgeFunctions";
// Auth
export { authService } from "./auth/authService";
export type {
LoginInput,
LoginResponse,
AuthUser,
RefreshTokenInput,
RefreshTokenResponse,
} from "./auth/types";
// Assignments
export { assignmentService } from "./assignments/assignmentService";
export type {
PatientAssignment,
CreateAssignmentInput,
AssignmentFilters,
AssignmentRole,
} from "./assignments/types";
// Avatars
export { avatarService } from "./avatars/avatarService";
export type {
UploadAvatarInput,
UploadAvatarResponse,
DeleteAvatarInput,
GetAvatarUrlInput,
AvatarExtension,
} from "./avatars/types";
// Doctors
export { doctorService } from "./doctors/doctorService";
export type {
Doctor,
CreateDoctorInput,
UpdateDoctorInput,
DoctorFilters,
CrmUF,
} from "./doctors/types";
// Patients
export { patientService } from "./patients/patientService";
export type {
Patient,
CreatePatientInput,
UpdatePatientInput,
PatientFilters,
RegisterPatientInput,
RegisterPatientResponse,
} from "./patients/types";
// Profiles
export { profileService } from "./profiles/profileService";
export type {
Profile,
UpdateProfileAvatarInput,
ProfileFilters,
} from "./profiles/types";
// Reports
export { reportService } from "./reports/reportService";
export type {
Report,
CreateReportInput,
UpdateReportInput,
ReportFilters,
ReportStatus,
} from "./reports/types";
// Users
export { userService } from "./users/userService";
export type {
UserRole,
UserRoleRecord,
User,
UserProfile,
UserPermissions,
UserInfo,
CreateUserInput,
CreateUserResponse,
} from "./users/types";
// SMS
export { smsService } from "./sms/smsService";
export type { SendSmsInput, SendSmsResponse } from "./sms/types";
// Appointments
export { appointmentService } from "./appointments/appointmentService";
export type {
Appointment,
CreateAppointmentInput,
UpdateAppointmentInput,
AppointmentFilters,
GetAvailableSlotsInput,
GetAvailableSlotsResponse,
TimeSlot,
AppointmentType,
AppointmentStatus,
} from "./appointments/types";
// Availability
export { availabilityService } from "./availability/availabilityService";
export type {
DoctorAvailability,
CreateAvailabilityInput,
UpdateAvailabilityInput,
ListAvailabilityFilters,
Weekday,
AppointmentType as AvailabilityAppointmentType,
DoctorException,
CreateExceptionInput,
ExceptionKind,
} from "./availability/types";
// Exceptions (deprecated - agora gerenciado via availabilityService)
// export { exceptionsService } from "./exceptions/exceptionsService";
// export type {
// DoctorException,
// CreateExceptionInput,
// ListExceptionsFilters,
// ExceptionKind,
// } from "./exceptions/types";
// API Client (caso precise usar diretamente)
export { apiClient } from "./api/client";
export { API_CONFIG } from "./api/config";
// Messages (placeholder service)
export { messageService } from "./messages/messageService";
export type { Message } from "./messages/messageService";
// Waitlist (Lista de Espera)
export { waitlistService } from "./waitlist/waitlistService";
export type {
WaitlistEntry,
CreateWaitlistInput,
WaitlistFilters,
} from "./waitlist/types";
// Notifications (Fila de Notificações)
export { notificationService } from "./notifications/notificationService";
export type {
Notification,
CreateNotificationInput,
NotificationFilters,
NotificationType,
NotificationStatus,
} from "./notifications/types";
// Analytics (KPIs)
export { analyticsService } from "./analytics/analyticsService";
export type { KPISummary, AppointmentMetrics } from "./analytics/types";