@blackcode_sa/metaestetics-api 1.7.26 → 1.7.28
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/admin/index.d.mts +13 -1
- package/dist/admin/index.d.ts +13 -1
- package/dist/admin/index.js +137 -6
- package/dist/admin/index.mjs +137 -6
- package/dist/backoffice/index.d.mts +1 -0
- package/dist/backoffice/index.d.ts +1 -0
- package/dist/index.d.mts +388 -146
- package/dist/index.d.ts +388 -146
- package/dist/index.js +809 -350
- package/dist/index.mjs +716 -260
- package/package.json +1 -1
- package/src/admin/aggregation/procedure/procedure.aggregation.service.ts +202 -8
- package/src/index.ts +3 -0
- package/src/recommender/admin/index.ts +1 -0
- package/src/recommender/admin/services/recommender.service.admin.ts +5 -0
- package/src/recommender/front/index.ts +1 -0
- package/src/recommender/front/services/onboarding.service.ts +5 -0
- package/src/recommender/front/services/recommender.service.ts +3 -0
- package/src/recommender/index.ts +1 -0
- package/src/services/calendar/calendar.v3.service.ts +313 -0
- package/src/services/practitioner/practitioner.service.ts +178 -1
- package/src/services/procedure/procedure.service.ts +141 -0
- package/src/types/calendar/index.ts +29 -0
- package/src/types/practitioner/index.ts +3 -0
- package/src/validations/calendar.schema.ts +41 -0
- package/src/validations/practitioner.schema.ts +3 -0
package/dist/index.d.ts
CHANGED
|
@@ -1433,6 +1433,7 @@ interface Practitioner {
|
|
|
1433
1433
|
clinicWorkingHours: PractitionerClinicWorkingHours[];
|
|
1434
1434
|
clinicsInfo: ClinicInfo[];
|
|
1435
1435
|
procedures: string[];
|
|
1436
|
+
freeConsultations?: Record<string, string> | null;
|
|
1436
1437
|
proceduresInfo: ProcedureSummaryInfo[];
|
|
1437
1438
|
reviewInfo: PractitionerReviewInfo;
|
|
1438
1439
|
isActive: boolean;
|
|
@@ -1451,6 +1452,7 @@ interface CreatePractitionerData {
|
|
|
1451
1452
|
clinics?: string[];
|
|
1452
1453
|
clinicWorkingHours?: PractitionerClinicWorkingHours[];
|
|
1453
1454
|
clinicsInfo?: ClinicInfo[];
|
|
1455
|
+
freeConsultations?: Record<string, string> | null;
|
|
1454
1456
|
isActive: boolean;
|
|
1455
1457
|
isVerified: boolean;
|
|
1456
1458
|
status?: PractitionerStatus;
|
|
@@ -1464,6 +1466,7 @@ interface CreateDraftPractitionerData {
|
|
|
1464
1466
|
clinics?: string[];
|
|
1465
1467
|
clinicWorkingHours?: PractitionerClinicWorkingHours[];
|
|
1466
1468
|
clinicsInfo?: ClinicInfo[];
|
|
1469
|
+
freeConsultations?: Record<string, string> | null;
|
|
1467
1470
|
isActive?: boolean;
|
|
1468
1471
|
isVerified?: boolean;
|
|
1469
1472
|
}
|
|
@@ -5547,6 +5550,29 @@ interface SearchCalendarEventsParams {
|
|
|
5547
5550
|
/** Optional filter for event type. */
|
|
5548
5551
|
eventType?: CalendarEventType;
|
|
5549
5552
|
}
|
|
5553
|
+
/**
|
|
5554
|
+
* Interface for creating blocking events
|
|
5555
|
+
*/
|
|
5556
|
+
interface CreateBlockingEventParams {
|
|
5557
|
+
entityType: "practitioner" | "clinic";
|
|
5558
|
+
entityId: string;
|
|
5559
|
+
eventName: string;
|
|
5560
|
+
eventTime: CalendarEventTime;
|
|
5561
|
+
eventType: CalendarEventType.BLOCKING | CalendarEventType.BREAK | CalendarEventType.FREE_DAY | CalendarEventType.OTHER;
|
|
5562
|
+
description?: string;
|
|
5563
|
+
}
|
|
5564
|
+
/**
|
|
5565
|
+
* Interface for updating blocking events
|
|
5566
|
+
*/
|
|
5567
|
+
interface UpdateBlockingEventParams {
|
|
5568
|
+
entityType: "practitioner" | "clinic";
|
|
5569
|
+
entityId: string;
|
|
5570
|
+
eventId: string;
|
|
5571
|
+
eventName?: string;
|
|
5572
|
+
eventTime?: CalendarEventTime;
|
|
5573
|
+
description?: string;
|
|
5574
|
+
status?: CalendarEventStatus;
|
|
5575
|
+
}
|
|
5550
5576
|
|
|
5551
5577
|
declare enum UserRole {
|
|
5552
5578
|
PATIENT = "patient",
|
|
@@ -5985,12 +6011,166 @@ declare class ClinicAdminService extends BaseService {
|
|
|
5985
6011
|
getActiveManagedClinics(adminId: string): Promise<Clinic[]>;
|
|
5986
6012
|
}
|
|
5987
6013
|
|
|
6014
|
+
declare class ProcedureService extends BaseService {
|
|
6015
|
+
private categoryService;
|
|
6016
|
+
private subcategoryService;
|
|
6017
|
+
private technologyService;
|
|
6018
|
+
private productService;
|
|
6019
|
+
private mediaService;
|
|
6020
|
+
constructor(db: Firestore, auth: Auth, app: FirebaseApp, categoryService: CategoryService, subcategoryService: SubcategoryService, technologyService: TechnologyService, productService: ProductService, mediaService: MediaService);
|
|
6021
|
+
/**
|
|
6022
|
+
* Process media resource (string URL or File object)
|
|
6023
|
+
* @param media String URL or File object
|
|
6024
|
+
* @param ownerId Owner ID for the media (usually procedureId)
|
|
6025
|
+
* @param collectionName Collection name for organizing files
|
|
6026
|
+
* @returns URL string after processing
|
|
6027
|
+
*/
|
|
6028
|
+
private processMedia;
|
|
6029
|
+
/**
|
|
6030
|
+
* Process array of media resources (strings or Files)
|
|
6031
|
+
* @param mediaArray Array of string URLs or File objects
|
|
6032
|
+
* @param ownerId Owner ID for the media
|
|
6033
|
+
* @param collectionName Collection name for organizing files
|
|
6034
|
+
* @returns Array of URL strings after processing
|
|
6035
|
+
*/
|
|
6036
|
+
private processMediaArray;
|
|
6037
|
+
/**
|
|
6038
|
+
* Creates a new procedure
|
|
6039
|
+
* @param data - The data for creating a new procedure
|
|
6040
|
+
* @returns The created procedure
|
|
6041
|
+
*/
|
|
6042
|
+
createProcedure(data: CreateProcedureData): Promise<Procedure>;
|
|
6043
|
+
/**
|
|
6044
|
+
* Gets a procedure by ID
|
|
6045
|
+
* @param id - The ID of the procedure to get
|
|
6046
|
+
* @returns The procedure if found, null otherwise
|
|
6047
|
+
*/
|
|
6048
|
+
getProcedure(id: string): Promise<Procedure | null>;
|
|
6049
|
+
/**
|
|
6050
|
+
* Gets all procedures for a clinic branch
|
|
6051
|
+
* @param clinicBranchId - The ID of the clinic branch
|
|
6052
|
+
* @returns List of procedures
|
|
6053
|
+
*/
|
|
6054
|
+
getProceduresByClinicBranch(clinicBranchId: string): Promise<Procedure[]>;
|
|
6055
|
+
/**
|
|
6056
|
+
* Gets all procedures for a practitioner
|
|
6057
|
+
* @param practitionerId - The ID of the practitioner
|
|
6058
|
+
* @returns List of procedures
|
|
6059
|
+
*/
|
|
6060
|
+
getProceduresByPractitioner(practitionerId: string): Promise<Procedure[]>;
|
|
6061
|
+
/**
|
|
6062
|
+
* Updates a procedure
|
|
6063
|
+
* @param id - The ID of the procedure to update
|
|
6064
|
+
* @param data - The data to update the procedure with
|
|
6065
|
+
* @returns The updated procedure
|
|
6066
|
+
*/
|
|
6067
|
+
updateProcedure(id: string, data: UpdateProcedureData): Promise<Procedure>;
|
|
6068
|
+
/**
|
|
6069
|
+
* Deactivates a procedure (soft delete)
|
|
6070
|
+
* @param id - The ID of the procedure to deactivate
|
|
6071
|
+
*/
|
|
6072
|
+
deactivateProcedure(id: string): Promise<void>;
|
|
6073
|
+
/**
|
|
6074
|
+
* Deletes a procedure permanently
|
|
6075
|
+
* @param id - The ID of the procedure to delete
|
|
6076
|
+
* @returns A boolean indicating if the deletion was successful
|
|
6077
|
+
*/
|
|
6078
|
+
deleteProcedure(id: string): Promise<boolean>;
|
|
6079
|
+
/**
|
|
6080
|
+
* Gets all procedures that a practitioner is certified to perform
|
|
6081
|
+
* @param practitioner - The practitioner's profile
|
|
6082
|
+
* @returns Object containing allowed technologies, families, categories, subcategories
|
|
6083
|
+
*/
|
|
6084
|
+
getAllowedTechnologies(practitioner: Practitioner): Promise<{
|
|
6085
|
+
technologies: Technology[];
|
|
6086
|
+
families: ProcedureFamily[];
|
|
6087
|
+
categories: string[];
|
|
6088
|
+
subcategories: string[];
|
|
6089
|
+
}>;
|
|
6090
|
+
/**
|
|
6091
|
+
* Gets all procedures with optional pagination
|
|
6092
|
+
*
|
|
6093
|
+
* @param pagination - Optional number of procedures per page (0 or undefined returns all)
|
|
6094
|
+
* @param lastDoc - Optional last document for pagination (if continuing from a previous page)
|
|
6095
|
+
* @returns Object containing procedures array and the last document for pagination
|
|
6096
|
+
*/
|
|
6097
|
+
getAllProcedures(pagination?: number, lastDoc?: any): Promise<{
|
|
6098
|
+
procedures: Procedure[];
|
|
6099
|
+
lastDoc: any;
|
|
6100
|
+
}>;
|
|
6101
|
+
/**
|
|
6102
|
+
* Searches and filters procedures based on multiple criteria
|
|
6103
|
+
*
|
|
6104
|
+
* @param filters - Various filters to apply
|
|
6105
|
+
* @param filters.nameSearch - Optional search text for procedure name
|
|
6106
|
+
* @param filters.treatmentBenefits - Optional array of treatment benefits to filter by
|
|
6107
|
+
* @param filters.procedureFamily - Optional procedure family to filter by
|
|
6108
|
+
* @param filters.procedureCategory - Optional procedure category to filter by
|
|
6109
|
+
* @param filters.procedureSubcategory - Optional procedure subcategory to filter by
|
|
6110
|
+
* @param filters.procedureTechnology - Optional procedure technology to filter by
|
|
6111
|
+
* @param filters.location - Optional location for distance-based search
|
|
6112
|
+
* @param filters.radiusInKm - Optional radius in kilometers (required if location is provided)
|
|
6113
|
+
* @param filters.minPrice - Optional minimum price
|
|
6114
|
+
* @param filters.maxPrice - Optional maximum price
|
|
6115
|
+
* @param filters.minRating - Optional minimum rating (0-5)
|
|
6116
|
+
* @param filters.maxRating - Optional maximum rating (0-5)
|
|
6117
|
+
* @param filters.pagination - Optional number of results per page
|
|
6118
|
+
* @param filters.lastDoc - Optional last document for pagination
|
|
6119
|
+
* @param filters.isActive - Optional filter for active procedures only
|
|
6120
|
+
* @returns Filtered procedures and the last document for pagination
|
|
6121
|
+
*/
|
|
6122
|
+
getProceduresByFilters(filters: {
|
|
6123
|
+
nameSearch?: string;
|
|
6124
|
+
treatmentBenefits?: TreatmentBenefit[];
|
|
6125
|
+
procedureFamily?: ProcedureFamily;
|
|
6126
|
+
procedureCategory?: string;
|
|
6127
|
+
procedureSubcategory?: string;
|
|
6128
|
+
procedureTechnology?: string;
|
|
6129
|
+
location?: {
|
|
6130
|
+
latitude: number;
|
|
6131
|
+
longitude: number;
|
|
6132
|
+
};
|
|
6133
|
+
radiusInKm?: number;
|
|
6134
|
+
minPrice?: number;
|
|
6135
|
+
maxPrice?: number;
|
|
6136
|
+
minRating?: number;
|
|
6137
|
+
maxRating?: number;
|
|
6138
|
+
pagination?: number;
|
|
6139
|
+
lastDoc?: any;
|
|
6140
|
+
isActive?: boolean;
|
|
6141
|
+
}): Promise<{
|
|
6142
|
+
procedures: (Procedure & {
|
|
6143
|
+
distance?: number;
|
|
6144
|
+
})[];
|
|
6145
|
+
lastDoc: any;
|
|
6146
|
+
}>;
|
|
6147
|
+
/**
|
|
6148
|
+
* Helper method to apply in-memory filters to procedures
|
|
6149
|
+
* Used by getProceduresByFilters to apply filters that can't be done in Firestore queries
|
|
6150
|
+
*
|
|
6151
|
+
* @param procedures - The procedures to filter
|
|
6152
|
+
* @param filters - The filters to apply
|
|
6153
|
+
* @returns Filtered procedures
|
|
6154
|
+
*/
|
|
6155
|
+
private applyInMemoryFilters;
|
|
6156
|
+
/**
|
|
6157
|
+
* Creates a consultation procedure without requiring a product
|
|
6158
|
+
* This is a special method for consultation procedures that don't use products
|
|
6159
|
+
* @param data - The data for creating a consultation procedure (without productId)
|
|
6160
|
+
* @returns The created procedure
|
|
6161
|
+
*/
|
|
6162
|
+
createConsultationProcedure(data: Omit<CreateProcedureData, "productId">): Promise<Procedure>;
|
|
6163
|
+
}
|
|
6164
|
+
|
|
5988
6165
|
declare class PractitionerService extends BaseService {
|
|
5989
6166
|
private clinicService?;
|
|
5990
6167
|
private mediaService;
|
|
5991
|
-
|
|
6168
|
+
private procedureService?;
|
|
6169
|
+
constructor(db: Firestore, auth: Auth, app: FirebaseApp, clinicService?: ClinicService, procedureService?: ProcedureService);
|
|
5992
6170
|
private getClinicService;
|
|
6171
|
+
private getProcedureService;
|
|
5993
6172
|
setClinicService(clinicService: ClinicService): void;
|
|
6173
|
+
setProcedureService(procedureService: ProcedureService): void;
|
|
5994
6174
|
/**
|
|
5995
6175
|
* Handles profile photo upload for practitioners
|
|
5996
6176
|
* @param profilePhoto - MediaResource (File, Blob, or URL string)
|
|
@@ -6157,6 +6337,21 @@ declare class PractitionerService extends BaseService {
|
|
|
6157
6337
|
practitioners: Practitioner[];
|
|
6158
6338
|
lastDoc: any;
|
|
6159
6339
|
}>;
|
|
6340
|
+
/**
|
|
6341
|
+
* Enables free consultation for a practitioner in a specific clinic
|
|
6342
|
+
* Creates a free consultation procedure with hardcoded parameters
|
|
6343
|
+
* @param practitionerId - ID of the practitioner
|
|
6344
|
+
* @param clinicId - ID of the clinic
|
|
6345
|
+
* @returns The created consultation procedure
|
|
6346
|
+
*/
|
|
6347
|
+
EnableFreeConsultation(practitionerId: string, clinicId: string): Promise<void>;
|
|
6348
|
+
/**
|
|
6349
|
+
* Disables free consultation for a practitioner in a specific clinic
|
|
6350
|
+
* Finds and deactivates the existing free consultation procedure
|
|
6351
|
+
* @param practitionerId - ID of the practitioner
|
|
6352
|
+
* @param clinicId - ID of the clinic
|
|
6353
|
+
*/
|
|
6354
|
+
DisableFreeConsultation(practitionerId: string, clinicId: string): Promise<void>;
|
|
6160
6355
|
}
|
|
6161
6356
|
|
|
6162
6357
|
declare class UserService extends BaseService {
|
|
@@ -6592,150 +6787,6 @@ declare class NotificationService extends BaseService {
|
|
|
6592
6787
|
getAppointmentNotifications(appointmentId: string): Promise<Notification[]>;
|
|
6593
6788
|
}
|
|
6594
6789
|
|
|
6595
|
-
declare class ProcedureService extends BaseService {
|
|
6596
|
-
private categoryService;
|
|
6597
|
-
private subcategoryService;
|
|
6598
|
-
private technologyService;
|
|
6599
|
-
private productService;
|
|
6600
|
-
private mediaService;
|
|
6601
|
-
constructor(db: Firestore, auth: Auth, app: FirebaseApp, categoryService: CategoryService, subcategoryService: SubcategoryService, technologyService: TechnologyService, productService: ProductService, mediaService: MediaService);
|
|
6602
|
-
/**
|
|
6603
|
-
* Process media resource (string URL or File object)
|
|
6604
|
-
* @param media String URL or File object
|
|
6605
|
-
* @param ownerId Owner ID for the media (usually procedureId)
|
|
6606
|
-
* @param collectionName Collection name for organizing files
|
|
6607
|
-
* @returns URL string after processing
|
|
6608
|
-
*/
|
|
6609
|
-
private processMedia;
|
|
6610
|
-
/**
|
|
6611
|
-
* Process array of media resources (strings or Files)
|
|
6612
|
-
* @param mediaArray Array of string URLs or File objects
|
|
6613
|
-
* @param ownerId Owner ID for the media
|
|
6614
|
-
* @param collectionName Collection name for organizing files
|
|
6615
|
-
* @returns Array of URL strings after processing
|
|
6616
|
-
*/
|
|
6617
|
-
private processMediaArray;
|
|
6618
|
-
/**
|
|
6619
|
-
* Creates a new procedure
|
|
6620
|
-
* @param data - The data for creating a new procedure
|
|
6621
|
-
* @returns The created procedure
|
|
6622
|
-
*/
|
|
6623
|
-
createProcedure(data: CreateProcedureData): Promise<Procedure>;
|
|
6624
|
-
/**
|
|
6625
|
-
* Gets a procedure by ID
|
|
6626
|
-
* @param id - The ID of the procedure to get
|
|
6627
|
-
* @returns The procedure if found, null otherwise
|
|
6628
|
-
*/
|
|
6629
|
-
getProcedure(id: string): Promise<Procedure | null>;
|
|
6630
|
-
/**
|
|
6631
|
-
* Gets all procedures for a clinic branch
|
|
6632
|
-
* @param clinicBranchId - The ID of the clinic branch
|
|
6633
|
-
* @returns List of procedures
|
|
6634
|
-
*/
|
|
6635
|
-
getProceduresByClinicBranch(clinicBranchId: string): Promise<Procedure[]>;
|
|
6636
|
-
/**
|
|
6637
|
-
* Gets all procedures for a practitioner
|
|
6638
|
-
* @param practitionerId - The ID of the practitioner
|
|
6639
|
-
* @returns List of procedures
|
|
6640
|
-
*/
|
|
6641
|
-
getProceduresByPractitioner(practitionerId: string): Promise<Procedure[]>;
|
|
6642
|
-
/**
|
|
6643
|
-
* Updates a procedure
|
|
6644
|
-
* @param id - The ID of the procedure to update
|
|
6645
|
-
* @param data - The data to update the procedure with
|
|
6646
|
-
* @returns The updated procedure
|
|
6647
|
-
*/
|
|
6648
|
-
updateProcedure(id: string, data: UpdateProcedureData): Promise<Procedure>;
|
|
6649
|
-
/**
|
|
6650
|
-
* Deactivates a procedure (soft delete)
|
|
6651
|
-
* @param id - The ID of the procedure to deactivate
|
|
6652
|
-
*/
|
|
6653
|
-
deactivateProcedure(id: string): Promise<void>;
|
|
6654
|
-
/**
|
|
6655
|
-
* Deletes a procedure permanently
|
|
6656
|
-
* @param id - The ID of the procedure to delete
|
|
6657
|
-
* @returns A boolean indicating if the deletion was successful
|
|
6658
|
-
*/
|
|
6659
|
-
deleteProcedure(id: string): Promise<boolean>;
|
|
6660
|
-
/**
|
|
6661
|
-
* Gets all procedures that a practitioner is certified to perform
|
|
6662
|
-
* @param practitioner - The practitioner's profile
|
|
6663
|
-
* @returns Object containing allowed technologies, families, categories, subcategories
|
|
6664
|
-
*/
|
|
6665
|
-
getAllowedTechnologies(practitioner: Practitioner): Promise<{
|
|
6666
|
-
technologies: Technology[];
|
|
6667
|
-
families: ProcedureFamily[];
|
|
6668
|
-
categories: string[];
|
|
6669
|
-
subcategories: string[];
|
|
6670
|
-
}>;
|
|
6671
|
-
/**
|
|
6672
|
-
* Gets all procedures with optional pagination
|
|
6673
|
-
*
|
|
6674
|
-
* @param pagination - Optional number of procedures per page (0 or undefined returns all)
|
|
6675
|
-
* @param lastDoc - Optional last document for pagination (if continuing from a previous page)
|
|
6676
|
-
* @returns Object containing procedures array and the last document for pagination
|
|
6677
|
-
*/
|
|
6678
|
-
getAllProcedures(pagination?: number, lastDoc?: any): Promise<{
|
|
6679
|
-
procedures: Procedure[];
|
|
6680
|
-
lastDoc: any;
|
|
6681
|
-
}>;
|
|
6682
|
-
/**
|
|
6683
|
-
* Searches and filters procedures based on multiple criteria
|
|
6684
|
-
*
|
|
6685
|
-
* @param filters - Various filters to apply
|
|
6686
|
-
* @param filters.nameSearch - Optional search text for procedure name
|
|
6687
|
-
* @param filters.treatmentBenefits - Optional array of treatment benefits to filter by
|
|
6688
|
-
* @param filters.procedureFamily - Optional procedure family to filter by
|
|
6689
|
-
* @param filters.procedureCategory - Optional procedure category to filter by
|
|
6690
|
-
* @param filters.procedureSubcategory - Optional procedure subcategory to filter by
|
|
6691
|
-
* @param filters.procedureTechnology - Optional procedure technology to filter by
|
|
6692
|
-
* @param filters.location - Optional location for distance-based search
|
|
6693
|
-
* @param filters.radiusInKm - Optional radius in kilometers (required if location is provided)
|
|
6694
|
-
* @param filters.minPrice - Optional minimum price
|
|
6695
|
-
* @param filters.maxPrice - Optional maximum price
|
|
6696
|
-
* @param filters.minRating - Optional minimum rating (0-5)
|
|
6697
|
-
* @param filters.maxRating - Optional maximum rating (0-5)
|
|
6698
|
-
* @param filters.pagination - Optional number of results per page
|
|
6699
|
-
* @param filters.lastDoc - Optional last document for pagination
|
|
6700
|
-
* @param filters.isActive - Optional filter for active procedures only
|
|
6701
|
-
* @returns Filtered procedures and the last document for pagination
|
|
6702
|
-
*/
|
|
6703
|
-
getProceduresByFilters(filters: {
|
|
6704
|
-
nameSearch?: string;
|
|
6705
|
-
treatmentBenefits?: TreatmentBenefit[];
|
|
6706
|
-
procedureFamily?: ProcedureFamily;
|
|
6707
|
-
procedureCategory?: string;
|
|
6708
|
-
procedureSubcategory?: string;
|
|
6709
|
-
procedureTechnology?: string;
|
|
6710
|
-
location?: {
|
|
6711
|
-
latitude: number;
|
|
6712
|
-
longitude: number;
|
|
6713
|
-
};
|
|
6714
|
-
radiusInKm?: number;
|
|
6715
|
-
minPrice?: number;
|
|
6716
|
-
maxPrice?: number;
|
|
6717
|
-
minRating?: number;
|
|
6718
|
-
maxRating?: number;
|
|
6719
|
-
pagination?: number;
|
|
6720
|
-
lastDoc?: any;
|
|
6721
|
-
isActive?: boolean;
|
|
6722
|
-
}): Promise<{
|
|
6723
|
-
procedures: (Procedure & {
|
|
6724
|
-
distance?: number;
|
|
6725
|
-
})[];
|
|
6726
|
-
lastDoc: any;
|
|
6727
|
-
}>;
|
|
6728
|
-
/**
|
|
6729
|
-
* Helper method to apply in-memory filters to procedures
|
|
6730
|
-
* Used by getProceduresByFilters to apply filters that can't be done in Firestore queries
|
|
6731
|
-
*
|
|
6732
|
-
* @param procedures - The procedures to filter
|
|
6733
|
-
* @param filters - The filters to apply
|
|
6734
|
-
* @returns Filtered procedures
|
|
6735
|
-
*/
|
|
6736
|
-
private applyInMemoryFilters;
|
|
6737
|
-
}
|
|
6738
|
-
|
|
6739
6790
|
declare class PractitionerInviteService extends BaseService {
|
|
6740
6791
|
constructor(db: Firestore, auth: Auth, app: FirebaseApp);
|
|
6741
6792
|
/**
|
|
@@ -7322,6 +7373,79 @@ declare class CalendarServiceV2 extends BaseService {
|
|
|
7322
7373
|
private fetchProfileInfoCards;
|
|
7323
7374
|
}
|
|
7324
7375
|
|
|
7376
|
+
/**
|
|
7377
|
+
* Calendar Service V3
|
|
7378
|
+
* Focused on blocking event management and calendar event search
|
|
7379
|
+
* Appointment logic is handled by AppointmentService and BookingAdmin
|
|
7380
|
+
* External calendar sync is handled by dedicated cloud functions
|
|
7381
|
+
*/
|
|
7382
|
+
declare class CalendarServiceV3 extends BaseService {
|
|
7383
|
+
/**
|
|
7384
|
+
* Creates a new CalendarServiceV3 instance
|
|
7385
|
+
* @param db - Firestore instance
|
|
7386
|
+
* @param auth - Firebase Auth instance
|
|
7387
|
+
* @param app - Firebase App instance
|
|
7388
|
+
*/
|
|
7389
|
+
constructor(db: Firestore, auth: Auth, app: FirebaseApp);
|
|
7390
|
+
/**
|
|
7391
|
+
* Creates a blocking event for a practitioner or clinic
|
|
7392
|
+
* @param params - Blocking event creation parameters
|
|
7393
|
+
* @returns Created calendar event
|
|
7394
|
+
*/
|
|
7395
|
+
createBlockingEvent(params: CreateBlockingEventParams): Promise<CalendarEvent>;
|
|
7396
|
+
/**
|
|
7397
|
+
* Updates a blocking event
|
|
7398
|
+
* @param params - Blocking event update parameters
|
|
7399
|
+
* @returns Updated calendar event
|
|
7400
|
+
*/
|
|
7401
|
+
updateBlockingEvent(params: UpdateBlockingEventParams): Promise<CalendarEvent>;
|
|
7402
|
+
/**
|
|
7403
|
+
* Deletes a blocking event
|
|
7404
|
+
* @param entityType - Type of entity (practitioner or clinic)
|
|
7405
|
+
* @param entityId - ID of the entity
|
|
7406
|
+
* @param eventId - ID of the event to delete
|
|
7407
|
+
*/
|
|
7408
|
+
deleteBlockingEvent(entityType: "practitioner" | "clinic", entityId: string, eventId: string): Promise<void>;
|
|
7409
|
+
/**
|
|
7410
|
+
* Gets a specific blocking event
|
|
7411
|
+
* @param entityType - Type of entity (practitioner or clinic)
|
|
7412
|
+
* @param entityId - ID of the entity
|
|
7413
|
+
* @param eventId - ID of the event to retrieve
|
|
7414
|
+
* @returns Calendar event or null if not found
|
|
7415
|
+
*/
|
|
7416
|
+
getBlockingEvent(entityType: "practitioner" | "clinic", entityId: string, eventId: string): Promise<CalendarEvent | null>;
|
|
7417
|
+
/**
|
|
7418
|
+
* Gets blocking events for a specific entity
|
|
7419
|
+
* @param entityType - Type of entity (practitioner or clinic)
|
|
7420
|
+
* @param entityId - ID of the entity
|
|
7421
|
+
* @param dateRange - Optional date range filter
|
|
7422
|
+
* @param eventType - Optional event type filter
|
|
7423
|
+
* @returns Array of calendar events
|
|
7424
|
+
*/
|
|
7425
|
+
getEntityBlockingEvents(entityType: "practitioner" | "clinic", entityId: string, dateRange?: DateRange, eventType?: CalendarEventType): Promise<CalendarEvent[]>;
|
|
7426
|
+
/**
|
|
7427
|
+
* Searches for calendar events based on specified criteria.
|
|
7428
|
+
* This method supports searching for ALL event types (appointments, blocking events, etc.)
|
|
7429
|
+
*
|
|
7430
|
+
* @param params - The search parameters
|
|
7431
|
+
* @returns A promise that resolves to an array of matching calendar events
|
|
7432
|
+
*/
|
|
7433
|
+
searchCalendarEvents(params: SearchCalendarEventsParams): Promise<CalendarEvent[]>;
|
|
7434
|
+
/**
|
|
7435
|
+
* Gets the calendar collection path for a specific entity
|
|
7436
|
+
* @param entityType - Type of entity (practitioner or clinic)
|
|
7437
|
+
* @param entityId - ID of the entity
|
|
7438
|
+
* @returns Collection path string
|
|
7439
|
+
*/
|
|
7440
|
+
private getEntityCalendarPath;
|
|
7441
|
+
/**
|
|
7442
|
+
* Validates blocking event creation parameters
|
|
7443
|
+
* @param params - Parameters to validate
|
|
7444
|
+
* @throws Error if validation fails
|
|
7445
|
+
*/
|
|
7446
|
+
private validateBlockingEventParams;
|
|
7447
|
+
}
|
|
7448
|
+
|
|
7325
7449
|
/**
|
|
7326
7450
|
* Service for managing synced calendars and calendar synchronization
|
|
7327
7451
|
*/
|
|
@@ -11818,6 +11942,7 @@ declare const practitionerSchema: z.ZodObject<{
|
|
|
11818
11942
|
description?: string | null | undefined;
|
|
11819
11943
|
}>, "many">;
|
|
11820
11944
|
procedures: z.ZodArray<z.ZodString, "many">;
|
|
11945
|
+
freeConsultations: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>>;
|
|
11821
11946
|
proceduresInfo: z.ZodArray<z.ZodObject<{
|
|
11822
11947
|
id: z.ZodString;
|
|
11823
11948
|
name: z.ZodString;
|
|
@@ -12019,6 +12144,7 @@ declare const practitionerSchema: z.ZodObject<{
|
|
|
12019
12144
|
averageRating: number;
|
|
12020
12145
|
recommendationPercentage: number;
|
|
12021
12146
|
};
|
|
12147
|
+
freeConsultations?: Record<string, string> | null | undefined;
|
|
12022
12148
|
}, {
|
|
12023
12149
|
id: string;
|
|
12024
12150
|
createdAt: Date | Timestamp;
|
|
@@ -12135,6 +12261,7 @@ declare const practitionerSchema: z.ZodObject<{
|
|
|
12135
12261
|
averageRating: number;
|
|
12136
12262
|
recommendationPercentage: number;
|
|
12137
12263
|
};
|
|
12264
|
+
freeConsultations?: Record<string, string> | null | undefined;
|
|
12138
12265
|
}>;
|
|
12139
12266
|
/**
|
|
12140
12267
|
* Šema za validaciju podataka pri kreiranju zdravstvenog radnika
|
|
@@ -12494,6 +12621,7 @@ declare const createPractitionerSchema: z.ZodObject<{
|
|
|
12494
12621
|
featuredPhoto: string;
|
|
12495
12622
|
description?: string | null | undefined;
|
|
12496
12623
|
}>, "many">>;
|
|
12624
|
+
freeConsultations: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>>;
|
|
12497
12625
|
proceduresInfo: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
12498
12626
|
id: z.ZodString;
|
|
12499
12627
|
name: z.ZodString;
|
|
@@ -12632,6 +12760,7 @@ declare const createPractitionerSchema: z.ZodObject<{
|
|
|
12632
12760
|
featuredPhoto: string;
|
|
12633
12761
|
description?: string | null | undefined;
|
|
12634
12762
|
}[] | undefined;
|
|
12763
|
+
freeConsultations?: Record<string, string> | null | undefined;
|
|
12635
12764
|
status?: PractitionerStatus | undefined;
|
|
12636
12765
|
proceduresInfo?: {
|
|
12637
12766
|
id: string;
|
|
@@ -12734,6 +12863,7 @@ declare const createPractitionerSchema: z.ZodObject<{
|
|
|
12734
12863
|
featuredPhoto: string;
|
|
12735
12864
|
description?: string | null | undefined;
|
|
12736
12865
|
}[] | undefined;
|
|
12866
|
+
freeConsultations?: Record<string, string> | null | undefined;
|
|
12737
12867
|
status?: PractitionerStatus | undefined;
|
|
12738
12868
|
proceduresInfo?: {
|
|
12739
12869
|
id: string;
|
|
@@ -13111,6 +13241,7 @@ declare const createDraftPractitionerSchema: z.ZodObject<{
|
|
|
13111
13241
|
featuredPhoto: string;
|
|
13112
13242
|
description?: string | null | undefined;
|
|
13113
13243
|
}>, "many">>;
|
|
13244
|
+
freeConsultations: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>>;
|
|
13114
13245
|
proceduresInfo: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
13115
13246
|
id: z.ZodString;
|
|
13116
13247
|
name: z.ZodString;
|
|
@@ -13247,6 +13378,7 @@ declare const createDraftPractitionerSchema: z.ZodObject<{
|
|
|
13247
13378
|
featuredPhoto: string;
|
|
13248
13379
|
description?: string | null | undefined;
|
|
13249
13380
|
}[] | undefined;
|
|
13381
|
+
freeConsultations?: Record<string, string> | null | undefined;
|
|
13250
13382
|
proceduresInfo?: {
|
|
13251
13383
|
id: string;
|
|
13252
13384
|
name: string;
|
|
@@ -13346,6 +13478,7 @@ declare const createDraftPractitionerSchema: z.ZodObject<{
|
|
|
13346
13478
|
featuredPhoto: string;
|
|
13347
13479
|
description?: string | null | undefined;
|
|
13348
13480
|
}[] | undefined;
|
|
13481
|
+
freeConsultations?: Record<string, string> | null | undefined;
|
|
13349
13482
|
isVerified?: boolean | undefined;
|
|
13350
13483
|
proceduresInfo?: {
|
|
13351
13484
|
id: string;
|
|
@@ -18698,6 +18831,115 @@ declare const calendarEventSchema: z.ZodObject<{
|
|
|
18698
18831
|
procedureProduct: string;
|
|
18699
18832
|
} | null | undefined;
|
|
18700
18833
|
}>;
|
|
18834
|
+
/**
|
|
18835
|
+
* Validation schema for creating blocking events
|
|
18836
|
+
* Based on CreateBlockingEventParams interface
|
|
18837
|
+
*/
|
|
18838
|
+
declare const createBlockingEventSchema: z.ZodObject<{
|
|
18839
|
+
entityType: z.ZodEnum<["practitioner", "clinic"]>;
|
|
18840
|
+
entityId: z.ZodString;
|
|
18841
|
+
eventName: z.ZodString;
|
|
18842
|
+
eventTime: z.ZodEffects<z.ZodEffects<z.ZodObject<{
|
|
18843
|
+
start: z.ZodUnion<[z.ZodType<Date, z.ZodTypeDef, Date>, z.ZodType<Timestamp, z.ZodTypeDef, Timestamp>]>;
|
|
18844
|
+
end: z.ZodUnion<[z.ZodType<Date, z.ZodTypeDef, Date>, z.ZodType<Timestamp, z.ZodTypeDef, Timestamp>]>;
|
|
18845
|
+
}, "strip", z.ZodTypeAny, {
|
|
18846
|
+
start: Date | Timestamp;
|
|
18847
|
+
end: Date | Timestamp;
|
|
18848
|
+
}, {
|
|
18849
|
+
start: Date | Timestamp;
|
|
18850
|
+
end: Date | Timestamp;
|
|
18851
|
+
}>, {
|
|
18852
|
+
start: Date | Timestamp;
|
|
18853
|
+
end: Date | Timestamp;
|
|
18854
|
+
}, {
|
|
18855
|
+
start: Date | Timestamp;
|
|
18856
|
+
end: Date | Timestamp;
|
|
18857
|
+
}>, {
|
|
18858
|
+
start: Date | Timestamp;
|
|
18859
|
+
end: Date | Timestamp;
|
|
18860
|
+
}, {
|
|
18861
|
+
start: Date | Timestamp;
|
|
18862
|
+
end: Date | Timestamp;
|
|
18863
|
+
}>;
|
|
18864
|
+
eventType: z.ZodEnum<[CalendarEventType.BLOCKING, CalendarEventType.BREAK, CalendarEventType.FREE_DAY, CalendarEventType.OTHER]>;
|
|
18865
|
+
description: z.ZodOptional<z.ZodString>;
|
|
18866
|
+
}, "strip", z.ZodTypeAny, {
|
|
18867
|
+
eventTime: {
|
|
18868
|
+
start: Date | Timestamp;
|
|
18869
|
+
end: Date | Timestamp;
|
|
18870
|
+
};
|
|
18871
|
+
eventName: string;
|
|
18872
|
+
eventType: CalendarEventType.BLOCKING | CalendarEventType.BREAK | CalendarEventType.FREE_DAY | CalendarEventType.OTHER;
|
|
18873
|
+
entityType: "practitioner" | "clinic";
|
|
18874
|
+
entityId: string;
|
|
18875
|
+
description?: string | undefined;
|
|
18876
|
+
}, {
|
|
18877
|
+
eventTime: {
|
|
18878
|
+
start: Date | Timestamp;
|
|
18879
|
+
end: Date | Timestamp;
|
|
18880
|
+
};
|
|
18881
|
+
eventName: string;
|
|
18882
|
+
eventType: CalendarEventType.BLOCKING | CalendarEventType.BREAK | CalendarEventType.FREE_DAY | CalendarEventType.OTHER;
|
|
18883
|
+
entityType: "practitioner" | "clinic";
|
|
18884
|
+
entityId: string;
|
|
18885
|
+
description?: string | undefined;
|
|
18886
|
+
}>;
|
|
18887
|
+
/**
|
|
18888
|
+
* Validation schema for updating blocking events
|
|
18889
|
+
* Based on UpdateBlockingEventParams interface
|
|
18890
|
+
*/
|
|
18891
|
+
declare const updateBlockingEventSchema: z.ZodObject<{
|
|
18892
|
+
entityType: z.ZodEnum<["practitioner", "clinic"]>;
|
|
18893
|
+
entityId: z.ZodString;
|
|
18894
|
+
eventId: z.ZodString;
|
|
18895
|
+
eventName: z.ZodOptional<z.ZodString>;
|
|
18896
|
+
eventTime: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodObject<{
|
|
18897
|
+
start: z.ZodUnion<[z.ZodType<Date, z.ZodTypeDef, Date>, z.ZodType<Timestamp, z.ZodTypeDef, Timestamp>]>;
|
|
18898
|
+
end: z.ZodUnion<[z.ZodType<Date, z.ZodTypeDef, Date>, z.ZodType<Timestamp, z.ZodTypeDef, Timestamp>]>;
|
|
18899
|
+
}, "strip", z.ZodTypeAny, {
|
|
18900
|
+
start: Date | Timestamp;
|
|
18901
|
+
end: Date | Timestamp;
|
|
18902
|
+
}, {
|
|
18903
|
+
start: Date | Timestamp;
|
|
18904
|
+
end: Date | Timestamp;
|
|
18905
|
+
}>, {
|
|
18906
|
+
start: Date | Timestamp;
|
|
18907
|
+
end: Date | Timestamp;
|
|
18908
|
+
}, {
|
|
18909
|
+
start: Date | Timestamp;
|
|
18910
|
+
end: Date | Timestamp;
|
|
18911
|
+
}>, {
|
|
18912
|
+
start: Date | Timestamp;
|
|
18913
|
+
end: Date | Timestamp;
|
|
18914
|
+
}, {
|
|
18915
|
+
start: Date | Timestamp;
|
|
18916
|
+
end: Date | Timestamp;
|
|
18917
|
+
}>>;
|
|
18918
|
+
description: z.ZodOptional<z.ZodString>;
|
|
18919
|
+
status: z.ZodOptional<z.ZodNativeEnum<typeof CalendarEventStatus>>;
|
|
18920
|
+
}, "strip", z.ZodTypeAny, {
|
|
18921
|
+
eventId: string;
|
|
18922
|
+
entityType: "practitioner" | "clinic";
|
|
18923
|
+
entityId: string;
|
|
18924
|
+
description?: string | undefined;
|
|
18925
|
+
status?: CalendarEventStatus | undefined;
|
|
18926
|
+
eventTime?: {
|
|
18927
|
+
start: Date | Timestamp;
|
|
18928
|
+
end: Date | Timestamp;
|
|
18929
|
+
} | undefined;
|
|
18930
|
+
eventName?: string | undefined;
|
|
18931
|
+
}, {
|
|
18932
|
+
eventId: string;
|
|
18933
|
+
entityType: "practitioner" | "clinic";
|
|
18934
|
+
entityId: string;
|
|
18935
|
+
description?: string | undefined;
|
|
18936
|
+
status?: CalendarEventStatus | undefined;
|
|
18937
|
+
eventTime?: {
|
|
18938
|
+
start: Date | Timestamp;
|
|
18939
|
+
end: Date | Timestamp;
|
|
18940
|
+
} | undefined;
|
|
18941
|
+
eventName?: string | undefined;
|
|
18942
|
+
}>;
|
|
18701
18943
|
|
|
18702
18944
|
/**
|
|
18703
18945
|
* Validation schema for practitioner profile info
|
|
@@ -19797,4 +20039,4 @@ declare const createReviewSchema: z.ZodEffects<z.ZodObject<{
|
|
|
19797
20039
|
} | undefined;
|
|
19798
20040
|
}>;
|
|
19799
20041
|
|
|
19800
|
-
export { APPOINTMENTS_COLLECTION, 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 Appointment, type AppointmentReminderNotification, AppointmentService, AppointmentStatus, AuthError, AuthService, type BaseDocumentElement, type BaseNotification, type BinaryChoiceElement, 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 CreateAppointmentData, type CreateAppointmentHttpData, 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 CreatePractitionerInviteData, type CreatePractitionerTokenData, type CreateProcedureData, type CreateSyncedCalendarData, type CreateUserData, Currency, DOCTOR_FORMS_SUBCOLLECTION, DOCUMENTATION_TEMPLATES_COLLECTION, type DatePickerElement, type DateRange, type DigitalSignatureElement, type DoctorInfo, type DocumentElement, DocumentElementType, type DocumentTemplate, DocumentationTemplateService, type DynamicTextElement, DynamicVariable, type EmergencyContact, EnvironmentalAllergySubtype, FILLED_DOCUMENTS_COLLECTION, type FileUploadElement, type FilledDocument, type FilledDocumentFileValue, FilledDocumentService, FilledDocumentStatus, FirebaseErrorCode, type FirebaseUser, FoodAllergySubtype, type GamificationInfo, Gender, type HeadingElement, HeadingLevel, Language, type ListElement, ListType, type LocationData, MEDIA_METADATA_COLLECTION, MediaAccessLevel, type MediaMetadata, type MediaResource, MediaService, MedicationAllergySubtype, type MultipleChoiceElement, type Notification, NotificationService, NotificationStatus, NotificationType, PATIENTS_COLLECTION, PATIENT_APPOINTMENTS_COLLECTION, PATIENT_LOCATION_INFO_COLLECTION, PATIENT_MEDICAL_HISTORY_COLLECTION, PATIENT_MEDICAL_INFO_COLLECTION, PATIENT_REQUIREMENTS_SUBCOLLECTION_NAME, PATIENT_SENSITIVE_INFO_COLLECTION, PRACTITIONERS_COLLECTION, PRACTITIONER_INVITES_COLLECTION, PROCEDURES_COLLECTION, type ParagraphElement, type PatientClinic, type PatientDoctor, PatientInstructionStatus, type PatientLocationInfo, type PatientMedicalInfo, type PatientProfile, type PatientProfileComplete, type PatientProfileInfo, type PatientRequirementInstance, type PatientRequirementInstruction, PatientRequirementOverallStatus, PatientRequirementsService, type PatientSensitiveInfo, PatientService, PaymentStatus, type PostRequirementNotification, PracticeType, type Practitioner, type PractitionerBasicInfo, type PractitionerCertification, type PractitionerClinicProcedures, type PractitionerClinicWorkingHours, type PractitionerInvite, type PractitionerInviteFilters, PractitionerInviteService, PractitionerInviteStatus, 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, type ProposedWorkingHours, REGISTER_TOKENS_COLLECTION, REVIEWS_COLLECTION, type RatingScaleElement, type RequesterInfo, type Requirement, RequirementType, type Review, ReviewService, SYNCED_CALENDARS_COLLECTION, type SearchAppointmentsParams, type SearchCalendarEventsParams, SearchLocationEnum, type SearchPatientsParams, type SignatureElement, type SingleChoiceElement, type Subcategory, SubcategoryService, SubscriptionModel, type SyncedCalendar, type SyncedCalendarEvent, SyncedCalendarProvider, SyncedCalendarsService, type Technology, type TechnologyDocumentationTemplate, TechnologyService, type TextInputElement, type TimeSlot, TimeUnit, TreatmentBenefit, USER_ERRORS, USER_FORMS_SUBCOLLECTION, type UpdateAllergyData, type UpdateAppointmentData, 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 UpdatePractitionerInviteData, 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, clinicLocationSchema, clinicReviewInfoSchema, clinicReviewSchema, clinicSchema, clinicTagsSchema, contactPersonSchema, contraindicationSchema, createAdminTokenSchema, createAppointmentSchema, createCalendarEventSchema, createClinicAdminSchema, createClinicGroupSchema, createClinicReviewSchema, createClinicSchema, createDefaultClinicGroupSchema, createDocumentTemplateSchema, createDraftPractitionerSchema, createFilledDocumentDataSchema, createPatientLocationInfoSchema, createPatientMedicalInfoSchema, createPatientProfileSchema, createPatientSensitiveInfoSchema, createPractitionerReviewSchema, createPractitionerSchema, createPractitionerTokenSchema, createProcedureReviewSchema, createReviewSchema, createUserOptionsSchema, documentElementSchema, documentElementWithoutIdSchema, documentTemplateSchema, emailSchema, emergencyContactSchema, filledDocumentSchema, filledDocumentStatusSchema, 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, practitionerSignupSchema, practitionerTokenSchema, practitionerWorkingHoursSchema, preRequirementNotificationSchema, procedureCategorizationSchema, procedureInfoSchema, procedureReviewInfoSchema, procedureReviewSchema, requesterInfoSchema, requirementInstructionDueNotificationSchema, reviewSchema, searchAppointmentsSchema, searchPatientsSchema, syncedCalendarEventSchema, timeSlotSchema, timestampSchema, updateAllergySchema, updateAppointmentSchema, updateBlockingConditionSchema, updateCalendarEventSchema, updateClinicAdminSchema, updateClinicGroupSchema, updateClinicSchema, updateContraindicationSchema, updateDocumentTemplateSchema, updateFilledDocumentDataSchema, updateMedicationSchema, updatePatientMedicalInfoSchema, updateVitalStatsSchema, userRoleSchema, userRolesSchema, userSchema, vitalStatsSchema, workingHoursSchema };
|
|
20042
|
+
export { APPOINTMENTS_COLLECTION, 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 Appointment, type AppointmentReminderNotification, AppointmentService, AppointmentStatus, AuthError, AuthService, type BaseDocumentElement, type BaseNotification, type BinaryChoiceElement, BlockingCondition, type Brand, BrandService, CALENDAR_COLLECTION, CLINICS_COLLECTION, CLINIC_ADMINS_COLLECTION, CLINIC_GROUPS_COLLECTION, type CalendarEvent, CalendarEventStatus, type CalendarEventTime, CalendarEventType, CalendarServiceV2, CalendarServiceV3, 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 CreateAppointmentData, type CreateAppointmentHttpData, type CreateAppointmentParams, type CreateBlockingEventParams, 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 CreatePractitionerInviteData, type CreatePractitionerTokenData, type CreateProcedureData, type CreateSyncedCalendarData, type CreateUserData, Currency, DOCTOR_FORMS_SUBCOLLECTION, DOCUMENTATION_TEMPLATES_COLLECTION, type DatePickerElement, type DateRange, type DigitalSignatureElement, type DoctorInfo, type DocumentElement, DocumentElementType, type DocumentTemplate, DocumentationTemplateService, type DynamicTextElement, DynamicVariable, type EmergencyContact, EnvironmentalAllergySubtype, FILLED_DOCUMENTS_COLLECTION, type FileUploadElement, type FilledDocument, type FilledDocumentFileValue, FilledDocumentService, FilledDocumentStatus, FirebaseErrorCode, type FirebaseUser, FoodAllergySubtype, type GamificationInfo, Gender, type HeadingElement, HeadingLevel, Language, type ListElement, ListType, type LocationData, MEDIA_METADATA_COLLECTION, MediaAccessLevel, type MediaMetadata, type MediaResource, MediaService, MedicationAllergySubtype, type MultipleChoiceElement, type Notification, NotificationService, NotificationStatus, NotificationType, PATIENTS_COLLECTION, PATIENT_APPOINTMENTS_COLLECTION, PATIENT_LOCATION_INFO_COLLECTION, PATIENT_MEDICAL_HISTORY_COLLECTION, PATIENT_MEDICAL_INFO_COLLECTION, PATIENT_REQUIREMENTS_SUBCOLLECTION_NAME, PATIENT_SENSITIVE_INFO_COLLECTION, PRACTITIONERS_COLLECTION, PRACTITIONER_INVITES_COLLECTION, PROCEDURES_COLLECTION, type ParagraphElement, type PatientClinic, type PatientDoctor, PatientInstructionStatus, type PatientLocationInfo, type PatientMedicalInfo, type PatientProfile, type PatientProfileComplete, type PatientProfileInfo, type PatientRequirementInstance, type PatientRequirementInstruction, PatientRequirementOverallStatus, PatientRequirementsService, type PatientSensitiveInfo, PatientService, PaymentStatus, type PostRequirementNotification, PracticeType, type Practitioner, type PractitionerBasicInfo, type PractitionerCertification, type PractitionerClinicProcedures, type PractitionerClinicWorkingHours, type PractitionerInvite, type PractitionerInviteFilters, PractitionerInviteService, PractitionerInviteStatus, 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, type ProposedWorkingHours, REGISTER_TOKENS_COLLECTION, REVIEWS_COLLECTION, type RatingScaleElement, type RequesterInfo, type Requirement, RequirementType, type Review, ReviewService, SYNCED_CALENDARS_COLLECTION, type SearchAppointmentsParams, type SearchCalendarEventsParams, SearchLocationEnum, type SearchPatientsParams, type SignatureElement, type SingleChoiceElement, type Subcategory, SubcategoryService, SubscriptionModel, type SyncedCalendar, type SyncedCalendarEvent, SyncedCalendarProvider, SyncedCalendarsService, type Technology, type TechnologyDocumentationTemplate, TechnologyService, type TextInputElement, type TimeSlot, TimeUnit, TreatmentBenefit, USER_ERRORS, USER_FORMS_SUBCOLLECTION, type UpdateAllergyData, type UpdateAppointmentData, type UpdateAppointmentParams, type UpdateBlockingConditionData, type UpdateBlockingEventParams, 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 UpdatePractitionerInviteData, 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, clinicLocationSchema, clinicReviewInfoSchema, clinicReviewSchema, clinicSchema, clinicTagsSchema, contactPersonSchema, contraindicationSchema, createAdminTokenSchema, createAppointmentSchema, createBlockingEventSchema, createCalendarEventSchema, createClinicAdminSchema, createClinicGroupSchema, createClinicReviewSchema, createClinicSchema, createDefaultClinicGroupSchema, createDocumentTemplateSchema, createDraftPractitionerSchema, createFilledDocumentDataSchema, createPatientLocationInfoSchema, createPatientMedicalInfoSchema, createPatientProfileSchema, createPatientSensitiveInfoSchema, createPractitionerReviewSchema, createPractitionerSchema, createPractitionerTokenSchema, createProcedureReviewSchema, createReviewSchema, createUserOptionsSchema, documentElementSchema, documentElementWithoutIdSchema, documentTemplateSchema, emailSchema, emergencyContactSchema, filledDocumentSchema, filledDocumentStatusSchema, 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, practitionerSignupSchema, practitionerTokenSchema, practitionerWorkingHoursSchema, preRequirementNotificationSchema, procedureCategorizationSchema, procedureInfoSchema, procedureReviewInfoSchema, procedureReviewSchema, requesterInfoSchema, requirementInstructionDueNotificationSchema, reviewSchema, searchAppointmentsSchema, searchPatientsSchema, syncedCalendarEventSchema, timeSlotSchema, timestampSchema, updateAllergySchema, updateAppointmentSchema, updateBlockingConditionSchema, updateBlockingEventSchema, updateCalendarEventSchema, updateClinicAdminSchema, updateClinicGroupSchema, updateClinicSchema, updateContraindicationSchema, updateDocumentTemplateSchema, updateFilledDocumentDataSchema, updateMedicationSchema, updatePatientMedicalInfoSchema, updateVitalStatsSchema, userRoleSchema, userRolesSchema, userSchema, vitalStatsSchema, workingHoursSchema };
|