@blackcode_sa/metaestetics-api 1.12.64 → 1.12.66
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 +2 -0
- package/dist/admin/index.d.ts +2 -0
- package/dist/admin/index.js +45 -4
- package/dist/admin/index.mjs +45 -4
- package/dist/index.d.mts +2 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +80 -11
- package/dist/index.mjs +80 -11
- package/package.json +119 -119
- package/src/__mocks__/firstore.ts +10 -10
- package/src/admin/aggregation/README.md +79 -79
- package/src/admin/aggregation/appointment/README.md +128 -128
- package/src/admin/aggregation/appointment/appointment.aggregation.service.ts +1844 -1844
- package/src/admin/aggregation/appointment/index.ts +1 -1
- package/src/admin/aggregation/clinic/README.md +52 -52
- package/src/admin/aggregation/clinic/clinic.aggregation.service.ts +703 -703
- package/src/admin/aggregation/clinic/index.ts +1 -1
- package/src/admin/aggregation/forms/README.md +13 -13
- package/src/admin/aggregation/forms/filled-forms.aggregation.service.ts +322 -322
- package/src/admin/aggregation/forms/index.ts +1 -1
- package/src/admin/aggregation/index.ts +8 -8
- package/src/admin/aggregation/patient/README.md +27 -27
- package/src/admin/aggregation/patient/index.ts +1 -1
- package/src/admin/aggregation/patient/patient.aggregation.service.ts +141 -141
- package/src/admin/aggregation/practitioner/README.md +42 -42
- package/src/admin/aggregation/practitioner/index.ts +1 -1
- package/src/admin/aggregation/practitioner/practitioner.aggregation.service.ts +433 -433
- package/src/admin/aggregation/practitioner-invite/index.ts +1 -1
- package/src/admin/aggregation/practitioner-invite/practitioner-invite.aggregation.service.ts +961 -961
- package/src/admin/aggregation/procedure/README.md +43 -43
- package/src/admin/aggregation/procedure/index.ts +1 -1
- package/src/admin/aggregation/procedure/procedure.aggregation.service.ts +702 -702
- package/src/admin/aggregation/reviews/index.ts +1 -1
- package/src/admin/aggregation/reviews/reviews.aggregation.service.ts +689 -641
- package/src/admin/booking/README.md +125 -125
- package/src/admin/booking/booking.admin.ts +1037 -1037
- package/src/admin/booking/booking.calculator.ts +712 -712
- package/src/admin/booking/booking.types.ts +59 -59
- package/src/admin/booking/index.ts +3 -3
- package/src/admin/booking/timezones-problem.md +185 -185
- package/src/admin/calendar/README.md +7 -7
- package/src/admin/calendar/calendar.admin.service.ts +345 -345
- package/src/admin/calendar/index.ts +1 -1
- package/src/admin/documentation-templates/document-manager.admin.ts +260 -260
- package/src/admin/documentation-templates/index.ts +1 -1
- package/src/admin/free-consultation/free-consultation-utils.admin.ts +148 -148
- package/src/admin/free-consultation/index.ts +1 -1
- package/src/admin/index.ts +75 -75
- package/src/admin/logger/index.ts +78 -78
- package/src/admin/mailing/README.md +95 -95
- package/src/admin/mailing/appointment/appointment.mailing.service.ts +732 -732
- package/src/admin/mailing/appointment/index.ts +1 -1
- package/src/admin/mailing/appointment/templates/patient/appointment-confirmed.html +40 -40
- package/src/admin/mailing/base.mailing.service.ts +208 -208
- package/src/admin/mailing/index.ts +3 -3
- package/src/admin/mailing/practitionerInvite/existing-practitioner-invite.mailing.ts +611 -611
- package/src/admin/mailing/practitionerInvite/index.ts +2 -2
- package/src/admin/mailing/practitionerInvite/practitionerInvite.mailing.ts +395 -395
- package/src/admin/mailing/practitionerInvite/templates/existing-practitioner-invitation.template.ts +155 -155
- package/src/admin/mailing/practitionerInvite/templates/invitation.template.ts +101 -101
- package/src/admin/mailing/practitionerInvite/templates/invite-accepted-notification.template.ts +228 -228
- package/src/admin/mailing/practitionerInvite/templates/invite-rejected-notification.template.ts +242 -242
- package/src/admin/notifications/index.ts +1 -1
- package/src/admin/notifications/notifications.admin.ts +710 -710
- package/src/admin/requirements/README.md +128 -128
- package/src/admin/requirements/index.ts +1 -1
- package/src/admin/requirements/patient-requirements.admin.service.ts +475 -475
- package/src/admin/users/index.ts +1 -1
- package/src/admin/users/user-profile.admin.ts +405 -405
- package/src/backoffice/constants/certification.constants.ts +13 -13
- package/src/backoffice/constants/index.ts +1 -1
- package/src/backoffice/errors/backoffice.errors.ts +181 -181
- package/src/backoffice/errors/index.ts +1 -1
- package/src/backoffice/expo-safe/README.md +26 -26
- package/src/backoffice/expo-safe/index.ts +41 -41
- package/src/backoffice/index.ts +5 -5
- package/src/backoffice/services/FIXES_README.md +102 -102
- package/src/backoffice/services/README.md +40 -40
- package/src/backoffice/services/brand.service.ts +256 -256
- package/src/backoffice/services/category.service.ts +318 -318
- package/src/backoffice/services/constants.service.ts +385 -385
- package/src/backoffice/services/documentation-template.service.ts +202 -202
- package/src/backoffice/services/index.ts +10 -10
- package/src/backoffice/services/migrate-products.ts +116 -116
- package/src/backoffice/services/product.service.ts +553 -553
- package/src/backoffice/services/requirement.service.ts +235 -235
- package/src/backoffice/services/subcategory.service.ts +395 -395
- package/src/backoffice/services/technology.service.ts +1083 -1083
- package/src/backoffice/types/README.md +12 -12
- package/src/backoffice/types/admin-constants.types.ts +69 -69
- package/src/backoffice/types/brand.types.ts +29 -29
- package/src/backoffice/types/category.types.ts +62 -62
- package/src/backoffice/types/documentation-templates.types.ts +28 -28
- package/src/backoffice/types/index.ts +10 -10
- package/src/backoffice/types/procedure-product.types.ts +38 -38
- package/src/backoffice/types/product.types.ts +240 -240
- package/src/backoffice/types/requirement.types.ts +63 -63
- package/src/backoffice/types/static/README.md +18 -18
- package/src/backoffice/types/static/blocking-condition.types.ts +21 -21
- package/src/backoffice/types/static/certification.types.ts +37 -37
- package/src/backoffice/types/static/contraindication.types.ts +19 -19
- package/src/backoffice/types/static/index.ts +6 -6
- package/src/backoffice/types/static/pricing.types.ts +16 -16
- package/src/backoffice/types/static/procedure-family.types.ts +14 -14
- package/src/backoffice/types/static/treatment-benefit.types.ts +22 -22
- package/src/backoffice/types/subcategory.types.ts +34 -34
- package/src/backoffice/types/technology.types.ts +163 -163
- package/src/backoffice/validations/index.ts +1 -1
- package/src/backoffice/validations/schemas.ts +164 -164
- package/src/config/__mocks__/firebase.ts +99 -99
- package/src/config/firebase.ts +78 -78
- package/src/config/index.ts +9 -9
- package/src/errors/auth.error.ts +6 -6
- package/src/errors/auth.errors.ts +200 -200
- package/src/errors/clinic.errors.ts +32 -32
- package/src/errors/firebase.errors.ts +47 -47
- package/src/errors/user.errors.ts +99 -99
- package/src/index.backup.ts +407 -407
- package/src/index.ts +6 -6
- package/src/locales/en.ts +31 -31
- package/src/recommender/admin/index.ts +1 -1
- package/src/recommender/admin/services/recommender.service.admin.ts +5 -5
- package/src/recommender/front/index.ts +1 -1
- package/src/recommender/front/services/onboarding.service.ts +5 -5
- package/src/recommender/front/services/recommender.service.ts +3 -3
- package/src/recommender/index.ts +1 -1
- package/src/services/PATIENTAUTH.MD +197 -197
- package/src/services/README.md +106 -106
- package/src/services/__tests__/auth/auth.mock.test.ts +17 -17
- package/src/services/__tests__/auth/auth.setup.ts +293 -293
- package/src/services/__tests__/auth.service.test.ts +346 -346
- package/src/services/__tests__/base.service.test.ts +77 -77
- package/src/services/__tests__/user.service.test.ts +528 -528
- package/src/services/appointment/README.md +17 -17
- package/src/services/appointment/appointment.service.ts +2505 -2505
- package/src/services/appointment/index.ts +1 -1
- package/src/services/appointment/utils/appointment.utils.ts +552 -552
- package/src/services/appointment/utils/extended-procedure.utils.ts +314 -314
- package/src/services/appointment/utils/form-initialization.utils.ts +225 -225
- package/src/services/appointment/utils/recommended-procedure.utils.ts +195 -195
- package/src/services/appointment/utils/zone-management.utils.ts +353 -353
- package/src/services/appointment/utils/zone-photo.utils.ts +152 -152
- package/src/services/auth/auth.service.ts +989 -989
- package/src/services/auth/auth.v2.service.ts +961 -961
- package/src/services/auth/index.ts +7 -7
- package/src/services/auth/utils/error.utils.ts +90 -90
- package/src/services/auth/utils/firebase.utils.ts +49 -49
- package/src/services/auth/utils/index.ts +21 -21
- package/src/services/auth/utils/practitioner.utils.ts +125 -125
- package/src/services/base.service.ts +41 -41
- package/src/services/calendar/calendar.service.ts +1077 -1077
- package/src/services/calendar/calendar.v2.service.ts +1683 -1683
- package/src/services/calendar/calendar.v3.service.ts +313 -313
- package/src/services/calendar/externalCalendar.service.ts +178 -178
- package/src/services/calendar/index.ts +5 -5
- package/src/services/calendar/synced-calendars.service.ts +743 -743
- package/src/services/calendar/utils/appointment.utils.ts +265 -265
- package/src/services/calendar/utils/calendar-event.utils.ts +646 -646
- package/src/services/calendar/utils/clinic.utils.ts +237 -237
- package/src/services/calendar/utils/docs.utils.ts +157 -157
- package/src/services/calendar/utils/google-calendar.utils.ts +697 -697
- package/src/services/calendar/utils/index.ts +8 -8
- package/src/services/calendar/utils/patient.utils.ts +198 -198
- package/src/services/calendar/utils/practitioner.utils.ts +221 -221
- package/src/services/calendar/utils/synced-calendar.utils.ts +472 -472
- package/src/services/clinic/README.md +204 -204
- package/src/services/clinic/__tests__/clinic-admin.service.test.ts +287 -287
- package/src/services/clinic/__tests__/clinic-group.service.test.ts +352 -352
- package/src/services/clinic/__tests__/clinic.service.test.ts +354 -354
- package/src/services/clinic/billing-transactions.service.ts +217 -217
- package/src/services/clinic/clinic-admin.service.ts +202 -202
- package/src/services/clinic/clinic-group.service.ts +310 -310
- package/src/services/clinic/clinic.service.ts +708 -708
- package/src/services/clinic/index.ts +5 -5
- package/src/services/clinic/practitioner-invite.service.ts +519 -519
- package/src/services/clinic/utils/admin.utils.ts +551 -551
- package/src/services/clinic/utils/clinic-group.utils.ts +646 -646
- package/src/services/clinic/utils/clinic.utils.ts +949 -949
- package/src/services/clinic/utils/filter.utils.d.ts +23 -23
- package/src/services/clinic/utils/filter.utils.ts +446 -446
- package/src/services/clinic/utils/index.ts +11 -11
- package/src/services/clinic/utils/photos.utils.ts +188 -188
- package/src/services/clinic/utils/search.utils.ts +84 -84
- package/src/services/clinic/utils/tag.utils.ts +124 -124
- package/src/services/documentation-templates/documentation-template.service.ts +537 -537
- package/src/services/documentation-templates/filled-document.service.ts +587 -587
- package/src/services/documentation-templates/index.ts +2 -2
- package/src/services/index.ts +13 -13
- package/src/services/media/index.ts +1 -1
- package/src/services/media/media.service.ts +418 -418
- package/src/services/notifications/__tests__/notification.service.test.ts +242 -242
- package/src/services/notifications/index.ts +1 -1
- package/src/services/notifications/notification.service.ts +215 -215
- package/src/services/patient/README.md +48 -48
- package/src/services/patient/To-Do.md +43 -43
- package/src/services/patient/__tests__/patient.service.test.ts +294 -294
- package/src/services/patient/index.ts +2 -2
- package/src/services/patient/patient.service.ts +883 -883
- package/src/services/patient/patientRequirements.service.ts +285 -285
- package/src/services/patient/utils/aesthetic-analysis.utils.ts +176 -176
- package/src/services/patient/utils/clinic.utils.ts +80 -80
- package/src/services/patient/utils/docs.utils.ts +142 -142
- package/src/services/patient/utils/index.ts +9 -9
- package/src/services/patient/utils/location.utils.ts +126 -126
- package/src/services/patient/utils/medical-stuff.utils.ts +143 -143
- package/src/services/patient/utils/medical.utils.ts +458 -458
- package/src/services/patient/utils/practitioner.utils.ts +260 -260
- package/src/services/patient/utils/profile.utils.ts +510 -510
- package/src/services/patient/utils/sensitive.utils.ts +260 -260
- package/src/services/patient/utils/token.utils.ts +211 -211
- package/src/services/practitioner/README.md +145 -145
- package/src/services/practitioner/index.ts +1 -1
- package/src/services/practitioner/practitioner.service.ts +1742 -1742
- package/src/services/procedure/README.md +163 -163
- package/src/services/procedure/index.ts +1 -1
- package/src/services/procedure/procedure.service.ts +1715 -1682
- package/src/services/reviews/index.ts +1 -1
- package/src/services/reviews/reviews.service.ts +683 -636
- package/src/services/user/index.ts +1 -1
- package/src/services/user/user.service.ts +489 -489
- package/src/services/user/user.v2.service.ts +466 -466
- package/src/types/appointment/index.ts +480 -480
- package/src/types/calendar/index.ts +258 -258
- package/src/types/calendar/synced-calendar.types.ts +66 -66
- package/src/types/clinic/index.ts +489 -489
- package/src/types/clinic/practitioner-invite.types.ts +91 -91
- package/src/types/clinic/preferences.types.ts +159 -159
- package/src/types/clinic/to-do +3 -3
- package/src/types/documentation-templates/index.ts +308 -308
- package/src/types/index.ts +44 -44
- package/src/types/notifications/README.md +77 -77
- package/src/types/notifications/index.ts +265 -265
- package/src/types/patient/aesthetic-analysis.types.ts +66 -66
- package/src/types/patient/allergies.ts +58 -58
- package/src/types/patient/index.ts +275 -275
- package/src/types/patient/medical-info.types.ts +152 -152
- package/src/types/patient/patient-requirements.ts +92 -92
- package/src/types/patient/token.types.ts +61 -61
- package/src/types/practitioner/index.ts +206 -206
- package/src/types/procedure/index.ts +181 -181
- package/src/types/profile/index.ts +39 -39
- package/src/types/reviews/index.ts +132 -130
- package/src/types/tz-lookup.d.ts +4 -4
- package/src/types/user/index.ts +38 -38
- package/src/utils/TIMESTAMPS.md +176 -176
- package/src/utils/TimestampUtils.ts +241 -241
- package/src/utils/index.ts +1 -1
- package/src/validations/appointment.schema.ts +574 -574
- package/src/validations/calendar.schema.ts +225 -225
- package/src/validations/clinic.schema.ts +493 -493
- package/src/validations/common.schema.ts +25 -25
- package/src/validations/documentation-templates/index.ts +1 -1
- package/src/validations/documentation-templates/template.schema.ts +220 -220
- package/src/validations/documentation-templates.schema.ts +10 -10
- package/src/validations/index.ts +20 -20
- package/src/validations/media.schema.ts +10 -10
- package/src/validations/notification.schema.ts +90 -90
- package/src/validations/patient/aesthetic-analysis.schema.ts +55 -55
- package/src/validations/patient/medical-info.schema.ts +125 -125
- package/src/validations/patient/patient-requirements.schema.ts +84 -84
- package/src/validations/patient/token.schema.ts +29 -29
- package/src/validations/patient.schema.ts +217 -217
- package/src/validations/practitioner.schema.ts +222 -222
- package/src/validations/procedure-product.schema.ts +41 -41
- package/src/validations/procedure.schema.ts +124 -124
- package/src/validations/profile-info.schema.ts +41 -41
- package/src/validations/reviews.schema.ts +195 -189
- package/src/validations/schemas.ts +104 -104
- package/src/validations/shared.schema.ts +78 -78
|
@@ -1,130 +1,132 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Review system type definitions
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Base review interface with common properties
|
|
7
|
-
*/
|
|
8
|
-
interface BaseReview {
|
|
9
|
-
id: string;
|
|
10
|
-
fullReviewId: string;
|
|
11
|
-
patientId: string;
|
|
12
|
-
createdAt: Date;
|
|
13
|
-
updatedAt: Date;
|
|
14
|
-
comment: string;
|
|
15
|
-
isVerified: boolean;
|
|
16
|
-
isPublished: boolean;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* Clinic review interface
|
|
21
|
-
* @description Full review for a clinic
|
|
22
|
-
*/
|
|
23
|
-
export interface ClinicReview extends BaseReview {
|
|
24
|
-
clinicId: string;
|
|
25
|
-
clinicName?: string; // Enhanced field: clinic name from appointment
|
|
26
|
-
cleanliness: number; // 1-5 stars
|
|
27
|
-
facilities: number; // 1-5 stars
|
|
28
|
-
staffFriendliness: number; // 1-5 stars
|
|
29
|
-
waitingTime: number; // 1-5 stars
|
|
30
|
-
accessibility: number; // 1-5 stars
|
|
31
|
-
overallRating: number; // Average of all ratings
|
|
32
|
-
wouldRecommend: boolean;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* Practitioner review interface
|
|
37
|
-
* @description Full review for a healthcare practitioner
|
|
38
|
-
*/
|
|
39
|
-
export interface PractitionerReview extends BaseReview {
|
|
40
|
-
practitionerId: string;
|
|
41
|
-
practitionerName?: string; // Enhanced field: practitioner name from appointment
|
|
42
|
-
knowledgeAndExpertise: number; // 1-5 stars
|
|
43
|
-
communicationSkills: number; // 1-5 stars
|
|
44
|
-
bedSideManner: number; // 1-5 stars
|
|
45
|
-
thoroughness: number; // 1-5 stars
|
|
46
|
-
trustworthiness: number; // 1-5 stars
|
|
47
|
-
overallRating: number; // Average of all ratings
|
|
48
|
-
wouldRecommend: boolean;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* Procedure review interface
|
|
53
|
-
* @description Full review for a medical procedure
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
*
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
*
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
*
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
*
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Review system type definitions
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Base review interface with common properties
|
|
7
|
+
*/
|
|
8
|
+
interface BaseReview {
|
|
9
|
+
id: string;
|
|
10
|
+
fullReviewId: string;
|
|
11
|
+
patientId: string;
|
|
12
|
+
createdAt: Date;
|
|
13
|
+
updatedAt: Date;
|
|
14
|
+
comment: string;
|
|
15
|
+
isVerified: boolean;
|
|
16
|
+
isPublished: boolean;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Clinic review interface
|
|
21
|
+
* @description Full review for a clinic
|
|
22
|
+
*/
|
|
23
|
+
export interface ClinicReview extends BaseReview {
|
|
24
|
+
clinicId: string;
|
|
25
|
+
clinicName?: string; // Enhanced field: clinic name from appointment
|
|
26
|
+
cleanliness: number; // 1-5 stars
|
|
27
|
+
facilities: number; // 1-5 stars
|
|
28
|
+
staffFriendliness: number; // 1-5 stars
|
|
29
|
+
waitingTime: number; // 1-5 stars
|
|
30
|
+
accessibility: number; // 1-5 stars
|
|
31
|
+
overallRating: number; // Average of all ratings
|
|
32
|
+
wouldRecommend: boolean;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Practitioner review interface
|
|
37
|
+
* @description Full review for a healthcare practitioner
|
|
38
|
+
*/
|
|
39
|
+
export interface PractitionerReview extends BaseReview {
|
|
40
|
+
practitionerId: string;
|
|
41
|
+
practitionerName?: string; // Enhanced field: practitioner name from appointment
|
|
42
|
+
knowledgeAndExpertise: number; // 1-5 stars
|
|
43
|
+
communicationSkills: number; // 1-5 stars
|
|
44
|
+
bedSideManner: number; // 1-5 stars
|
|
45
|
+
thoroughness: number; // 1-5 stars
|
|
46
|
+
trustworthiness: number; // 1-5 stars
|
|
47
|
+
overallRating: number; // Average of all ratings
|
|
48
|
+
wouldRecommend: boolean;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Procedure review interface
|
|
53
|
+
* @description Full review for a medical procedure
|
|
54
|
+
* Used for both main and extended procedures
|
|
55
|
+
*/
|
|
56
|
+
export interface ProcedureReview extends BaseReview {
|
|
57
|
+
procedureId: string;
|
|
58
|
+
procedureName?: string; // Enhanced field: procedure name from appointment
|
|
59
|
+
effectivenessOfTreatment: number; // 1-5 stars
|
|
60
|
+
outcomeExplanation: number; // 1-5 stars
|
|
61
|
+
painManagement: number; // 1-5 stars
|
|
62
|
+
followUpCare: number; // 1-5 stars
|
|
63
|
+
valueForMoney: number; // 1-5 stars
|
|
64
|
+
overallRating: number; // Average of all ratings
|
|
65
|
+
wouldRecommend: boolean;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Condensed clinic review information
|
|
70
|
+
* @description Used for aggregated data attached to clinic documents
|
|
71
|
+
*/
|
|
72
|
+
export interface ClinicReviewInfo {
|
|
73
|
+
totalReviews: number;
|
|
74
|
+
averageRating: number;
|
|
75
|
+
cleanliness: number;
|
|
76
|
+
facilities: number;
|
|
77
|
+
staffFriendliness: number;
|
|
78
|
+
waitingTime: number;
|
|
79
|
+
accessibility: number;
|
|
80
|
+
recommendationPercentage: number;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Condensed practitioner review information
|
|
85
|
+
* @description Used for aggregated data attached to practitioner documents
|
|
86
|
+
*/
|
|
87
|
+
export interface PractitionerReviewInfo {
|
|
88
|
+
totalReviews: number;
|
|
89
|
+
averageRating: number;
|
|
90
|
+
knowledgeAndExpertise: number;
|
|
91
|
+
communicationSkills: number;
|
|
92
|
+
bedSideManner: number;
|
|
93
|
+
thoroughness: number;
|
|
94
|
+
trustworthiness: number;
|
|
95
|
+
recommendationPercentage: number;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* Condensed procedure review information
|
|
100
|
+
* @description Used for aggregated data attached to procedure documents
|
|
101
|
+
*/
|
|
102
|
+
export interface ProcedureReviewInfo {
|
|
103
|
+
totalReviews: number;
|
|
104
|
+
averageRating: number;
|
|
105
|
+
effectivenessOfTreatment: number;
|
|
106
|
+
outcomeExplanation: number;
|
|
107
|
+
painManagement: number;
|
|
108
|
+
followUpCare: number;
|
|
109
|
+
valueForMoney: number;
|
|
110
|
+
recommendationPercentage: number;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* Crown review object
|
|
115
|
+
* @description Combined review data for clinic, practitioner, and procedure
|
|
116
|
+
*/
|
|
117
|
+
export interface Review {
|
|
118
|
+
id: string;
|
|
119
|
+
appointmentId: string;
|
|
120
|
+
patientId: string;
|
|
121
|
+
patientName?: string; // Enhanced field: patient name from appointment
|
|
122
|
+
createdAt: Date;
|
|
123
|
+
updatedAt: Date;
|
|
124
|
+
clinicReview?: ClinicReview;
|
|
125
|
+
practitionerReview?: PractitionerReview;
|
|
126
|
+
procedureReview?: ProcedureReview; // Review for the main/default procedure
|
|
127
|
+
extendedProcedureReviews?: ProcedureReview[]; // Reviews for extended procedures (same structure as main)
|
|
128
|
+
overallComment: string;
|
|
129
|
+
overallRating: number; // Average of all available ratings
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
export const REVIEWS_COLLECTION = 'reviews';
|
package/src/types/tz-lookup.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
declare module 'tz-lookup' {
|
|
2
|
-
function tzlookup(lat: number, lng: number): string;
|
|
3
|
-
export default tzlookup;
|
|
4
|
-
}
|
|
1
|
+
declare module 'tz-lookup' {
|
|
2
|
+
function tzlookup(lat: number, lng: number): string;
|
|
3
|
+
export default tzlookup;
|
|
4
|
+
}
|
package/src/types/user/index.ts
CHANGED
|
@@ -1,38 +1,38 @@
|
|
|
1
|
-
import { User as FirebaseAuthUser } from "firebase/auth";
|
|
2
|
-
import { Timestamp, FieldValue } from "firebase/firestore";
|
|
3
|
-
|
|
4
|
-
// User tipovi
|
|
5
|
-
export enum UserRole {
|
|
6
|
-
PATIENT = "patient",
|
|
7
|
-
PRACTITIONER = "practitioner",
|
|
8
|
-
APP_ADMIN = "app_admin",
|
|
9
|
-
CLINIC_ADMIN = "clinic_admin",
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
export interface User {
|
|
13
|
-
uid: string;
|
|
14
|
-
email: string | null;
|
|
15
|
-
roles: UserRole[];
|
|
16
|
-
isAnonymous: boolean;
|
|
17
|
-
createdAt: any;
|
|
18
|
-
updatedAt: any;
|
|
19
|
-
lastLoginAt: any;
|
|
20
|
-
patientProfile?: string;
|
|
21
|
-
practitionerProfile?: string;
|
|
22
|
-
adminProfile?: string;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
export interface CreateUserData {
|
|
26
|
-
uid: string;
|
|
27
|
-
email: string | null;
|
|
28
|
-
roles: UserRole[];
|
|
29
|
-
isAnonymous: boolean;
|
|
30
|
-
createdAt: FieldValue;
|
|
31
|
-
updatedAt: FieldValue;
|
|
32
|
-
lastLoginAt: FieldValue;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
export const USERS_COLLECTION = "users";
|
|
36
|
-
|
|
37
|
-
// Firebase tipovi
|
|
38
|
-
export type FirebaseUser = FirebaseAuthUser;
|
|
1
|
+
import { User as FirebaseAuthUser } from "firebase/auth";
|
|
2
|
+
import { Timestamp, FieldValue } from "firebase/firestore";
|
|
3
|
+
|
|
4
|
+
// User tipovi
|
|
5
|
+
export enum UserRole {
|
|
6
|
+
PATIENT = "patient",
|
|
7
|
+
PRACTITIONER = "practitioner",
|
|
8
|
+
APP_ADMIN = "app_admin",
|
|
9
|
+
CLINIC_ADMIN = "clinic_admin",
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export interface User {
|
|
13
|
+
uid: string;
|
|
14
|
+
email: string | null;
|
|
15
|
+
roles: UserRole[];
|
|
16
|
+
isAnonymous: boolean;
|
|
17
|
+
createdAt: any;
|
|
18
|
+
updatedAt: any;
|
|
19
|
+
lastLoginAt: any;
|
|
20
|
+
patientProfile?: string;
|
|
21
|
+
practitionerProfile?: string;
|
|
22
|
+
adminProfile?: string;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export interface CreateUserData {
|
|
26
|
+
uid: string;
|
|
27
|
+
email: string | null;
|
|
28
|
+
roles: UserRole[];
|
|
29
|
+
isAnonymous: boolean;
|
|
30
|
+
createdAt: FieldValue;
|
|
31
|
+
updatedAt: FieldValue;
|
|
32
|
+
lastLoginAt: FieldValue;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export const USERS_COLLECTION = "users";
|
|
36
|
+
|
|
37
|
+
// Firebase tipovi
|
|
38
|
+
export type FirebaseUser = FirebaseAuthUser;
|