@blackcode_sa/metaestetics-api 1.6.1 → 1.6.2
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 +17 -184
- package/dist/index.d.ts +17 -184
- package/dist/index.js +429 -412
- package/dist/index.mjs +412 -392
- package/package.json +1 -1
- package/src/services/practitioner/practitioner.service.ts +6 -1
- package/src/validations/clinic.schema.ts +5 -25
- package/src/validations/practitioner.schema.ts +3 -3
- package/src/validations/procedure.schema.ts +1 -1
- package/src/validations/shared.schema.ts +78 -0
package/dist/index.mjs
CHANGED
|
@@ -255,7 +255,7 @@ var UserRole = /* @__PURE__ */ ((UserRole2) => {
|
|
|
255
255
|
var USERS_COLLECTION = "users";
|
|
256
256
|
|
|
257
257
|
// src/services/auth.service.ts
|
|
258
|
-
import { z as
|
|
258
|
+
import { z as z19 } from "zod";
|
|
259
259
|
|
|
260
260
|
// src/validations/schemas.ts
|
|
261
261
|
import { z as z3 } from "zod";
|
|
@@ -792,7 +792,7 @@ var USER_ERRORS = {
|
|
|
792
792
|
};
|
|
793
793
|
|
|
794
794
|
// src/services/user.service.ts
|
|
795
|
-
import { z as
|
|
795
|
+
import { z as z15 } from "zod";
|
|
796
796
|
|
|
797
797
|
// src/services/patient/patient.service.ts
|
|
798
798
|
import {
|
|
@@ -2525,7 +2525,7 @@ import {
|
|
|
2525
2525
|
updateDoc as updateDoc7,
|
|
2526
2526
|
setDoc as setDoc6,
|
|
2527
2527
|
deleteDoc,
|
|
2528
|
-
Timestamp as
|
|
2528
|
+
Timestamp as Timestamp6,
|
|
2529
2529
|
serverTimestamp as serverTimestamp8
|
|
2530
2530
|
} from "firebase/firestore";
|
|
2531
2531
|
|
|
@@ -2654,52 +2654,8 @@ var SubscriptionModel = /* @__PURE__ */ ((SubscriptionModel2) => {
|
|
|
2654
2654
|
|
|
2655
2655
|
// src/validations/clinic.schema.ts
|
|
2656
2656
|
import { z as z12 } from "zod";
|
|
2657
|
-
import { Timestamp as Timestamp6 } from "firebase/firestore";
|
|
2658
|
-
|
|
2659
|
-
// src/validations/practitioner.schema.ts
|
|
2660
|
-
import { z as z11 } from "zod";
|
|
2661
2657
|
import { Timestamp as Timestamp5 } from "firebase/firestore";
|
|
2662
2658
|
|
|
2663
|
-
// src/backoffice/types/static/certification.types.ts
|
|
2664
|
-
var CertificationLevel = /* @__PURE__ */ ((CertificationLevel2) => {
|
|
2665
|
-
CertificationLevel2["AESTHETICIAN"] = "aesthetician";
|
|
2666
|
-
CertificationLevel2["NURSE_ASSISTANT"] = "nurse_assistant";
|
|
2667
|
-
CertificationLevel2["NURSE"] = "nurse";
|
|
2668
|
-
CertificationLevel2["NURSE_PRACTITIONER"] = "nurse_practitioner";
|
|
2669
|
-
CertificationLevel2["PHYSICIAN_ASSISTANT"] = "physician_assistant";
|
|
2670
|
-
CertificationLevel2["DOCTOR"] = "doctor";
|
|
2671
|
-
CertificationLevel2["SPECIALIST"] = "specialist";
|
|
2672
|
-
CertificationLevel2["PLASTIC_SURGEON"] = "plastic_surgeon";
|
|
2673
|
-
return CertificationLevel2;
|
|
2674
|
-
})(CertificationLevel || {});
|
|
2675
|
-
var CertificationSpecialty = /* @__PURE__ */ ((CertificationSpecialty3) => {
|
|
2676
|
-
CertificationSpecialty3["LASER"] = "laser";
|
|
2677
|
-
CertificationSpecialty3["INJECTABLES"] = "injectables";
|
|
2678
|
-
CertificationSpecialty3["CHEMICAL_PEELS"] = "chemical_peels";
|
|
2679
|
-
CertificationSpecialty3["MICRODERMABRASION"] = "microdermabrasion";
|
|
2680
|
-
CertificationSpecialty3["BODY_CONTOURING"] = "body_contouring";
|
|
2681
|
-
CertificationSpecialty3["SKIN_CARE"] = "skin_care";
|
|
2682
|
-
CertificationSpecialty3["WOUND_CARE"] = "wound_care";
|
|
2683
|
-
CertificationSpecialty3["ANESTHESIA"] = "anesthesia";
|
|
2684
|
-
return CertificationSpecialty3;
|
|
2685
|
-
})(CertificationSpecialty || {});
|
|
2686
|
-
|
|
2687
|
-
// src/types/practitioner/index.ts
|
|
2688
|
-
var PRACTITIONERS_COLLECTION = "practitioners";
|
|
2689
|
-
var REGISTER_TOKENS_COLLECTION = "register_tokens";
|
|
2690
|
-
var PractitionerStatus = /* @__PURE__ */ ((PractitionerStatus2) => {
|
|
2691
|
-
PractitionerStatus2["DRAFT"] = "draft";
|
|
2692
|
-
PractitionerStatus2["ACTIVE"] = "active";
|
|
2693
|
-
return PractitionerStatus2;
|
|
2694
|
-
})(PractitionerStatus || {});
|
|
2695
|
-
var PractitionerTokenStatus = /* @__PURE__ */ ((PractitionerTokenStatus2) => {
|
|
2696
|
-
PractitionerTokenStatus2["ACTIVE"] = "active";
|
|
2697
|
-
PractitionerTokenStatus2["USED"] = "used";
|
|
2698
|
-
PractitionerTokenStatus2["EXPIRED"] = "expired";
|
|
2699
|
-
PractitionerTokenStatus2["REVOKED"] = "revoked";
|
|
2700
|
-
return PractitionerTokenStatus2;
|
|
2701
|
-
})(PractitionerTokenStatus || {});
|
|
2702
|
-
|
|
2703
2659
|
// src/validations/reviews.schema.ts
|
|
2704
2660
|
import { z as z10 } from "zod";
|
|
2705
2661
|
var baseReviewSchema = z10.object({
|
|
@@ -2833,6 +2789,9 @@ var createReviewSchema = z10.object({
|
|
|
2833
2789
|
}
|
|
2834
2790
|
);
|
|
2835
2791
|
|
|
2792
|
+
// src/validations/shared.schema.ts
|
|
2793
|
+
import { z as z11 } from "zod";
|
|
2794
|
+
|
|
2836
2795
|
// src/backoffice/types/static/procedure-family.types.ts
|
|
2837
2796
|
var ProcedureFamily = /* @__PURE__ */ ((ProcedureFamily2) => {
|
|
2838
2797
|
ProcedureFamily2["AESTHETICS"] = "aesthetics";
|
|
@@ -2859,59 +2818,21 @@ var Currency = /* @__PURE__ */ ((Currency2) => {
|
|
|
2859
2818
|
return Currency2;
|
|
2860
2819
|
})(Currency || {});
|
|
2861
2820
|
|
|
2862
|
-
// src/validations/
|
|
2863
|
-
var
|
|
2864
|
-
firstName: z11.string().min(2).max(50),
|
|
2865
|
-
lastName: z11.string().min(2).max(50),
|
|
2866
|
-
title: z11.string().min(2).max(100),
|
|
2821
|
+
// src/validations/shared.schema.ts
|
|
2822
|
+
var sharedClinicContactInfoSchema = z11.object({
|
|
2867
2823
|
email: z11.string().email(),
|
|
2868
|
-
phoneNumber: z11.string()
|
|
2869
|
-
|
|
2870
|
-
|
|
2871
|
-
profileImageUrl: z11.string().url().optional(),
|
|
2872
|
-
bio: z11.string().max(1e3).optional(),
|
|
2873
|
-
languages: z11.array(z11.string()).min(1)
|
|
2874
|
-
});
|
|
2875
|
-
var practitionerCertificationSchema = z11.object({
|
|
2876
|
-
level: z11.nativeEnum(CertificationLevel),
|
|
2877
|
-
specialties: z11.array(z11.nativeEnum(CertificationSpecialty)),
|
|
2878
|
-
licenseNumber: z11.string().min(3).max(50),
|
|
2879
|
-
issuingAuthority: z11.string().min(2).max(100),
|
|
2880
|
-
issueDate: z11.instanceof(Timestamp5).or(z11.date()),
|
|
2881
|
-
expiryDate: z11.instanceof(Timestamp5).or(z11.date()).optional(),
|
|
2882
|
-
verificationStatus: z11.enum(["pending", "verified", "rejected"])
|
|
2883
|
-
});
|
|
2884
|
-
var timeSlotSchema = z11.object({
|
|
2885
|
-
start: z11.string().regex(/^([01]\d|2[0-3]):([0-5]\d)$/, "Invalid time format"),
|
|
2886
|
-
end: z11.string().regex(/^([01]\d|2[0-3]):([0-5]\d)$/, "Invalid time format")
|
|
2887
|
-
}).nullable();
|
|
2888
|
-
var practitionerWorkingHoursSchema = z11.object({
|
|
2889
|
-
practitionerId: z11.string().min(1),
|
|
2890
|
-
clinicId: z11.string().min(1),
|
|
2891
|
-
monday: timeSlotSchema,
|
|
2892
|
-
tuesday: timeSlotSchema,
|
|
2893
|
-
wednesday: timeSlotSchema,
|
|
2894
|
-
thursday: timeSlotSchema,
|
|
2895
|
-
friday: timeSlotSchema,
|
|
2896
|
-
saturday: timeSlotSchema,
|
|
2897
|
-
sunday: timeSlotSchema,
|
|
2898
|
-
createdAt: z11.instanceof(Timestamp5).or(z11.date()),
|
|
2899
|
-
updatedAt: z11.instanceof(Timestamp5).or(z11.date())
|
|
2824
|
+
phoneNumber: z11.string(),
|
|
2825
|
+
alternativePhoneNumber: z11.string().nullable().optional(),
|
|
2826
|
+
website: z11.string().nullable().optional()
|
|
2900
2827
|
});
|
|
2901
|
-
var
|
|
2902
|
-
|
|
2903
|
-
|
|
2904
|
-
|
|
2905
|
-
|
|
2906
|
-
|
|
2907
|
-
|
|
2908
|
-
|
|
2909
|
-
saturday: timeSlotSchema,
|
|
2910
|
-
sunday: timeSlotSchema
|
|
2911
|
-
}),
|
|
2912
|
-
isActive: z11.boolean(),
|
|
2913
|
-
createdAt: z11.instanceof(Timestamp5).or(z11.date()),
|
|
2914
|
-
updatedAt: z11.instanceof(Timestamp5).or(z11.date())
|
|
2828
|
+
var sharedClinicLocationSchema = z11.object({
|
|
2829
|
+
address: z11.string(),
|
|
2830
|
+
city: z11.string(),
|
|
2831
|
+
country: z11.string(),
|
|
2832
|
+
postalCode: z11.string(),
|
|
2833
|
+
latitude: z11.number().min(-90).max(90),
|
|
2834
|
+
longitude: z11.number().min(-180).max(180),
|
|
2835
|
+
geohash: z11.string().nullable().optional()
|
|
2915
2836
|
});
|
|
2916
2837
|
var procedureSummaryInfoSchema = z11.object({
|
|
2917
2838
|
id: z11.string().min(1),
|
|
@@ -2931,79 +2852,22 @@ var procedureSummaryInfoSchema = z11.object({
|
|
|
2931
2852
|
practitionerId: z11.string().min(1),
|
|
2932
2853
|
practitionerName: z11.string().min(1)
|
|
2933
2854
|
});
|
|
2934
|
-
var
|
|
2935
|
-
id: z11.string()
|
|
2936
|
-
|
|
2937
|
-
|
|
2938
|
-
|
|
2939
|
-
|
|
2940
|
-
|
|
2941
|
-
clinicsInfo: z11.array(clinicInfoSchema),
|
|
2942
|
-
procedures: z11.array(z11.string()),
|
|
2943
|
-
proceduresInfo: z11.array(procedureSummaryInfoSchema),
|
|
2944
|
-
reviewInfo: practitionerReviewInfoSchema,
|
|
2945
|
-
isActive: z11.boolean(),
|
|
2946
|
-
isVerified: z11.boolean(),
|
|
2947
|
-
status: z11.nativeEnum(PractitionerStatus),
|
|
2948
|
-
createdAt: z11.instanceof(Timestamp5).or(z11.date()),
|
|
2949
|
-
updatedAt: z11.instanceof(Timestamp5).or(z11.date())
|
|
2950
|
-
});
|
|
2951
|
-
var createPractitionerSchema = z11.object({
|
|
2952
|
-
userRef: z11.string().min(1),
|
|
2953
|
-
basicInfo: practitionerBasicInfoSchema,
|
|
2954
|
-
certification: practitionerCertificationSchema,
|
|
2955
|
-
clinics: z11.array(z11.string()).optional(),
|
|
2956
|
-
clinicWorkingHours: z11.array(practitionerClinicWorkingHoursSchema).optional(),
|
|
2957
|
-
clinicsInfo: z11.array(clinicInfoSchema).optional(),
|
|
2958
|
-
proceduresInfo: z11.array(procedureSummaryInfoSchema).optional(),
|
|
2959
|
-
isActive: z11.boolean(),
|
|
2960
|
-
isVerified: z11.boolean(),
|
|
2961
|
-
status: z11.nativeEnum(PractitionerStatus).optional()
|
|
2962
|
-
});
|
|
2963
|
-
var createDraftPractitionerSchema = z11.object({
|
|
2964
|
-
basicInfo: practitionerBasicInfoSchema,
|
|
2965
|
-
certification: practitionerCertificationSchema,
|
|
2966
|
-
clinics: z11.array(z11.string()).optional(),
|
|
2967
|
-
clinicWorkingHours: z11.array(practitionerClinicWorkingHoursSchema).optional(),
|
|
2968
|
-
clinicsInfo: z11.array(clinicInfoSchema).optional(),
|
|
2969
|
-
proceduresInfo: z11.array(procedureSummaryInfoSchema).optional(),
|
|
2970
|
-
isActive: z11.boolean().optional().default(false),
|
|
2971
|
-
isVerified: z11.boolean().optional().default(false)
|
|
2972
|
-
});
|
|
2973
|
-
var practitionerTokenSchema = z11.object({
|
|
2974
|
-
id: z11.string().min(1),
|
|
2975
|
-
token: z11.string().min(6),
|
|
2976
|
-
practitionerId: z11.string().min(1),
|
|
2977
|
-
email: z11.string().email(),
|
|
2978
|
-
clinicId: z11.string().min(1),
|
|
2979
|
-
status: z11.nativeEnum(PractitionerTokenStatus),
|
|
2980
|
-
createdBy: z11.string().min(1),
|
|
2981
|
-
createdAt: z11.instanceof(Timestamp5).or(z11.date()),
|
|
2982
|
-
expiresAt: z11.instanceof(Timestamp5).or(z11.date()),
|
|
2983
|
-
usedBy: z11.string().optional(),
|
|
2984
|
-
usedAt: z11.instanceof(Timestamp5).or(z11.date()).optional()
|
|
2985
|
-
});
|
|
2986
|
-
var createPractitionerTokenSchema = z11.object({
|
|
2987
|
-
practitionerId: z11.string().min(1),
|
|
2988
|
-
email: z11.string().email(),
|
|
2989
|
-
clinicId: z11.string().min(1),
|
|
2990
|
-
expiresAt: z11.date().optional()
|
|
2855
|
+
var clinicInfoSchema = z11.object({
|
|
2856
|
+
id: z11.string(),
|
|
2857
|
+
featuredPhoto: z11.string(),
|
|
2858
|
+
name: z11.string(),
|
|
2859
|
+
description: z11.string().nullable().optional(),
|
|
2860
|
+
location: sharedClinicLocationSchema,
|
|
2861
|
+
contactInfo: sharedClinicContactInfoSchema
|
|
2991
2862
|
});
|
|
2992
|
-
var
|
|
2993
|
-
|
|
2994
|
-
|
|
2995
|
-
|
|
2996
|
-
|
|
2997
|
-
|
|
2998
|
-
|
|
2999
|
-
|
|
3000
|
-
phoneNumber: z11.string().optional(),
|
|
3001
|
-
profileImageUrl: z11.string().optional(),
|
|
3002
|
-
gender: z11.enum(["male", "female", "other"]).optional(),
|
|
3003
|
-
bio: z11.string().optional()
|
|
3004
|
-
}).optional(),
|
|
3005
|
-
certification: z11.any().optional()
|
|
3006
|
-
}).optional()
|
|
2863
|
+
var doctorInfoSchema = z11.object({
|
|
2864
|
+
id: z11.string(),
|
|
2865
|
+
name: z11.string(),
|
|
2866
|
+
description: z11.string().nullable().optional(),
|
|
2867
|
+
photo: z11.string(),
|
|
2868
|
+
rating: z11.number().min(0).max(5),
|
|
2869
|
+
services: z11.array(z11.string())
|
|
2870
|
+
// List of procedure IDs practitioner offers
|
|
3007
2871
|
});
|
|
3008
2872
|
|
|
3009
2873
|
// src/validations/clinic.schema.ts
|
|
@@ -3056,23 +2920,6 @@ var adminInfoSchema = z12.object({
|
|
|
3056
2920
|
name: z12.string(),
|
|
3057
2921
|
email: z12.string().email()
|
|
3058
2922
|
});
|
|
3059
|
-
var clinicInfoSchema = z12.object({
|
|
3060
|
-
id: z12.string(),
|
|
3061
|
-
featuredPhoto: z12.string(),
|
|
3062
|
-
name: z12.string(),
|
|
3063
|
-
description: z12.string().nullable().optional(),
|
|
3064
|
-
location: clinicLocationSchema,
|
|
3065
|
-
contactInfo: clinicContactInfoSchema
|
|
3066
|
-
});
|
|
3067
|
-
var doctorInfoSchema = z12.object({
|
|
3068
|
-
id: z12.string(),
|
|
3069
|
-
name: z12.string(),
|
|
3070
|
-
description: z12.string().nullable().optional(),
|
|
3071
|
-
photo: z12.string(),
|
|
3072
|
-
rating: z12.number().min(0).max(5),
|
|
3073
|
-
services: z12.array(z12.string())
|
|
3074
|
-
// List of procedure IDs practitioner offers
|
|
3075
|
-
});
|
|
3076
2923
|
var clinicAdminSchema = z12.object({
|
|
3077
2924
|
id: z12.string(),
|
|
3078
2925
|
userRef: z12.string(),
|
|
@@ -3082,8 +2929,8 @@ var clinicAdminSchema = z12.object({
|
|
|
3082
2929
|
clinicsManagedInfo: z12.array(clinicInfoSchema),
|
|
3083
2930
|
contactInfo: contactPersonSchema,
|
|
3084
2931
|
roleTitle: z12.string(),
|
|
3085
|
-
createdAt: z12.instanceof(Date).or(z12.instanceof(
|
|
3086
|
-
updatedAt: z12.instanceof(Date).or(z12.instanceof(
|
|
2932
|
+
createdAt: z12.instanceof(Date).or(z12.instanceof(Timestamp5)),
|
|
2933
|
+
updatedAt: z12.instanceof(Date).or(z12.instanceof(Timestamp5)),
|
|
3087
2934
|
isActive: z12.boolean()
|
|
3088
2935
|
});
|
|
3089
2936
|
var adminTokenSchema = z12.object({
|
|
@@ -3092,9 +2939,9 @@ var adminTokenSchema = z12.object({
|
|
|
3092
2939
|
email: z12.string().email().optional().nullable(),
|
|
3093
2940
|
status: z12.nativeEnum(AdminTokenStatus),
|
|
3094
2941
|
usedByUserRef: z12.string().optional(),
|
|
3095
|
-
createdAt: z12.instanceof(Date).or(z12.instanceof(
|
|
2942
|
+
createdAt: z12.instanceof(Date).or(z12.instanceof(Timestamp5)),
|
|
3096
2943
|
// Timestamp
|
|
3097
|
-
expiresAt: z12.instanceof(Date).or(z12.instanceof(
|
|
2944
|
+
expiresAt: z12.instanceof(Date).or(z12.instanceof(Timestamp5))
|
|
3098
2945
|
// Timestamp
|
|
3099
2946
|
});
|
|
3100
2947
|
var createAdminTokenSchema = z12.object({
|
|
@@ -3114,9 +2961,9 @@ var clinicGroupSchema = z12.object({
|
|
|
3114
2961
|
adminsInfo: z12.array(adminInfoSchema),
|
|
3115
2962
|
adminTokens: z12.array(adminTokenSchema),
|
|
3116
2963
|
ownerId: z12.string().nullable(),
|
|
3117
|
-
createdAt: z12.instanceof(Date).or(z12.instanceof(
|
|
2964
|
+
createdAt: z12.instanceof(Date).or(z12.instanceof(Timestamp5)),
|
|
3118
2965
|
// Timestamp
|
|
3119
|
-
updatedAt: z12.instanceof(Date).or(z12.instanceof(
|
|
2966
|
+
updatedAt: z12.instanceof(Date).or(z12.instanceof(Timestamp5)),
|
|
3120
2967
|
// Timestamp
|
|
3121
2968
|
isActive: z12.boolean(),
|
|
3122
2969
|
logo: z12.string().optional().nullable(),
|
|
@@ -3156,9 +3003,9 @@ var clinicSchema = z12.object({
|
|
|
3156
3003
|
// servicesInfo: z.array(serviceInfoSchema), // Deprecated, use proceduresInfo
|
|
3157
3004
|
reviewInfo: clinicReviewInfoSchema,
|
|
3158
3005
|
admins: z12.array(z12.string()),
|
|
3159
|
-
createdAt: z12.instanceof(Date).or(z12.instanceof(
|
|
3006
|
+
createdAt: z12.instanceof(Date).or(z12.instanceof(Timestamp5)),
|
|
3160
3007
|
// Timestamp
|
|
3161
|
-
updatedAt: z12.instanceof(Date).or(z12.instanceof(
|
|
3008
|
+
updatedAt: z12.instanceof(Date).or(z12.instanceof(Timestamp5)),
|
|
3162
3009
|
// Timestamp
|
|
3163
3010
|
isActive: z12.boolean(),
|
|
3164
3011
|
isVerified: z12.boolean(),
|
|
@@ -3368,8 +3215,8 @@ async function createClinicAdmin(db, data, clinicGroupService) {
|
|
|
3368
3215
|
try {
|
|
3369
3216
|
clinicAdminSchema.parse({
|
|
3370
3217
|
...adminData,
|
|
3371
|
-
createdAt:
|
|
3372
|
-
updatedAt:
|
|
3218
|
+
createdAt: Timestamp6.now(),
|
|
3219
|
+
updatedAt: Timestamp6.now()
|
|
3373
3220
|
});
|
|
3374
3221
|
console.log("[CLINIC_ADMIN] Admin object validation passed");
|
|
3375
3222
|
} catch (schemaError) {
|
|
@@ -3738,7 +3585,182 @@ import {
|
|
|
3738
3585
|
arrayUnion as arrayUnion5,
|
|
3739
3586
|
arrayRemove as arrayRemove4
|
|
3740
3587
|
} from "firebase/firestore";
|
|
3588
|
+
|
|
3589
|
+
// src/types/practitioner/index.ts
|
|
3590
|
+
var PRACTITIONERS_COLLECTION = "practitioners";
|
|
3591
|
+
var REGISTER_TOKENS_COLLECTION = "register_tokens";
|
|
3592
|
+
var PractitionerStatus = /* @__PURE__ */ ((PractitionerStatus2) => {
|
|
3593
|
+
PractitionerStatus2["DRAFT"] = "draft";
|
|
3594
|
+
PractitionerStatus2["ACTIVE"] = "active";
|
|
3595
|
+
return PractitionerStatus2;
|
|
3596
|
+
})(PractitionerStatus || {});
|
|
3597
|
+
var PractitionerTokenStatus = /* @__PURE__ */ ((PractitionerTokenStatus2) => {
|
|
3598
|
+
PractitionerTokenStatus2["ACTIVE"] = "active";
|
|
3599
|
+
PractitionerTokenStatus2["USED"] = "used";
|
|
3600
|
+
PractitionerTokenStatus2["EXPIRED"] = "expired";
|
|
3601
|
+
PractitionerTokenStatus2["REVOKED"] = "revoked";
|
|
3602
|
+
return PractitionerTokenStatus2;
|
|
3603
|
+
})(PractitionerTokenStatus || {});
|
|
3604
|
+
|
|
3605
|
+
// src/validations/practitioner.schema.ts
|
|
3741
3606
|
import { z as z13 } from "zod";
|
|
3607
|
+
import { Timestamp as Timestamp7 } from "firebase/firestore";
|
|
3608
|
+
|
|
3609
|
+
// src/backoffice/types/static/certification.types.ts
|
|
3610
|
+
var CertificationLevel = /* @__PURE__ */ ((CertificationLevel2) => {
|
|
3611
|
+
CertificationLevel2["AESTHETICIAN"] = "aesthetician";
|
|
3612
|
+
CertificationLevel2["NURSE_ASSISTANT"] = "nurse_assistant";
|
|
3613
|
+
CertificationLevel2["NURSE"] = "nurse";
|
|
3614
|
+
CertificationLevel2["NURSE_PRACTITIONER"] = "nurse_practitioner";
|
|
3615
|
+
CertificationLevel2["PHYSICIAN_ASSISTANT"] = "physician_assistant";
|
|
3616
|
+
CertificationLevel2["DOCTOR"] = "doctor";
|
|
3617
|
+
CertificationLevel2["SPECIALIST"] = "specialist";
|
|
3618
|
+
CertificationLevel2["PLASTIC_SURGEON"] = "plastic_surgeon";
|
|
3619
|
+
return CertificationLevel2;
|
|
3620
|
+
})(CertificationLevel || {});
|
|
3621
|
+
var CertificationSpecialty = /* @__PURE__ */ ((CertificationSpecialty3) => {
|
|
3622
|
+
CertificationSpecialty3["LASER"] = "laser";
|
|
3623
|
+
CertificationSpecialty3["INJECTABLES"] = "injectables";
|
|
3624
|
+
CertificationSpecialty3["CHEMICAL_PEELS"] = "chemical_peels";
|
|
3625
|
+
CertificationSpecialty3["MICRODERMABRASION"] = "microdermabrasion";
|
|
3626
|
+
CertificationSpecialty3["BODY_CONTOURING"] = "body_contouring";
|
|
3627
|
+
CertificationSpecialty3["SKIN_CARE"] = "skin_care";
|
|
3628
|
+
CertificationSpecialty3["WOUND_CARE"] = "wound_care";
|
|
3629
|
+
CertificationSpecialty3["ANESTHESIA"] = "anesthesia";
|
|
3630
|
+
return CertificationSpecialty3;
|
|
3631
|
+
})(CertificationSpecialty || {});
|
|
3632
|
+
|
|
3633
|
+
// src/validations/practitioner.schema.ts
|
|
3634
|
+
var practitionerBasicInfoSchema = z13.object({
|
|
3635
|
+
firstName: z13.string().min(2).max(50),
|
|
3636
|
+
lastName: z13.string().min(2).max(50),
|
|
3637
|
+
title: z13.string().min(2).max(100),
|
|
3638
|
+
email: z13.string().email(),
|
|
3639
|
+
phoneNumber: z13.string().regex(/^\+?[1-9]\d{1,14}$/, "Invalid phone number"),
|
|
3640
|
+
dateOfBirth: z13.instanceof(Timestamp7).or(z13.date()),
|
|
3641
|
+
gender: z13.enum(["male", "female", "other"]),
|
|
3642
|
+
profileImageUrl: z13.string().url().optional(),
|
|
3643
|
+
bio: z13.string().max(1e3).optional(),
|
|
3644
|
+
languages: z13.array(z13.string()).min(1)
|
|
3645
|
+
});
|
|
3646
|
+
var practitionerCertificationSchema = z13.object({
|
|
3647
|
+
level: z13.nativeEnum(CertificationLevel),
|
|
3648
|
+
specialties: z13.array(z13.nativeEnum(CertificationSpecialty)),
|
|
3649
|
+
licenseNumber: z13.string().min(3).max(50),
|
|
3650
|
+
issuingAuthority: z13.string().min(2).max(100),
|
|
3651
|
+
issueDate: z13.instanceof(Timestamp7).or(z13.date()),
|
|
3652
|
+
expiryDate: z13.instanceof(Timestamp7).or(z13.date()).optional(),
|
|
3653
|
+
verificationStatus: z13.enum(["pending", "verified", "rejected"])
|
|
3654
|
+
});
|
|
3655
|
+
var timeSlotSchema = z13.object({
|
|
3656
|
+
start: z13.string().regex(/^([01]\d|2[0-3]):([0-5]\d)$/, "Invalid time format"),
|
|
3657
|
+
end: z13.string().regex(/^([01]\d|2[0-3]):([0-5]\d)$/, "Invalid time format")
|
|
3658
|
+
}).nullable();
|
|
3659
|
+
var practitionerWorkingHoursSchema = z13.object({
|
|
3660
|
+
practitionerId: z13.string().min(1),
|
|
3661
|
+
clinicId: z13.string().min(1),
|
|
3662
|
+
monday: timeSlotSchema,
|
|
3663
|
+
tuesday: timeSlotSchema,
|
|
3664
|
+
wednesday: timeSlotSchema,
|
|
3665
|
+
thursday: timeSlotSchema,
|
|
3666
|
+
friday: timeSlotSchema,
|
|
3667
|
+
saturday: timeSlotSchema,
|
|
3668
|
+
sunday: timeSlotSchema,
|
|
3669
|
+
createdAt: z13.instanceof(Timestamp7).or(z13.date()),
|
|
3670
|
+
updatedAt: z13.instanceof(Timestamp7).or(z13.date())
|
|
3671
|
+
});
|
|
3672
|
+
var practitionerClinicWorkingHoursSchema = z13.object({
|
|
3673
|
+
clinicId: z13.string().min(1),
|
|
3674
|
+
workingHours: z13.object({
|
|
3675
|
+
monday: timeSlotSchema,
|
|
3676
|
+
tuesday: timeSlotSchema,
|
|
3677
|
+
wednesday: timeSlotSchema,
|
|
3678
|
+
thursday: timeSlotSchema,
|
|
3679
|
+
friday: timeSlotSchema,
|
|
3680
|
+
saturday: timeSlotSchema,
|
|
3681
|
+
sunday: timeSlotSchema
|
|
3682
|
+
}),
|
|
3683
|
+
isActive: z13.boolean(),
|
|
3684
|
+
createdAt: z13.instanceof(Timestamp7).or(z13.date()),
|
|
3685
|
+
updatedAt: z13.instanceof(Timestamp7).or(z13.date())
|
|
3686
|
+
});
|
|
3687
|
+
var practitionerSchema = z13.object({
|
|
3688
|
+
id: z13.string().min(1),
|
|
3689
|
+
userRef: z13.string().min(1),
|
|
3690
|
+
basicInfo: practitionerBasicInfoSchema,
|
|
3691
|
+
certification: practitionerCertificationSchema,
|
|
3692
|
+
clinics: z13.array(z13.string()),
|
|
3693
|
+
clinicWorkingHours: z13.array(practitionerClinicWorkingHoursSchema),
|
|
3694
|
+
clinicsInfo: z13.array(clinicInfoSchema),
|
|
3695
|
+
procedures: z13.array(z13.string()),
|
|
3696
|
+
proceduresInfo: z13.array(procedureSummaryInfoSchema),
|
|
3697
|
+
reviewInfo: practitionerReviewInfoSchema,
|
|
3698
|
+
isActive: z13.boolean(),
|
|
3699
|
+
isVerified: z13.boolean(),
|
|
3700
|
+
status: z13.nativeEnum(PractitionerStatus),
|
|
3701
|
+
createdAt: z13.instanceof(Timestamp7).or(z13.date()),
|
|
3702
|
+
updatedAt: z13.instanceof(Timestamp7).or(z13.date())
|
|
3703
|
+
});
|
|
3704
|
+
var createPractitionerSchema = z13.object({
|
|
3705
|
+
userRef: z13.string().min(1),
|
|
3706
|
+
basicInfo: practitionerBasicInfoSchema,
|
|
3707
|
+
certification: practitionerCertificationSchema,
|
|
3708
|
+
clinics: z13.array(z13.string()).optional(),
|
|
3709
|
+
clinicWorkingHours: z13.array(practitionerClinicWorkingHoursSchema).optional(),
|
|
3710
|
+
clinicsInfo: z13.array(clinicInfoSchema).optional(),
|
|
3711
|
+
proceduresInfo: z13.array(procedureSummaryInfoSchema).optional(),
|
|
3712
|
+
isActive: z13.boolean(),
|
|
3713
|
+
isVerified: z13.boolean(),
|
|
3714
|
+
status: z13.nativeEnum(PractitionerStatus).optional()
|
|
3715
|
+
});
|
|
3716
|
+
var createDraftPractitionerSchema = z13.object({
|
|
3717
|
+
basicInfo: practitionerBasicInfoSchema,
|
|
3718
|
+
certification: practitionerCertificationSchema,
|
|
3719
|
+
clinics: z13.array(z13.string()).optional(),
|
|
3720
|
+
clinicWorkingHours: z13.array(practitionerClinicWorkingHoursSchema).optional(),
|
|
3721
|
+
clinicsInfo: z13.array(clinicInfoSchema).optional(),
|
|
3722
|
+
proceduresInfo: z13.array(procedureSummaryInfoSchema).optional(),
|
|
3723
|
+
isActive: z13.boolean().optional().default(false),
|
|
3724
|
+
isVerified: z13.boolean().optional().default(false)
|
|
3725
|
+
});
|
|
3726
|
+
var practitionerTokenSchema = z13.object({
|
|
3727
|
+
id: z13.string().min(1),
|
|
3728
|
+
token: z13.string().min(6),
|
|
3729
|
+
practitionerId: z13.string().min(1),
|
|
3730
|
+
email: z13.string().email(),
|
|
3731
|
+
clinicId: z13.string().min(1),
|
|
3732
|
+
status: z13.nativeEnum(PractitionerTokenStatus),
|
|
3733
|
+
createdBy: z13.string().min(1),
|
|
3734
|
+
createdAt: z13.instanceof(Timestamp7).or(z13.date()),
|
|
3735
|
+
expiresAt: z13.instanceof(Timestamp7).or(z13.date()),
|
|
3736
|
+
usedBy: z13.string().optional(),
|
|
3737
|
+
usedAt: z13.instanceof(Timestamp7).or(z13.date()).optional()
|
|
3738
|
+
});
|
|
3739
|
+
var createPractitionerTokenSchema = z13.object({
|
|
3740
|
+
practitionerId: z13.string().min(1),
|
|
3741
|
+
email: z13.string().email(),
|
|
3742
|
+
clinicId: z13.string().min(1),
|
|
3743
|
+
expiresAt: z13.date().optional()
|
|
3744
|
+
});
|
|
3745
|
+
var practitionerSignupSchema = z13.object({
|
|
3746
|
+
email: z13.string().email(),
|
|
3747
|
+
password: z13.string().min(8),
|
|
3748
|
+
firstName: z13.string().min(2).max(50),
|
|
3749
|
+
lastName: z13.string().min(2).max(50),
|
|
3750
|
+
token: z13.string().optional(),
|
|
3751
|
+
profileData: z13.object({
|
|
3752
|
+
basicInfo: z13.object({
|
|
3753
|
+
phoneNumber: z13.string().optional(),
|
|
3754
|
+
profileImageUrl: z13.string().optional(),
|
|
3755
|
+
gender: z13.enum(["male", "female", "other"]).optional(),
|
|
3756
|
+
bio: z13.string().optional()
|
|
3757
|
+
}).optional(),
|
|
3758
|
+
certification: z13.any().optional()
|
|
3759
|
+
}).optional()
|
|
3760
|
+
});
|
|
3761
|
+
|
|
3762
|
+
// src/services/practitioner/practitioner.service.ts
|
|
3763
|
+
import { z as z14 } from "zod";
|
|
3742
3764
|
import { distanceBetween } from "geofire-common";
|
|
3743
3765
|
var PractitionerService = class extends BaseService {
|
|
3744
3766
|
constructor(db, auth, app, clinicService) {
|
|
@@ -3807,7 +3829,7 @@ var PractitionerService = class extends BaseService {
|
|
|
3807
3829
|
}
|
|
3808
3830
|
return createdPractitioner;
|
|
3809
3831
|
} catch (error) {
|
|
3810
|
-
if (error instanceof
|
|
3832
|
+
if (error instanceof z14.ZodError) {
|
|
3811
3833
|
throw new Error(`Invalid practitioner data: ${error.message}`);
|
|
3812
3834
|
}
|
|
3813
3835
|
console.error("Error creating practitioner:", error);
|
|
@@ -3862,7 +3884,8 @@ var PractitionerService = class extends BaseService {
|
|
|
3862
3884
|
name: clinicData.name,
|
|
3863
3885
|
location: clinicData.location,
|
|
3864
3886
|
contactInfo: clinicData.contactInfo,
|
|
3865
|
-
|
|
3887
|
+
// Make sure we're using the right property for featuredPhoto
|
|
3888
|
+
featuredPhoto: clinicData.featuredPhotos && clinicData.featuredPhotos.length > 0 ? clinicData.featuredPhotos[0] : clinicData.coverPhoto || "",
|
|
3866
3889
|
description: clinicData.description || null
|
|
3867
3890
|
});
|
|
3868
3891
|
}
|
|
@@ -3919,7 +3942,7 @@ var PractitionerService = class extends BaseService {
|
|
|
3919
3942
|
await setDoc7(doc8(this.db, tokenPath), token);
|
|
3920
3943
|
return { practitioner: savedPractitioner, token };
|
|
3921
3944
|
} catch (error) {
|
|
3922
|
-
if (error instanceof
|
|
3945
|
+
if (error instanceof z14.ZodError) {
|
|
3923
3946
|
throw new Error("Invalid practitioner data: " + error.message);
|
|
3924
3947
|
}
|
|
3925
3948
|
throw error;
|
|
@@ -3972,7 +3995,7 @@ var PractitionerService = class extends BaseService {
|
|
|
3972
3995
|
await setDoc7(doc8(this.db, tokenPath), token);
|
|
3973
3996
|
return token;
|
|
3974
3997
|
} catch (error) {
|
|
3975
|
-
if (error instanceof
|
|
3998
|
+
if (error instanceof z14.ZodError) {
|
|
3976
3999
|
throw new Error("Invalid token data: " + error.message);
|
|
3977
4000
|
}
|
|
3978
4001
|
throw error;
|
|
@@ -4132,7 +4155,7 @@ var PractitionerService = class extends BaseService {
|
|
|
4132
4155
|
}
|
|
4133
4156
|
return updatedPractitioner;
|
|
4134
4157
|
} catch (error) {
|
|
4135
|
-
if (error instanceof
|
|
4158
|
+
if (error instanceof z14.ZodError) {
|
|
4136
4159
|
throw new Error(`Invalid practitioner update data: ${error.message}`);
|
|
4137
4160
|
}
|
|
4138
4161
|
console.error(`Error updating practitioner ${practitionerId}:`, error);
|
|
@@ -4660,7 +4683,7 @@ var UserService = class extends BaseService {
|
|
|
4660
4683
|
});
|
|
4661
4684
|
return this.getUserById(uid);
|
|
4662
4685
|
} catch (error) {
|
|
4663
|
-
if (error instanceof
|
|
4686
|
+
if (error instanceof z15.ZodError) {
|
|
4664
4687
|
throw USER_ERRORS.VALIDATION_ERROR;
|
|
4665
4688
|
}
|
|
4666
4689
|
throw error;
|
|
@@ -4757,7 +4780,7 @@ import {
|
|
|
4757
4780
|
Timestamp as Timestamp10
|
|
4758
4781
|
} from "firebase/firestore";
|
|
4759
4782
|
import { geohashForLocation as geohashForLocation2 } from "geofire-common";
|
|
4760
|
-
import { z as
|
|
4783
|
+
import { z as z16 } from "zod";
|
|
4761
4784
|
|
|
4762
4785
|
// src/services/clinic/utils/photos.utils.ts
|
|
4763
4786
|
import {
|
|
@@ -4961,7 +4984,7 @@ async function createClinicGroup(db, data, ownerId, isDefault = false, clinicAdm
|
|
|
4961
4984
|
});
|
|
4962
4985
|
return groupData;
|
|
4963
4986
|
} catch (error) {
|
|
4964
|
-
if (error instanceof
|
|
4987
|
+
if (error instanceof z16.ZodError) {
|
|
4965
4988
|
console.error(
|
|
4966
4989
|
"[CLINIC_GROUP] Zod validation error:",
|
|
4967
4990
|
JSON.stringify(error.errors, null, 2)
|
|
@@ -5376,7 +5399,7 @@ import {
|
|
|
5376
5399
|
import {
|
|
5377
5400
|
geohashForLocation as geohashForLocation4
|
|
5378
5401
|
} from "geofire-common";
|
|
5379
|
-
import { z as
|
|
5402
|
+
import { z as z18 } from "zod";
|
|
5380
5403
|
|
|
5381
5404
|
// src/services/clinic/utils/clinic.utils.ts
|
|
5382
5405
|
import {
|
|
@@ -5397,7 +5420,7 @@ import {
|
|
|
5397
5420
|
distanceBetween as distanceBetween2,
|
|
5398
5421
|
geohashQueryBounds
|
|
5399
5422
|
} from "geofire-common";
|
|
5400
|
-
import { z as
|
|
5423
|
+
import { z as z17 } from "zod";
|
|
5401
5424
|
async function getClinic(db, clinicId) {
|
|
5402
5425
|
const docRef = doc11(db, CLINICS_COLLECTION, clinicId);
|
|
5403
5426
|
const docSnap = await getDoc14(docRef);
|
|
@@ -6082,7 +6105,7 @@ var ClinicService = class extends BaseService {
|
|
|
6082
6105
|
if (!savedClinic) throw new Error("Failed to retrieve created clinic");
|
|
6083
6106
|
return savedClinic;
|
|
6084
6107
|
} catch (error) {
|
|
6085
|
-
if (error instanceof
|
|
6108
|
+
if (error instanceof z18.ZodError) {
|
|
6086
6109
|
throw new Error("Invalid clinic data: " + error.message);
|
|
6087
6110
|
}
|
|
6088
6111
|
console.error("Error creating clinic:", error);
|
|
@@ -6130,7 +6153,7 @@ var ClinicService = class extends BaseService {
|
|
|
6130
6153
|
if (!updatedClinic) throw new Error("Failed to retrieve updated clinic");
|
|
6131
6154
|
return updatedClinic;
|
|
6132
6155
|
} catch (error) {
|
|
6133
|
-
if (error instanceof
|
|
6156
|
+
if (error instanceof z18.ZodError) {
|
|
6134
6157
|
throw new Error(
|
|
6135
6158
|
"Invalid clinic update data: " + error.errors.map((e) => `${e.path.join(".")} - ${e.message}`).join(", ")
|
|
6136
6159
|
);
|
|
@@ -6589,7 +6612,7 @@ var AuthService = class extends BaseService {
|
|
|
6589
6612
|
clinicAdmin: adminProfile
|
|
6590
6613
|
};
|
|
6591
6614
|
} catch (error) {
|
|
6592
|
-
if (error instanceof
|
|
6615
|
+
if (error instanceof z19.ZodError) {
|
|
6593
6616
|
console.error(
|
|
6594
6617
|
"[AUTH] Zod validation error in signUpClinicAdmin:",
|
|
6595
6618
|
JSON.stringify(error.errors, null, 2)
|
|
@@ -6762,7 +6785,7 @@ var AuthService = class extends BaseService {
|
|
|
6762
6785
|
email
|
|
6763
6786
|
);
|
|
6764
6787
|
} catch (error) {
|
|
6765
|
-
if (error instanceof
|
|
6788
|
+
if (error instanceof z19.ZodError) {
|
|
6766
6789
|
throw AUTH_ERRORS.VALIDATION_ERROR;
|
|
6767
6790
|
}
|
|
6768
6791
|
const firebaseError = error;
|
|
@@ -6885,7 +6908,7 @@ var AuthService = class extends BaseService {
|
|
|
6885
6908
|
await emailSchema.parseAsync(email);
|
|
6886
6909
|
await sendPasswordResetEmail(this.auth, email);
|
|
6887
6910
|
} catch (error) {
|
|
6888
|
-
if (error instanceof
|
|
6911
|
+
if (error instanceof z19.ZodError) {
|
|
6889
6912
|
throw AUTH_ERRORS.VALIDATION_ERROR;
|
|
6890
6913
|
}
|
|
6891
6914
|
const firebaseError = error;
|
|
@@ -6924,7 +6947,7 @@ var AuthService = class extends BaseService {
|
|
|
6924
6947
|
await passwordSchema.parseAsync(newPassword);
|
|
6925
6948
|
await confirmPasswordReset(this.auth, oobCode, newPassword);
|
|
6926
6949
|
} catch (error) {
|
|
6927
|
-
if (error instanceof
|
|
6950
|
+
if (error instanceof z19.ZodError) {
|
|
6928
6951
|
throw AUTH_ERRORS.VALIDATION_ERROR;
|
|
6929
6952
|
}
|
|
6930
6953
|
const firebaseError = error;
|
|
@@ -7093,7 +7116,7 @@ var AuthService = class extends BaseService {
|
|
|
7093
7116
|
practitioner
|
|
7094
7117
|
};
|
|
7095
7118
|
} catch (error) {
|
|
7096
|
-
if (error instanceof
|
|
7119
|
+
if (error instanceof z19.ZodError) {
|
|
7097
7120
|
console.error(
|
|
7098
7121
|
"[AUTH] Zod validation error in signUpPractitioner:",
|
|
7099
7122
|
JSON.stringify(error.errors, null, 2)
|
|
@@ -7385,59 +7408,59 @@ import {
|
|
|
7385
7408
|
var PROCEDURES_COLLECTION = "procedures";
|
|
7386
7409
|
|
|
7387
7410
|
// src/validations/procedure.schema.ts
|
|
7388
|
-
import { z as
|
|
7389
|
-
var createProcedureSchema =
|
|
7390
|
-
name:
|
|
7391
|
-
description:
|
|
7392
|
-
family:
|
|
7393
|
-
categoryId:
|
|
7394
|
-
subcategoryId:
|
|
7395
|
-
technologyId:
|
|
7396
|
-
productId:
|
|
7397
|
-
price:
|
|
7398
|
-
currency:
|
|
7399
|
-
pricingMeasure:
|
|
7400
|
-
duration:
|
|
7411
|
+
import { z as z20 } from "zod";
|
|
7412
|
+
var createProcedureSchema = z20.object({
|
|
7413
|
+
name: z20.string().min(1).max(200),
|
|
7414
|
+
description: z20.string().min(1).max(2e3),
|
|
7415
|
+
family: z20.nativeEnum(ProcedureFamily),
|
|
7416
|
+
categoryId: z20.string().min(1),
|
|
7417
|
+
subcategoryId: z20.string().min(1),
|
|
7418
|
+
technologyId: z20.string().min(1),
|
|
7419
|
+
productId: z20.string().min(1),
|
|
7420
|
+
price: z20.number().min(0),
|
|
7421
|
+
currency: z20.nativeEnum(Currency),
|
|
7422
|
+
pricingMeasure: z20.nativeEnum(PricingMeasure),
|
|
7423
|
+
duration: z20.number().min(1).max(480),
|
|
7401
7424
|
// Max 8 hours
|
|
7402
|
-
practitionerId:
|
|
7403
|
-
clinicBranchId:
|
|
7425
|
+
practitionerId: z20.string().min(1),
|
|
7426
|
+
clinicBranchId: z20.string().min(1)
|
|
7404
7427
|
});
|
|
7405
|
-
var updateProcedureSchema =
|
|
7406
|
-
name:
|
|
7407
|
-
description:
|
|
7408
|
-
price:
|
|
7409
|
-
currency:
|
|
7410
|
-
pricingMeasure:
|
|
7411
|
-
duration:
|
|
7412
|
-
isActive:
|
|
7413
|
-
practitionerId:
|
|
7414
|
-
categoryId:
|
|
7415
|
-
subcategoryId:
|
|
7416
|
-
technologyId:
|
|
7417
|
-
productId:
|
|
7418
|
-
clinicBranchId:
|
|
7428
|
+
var updateProcedureSchema = z20.object({
|
|
7429
|
+
name: z20.string().min(3).max(100).optional(),
|
|
7430
|
+
description: z20.string().min(3).max(1e3).optional(),
|
|
7431
|
+
price: z20.number().min(0).optional(),
|
|
7432
|
+
currency: z20.nativeEnum(Currency).optional(),
|
|
7433
|
+
pricingMeasure: z20.nativeEnum(PricingMeasure).optional(),
|
|
7434
|
+
duration: z20.number().min(0).optional(),
|
|
7435
|
+
isActive: z20.boolean().optional(),
|
|
7436
|
+
practitionerId: z20.string().optional(),
|
|
7437
|
+
categoryId: z20.string().optional(),
|
|
7438
|
+
subcategoryId: z20.string().optional(),
|
|
7439
|
+
technologyId: z20.string().optional(),
|
|
7440
|
+
productId: z20.string().optional(),
|
|
7441
|
+
clinicBranchId: z20.string().optional()
|
|
7419
7442
|
});
|
|
7420
7443
|
var procedureSchema = createProcedureSchema.extend({
|
|
7421
|
-
id:
|
|
7422
|
-
category:
|
|
7444
|
+
id: z20.string().min(1),
|
|
7445
|
+
category: z20.any(),
|
|
7423
7446
|
// We'll validate the full category object separately
|
|
7424
|
-
subcategory:
|
|
7447
|
+
subcategory: z20.any(),
|
|
7425
7448
|
// We'll validate the full subcategory object separately
|
|
7426
|
-
technology:
|
|
7449
|
+
technology: z20.any(),
|
|
7427
7450
|
// We'll validate the full technology object separately
|
|
7428
|
-
product:
|
|
7451
|
+
product: z20.any(),
|
|
7429
7452
|
// We'll validate the full product object separately
|
|
7430
|
-
blockingConditions:
|
|
7453
|
+
blockingConditions: z20.array(z20.any()),
|
|
7431
7454
|
// We'll validate blocking conditions separately
|
|
7432
|
-
treatmentBenefits:
|
|
7455
|
+
treatmentBenefits: z20.array(z20.any()),
|
|
7433
7456
|
// We'll validate treatment benefits separately
|
|
7434
|
-
preRequirements:
|
|
7457
|
+
preRequirements: z20.array(z20.any()),
|
|
7435
7458
|
// We'll validate requirements separately
|
|
7436
|
-
postRequirements:
|
|
7459
|
+
postRequirements: z20.array(z20.any()),
|
|
7437
7460
|
// We'll validate requirements separately
|
|
7438
|
-
certificationRequirement:
|
|
7461
|
+
certificationRequirement: z20.any(),
|
|
7439
7462
|
// We'll validate certification requirement separately
|
|
7440
|
-
documentationTemplates:
|
|
7463
|
+
documentationTemplates: z20.array(z20.any()),
|
|
7441
7464
|
// We'll validate documentation templates separately
|
|
7442
7465
|
clinicInfo: clinicInfoSchema,
|
|
7443
7466
|
// Clinic info validation
|
|
@@ -7445,9 +7468,9 @@ var procedureSchema = createProcedureSchema.extend({
|
|
|
7445
7468
|
// Doctor info validation
|
|
7446
7469
|
reviewInfo: procedureReviewInfoSchema,
|
|
7447
7470
|
// Procedure review info validation
|
|
7448
|
-
isActive:
|
|
7449
|
-
createdAt:
|
|
7450
|
-
updatedAt:
|
|
7471
|
+
isActive: z20.boolean(),
|
|
7472
|
+
createdAt: z20.date(),
|
|
7473
|
+
updatedAt: z20.date()
|
|
7451
7474
|
});
|
|
7452
7475
|
|
|
7453
7476
|
// src/services/procedure/procedure.service.ts
|
|
@@ -8516,42 +8539,42 @@ import {
|
|
|
8516
8539
|
} from "firebase/firestore";
|
|
8517
8540
|
|
|
8518
8541
|
// src/validations/calendar.schema.ts
|
|
8519
|
-
import { z as
|
|
8542
|
+
import { z as z22 } from "zod";
|
|
8520
8543
|
import { Timestamp as Timestamp18 } from "firebase/firestore";
|
|
8521
8544
|
|
|
8522
8545
|
// src/validations/profile-info.schema.ts
|
|
8523
|
-
import { z as
|
|
8546
|
+
import { z as z21 } from "zod";
|
|
8524
8547
|
import { Timestamp as Timestamp17 } from "firebase/firestore";
|
|
8525
|
-
var clinicInfoSchema2 =
|
|
8526
|
-
id:
|
|
8527
|
-
featuredPhoto:
|
|
8528
|
-
name:
|
|
8529
|
-
description:
|
|
8548
|
+
var clinicInfoSchema2 = z21.object({
|
|
8549
|
+
id: z21.string(),
|
|
8550
|
+
featuredPhoto: z21.string(),
|
|
8551
|
+
name: z21.string(),
|
|
8552
|
+
description: z21.string(),
|
|
8530
8553
|
location: clinicLocationSchema,
|
|
8531
8554
|
contactInfo: clinicContactInfoSchema
|
|
8532
8555
|
});
|
|
8533
|
-
var practitionerProfileInfoSchema =
|
|
8534
|
-
id:
|
|
8535
|
-
practitionerPhoto:
|
|
8536
|
-
name:
|
|
8537
|
-
email:
|
|
8538
|
-
phone:
|
|
8556
|
+
var practitionerProfileInfoSchema = z21.object({
|
|
8557
|
+
id: z21.string(),
|
|
8558
|
+
practitionerPhoto: z21.string().nullable(),
|
|
8559
|
+
name: z21.string(),
|
|
8560
|
+
email: z21.string().email(),
|
|
8561
|
+
phone: z21.string().nullable(),
|
|
8539
8562
|
certification: practitionerCertificationSchema
|
|
8540
8563
|
});
|
|
8541
|
-
var patientProfileInfoSchema =
|
|
8542
|
-
id:
|
|
8543
|
-
fullName:
|
|
8544
|
-
email:
|
|
8545
|
-
phone:
|
|
8546
|
-
dateOfBirth:
|
|
8547
|
-
gender:
|
|
8564
|
+
var patientProfileInfoSchema = z21.object({
|
|
8565
|
+
id: z21.string(),
|
|
8566
|
+
fullName: z21.string(),
|
|
8567
|
+
email: z21.string().email(),
|
|
8568
|
+
phone: z21.string().nullable(),
|
|
8569
|
+
dateOfBirth: z21.instanceof(Timestamp17),
|
|
8570
|
+
gender: z21.nativeEnum(Gender)
|
|
8548
8571
|
});
|
|
8549
8572
|
|
|
8550
8573
|
// src/validations/calendar.schema.ts
|
|
8551
8574
|
var MIN_APPOINTMENT_DURATION = 15;
|
|
8552
|
-
var calendarEventTimeSchema =
|
|
8553
|
-
start:
|
|
8554
|
-
end:
|
|
8575
|
+
var calendarEventTimeSchema = z22.object({
|
|
8576
|
+
start: z22.instanceof(Date).or(z22.instanceof(Timestamp18)),
|
|
8577
|
+
end: z22.instanceof(Date).or(z22.instanceof(Timestamp18))
|
|
8555
8578
|
}).refine(
|
|
8556
8579
|
(data) => {
|
|
8557
8580
|
const startDate = data.start instanceof Timestamp18 ? data.start.toDate() : data.start;
|
|
@@ -8572,46 +8595,46 @@ var calendarEventTimeSchema = z21.object({
|
|
|
8572
8595
|
path: ["start"]
|
|
8573
8596
|
}
|
|
8574
8597
|
);
|
|
8575
|
-
var timeSlotSchema2 =
|
|
8576
|
-
start:
|
|
8577
|
-
end:
|
|
8578
|
-
isAvailable:
|
|
8598
|
+
var timeSlotSchema2 = z22.object({
|
|
8599
|
+
start: z22.date(),
|
|
8600
|
+
end: z22.date(),
|
|
8601
|
+
isAvailable: z22.boolean()
|
|
8579
8602
|
}).refine((data) => data.start < data.end, {
|
|
8580
8603
|
message: "End time must be after start time",
|
|
8581
8604
|
path: ["end"]
|
|
8582
8605
|
});
|
|
8583
|
-
var syncedCalendarEventSchema =
|
|
8584
|
-
eventId:
|
|
8585
|
-
syncedCalendarProvider:
|
|
8586
|
-
syncedAt:
|
|
8606
|
+
var syncedCalendarEventSchema = z22.object({
|
|
8607
|
+
eventId: z22.string(),
|
|
8608
|
+
syncedCalendarProvider: z22.nativeEnum(SyncedCalendarProvider),
|
|
8609
|
+
syncedAt: z22.instanceof(Date).or(z22.instanceof(Timestamp18))
|
|
8587
8610
|
});
|
|
8588
|
-
var procedureInfoSchema =
|
|
8589
|
-
name:
|
|
8590
|
-
description:
|
|
8591
|
-
duration:
|
|
8592
|
-
price:
|
|
8593
|
-
currency:
|
|
8611
|
+
var procedureInfoSchema = z22.object({
|
|
8612
|
+
name: z22.string(),
|
|
8613
|
+
description: z22.string(),
|
|
8614
|
+
duration: z22.number().min(MIN_APPOINTMENT_DURATION),
|
|
8615
|
+
price: z22.number().min(0),
|
|
8616
|
+
currency: z22.nativeEnum(Currency)
|
|
8594
8617
|
});
|
|
8595
|
-
var procedureCategorizationSchema =
|
|
8596
|
-
procedureFamily:
|
|
8618
|
+
var procedureCategorizationSchema = z22.object({
|
|
8619
|
+
procedureFamily: z22.string(),
|
|
8597
8620
|
// Replace with proper enum when available
|
|
8598
|
-
procedureCategory:
|
|
8621
|
+
procedureCategory: z22.string(),
|
|
8599
8622
|
// Replace with proper enum when available
|
|
8600
|
-
procedureSubcategory:
|
|
8623
|
+
procedureSubcategory: z22.string(),
|
|
8601
8624
|
// Replace with proper enum when available
|
|
8602
|
-
procedureTechnology:
|
|
8625
|
+
procedureTechnology: z22.string(),
|
|
8603
8626
|
// Replace with proper enum when available
|
|
8604
|
-
procedureProduct:
|
|
8627
|
+
procedureProduct: z22.string()
|
|
8605
8628
|
// Replace with proper enum when available
|
|
8606
8629
|
});
|
|
8607
|
-
var createAppointmentSchema2 =
|
|
8608
|
-
clinicId:
|
|
8609
|
-
doctorId:
|
|
8610
|
-
patientId:
|
|
8611
|
-
procedureId:
|
|
8630
|
+
var createAppointmentSchema2 = z22.object({
|
|
8631
|
+
clinicId: z22.string().min(1, "Clinic ID is required"),
|
|
8632
|
+
doctorId: z22.string().min(1, "Doctor ID is required"),
|
|
8633
|
+
patientId: z22.string().min(1, "Patient ID is required"),
|
|
8634
|
+
procedureId: z22.string().min(1, "Procedure ID is required"),
|
|
8612
8635
|
eventLocation: clinicLocationSchema,
|
|
8613
8636
|
eventTime: calendarEventTimeSchema,
|
|
8614
|
-
description:
|
|
8637
|
+
description: z22.string().optional()
|
|
8615
8638
|
}).refine(
|
|
8616
8639
|
(data) => {
|
|
8617
8640
|
return true;
|
|
@@ -8620,73 +8643,73 @@ var createAppointmentSchema2 = z21.object({
|
|
|
8620
8643
|
message: "Invalid appointment parameters"
|
|
8621
8644
|
}
|
|
8622
8645
|
);
|
|
8623
|
-
var updateAppointmentSchema2 =
|
|
8624
|
-
appointmentId:
|
|
8625
|
-
clinicId:
|
|
8626
|
-
doctorId:
|
|
8627
|
-
patientId:
|
|
8646
|
+
var updateAppointmentSchema2 = z22.object({
|
|
8647
|
+
appointmentId: z22.string().min(1, "Appointment ID is required"),
|
|
8648
|
+
clinicId: z22.string().min(1, "Clinic ID is required"),
|
|
8649
|
+
doctorId: z22.string().min(1, "Doctor ID is required"),
|
|
8650
|
+
patientId: z22.string().min(1, "Patient ID is required"),
|
|
8628
8651
|
eventTime: calendarEventTimeSchema.optional(),
|
|
8629
|
-
description:
|
|
8630
|
-
status:
|
|
8652
|
+
description: z22.string().optional(),
|
|
8653
|
+
status: z22.nativeEnum(CalendarEventStatus).optional()
|
|
8631
8654
|
});
|
|
8632
|
-
var createCalendarEventSchema =
|
|
8633
|
-
id:
|
|
8634
|
-
clinicBranchId:
|
|
8635
|
-
clinicBranchInfo:
|
|
8636
|
-
practitionerProfileId:
|
|
8655
|
+
var createCalendarEventSchema = z22.object({
|
|
8656
|
+
id: z22.string(),
|
|
8657
|
+
clinicBranchId: z22.string().nullable().optional(),
|
|
8658
|
+
clinicBranchInfo: z22.any().nullable().optional(),
|
|
8659
|
+
practitionerProfileId: z22.string().nullable().optional(),
|
|
8637
8660
|
practitionerProfileInfo: practitionerProfileInfoSchema.nullable().optional(),
|
|
8638
|
-
patientProfileId:
|
|
8661
|
+
patientProfileId: z22.string().nullable().optional(),
|
|
8639
8662
|
patientProfileInfo: patientProfileInfoSchema.nullable().optional(),
|
|
8640
|
-
procedureId:
|
|
8641
|
-
appointmentId:
|
|
8642
|
-
syncedCalendarEventId:
|
|
8643
|
-
eventName:
|
|
8663
|
+
procedureId: z22.string().nullable().optional(),
|
|
8664
|
+
appointmentId: z22.string().nullable().optional(),
|
|
8665
|
+
syncedCalendarEventId: z22.array(syncedCalendarEventSchema).nullable().optional(),
|
|
8666
|
+
eventName: z22.string().min(1, "Event name is required"),
|
|
8644
8667
|
eventLocation: clinicLocationSchema.optional(),
|
|
8645
8668
|
eventTime: calendarEventTimeSchema,
|
|
8646
|
-
description:
|
|
8647
|
-
status:
|
|
8648
|
-
syncStatus:
|
|
8649
|
-
eventType:
|
|
8650
|
-
createdAt:
|
|
8669
|
+
description: z22.string().optional(),
|
|
8670
|
+
status: z22.nativeEnum(CalendarEventStatus),
|
|
8671
|
+
syncStatus: z22.nativeEnum(CalendarSyncStatus),
|
|
8672
|
+
eventType: z22.nativeEnum(CalendarEventType),
|
|
8673
|
+
createdAt: z22.any(),
|
|
8651
8674
|
// FieldValue for server timestamp
|
|
8652
|
-
updatedAt:
|
|
8675
|
+
updatedAt: z22.any()
|
|
8653
8676
|
// FieldValue for server timestamp
|
|
8654
8677
|
});
|
|
8655
|
-
var updateCalendarEventSchema =
|
|
8656
|
-
syncedCalendarEventId:
|
|
8657
|
-
appointmentId:
|
|
8658
|
-
eventName:
|
|
8678
|
+
var updateCalendarEventSchema = z22.object({
|
|
8679
|
+
syncedCalendarEventId: z22.array(syncedCalendarEventSchema).nullable().optional(),
|
|
8680
|
+
appointmentId: z22.string().nullable().optional(),
|
|
8681
|
+
eventName: z22.string().optional(),
|
|
8659
8682
|
eventTime: calendarEventTimeSchema.optional(),
|
|
8660
|
-
description:
|
|
8661
|
-
status:
|
|
8662
|
-
syncStatus:
|
|
8663
|
-
eventType:
|
|
8664
|
-
updatedAt:
|
|
8683
|
+
description: z22.string().optional(),
|
|
8684
|
+
status: z22.nativeEnum(CalendarEventStatus).optional(),
|
|
8685
|
+
syncStatus: z22.nativeEnum(CalendarSyncStatus).optional(),
|
|
8686
|
+
eventType: z22.nativeEnum(CalendarEventType).optional(),
|
|
8687
|
+
updatedAt: z22.any()
|
|
8665
8688
|
// FieldValue for server timestamp
|
|
8666
8689
|
});
|
|
8667
|
-
var calendarEventSchema =
|
|
8668
|
-
id:
|
|
8669
|
-
clinicBranchId:
|
|
8670
|
-
clinicBranchInfo:
|
|
8690
|
+
var calendarEventSchema = z22.object({
|
|
8691
|
+
id: z22.string(),
|
|
8692
|
+
clinicBranchId: z22.string().nullable().optional(),
|
|
8693
|
+
clinicBranchInfo: z22.any().nullable().optional(),
|
|
8671
8694
|
// Will be replaced with proper clinic info schema
|
|
8672
|
-
practitionerProfileId:
|
|
8695
|
+
practitionerProfileId: z22.string().nullable().optional(),
|
|
8673
8696
|
practitionerProfileInfo: practitionerProfileInfoSchema.nullable().optional(),
|
|
8674
|
-
patientProfileId:
|
|
8697
|
+
patientProfileId: z22.string().nullable().optional(),
|
|
8675
8698
|
patientProfileInfo: patientProfileInfoSchema.nullable().optional(),
|
|
8676
|
-
procedureId:
|
|
8699
|
+
procedureId: z22.string().nullable().optional(),
|
|
8677
8700
|
procedureInfo: procedureInfoSchema.nullable().optional(),
|
|
8678
8701
|
procedureCategorization: procedureCategorizationSchema.nullable().optional(),
|
|
8679
|
-
appointmentId:
|
|
8680
|
-
syncedCalendarEventId:
|
|
8681
|
-
eventName:
|
|
8702
|
+
appointmentId: z22.string().nullable().optional(),
|
|
8703
|
+
syncedCalendarEventId: z22.array(syncedCalendarEventSchema).nullable().optional(),
|
|
8704
|
+
eventName: z22.string(),
|
|
8682
8705
|
eventLocation: clinicLocationSchema.optional(),
|
|
8683
8706
|
eventTime: calendarEventTimeSchema,
|
|
8684
|
-
description:
|
|
8685
|
-
status:
|
|
8686
|
-
syncStatus:
|
|
8687
|
-
eventType:
|
|
8688
|
-
createdAt:
|
|
8689
|
-
updatedAt:
|
|
8707
|
+
description: z22.string().optional(),
|
|
8708
|
+
status: z22.nativeEnum(CalendarEventStatus),
|
|
8709
|
+
syncStatus: z22.nativeEnum(CalendarSyncStatus),
|
|
8710
|
+
eventType: z22.nativeEnum(CalendarEventType),
|
|
8711
|
+
createdAt: z22.instanceof(Date).or(z22.instanceof(Timestamp18)),
|
|
8712
|
+
updatedAt: z22.instanceof(Date).or(z22.instanceof(Timestamp18))
|
|
8690
8713
|
});
|
|
8691
8714
|
|
|
8692
8715
|
// src/services/calendar/utils/clinic.utils.ts
|
|
@@ -11297,7 +11320,7 @@ import {
|
|
|
11297
11320
|
var REVIEWS_COLLECTION = "reviews";
|
|
11298
11321
|
|
|
11299
11322
|
// src/services/reviews/reviews.service.ts
|
|
11300
|
-
import { z as
|
|
11323
|
+
import { z as z23 } from "zod";
|
|
11301
11324
|
var ReviewService = class extends BaseService {
|
|
11302
11325
|
constructor(db, auth, app) {
|
|
11303
11326
|
super(db, auth, app);
|
|
@@ -11403,7 +11426,7 @@ var ReviewService = class extends BaseService {
|
|
|
11403
11426
|
await Promise.all(updatePromises);
|
|
11404
11427
|
return review;
|
|
11405
11428
|
} catch (error) {
|
|
11406
|
-
if (error instanceof
|
|
11429
|
+
if (error instanceof z23.ZodError) {
|
|
11407
11430
|
throw new Error(`Invalid review data: ${error.message}`);
|
|
11408
11431
|
}
|
|
11409
11432
|
throw error;
|
|
@@ -13729,54 +13752,54 @@ var ProductService = class extends BaseService {
|
|
|
13729
13752
|
};
|
|
13730
13753
|
|
|
13731
13754
|
// src/validations/notification.schema.ts
|
|
13732
|
-
import { z as
|
|
13733
|
-
var baseNotificationSchema =
|
|
13734
|
-
id:
|
|
13735
|
-
userId:
|
|
13736
|
-
notificationTime:
|
|
13755
|
+
import { z as z24 } from "zod";
|
|
13756
|
+
var baseNotificationSchema = z24.object({
|
|
13757
|
+
id: z24.string().optional(),
|
|
13758
|
+
userId: z24.string(),
|
|
13759
|
+
notificationTime: z24.any(),
|
|
13737
13760
|
// Timestamp
|
|
13738
|
-
notificationType:
|
|
13739
|
-
notificationTokens:
|
|
13740
|
-
status:
|
|
13741
|
-
createdAt:
|
|
13761
|
+
notificationType: z24.nativeEnum(NotificationType),
|
|
13762
|
+
notificationTokens: z24.array(z24.string()),
|
|
13763
|
+
status: z24.nativeEnum(NotificationStatus),
|
|
13764
|
+
createdAt: z24.any().optional(),
|
|
13742
13765
|
// Timestamp
|
|
13743
|
-
updatedAt:
|
|
13766
|
+
updatedAt: z24.any().optional(),
|
|
13744
13767
|
// Timestamp
|
|
13745
|
-
title:
|
|
13746
|
-
body:
|
|
13747
|
-
isRead:
|
|
13748
|
-
userRole:
|
|
13768
|
+
title: z24.string(),
|
|
13769
|
+
body: z24.string(),
|
|
13770
|
+
isRead: z24.boolean(),
|
|
13771
|
+
userRole: z24.nativeEnum(UserRole)
|
|
13749
13772
|
});
|
|
13750
13773
|
var preRequirementNotificationSchema = baseNotificationSchema.extend({
|
|
13751
|
-
notificationType:
|
|
13752
|
-
treatmentId:
|
|
13753
|
-
requirements:
|
|
13754
|
-
deadline:
|
|
13774
|
+
notificationType: z24.literal("preRequirement" /* PRE_REQUIREMENT */),
|
|
13775
|
+
treatmentId: z24.string(),
|
|
13776
|
+
requirements: z24.array(z24.string()),
|
|
13777
|
+
deadline: z24.any()
|
|
13755
13778
|
// Timestamp
|
|
13756
13779
|
});
|
|
13757
13780
|
var postRequirementNotificationSchema = baseNotificationSchema.extend({
|
|
13758
|
-
notificationType:
|
|
13759
|
-
treatmentId:
|
|
13760
|
-
requirements:
|
|
13761
|
-
deadline:
|
|
13781
|
+
notificationType: z24.literal("postRequirement" /* POST_REQUIREMENT */),
|
|
13782
|
+
treatmentId: z24.string(),
|
|
13783
|
+
requirements: z24.array(z24.string()),
|
|
13784
|
+
deadline: z24.any()
|
|
13762
13785
|
// Timestamp
|
|
13763
13786
|
});
|
|
13764
13787
|
var appointmentReminderNotificationSchema = baseNotificationSchema.extend({
|
|
13765
|
-
notificationType:
|
|
13766
|
-
appointmentId:
|
|
13767
|
-
appointmentTime:
|
|
13788
|
+
notificationType: z24.literal("appointmentReminder" /* APPOINTMENT_REMINDER */),
|
|
13789
|
+
appointmentId: z24.string(),
|
|
13790
|
+
appointmentTime: z24.any(),
|
|
13768
13791
|
// Timestamp
|
|
13769
|
-
treatmentType:
|
|
13770
|
-
doctorName:
|
|
13792
|
+
treatmentType: z24.string(),
|
|
13793
|
+
doctorName: z24.string()
|
|
13771
13794
|
});
|
|
13772
13795
|
var appointmentNotificationSchema = baseNotificationSchema.extend({
|
|
13773
|
-
notificationType:
|
|
13774
|
-
appointmentId:
|
|
13775
|
-
appointmentStatus:
|
|
13776
|
-
previousStatus:
|
|
13777
|
-
reason:
|
|
13796
|
+
notificationType: z24.literal("appointmentNotification" /* APPOINTMENT_NOTIFICATION */),
|
|
13797
|
+
appointmentId: z24.string(),
|
|
13798
|
+
appointmentStatus: z24.string(),
|
|
13799
|
+
previousStatus: z24.string(),
|
|
13800
|
+
reason: z24.string().optional()
|
|
13778
13801
|
});
|
|
13779
|
-
var notificationSchema =
|
|
13802
|
+
var notificationSchema = z24.discriminatedUnion("notificationType", [
|
|
13780
13803
|
preRequirementNotificationSchema,
|
|
13781
13804
|
postRequirementNotificationSchema,
|
|
13782
13805
|
appointmentReminderNotificationSchema,
|
|
@@ -13916,7 +13939,6 @@ export {
|
|
|
13916
13939
|
clinicContactInfoSchema,
|
|
13917
13940
|
clinicGroupSchema,
|
|
13918
13941
|
clinicGroupSetupSchema,
|
|
13919
|
-
clinicInfoSchema,
|
|
13920
13942
|
clinicLocationSchema,
|
|
13921
13943
|
clinicReviewInfoSchema,
|
|
13922
13944
|
clinicReviewSchema,
|
|
@@ -13944,7 +13966,6 @@ export {
|
|
|
13944
13966
|
createProcedureReviewSchema,
|
|
13945
13967
|
createReviewSchema,
|
|
13946
13968
|
createUserOptionsSchema,
|
|
13947
|
-
doctorInfoSchema,
|
|
13948
13969
|
documentElementSchema,
|
|
13949
13970
|
documentElementWithoutIdSchema,
|
|
13950
13971
|
documentTemplateSchema,
|
|
@@ -13983,7 +14004,6 @@ export {
|
|
|
13983
14004
|
procedureInfoSchema,
|
|
13984
14005
|
procedureReviewInfoSchema,
|
|
13985
14006
|
procedureReviewSchema,
|
|
13986
|
-
procedureSummaryInfoSchema,
|
|
13987
14007
|
requesterInfoSchema,
|
|
13988
14008
|
reviewSchema,
|
|
13989
14009
|
searchAppointmentsSchema,
|