@blackcode_sa/metaestetics-api 1.5.31 → 1.5.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +100 -1
- package/dist/index.d.ts +100 -1
- package/dist/index.js +945 -267
- package/dist/index.mjs +968 -283
- package/package.json +1 -1
- package/src/index.ts +5 -0
- package/src/services/clinic/clinic.service.ts +6 -0
- package/src/services/clinic/utils/filter.utils.ts +27 -1
- package/src/services/procedure/procedure.service.ts +43 -5
package/dist/index.d.mts
CHANGED
|
@@ -4601,6 +4601,12 @@ declare class ClinicService extends BaseService {
|
|
|
4601
4601
|
})[];
|
|
4602
4602
|
lastDoc: any;
|
|
4603
4603
|
}>;
|
|
4604
|
+
/**
|
|
4605
|
+
* Get clinics based on multiple filtering criteria
|
|
4606
|
+
*
|
|
4607
|
+
* @param filters - Various filters to apply
|
|
4608
|
+
* @returns Filtered clinics and the last document for pagination
|
|
4609
|
+
*/
|
|
4604
4610
|
getClinicsByFilters(filters: {
|
|
4605
4611
|
center?: {
|
|
4606
4612
|
latitude: number;
|
|
@@ -5962,6 +5968,99 @@ declare class SyncedCalendarsService extends BaseService {
|
|
|
5962
5968
|
fetchEventFromPractitionerGoogleCalendar(practitionerId: string, calendarId: string, eventId: string): Promise<any | null>;
|
|
5963
5969
|
}
|
|
5964
5970
|
|
|
5971
|
+
declare class ReviewService extends BaseService {
|
|
5972
|
+
constructor(db: Firestore, auth: Auth, app: FirebaseApp);
|
|
5973
|
+
/**
|
|
5974
|
+
* Creates a new review and updates related entities
|
|
5975
|
+
* @param data - The review data to create
|
|
5976
|
+
* @param appointmentId - ID of the completed appointment
|
|
5977
|
+
* @returns The created review
|
|
5978
|
+
*/
|
|
5979
|
+
createReview(data: Omit<Review, "id" | "createdAt" | "updatedAt" | "appointmentId" | "overallRating">, appointmentId: string): Promise<Review>;
|
|
5980
|
+
/**
|
|
5981
|
+
* Gets a review by ID
|
|
5982
|
+
* @param reviewId The ID of the review to get
|
|
5983
|
+
* @returns The review if found, null otherwise
|
|
5984
|
+
*/
|
|
5985
|
+
getReview(reviewId: string): Promise<Review | null>;
|
|
5986
|
+
/**
|
|
5987
|
+
* Gets all reviews for a specific patient
|
|
5988
|
+
* @param patientId The ID of the patient
|
|
5989
|
+
* @returns Array of reviews for the patient
|
|
5990
|
+
*/
|
|
5991
|
+
getReviewsByPatient(patientId: string): Promise<Review[]>;
|
|
5992
|
+
/**
|
|
5993
|
+
* Gets all reviews for a specific clinic
|
|
5994
|
+
* @param clinicId The ID of the clinic
|
|
5995
|
+
* @returns Array of reviews containing clinic reviews
|
|
5996
|
+
*/
|
|
5997
|
+
getReviewsByClinic(clinicId: string): Promise<Review[]>;
|
|
5998
|
+
/**
|
|
5999
|
+
* Gets all reviews for a specific practitioner
|
|
6000
|
+
* @param practitionerId The ID of the practitioner
|
|
6001
|
+
* @returns Array of reviews containing practitioner reviews
|
|
6002
|
+
*/
|
|
6003
|
+
getReviewsByPractitioner(practitionerId: string): Promise<Review[]>;
|
|
6004
|
+
/**
|
|
6005
|
+
* Gets all reviews for a specific procedure
|
|
6006
|
+
* @param procedureId The ID of the procedure
|
|
6007
|
+
* @returns Array of reviews containing procedure reviews
|
|
6008
|
+
*/
|
|
6009
|
+
getReviewsByProcedure(procedureId: string): Promise<Review[]>;
|
|
6010
|
+
/**
|
|
6011
|
+
* Gets all reviews for a specific appointment
|
|
6012
|
+
* @param appointmentId The ID of the appointment
|
|
6013
|
+
* @returns The review for the appointment if found, null otherwise
|
|
6014
|
+
*/
|
|
6015
|
+
getReviewByAppointment(appointmentId: string): Promise<Review | null>;
|
|
6016
|
+
/**
|
|
6017
|
+
* Deletes a review and updates related entities
|
|
6018
|
+
* @param reviewId The ID of the review to delete
|
|
6019
|
+
*/
|
|
6020
|
+
deleteReview(reviewId: string): Promise<void>;
|
|
6021
|
+
/**
|
|
6022
|
+
* Updates the review info for a clinic
|
|
6023
|
+
* @param clinicId The ID of the clinic to update
|
|
6024
|
+
* @param newReview Optional new review being added or removed
|
|
6025
|
+
* @param isRemoval Whether this update is for a review removal
|
|
6026
|
+
* @returns The updated clinic review info
|
|
6027
|
+
*/
|
|
6028
|
+
updateClinicReviewInfo(clinicId: string, newReview?: ClinicReview, isRemoval?: boolean): Promise<ClinicReviewInfo>;
|
|
6029
|
+
/**
|
|
6030
|
+
* Updates the review info for a practitioner
|
|
6031
|
+
* @param practitionerId The ID of the practitioner to update
|
|
6032
|
+
* @param newReview Optional new review being added or removed
|
|
6033
|
+
* @param isRemoval Whether this update is for a review removal
|
|
6034
|
+
* @returns The updated practitioner review info
|
|
6035
|
+
*/
|
|
6036
|
+
updatePractitionerReviewInfo(practitionerId: string, newReview?: PractitionerReview, isRemoval?: boolean): Promise<PractitionerReviewInfo>;
|
|
6037
|
+
/**
|
|
6038
|
+
* Updates the review info for a procedure
|
|
6039
|
+
* @param procedureId The ID of the procedure to update
|
|
6040
|
+
* @param newReview Optional new review being added or removed
|
|
6041
|
+
* @param isRemoval Whether this update is for a review removal
|
|
6042
|
+
* @returns The updated procedure review info
|
|
6043
|
+
*/
|
|
6044
|
+
updateProcedureReviewInfo(procedureId: string, newReview?: ProcedureReview, isRemoval?: boolean): Promise<ProcedureReviewInfo>;
|
|
6045
|
+
/**
|
|
6046
|
+
* Updates doctorInfo rating in all procedures for a practitioner
|
|
6047
|
+
* @param practitionerId The ID of the practitioner
|
|
6048
|
+
* @param rating The new rating to set
|
|
6049
|
+
*/
|
|
6050
|
+
private updateDoctorInfoInProcedures;
|
|
6051
|
+
/**
|
|
6052
|
+
* Verifies a review as checked by admin/staff
|
|
6053
|
+
* @param reviewId The ID of the review to verify
|
|
6054
|
+
*/
|
|
6055
|
+
verifyReview(reviewId: string): Promise<void>;
|
|
6056
|
+
/**
|
|
6057
|
+
* Calculates the average of an array of numbers
|
|
6058
|
+
* @param numbers Array of numbers to average
|
|
6059
|
+
* @returns The average, or 0 if the array is empty
|
|
6060
|
+
*/
|
|
6061
|
+
private calculateAverage;
|
|
6062
|
+
}
|
|
6063
|
+
|
|
5965
6064
|
declare class AuthError extends Error {
|
|
5966
6065
|
code: string;
|
|
5967
6066
|
status: number;
|
|
@@ -17717,4 +17816,4 @@ declare const createReviewSchema: z.ZodEffects<z.ZodObject<{
|
|
|
17717
17816
|
} | undefined;
|
|
17718
17817
|
}>;
|
|
17719
17818
|
|
|
17720
|
-
export { AUTH_ERRORS, type AddAllergyData, type AddBlockingConditionData, type AddContraindicationData, type AddMedicationData, type AddressData, type AdminInfo, type AdminToken, AdminTokenStatus, type Allergy, type AllergySubtype, AllergyType, type AllergyTypeWithSubtype, type AppointmentNotification, type AppointmentReminderNotification, AuthError, AuthService, type BaseNotification, BlockingCondition, type Brand, BrandService, CALENDAR_COLLECTION, CLINICS_COLLECTION, CLINIC_ADMINS_COLLECTION, CLINIC_GROUPS_COLLECTION, type CalendarEvent, CalendarEventStatus, type CalendarEventTime, CalendarEventType, CalendarServiceV2, CalendarSyncStatus, type Category, CategoryService, CertificationLevel, CertificationSpecialty, type Clinic, type ClinicAdmin, ClinicAdminService, type ClinicAdminSignupData, type ClinicBranchSetupData, type ClinicContactInfo, type ClinicGroup, ClinicGroupService, type ClinicGroupSetupData, type ClinicInfo, type ClinicLocation, ClinicPhotoTag, type ClinicReview, type ClinicReviewInfo, ClinicService, ClinicTag, type ClinicTags, type ContactPerson, Contraindication, CosmeticAllergySubtype, type CreateAdminTokenData, type CreateAppointmentParams, type CreateCalendarEventData, type CreateClinicAdminData, type CreateClinicData, type CreateClinicGroupData, type CreateDefaultClinicGroupData, type CreateDocumentTemplateData, type CreateDraftPractitionerData, type CreatePatientLocationInfoData, type CreatePatientMedicalInfoData, type CreatePatientProfileData, type CreatePatientSensitiveInfoData, type CreatePractitionerData, type CreatePractitionerTokenData, type CreateProcedureData, type CreateSyncedCalendarData, type CreateUserData, Currency, DOCUMENTATION_TEMPLATES_COLLECTION, type DateRange, type DoctorInfo, type DocumentElement, DocumentElementType, type DocumentTemplate, DocumentationTemplateService, DynamicVariable, type EmergencyContact, EnvironmentalAllergySubtype, FILLED_DOCUMENTS_COLLECTION, type FilledDocument, FilledDocumentService, FilledDocumentStatus, FirebaseErrorCode, type FirebaseUser, FoodAllergySubtype, type GamificationInfo, Gender, HeadingLevel, Language, ListType, type LocationData, MedicationAllergySubtype, type Notification, NotificationService, NotificationStatus, NotificationType, PATIENTS_COLLECTION, PATIENT_APPOINTMENTS_COLLECTION, PATIENT_LOCATION_INFO_COLLECTION, PATIENT_MEDICAL_HISTORY_COLLECTION, PATIENT_MEDICAL_INFO_COLLECTION, PATIENT_SENSITIVE_INFO_COLLECTION, PRACTITIONERS_COLLECTION, PROCEDURES_COLLECTION, type PatientClinic, type PatientDoctor, type PatientLocationInfo, type PatientMedicalInfo, type PatientProfile, type PatientProfileComplete, type PatientProfileInfo, type PatientSensitiveInfo, PatientService, type PostRequirementNotification, PracticeType, type Practitioner, type PractitionerBasicInfo, type PractitionerCertification, type PractitionerClinicProcedures, type PractitionerClinicWorkingHours, type PractitionerProfileInfo, type PractitionerReview, type PractitionerReviewInfo, PractitionerService, PractitionerStatus, type PractitionerToken, PractitionerTokenStatus, type PractitionerWorkingHours, type PreRequirementNotification, PricingMeasure, type Procedure, type ProcedureCategorization, ProcedureFamily, type ProcedureInfo, type ProcedureReview, type ProcedureReviewInfo, ProcedureService, type Product, ProductService, REGISTER_TOKENS_COLLECTION, REVIEWS_COLLECTION, type RequesterInfo, type Requirement, type Review, SYNCED_CALENDARS_COLLECTION, type SearchCalendarEventsParams, SearchLocationEnum, type SearchPatientsParams, type Subcategory, SubcategoryService, SubscriptionModel, type SyncedCalendar, type SyncedCalendarEvent, SyncedCalendarProvider, SyncedCalendarsService, type Technology, TechnologyService, type TimeSlot, TreatmentBenefit, USER_ERRORS, type UpdateAllergyData, type UpdateAppointmentParams, type UpdateBlockingConditionData, type UpdateCalendarEventData, type UpdateClinicAdminData, type UpdateClinicData, type UpdateClinicGroupData, type UpdateContraindicationData, type UpdateDocumentTemplateData, type UpdateMedicationData, type UpdatePatientLocationInfoData, type UpdatePatientMedicalInfoData, type UpdatePatientProfileData, type UpdatePatientSensitiveInfoData, type UpdatePractitionerData, type UpdateProcedureData, type UpdateSyncedCalendarData, type UpdateVitalStatsData, type User, UserRole, UserService, type ValidationSchema, type VitalStats, type WorkingHours, addAllergySchema, addBlockingConditionSchema, addContraindicationSchema, addMedicationSchema, addressDataSchema, adminInfoSchema, adminTokenSchema, allergySchema, allergySubtypeSchema, appointmentNotificationSchema, appointmentReminderNotificationSchema, baseNotificationSchema, blockingConditionSchema, calendarEventSchema, calendarEventTimeSchema, clinicAdminOptionsSchema, clinicAdminSchema, clinicAdminSignupSchema, clinicBranchSetupSchema, clinicContactInfoSchema, clinicGroupSchema, clinicGroupSetupSchema, clinicInfoSchema, clinicLocationSchema, clinicReviewInfoSchema, clinicReviewSchema, clinicSchema, clinicTagsSchema, contactPersonSchema, contraindicationSchema, createAdminTokenSchema, createAppointmentSchema, createCalendarEventSchema, createClinicAdminSchema, createClinicGroupSchema, createClinicReviewSchema, createClinicSchema, createDefaultClinicGroupSchema, createDocumentTemplateSchema, createDraftPractitionerSchema, createPatientLocationInfoSchema, createPatientMedicalInfoSchema, createPatientProfileSchema, createPatientSensitiveInfoSchema, createPractitionerReviewSchema, createPractitionerSchema, createPractitionerTokenSchema, createProcedureReviewSchema, createReviewSchema, createUserOptionsSchema, doctorInfoSchema, documentElementSchema, documentElementWithoutIdSchema, documentTemplateSchema, emailSchema, emergencyContactSchema, gamificationSchema, getFirebaseApp, getFirebaseAuth, getFirebaseDB, getFirebaseInstance, initializeFirebase, locationDataSchema, medicationSchema, notificationSchema, passwordSchema, patientClinicSchema, patientDoctorSchema, patientLocationInfoSchema, patientMedicalInfoSchema, patientProfileInfoSchema, patientProfileSchema, patientSensitiveInfoSchema, postRequirementNotificationSchema, practitionerBasicInfoSchema, practitionerCertificationSchema, practitionerClinicWorkingHoursSchema, practitionerProfileInfoSchema, practitionerReviewInfoSchema, practitionerReviewSchema, practitionerSchema, practitionerTokenSchema, practitionerWorkingHoursSchema, preRequirementNotificationSchema, procedureCategorizationSchema, procedureInfoSchema, procedureReviewInfoSchema, procedureReviewSchema, procedureSummaryInfoSchema, requesterInfoSchema, reviewSchema, searchPatientsSchema, syncedCalendarEventSchema, timeSlotSchema, timestampSchema, updateAllergySchema, updateAppointmentSchema, updateBlockingConditionSchema, updateCalendarEventSchema, updateClinicAdminSchema, updateClinicGroupSchema, updateClinicSchema, updateContraindicationSchema, updateDocumentTemplateSchema, updateMedicationSchema, updatePatientMedicalInfoSchema, updateVitalStatsSchema, userRoleSchema, userRolesSchema, userSchema, vitalStatsSchema, workingHoursSchema };
|
|
17819
|
+
export { AUTH_ERRORS, type AddAllergyData, type AddBlockingConditionData, type AddContraindicationData, type AddMedicationData, type AddressData, type AdminInfo, type AdminToken, AdminTokenStatus, type Allergy, type AllergySubtype, AllergyType, type AllergyTypeWithSubtype, type AppointmentNotification, type AppointmentReminderNotification, AuthError, AuthService, type BaseNotification, BlockingCondition, type Brand, BrandService, CALENDAR_COLLECTION, CLINICS_COLLECTION, CLINIC_ADMINS_COLLECTION, CLINIC_GROUPS_COLLECTION, type CalendarEvent, CalendarEventStatus, type CalendarEventTime, CalendarEventType, CalendarServiceV2, CalendarSyncStatus, type Category, CategoryService, CertificationLevel, CertificationSpecialty, type Clinic, type ClinicAdmin, ClinicAdminService, type ClinicAdminSignupData, type ClinicBranchSetupData, type ClinicContactInfo, type ClinicGroup, ClinicGroupService, type ClinicGroupSetupData, type ClinicInfo, type ClinicLocation, ClinicPhotoTag, type ClinicReview, type ClinicReviewInfo, ClinicService, ClinicTag, type ClinicTags, type ContactPerson, Contraindication, CosmeticAllergySubtype, type CreateAdminTokenData, type CreateAppointmentParams, type CreateCalendarEventData, type CreateClinicAdminData, type CreateClinicData, type CreateClinicGroupData, type CreateDefaultClinicGroupData, type CreateDocumentTemplateData, type CreateDraftPractitionerData, type CreatePatientLocationInfoData, type CreatePatientMedicalInfoData, type CreatePatientProfileData, type CreatePatientSensitiveInfoData, type CreatePractitionerData, type CreatePractitionerTokenData, type CreateProcedureData, type CreateSyncedCalendarData, type CreateUserData, Currency, DOCUMENTATION_TEMPLATES_COLLECTION, type DateRange, type DoctorInfo, type DocumentElement, DocumentElementType, type DocumentTemplate, DocumentationTemplateService, DynamicVariable, type EmergencyContact, EnvironmentalAllergySubtype, FILLED_DOCUMENTS_COLLECTION, type FilledDocument, FilledDocumentService, FilledDocumentStatus, FirebaseErrorCode, type FirebaseUser, FoodAllergySubtype, type GamificationInfo, Gender, HeadingLevel, Language, ListType, type LocationData, MedicationAllergySubtype, type Notification, NotificationService, NotificationStatus, NotificationType, PATIENTS_COLLECTION, PATIENT_APPOINTMENTS_COLLECTION, PATIENT_LOCATION_INFO_COLLECTION, PATIENT_MEDICAL_HISTORY_COLLECTION, PATIENT_MEDICAL_INFO_COLLECTION, PATIENT_SENSITIVE_INFO_COLLECTION, PRACTITIONERS_COLLECTION, PROCEDURES_COLLECTION, type PatientClinic, type PatientDoctor, type PatientLocationInfo, type PatientMedicalInfo, type PatientProfile, type PatientProfileComplete, type PatientProfileInfo, type PatientSensitiveInfo, PatientService, type PostRequirementNotification, PracticeType, type Practitioner, type PractitionerBasicInfo, type PractitionerCertification, type PractitionerClinicProcedures, type PractitionerClinicWorkingHours, type PractitionerProfileInfo, type PractitionerReview, type PractitionerReviewInfo, PractitionerService, PractitionerStatus, type PractitionerToken, PractitionerTokenStatus, type PractitionerWorkingHours, type PreRequirementNotification, PricingMeasure, type Procedure, type ProcedureCategorization, ProcedureFamily, type ProcedureInfo, type ProcedureReview, type ProcedureReviewInfo, ProcedureService, type Product, ProductService, REGISTER_TOKENS_COLLECTION, REVIEWS_COLLECTION, type RequesterInfo, type Requirement, RequirementType, type Review, ReviewService, SYNCED_CALENDARS_COLLECTION, type SearchCalendarEventsParams, SearchLocationEnum, type SearchPatientsParams, type Subcategory, SubcategoryService, SubscriptionModel, type SyncedCalendar, type SyncedCalendarEvent, SyncedCalendarProvider, SyncedCalendarsService, type Technology, TechnologyService, type TimeSlot, TimeUnit, TreatmentBenefit, USER_ERRORS, type UpdateAllergyData, type UpdateAppointmentParams, type UpdateBlockingConditionData, type UpdateCalendarEventData, type UpdateClinicAdminData, type UpdateClinicData, type UpdateClinicGroupData, type UpdateContraindicationData, type UpdateDocumentTemplateData, type UpdateMedicationData, type UpdatePatientLocationInfoData, type UpdatePatientMedicalInfoData, type UpdatePatientProfileData, type UpdatePatientSensitiveInfoData, type UpdatePractitionerData, type UpdateProcedureData, type UpdateSyncedCalendarData, type UpdateVitalStatsData, type User, UserRole, UserService, type ValidationSchema, type VitalStats, type WorkingHours, addAllergySchema, addBlockingConditionSchema, addContraindicationSchema, addMedicationSchema, addressDataSchema, adminInfoSchema, adminTokenSchema, allergySchema, allergySubtypeSchema, appointmentNotificationSchema, appointmentReminderNotificationSchema, baseNotificationSchema, blockingConditionSchema, calendarEventSchema, calendarEventTimeSchema, clinicAdminOptionsSchema, clinicAdminSchema, clinicAdminSignupSchema, clinicBranchSetupSchema, clinicContactInfoSchema, clinicGroupSchema, clinicGroupSetupSchema, clinicInfoSchema, clinicLocationSchema, clinicReviewInfoSchema, clinicReviewSchema, clinicSchema, clinicTagsSchema, contactPersonSchema, contraindicationSchema, createAdminTokenSchema, createAppointmentSchema, createCalendarEventSchema, createClinicAdminSchema, createClinicGroupSchema, createClinicReviewSchema, createClinicSchema, createDefaultClinicGroupSchema, createDocumentTemplateSchema, createDraftPractitionerSchema, createPatientLocationInfoSchema, createPatientMedicalInfoSchema, createPatientProfileSchema, createPatientSensitiveInfoSchema, createPractitionerReviewSchema, createPractitionerSchema, createPractitionerTokenSchema, createProcedureReviewSchema, createReviewSchema, createUserOptionsSchema, doctorInfoSchema, documentElementSchema, documentElementWithoutIdSchema, documentTemplateSchema, emailSchema, emergencyContactSchema, gamificationSchema, getFirebaseApp, getFirebaseAuth, getFirebaseDB, getFirebaseInstance, initializeFirebase, locationDataSchema, medicationSchema, notificationSchema, passwordSchema, patientClinicSchema, patientDoctorSchema, patientLocationInfoSchema, patientMedicalInfoSchema, patientProfileInfoSchema, patientProfileSchema, patientSensitiveInfoSchema, postRequirementNotificationSchema, practitionerBasicInfoSchema, practitionerCertificationSchema, practitionerClinicWorkingHoursSchema, practitionerProfileInfoSchema, practitionerReviewInfoSchema, practitionerReviewSchema, practitionerSchema, practitionerTokenSchema, practitionerWorkingHoursSchema, preRequirementNotificationSchema, procedureCategorizationSchema, procedureInfoSchema, procedureReviewInfoSchema, procedureReviewSchema, procedureSummaryInfoSchema, requesterInfoSchema, reviewSchema, searchPatientsSchema, syncedCalendarEventSchema, timeSlotSchema, timestampSchema, updateAllergySchema, updateAppointmentSchema, updateBlockingConditionSchema, updateCalendarEventSchema, updateClinicAdminSchema, updateClinicGroupSchema, updateClinicSchema, updateContraindicationSchema, updateDocumentTemplateSchema, updateMedicationSchema, updatePatientMedicalInfoSchema, updateVitalStatsSchema, userRoleSchema, userRolesSchema, userSchema, vitalStatsSchema, workingHoursSchema };
|
package/dist/index.d.ts
CHANGED
|
@@ -4601,6 +4601,12 @@ declare class ClinicService extends BaseService {
|
|
|
4601
4601
|
})[];
|
|
4602
4602
|
lastDoc: any;
|
|
4603
4603
|
}>;
|
|
4604
|
+
/**
|
|
4605
|
+
* Get clinics based on multiple filtering criteria
|
|
4606
|
+
*
|
|
4607
|
+
* @param filters - Various filters to apply
|
|
4608
|
+
* @returns Filtered clinics and the last document for pagination
|
|
4609
|
+
*/
|
|
4604
4610
|
getClinicsByFilters(filters: {
|
|
4605
4611
|
center?: {
|
|
4606
4612
|
latitude: number;
|
|
@@ -5962,6 +5968,99 @@ declare class SyncedCalendarsService extends BaseService {
|
|
|
5962
5968
|
fetchEventFromPractitionerGoogleCalendar(practitionerId: string, calendarId: string, eventId: string): Promise<any | null>;
|
|
5963
5969
|
}
|
|
5964
5970
|
|
|
5971
|
+
declare class ReviewService extends BaseService {
|
|
5972
|
+
constructor(db: Firestore, auth: Auth, app: FirebaseApp);
|
|
5973
|
+
/**
|
|
5974
|
+
* Creates a new review and updates related entities
|
|
5975
|
+
* @param data - The review data to create
|
|
5976
|
+
* @param appointmentId - ID of the completed appointment
|
|
5977
|
+
* @returns The created review
|
|
5978
|
+
*/
|
|
5979
|
+
createReview(data: Omit<Review, "id" | "createdAt" | "updatedAt" | "appointmentId" | "overallRating">, appointmentId: string): Promise<Review>;
|
|
5980
|
+
/**
|
|
5981
|
+
* Gets a review by ID
|
|
5982
|
+
* @param reviewId The ID of the review to get
|
|
5983
|
+
* @returns The review if found, null otherwise
|
|
5984
|
+
*/
|
|
5985
|
+
getReview(reviewId: string): Promise<Review | null>;
|
|
5986
|
+
/**
|
|
5987
|
+
* Gets all reviews for a specific patient
|
|
5988
|
+
* @param patientId The ID of the patient
|
|
5989
|
+
* @returns Array of reviews for the patient
|
|
5990
|
+
*/
|
|
5991
|
+
getReviewsByPatient(patientId: string): Promise<Review[]>;
|
|
5992
|
+
/**
|
|
5993
|
+
* Gets all reviews for a specific clinic
|
|
5994
|
+
* @param clinicId The ID of the clinic
|
|
5995
|
+
* @returns Array of reviews containing clinic reviews
|
|
5996
|
+
*/
|
|
5997
|
+
getReviewsByClinic(clinicId: string): Promise<Review[]>;
|
|
5998
|
+
/**
|
|
5999
|
+
* Gets all reviews for a specific practitioner
|
|
6000
|
+
* @param practitionerId The ID of the practitioner
|
|
6001
|
+
* @returns Array of reviews containing practitioner reviews
|
|
6002
|
+
*/
|
|
6003
|
+
getReviewsByPractitioner(practitionerId: string): Promise<Review[]>;
|
|
6004
|
+
/**
|
|
6005
|
+
* Gets all reviews for a specific procedure
|
|
6006
|
+
* @param procedureId The ID of the procedure
|
|
6007
|
+
* @returns Array of reviews containing procedure reviews
|
|
6008
|
+
*/
|
|
6009
|
+
getReviewsByProcedure(procedureId: string): Promise<Review[]>;
|
|
6010
|
+
/**
|
|
6011
|
+
* Gets all reviews for a specific appointment
|
|
6012
|
+
* @param appointmentId The ID of the appointment
|
|
6013
|
+
* @returns The review for the appointment if found, null otherwise
|
|
6014
|
+
*/
|
|
6015
|
+
getReviewByAppointment(appointmentId: string): Promise<Review | null>;
|
|
6016
|
+
/**
|
|
6017
|
+
* Deletes a review and updates related entities
|
|
6018
|
+
* @param reviewId The ID of the review to delete
|
|
6019
|
+
*/
|
|
6020
|
+
deleteReview(reviewId: string): Promise<void>;
|
|
6021
|
+
/**
|
|
6022
|
+
* Updates the review info for a clinic
|
|
6023
|
+
* @param clinicId The ID of the clinic to update
|
|
6024
|
+
* @param newReview Optional new review being added or removed
|
|
6025
|
+
* @param isRemoval Whether this update is for a review removal
|
|
6026
|
+
* @returns The updated clinic review info
|
|
6027
|
+
*/
|
|
6028
|
+
updateClinicReviewInfo(clinicId: string, newReview?: ClinicReview, isRemoval?: boolean): Promise<ClinicReviewInfo>;
|
|
6029
|
+
/**
|
|
6030
|
+
* Updates the review info for a practitioner
|
|
6031
|
+
* @param practitionerId The ID of the practitioner to update
|
|
6032
|
+
* @param newReview Optional new review being added or removed
|
|
6033
|
+
* @param isRemoval Whether this update is for a review removal
|
|
6034
|
+
* @returns The updated practitioner review info
|
|
6035
|
+
*/
|
|
6036
|
+
updatePractitionerReviewInfo(practitionerId: string, newReview?: PractitionerReview, isRemoval?: boolean): Promise<PractitionerReviewInfo>;
|
|
6037
|
+
/**
|
|
6038
|
+
* Updates the review info for a procedure
|
|
6039
|
+
* @param procedureId The ID of the procedure to update
|
|
6040
|
+
* @param newReview Optional new review being added or removed
|
|
6041
|
+
* @param isRemoval Whether this update is for a review removal
|
|
6042
|
+
* @returns The updated procedure review info
|
|
6043
|
+
*/
|
|
6044
|
+
updateProcedureReviewInfo(procedureId: string, newReview?: ProcedureReview, isRemoval?: boolean): Promise<ProcedureReviewInfo>;
|
|
6045
|
+
/**
|
|
6046
|
+
* Updates doctorInfo rating in all procedures for a practitioner
|
|
6047
|
+
* @param practitionerId The ID of the practitioner
|
|
6048
|
+
* @param rating The new rating to set
|
|
6049
|
+
*/
|
|
6050
|
+
private updateDoctorInfoInProcedures;
|
|
6051
|
+
/**
|
|
6052
|
+
* Verifies a review as checked by admin/staff
|
|
6053
|
+
* @param reviewId The ID of the review to verify
|
|
6054
|
+
*/
|
|
6055
|
+
verifyReview(reviewId: string): Promise<void>;
|
|
6056
|
+
/**
|
|
6057
|
+
* Calculates the average of an array of numbers
|
|
6058
|
+
* @param numbers Array of numbers to average
|
|
6059
|
+
* @returns The average, or 0 if the array is empty
|
|
6060
|
+
*/
|
|
6061
|
+
private calculateAverage;
|
|
6062
|
+
}
|
|
6063
|
+
|
|
5965
6064
|
declare class AuthError extends Error {
|
|
5966
6065
|
code: string;
|
|
5967
6066
|
status: number;
|
|
@@ -17717,4 +17816,4 @@ declare const createReviewSchema: z.ZodEffects<z.ZodObject<{
|
|
|
17717
17816
|
} | undefined;
|
|
17718
17817
|
}>;
|
|
17719
17818
|
|
|
17720
|
-
export { AUTH_ERRORS, type AddAllergyData, type AddBlockingConditionData, type AddContraindicationData, type AddMedicationData, type AddressData, type AdminInfo, type AdminToken, AdminTokenStatus, type Allergy, type AllergySubtype, AllergyType, type AllergyTypeWithSubtype, type AppointmentNotification, type AppointmentReminderNotification, AuthError, AuthService, type BaseNotification, BlockingCondition, type Brand, BrandService, CALENDAR_COLLECTION, CLINICS_COLLECTION, CLINIC_ADMINS_COLLECTION, CLINIC_GROUPS_COLLECTION, type CalendarEvent, CalendarEventStatus, type CalendarEventTime, CalendarEventType, CalendarServiceV2, CalendarSyncStatus, type Category, CategoryService, CertificationLevel, CertificationSpecialty, type Clinic, type ClinicAdmin, ClinicAdminService, type ClinicAdminSignupData, type ClinicBranchSetupData, type ClinicContactInfo, type ClinicGroup, ClinicGroupService, type ClinicGroupSetupData, type ClinicInfo, type ClinicLocation, ClinicPhotoTag, type ClinicReview, type ClinicReviewInfo, ClinicService, ClinicTag, type ClinicTags, type ContactPerson, Contraindication, CosmeticAllergySubtype, type CreateAdminTokenData, type CreateAppointmentParams, type CreateCalendarEventData, type CreateClinicAdminData, type CreateClinicData, type CreateClinicGroupData, type CreateDefaultClinicGroupData, type CreateDocumentTemplateData, type CreateDraftPractitionerData, type CreatePatientLocationInfoData, type CreatePatientMedicalInfoData, type CreatePatientProfileData, type CreatePatientSensitiveInfoData, type CreatePractitionerData, type CreatePractitionerTokenData, type CreateProcedureData, type CreateSyncedCalendarData, type CreateUserData, Currency, DOCUMENTATION_TEMPLATES_COLLECTION, type DateRange, type DoctorInfo, type DocumentElement, DocumentElementType, type DocumentTemplate, DocumentationTemplateService, DynamicVariable, type EmergencyContact, EnvironmentalAllergySubtype, FILLED_DOCUMENTS_COLLECTION, type FilledDocument, FilledDocumentService, FilledDocumentStatus, FirebaseErrorCode, type FirebaseUser, FoodAllergySubtype, type GamificationInfo, Gender, HeadingLevel, Language, ListType, type LocationData, MedicationAllergySubtype, type Notification, NotificationService, NotificationStatus, NotificationType, PATIENTS_COLLECTION, PATIENT_APPOINTMENTS_COLLECTION, PATIENT_LOCATION_INFO_COLLECTION, PATIENT_MEDICAL_HISTORY_COLLECTION, PATIENT_MEDICAL_INFO_COLLECTION, PATIENT_SENSITIVE_INFO_COLLECTION, PRACTITIONERS_COLLECTION, PROCEDURES_COLLECTION, type PatientClinic, type PatientDoctor, type PatientLocationInfo, type PatientMedicalInfo, type PatientProfile, type PatientProfileComplete, type PatientProfileInfo, type PatientSensitiveInfo, PatientService, type PostRequirementNotification, PracticeType, type Practitioner, type PractitionerBasicInfo, type PractitionerCertification, type PractitionerClinicProcedures, type PractitionerClinicWorkingHours, type PractitionerProfileInfo, type PractitionerReview, type PractitionerReviewInfo, PractitionerService, PractitionerStatus, type PractitionerToken, PractitionerTokenStatus, type PractitionerWorkingHours, type PreRequirementNotification, PricingMeasure, type Procedure, type ProcedureCategorization, ProcedureFamily, type ProcedureInfo, type ProcedureReview, type ProcedureReviewInfo, ProcedureService, type Product, ProductService, REGISTER_TOKENS_COLLECTION, REVIEWS_COLLECTION, type RequesterInfo, type Requirement, type Review, SYNCED_CALENDARS_COLLECTION, type SearchCalendarEventsParams, SearchLocationEnum, type SearchPatientsParams, type Subcategory, SubcategoryService, SubscriptionModel, type SyncedCalendar, type SyncedCalendarEvent, SyncedCalendarProvider, SyncedCalendarsService, type Technology, TechnologyService, type TimeSlot, TreatmentBenefit, USER_ERRORS, type UpdateAllergyData, type UpdateAppointmentParams, type UpdateBlockingConditionData, type UpdateCalendarEventData, type UpdateClinicAdminData, type UpdateClinicData, type UpdateClinicGroupData, type UpdateContraindicationData, type UpdateDocumentTemplateData, type UpdateMedicationData, type UpdatePatientLocationInfoData, type UpdatePatientMedicalInfoData, type UpdatePatientProfileData, type UpdatePatientSensitiveInfoData, type UpdatePractitionerData, type UpdateProcedureData, type UpdateSyncedCalendarData, type UpdateVitalStatsData, type User, UserRole, UserService, type ValidationSchema, type VitalStats, type WorkingHours, addAllergySchema, addBlockingConditionSchema, addContraindicationSchema, addMedicationSchema, addressDataSchema, adminInfoSchema, adminTokenSchema, allergySchema, allergySubtypeSchema, appointmentNotificationSchema, appointmentReminderNotificationSchema, baseNotificationSchema, blockingConditionSchema, calendarEventSchema, calendarEventTimeSchema, clinicAdminOptionsSchema, clinicAdminSchema, clinicAdminSignupSchema, clinicBranchSetupSchema, clinicContactInfoSchema, clinicGroupSchema, clinicGroupSetupSchema, clinicInfoSchema, clinicLocationSchema, clinicReviewInfoSchema, clinicReviewSchema, clinicSchema, clinicTagsSchema, contactPersonSchema, contraindicationSchema, createAdminTokenSchema, createAppointmentSchema, createCalendarEventSchema, createClinicAdminSchema, createClinicGroupSchema, createClinicReviewSchema, createClinicSchema, createDefaultClinicGroupSchema, createDocumentTemplateSchema, createDraftPractitionerSchema, createPatientLocationInfoSchema, createPatientMedicalInfoSchema, createPatientProfileSchema, createPatientSensitiveInfoSchema, createPractitionerReviewSchema, createPractitionerSchema, createPractitionerTokenSchema, createProcedureReviewSchema, createReviewSchema, createUserOptionsSchema, doctorInfoSchema, documentElementSchema, documentElementWithoutIdSchema, documentTemplateSchema, emailSchema, emergencyContactSchema, gamificationSchema, getFirebaseApp, getFirebaseAuth, getFirebaseDB, getFirebaseInstance, initializeFirebase, locationDataSchema, medicationSchema, notificationSchema, passwordSchema, patientClinicSchema, patientDoctorSchema, patientLocationInfoSchema, patientMedicalInfoSchema, patientProfileInfoSchema, patientProfileSchema, patientSensitiveInfoSchema, postRequirementNotificationSchema, practitionerBasicInfoSchema, practitionerCertificationSchema, practitionerClinicWorkingHoursSchema, practitionerProfileInfoSchema, practitionerReviewInfoSchema, practitionerReviewSchema, practitionerSchema, practitionerTokenSchema, practitionerWorkingHoursSchema, preRequirementNotificationSchema, procedureCategorizationSchema, procedureInfoSchema, procedureReviewInfoSchema, procedureReviewSchema, procedureSummaryInfoSchema, requesterInfoSchema, reviewSchema, searchPatientsSchema, syncedCalendarEventSchema, timeSlotSchema, timestampSchema, updateAllergySchema, updateAppointmentSchema, updateBlockingConditionSchema, updateCalendarEventSchema, updateClinicAdminSchema, updateClinicGroupSchema, updateClinicSchema, updateContraindicationSchema, updateDocumentTemplateSchema, updateMedicationSchema, updatePatientMedicalInfoSchema, updateVitalStatsSchema, userRoleSchema, userRolesSchema, userSchema, vitalStatsSchema, workingHoursSchema };
|
|
17819
|
+
export { AUTH_ERRORS, type AddAllergyData, type AddBlockingConditionData, type AddContraindicationData, type AddMedicationData, type AddressData, type AdminInfo, type AdminToken, AdminTokenStatus, type Allergy, type AllergySubtype, AllergyType, type AllergyTypeWithSubtype, type AppointmentNotification, type AppointmentReminderNotification, AuthError, AuthService, type BaseNotification, BlockingCondition, type Brand, BrandService, CALENDAR_COLLECTION, CLINICS_COLLECTION, CLINIC_ADMINS_COLLECTION, CLINIC_GROUPS_COLLECTION, type CalendarEvent, CalendarEventStatus, type CalendarEventTime, CalendarEventType, CalendarServiceV2, CalendarSyncStatus, type Category, CategoryService, CertificationLevel, CertificationSpecialty, type Clinic, type ClinicAdmin, ClinicAdminService, type ClinicAdminSignupData, type ClinicBranchSetupData, type ClinicContactInfo, type ClinicGroup, ClinicGroupService, type ClinicGroupSetupData, type ClinicInfo, type ClinicLocation, ClinicPhotoTag, type ClinicReview, type ClinicReviewInfo, ClinicService, ClinicTag, type ClinicTags, type ContactPerson, Contraindication, CosmeticAllergySubtype, type CreateAdminTokenData, type CreateAppointmentParams, type CreateCalendarEventData, type CreateClinicAdminData, type CreateClinicData, type CreateClinicGroupData, type CreateDefaultClinicGroupData, type CreateDocumentTemplateData, type CreateDraftPractitionerData, type CreatePatientLocationInfoData, type CreatePatientMedicalInfoData, type CreatePatientProfileData, type CreatePatientSensitiveInfoData, type CreatePractitionerData, type CreatePractitionerTokenData, type CreateProcedureData, type CreateSyncedCalendarData, type CreateUserData, Currency, DOCUMENTATION_TEMPLATES_COLLECTION, type DateRange, type DoctorInfo, type DocumentElement, DocumentElementType, type DocumentTemplate, DocumentationTemplateService, DynamicVariable, type EmergencyContact, EnvironmentalAllergySubtype, FILLED_DOCUMENTS_COLLECTION, type FilledDocument, FilledDocumentService, FilledDocumentStatus, FirebaseErrorCode, type FirebaseUser, FoodAllergySubtype, type GamificationInfo, Gender, HeadingLevel, Language, ListType, type LocationData, MedicationAllergySubtype, type Notification, NotificationService, NotificationStatus, NotificationType, PATIENTS_COLLECTION, PATIENT_APPOINTMENTS_COLLECTION, PATIENT_LOCATION_INFO_COLLECTION, PATIENT_MEDICAL_HISTORY_COLLECTION, PATIENT_MEDICAL_INFO_COLLECTION, PATIENT_SENSITIVE_INFO_COLLECTION, PRACTITIONERS_COLLECTION, PROCEDURES_COLLECTION, type PatientClinic, type PatientDoctor, type PatientLocationInfo, type PatientMedicalInfo, type PatientProfile, type PatientProfileComplete, type PatientProfileInfo, type PatientSensitiveInfo, PatientService, type PostRequirementNotification, PracticeType, type Practitioner, type PractitionerBasicInfo, type PractitionerCertification, type PractitionerClinicProcedures, type PractitionerClinicWorkingHours, type PractitionerProfileInfo, type PractitionerReview, type PractitionerReviewInfo, PractitionerService, PractitionerStatus, type PractitionerToken, PractitionerTokenStatus, type PractitionerWorkingHours, type PreRequirementNotification, PricingMeasure, type Procedure, type ProcedureCategorization, ProcedureFamily, type ProcedureInfo, type ProcedureReview, type ProcedureReviewInfo, ProcedureService, type Product, ProductService, REGISTER_TOKENS_COLLECTION, REVIEWS_COLLECTION, type RequesterInfo, type Requirement, RequirementType, type Review, ReviewService, SYNCED_CALENDARS_COLLECTION, type SearchCalendarEventsParams, SearchLocationEnum, type SearchPatientsParams, type Subcategory, SubcategoryService, SubscriptionModel, type SyncedCalendar, type SyncedCalendarEvent, SyncedCalendarProvider, SyncedCalendarsService, type Technology, TechnologyService, type TimeSlot, TimeUnit, TreatmentBenefit, USER_ERRORS, type UpdateAllergyData, type UpdateAppointmentParams, type UpdateBlockingConditionData, type UpdateCalendarEventData, type UpdateClinicAdminData, type UpdateClinicData, type UpdateClinicGroupData, type UpdateContraindicationData, type UpdateDocumentTemplateData, type UpdateMedicationData, type UpdatePatientLocationInfoData, type UpdatePatientMedicalInfoData, type UpdatePatientProfileData, type UpdatePatientSensitiveInfoData, type UpdatePractitionerData, type UpdateProcedureData, type UpdateSyncedCalendarData, type UpdateVitalStatsData, type User, UserRole, UserService, type ValidationSchema, type VitalStats, type WorkingHours, addAllergySchema, addBlockingConditionSchema, addContraindicationSchema, addMedicationSchema, addressDataSchema, adminInfoSchema, adminTokenSchema, allergySchema, allergySubtypeSchema, appointmentNotificationSchema, appointmentReminderNotificationSchema, baseNotificationSchema, blockingConditionSchema, calendarEventSchema, calendarEventTimeSchema, clinicAdminOptionsSchema, clinicAdminSchema, clinicAdminSignupSchema, clinicBranchSetupSchema, clinicContactInfoSchema, clinicGroupSchema, clinicGroupSetupSchema, clinicInfoSchema, clinicLocationSchema, clinicReviewInfoSchema, clinicReviewSchema, clinicSchema, clinicTagsSchema, contactPersonSchema, contraindicationSchema, createAdminTokenSchema, createAppointmentSchema, createCalendarEventSchema, createClinicAdminSchema, createClinicGroupSchema, createClinicReviewSchema, createClinicSchema, createDefaultClinicGroupSchema, createDocumentTemplateSchema, createDraftPractitionerSchema, createPatientLocationInfoSchema, createPatientMedicalInfoSchema, createPatientProfileSchema, createPatientSensitiveInfoSchema, createPractitionerReviewSchema, createPractitionerSchema, createPractitionerTokenSchema, createProcedureReviewSchema, createReviewSchema, createUserOptionsSchema, doctorInfoSchema, documentElementSchema, documentElementWithoutIdSchema, documentTemplateSchema, emailSchema, emergencyContactSchema, gamificationSchema, getFirebaseApp, getFirebaseAuth, getFirebaseDB, getFirebaseInstance, initializeFirebase, locationDataSchema, medicationSchema, notificationSchema, passwordSchema, patientClinicSchema, patientDoctorSchema, patientLocationInfoSchema, patientMedicalInfoSchema, patientProfileInfoSchema, patientProfileSchema, patientSensitiveInfoSchema, postRequirementNotificationSchema, practitionerBasicInfoSchema, practitionerCertificationSchema, practitionerClinicWorkingHoursSchema, practitionerProfileInfoSchema, practitionerReviewInfoSchema, practitionerReviewSchema, practitionerSchema, practitionerTokenSchema, practitionerWorkingHoursSchema, preRequirementNotificationSchema, procedureCategorizationSchema, procedureInfoSchema, procedureReviewInfoSchema, procedureReviewSchema, procedureSummaryInfoSchema, requesterInfoSchema, reviewSchema, searchPatientsSchema, syncedCalendarEventSchema, timeSlotSchema, timestampSchema, updateAllergySchema, updateAppointmentSchema, updateBlockingConditionSchema, updateCalendarEventSchema, updateClinicAdminSchema, updateClinicGroupSchema, updateClinicSchema, updateContraindicationSchema, updateDocumentTemplateSchema, updateMedicationSchema, updatePatientMedicalInfoSchema, updateVitalStatsSchema, userRoleSchema, userRolesSchema, userSchema, vitalStatsSchema, workingHoursSchema };
|