@blackcode_sa/metaestetics-api 1.13.10 → 1.13.11

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.
@@ -843,6 +843,131 @@ interface ProcedureSummaryInfo {
843
843
  practitionerName: string;
844
844
  }
845
845
 
846
+ /**
847
+ * Osnovne informacije o zdravstvenom radniku
848
+ */
849
+ interface PractitionerBasicInfo {
850
+ firstName: string;
851
+ lastName: string;
852
+ title: string;
853
+ email: string;
854
+ phoneNumber: string | null;
855
+ dateOfBirth: Timestamp | Date | null;
856
+ gender: "male" | "female" | "other";
857
+ profileImageUrl?: MediaResource | null;
858
+ bio?: string;
859
+ languages: string[];
860
+ }
861
+ /**
862
+ * Sertifikacija zdravstvenog radnika
863
+ */
864
+ interface PractitionerCertification {
865
+ level: CertificationLevel;
866
+ specialties: CertificationSpecialty[];
867
+ licenseNumber: string;
868
+ issuingAuthority: string;
869
+ issueDate: Timestamp | Date;
870
+ expiryDate?: Timestamp | Date | null;
871
+ verificationStatus: "pending" | "verified" | "rejected";
872
+ }
873
+ /**
874
+ * Interfejs za radno vreme zdravstvenog radnika u klinici
875
+ */
876
+ interface PractitionerClinicWorkingHours {
877
+ clinicId: string;
878
+ workingHours: {
879
+ monday: {
880
+ start: string;
881
+ end: string;
882
+ } | null;
883
+ tuesday: {
884
+ start: string;
885
+ end: string;
886
+ } | null;
887
+ wednesday: {
888
+ start: string;
889
+ end: string;
890
+ } | null;
891
+ thursday: {
892
+ start: string;
893
+ end: string;
894
+ } | null;
895
+ friday: {
896
+ start: string;
897
+ end: string;
898
+ } | null;
899
+ saturday: {
900
+ start: string;
901
+ end: string;
902
+ } | null;
903
+ sunday: {
904
+ start: string;
905
+ end: string;
906
+ } | null;
907
+ };
908
+ isActive: boolean;
909
+ createdAt: Timestamp | Date;
910
+ updatedAt: Timestamp | Date;
911
+ }
912
+ /**
913
+ * Status of practitioner profile
914
+ */
915
+ declare enum PractitionerStatus {
916
+ DRAFT = "draft",
917
+ ACTIVE = "active"
918
+ }
919
+ /**
920
+ * Token status for practitioner invitations
921
+ */
922
+ declare enum PractitionerTokenStatus {
923
+ ACTIVE = "active",
924
+ USED = "used",
925
+ EXPIRED = "expired",
926
+ REVOKED = "revoked"
927
+ }
928
+ /**
929
+ * Interfejs za zdravstvenog radnika
930
+ */
931
+ interface Practitioner {
932
+ id: string;
933
+ userRef: string;
934
+ basicInfo: PractitionerBasicInfo;
935
+ fullNameLower: string;
936
+ certification: PractitionerCertification;
937
+ clinics: string[];
938
+ clinicWorkingHours: PractitionerClinicWorkingHours[];
939
+ clinicsInfo: ClinicInfo[];
940
+ procedures: string[];
941
+ freeConsultations?: Record<string, string> | null;
942
+ proceduresInfo: ProcedureSummaryInfo[];
943
+ reviewInfo: PractitionerReviewInfo;
944
+ isActive: boolean;
945
+ isVerified: boolean;
946
+ status: PractitionerStatus;
947
+ createdAt: Timestamp;
948
+ updatedAt: Timestamp;
949
+ }
950
+ /**
951
+ * Token za pozivanje zdravstvenog radnika
952
+ */
953
+ interface PractitionerToken {
954
+ id: string;
955
+ token: string;
956
+ practitionerId: string;
957
+ email: string;
958
+ clinicId: string;
959
+ status: PractitionerTokenStatus;
960
+ createdBy: string;
961
+ createdAt: Timestamp;
962
+ expiresAt: Timestamp;
963
+ usedBy?: string;
964
+ usedAt?: Timestamp;
965
+ emailSent?: boolean;
966
+ emailSentAt?: Timestamp;
967
+ emailError?: string;
968
+ emailErrorAt?: Timestamp;
969
+ }
970
+
846
971
  /**
847
972
  * Enum for all possible clinic tags
848
973
  */
@@ -1141,6 +1266,8 @@ interface DoctorInfo {
1141
1266
  photo: string | null;
1142
1267
  rating: number;
1143
1268
  services: string[];
1269
+ status?: PractitionerStatus;
1270
+ isActive?: boolean;
1144
1271
  }
1145
1272
  /**
1146
1273
  * Interface for clinic
@@ -1174,131 +1301,6 @@ interface Clinic {
1174
1301
  logo?: MediaResource | null;
1175
1302
  }
1176
1303
 
1177
- /**
1178
- * Osnovne informacije o zdravstvenom radniku
1179
- */
1180
- interface PractitionerBasicInfo {
1181
- firstName: string;
1182
- lastName: string;
1183
- title: string;
1184
- email: string;
1185
- phoneNumber: string | null;
1186
- dateOfBirth: Timestamp | Date | null;
1187
- gender: "male" | "female" | "other";
1188
- profileImageUrl?: MediaResource | null;
1189
- bio?: string;
1190
- languages: string[];
1191
- }
1192
- /**
1193
- * Sertifikacija zdravstvenog radnika
1194
- */
1195
- interface PractitionerCertification {
1196
- level: CertificationLevel;
1197
- specialties: CertificationSpecialty[];
1198
- licenseNumber: string;
1199
- issuingAuthority: string;
1200
- issueDate: Timestamp | Date;
1201
- expiryDate?: Timestamp | Date | null;
1202
- verificationStatus: "pending" | "verified" | "rejected";
1203
- }
1204
- /**
1205
- * Interfejs za radno vreme zdravstvenog radnika u klinici
1206
- */
1207
- interface PractitionerClinicWorkingHours {
1208
- clinicId: string;
1209
- workingHours: {
1210
- monday: {
1211
- start: string;
1212
- end: string;
1213
- } | null;
1214
- tuesday: {
1215
- start: string;
1216
- end: string;
1217
- } | null;
1218
- wednesday: {
1219
- start: string;
1220
- end: string;
1221
- } | null;
1222
- thursday: {
1223
- start: string;
1224
- end: string;
1225
- } | null;
1226
- friday: {
1227
- start: string;
1228
- end: string;
1229
- } | null;
1230
- saturday: {
1231
- start: string;
1232
- end: string;
1233
- } | null;
1234
- sunday: {
1235
- start: string;
1236
- end: string;
1237
- } | null;
1238
- };
1239
- isActive: boolean;
1240
- createdAt: Timestamp | Date;
1241
- updatedAt: Timestamp | Date;
1242
- }
1243
- /**
1244
- * Status of practitioner profile
1245
- */
1246
- declare enum PractitionerStatus {
1247
- DRAFT = "draft",
1248
- ACTIVE = "active"
1249
- }
1250
- /**
1251
- * Token status for practitioner invitations
1252
- */
1253
- declare enum PractitionerTokenStatus {
1254
- ACTIVE = "active",
1255
- USED = "used",
1256
- EXPIRED = "expired",
1257
- REVOKED = "revoked"
1258
- }
1259
- /**
1260
- * Interfejs za zdravstvenog radnika
1261
- */
1262
- interface Practitioner {
1263
- id: string;
1264
- userRef: string;
1265
- basicInfo: PractitionerBasicInfo;
1266
- fullNameLower: string;
1267
- certification: PractitionerCertification;
1268
- clinics: string[];
1269
- clinicWorkingHours: PractitionerClinicWorkingHours[];
1270
- clinicsInfo: ClinicInfo[];
1271
- procedures: string[];
1272
- freeConsultations?: Record<string, string> | null;
1273
- proceduresInfo: ProcedureSummaryInfo[];
1274
- reviewInfo: PractitionerReviewInfo;
1275
- isActive: boolean;
1276
- isVerified: boolean;
1277
- status: PractitionerStatus;
1278
- createdAt: Timestamp;
1279
- updatedAt: Timestamp;
1280
- }
1281
- /**
1282
- * Token za pozivanje zdravstvenog radnika
1283
- */
1284
- interface PractitionerToken {
1285
- id: string;
1286
- token: string;
1287
- practitionerId: string;
1288
- email: string;
1289
- clinicId: string;
1290
- status: PractitionerTokenStatus;
1291
- createdBy: string;
1292
- createdAt: Timestamp;
1293
- expiresAt: Timestamp;
1294
- usedBy?: string;
1295
- usedAt?: Timestamp;
1296
- emailSent?: boolean;
1297
- emailSentAt?: Timestamp;
1298
- emailError?: string;
1299
- emailErrorAt?: Timestamp;
1300
- }
1301
-
1302
1304
  declare enum AllergyType {
1303
1305
  MEDICATION = "medication",
1304
1306
  FOOD = "food",
@@ -843,6 +843,131 @@ interface ProcedureSummaryInfo {
843
843
  practitionerName: string;
844
844
  }
845
845
 
846
+ /**
847
+ * Osnovne informacije o zdravstvenom radniku
848
+ */
849
+ interface PractitionerBasicInfo {
850
+ firstName: string;
851
+ lastName: string;
852
+ title: string;
853
+ email: string;
854
+ phoneNumber: string | null;
855
+ dateOfBirth: Timestamp | Date | null;
856
+ gender: "male" | "female" | "other";
857
+ profileImageUrl?: MediaResource | null;
858
+ bio?: string;
859
+ languages: string[];
860
+ }
861
+ /**
862
+ * Sertifikacija zdravstvenog radnika
863
+ */
864
+ interface PractitionerCertification {
865
+ level: CertificationLevel;
866
+ specialties: CertificationSpecialty[];
867
+ licenseNumber: string;
868
+ issuingAuthority: string;
869
+ issueDate: Timestamp | Date;
870
+ expiryDate?: Timestamp | Date | null;
871
+ verificationStatus: "pending" | "verified" | "rejected";
872
+ }
873
+ /**
874
+ * Interfejs za radno vreme zdravstvenog radnika u klinici
875
+ */
876
+ interface PractitionerClinicWorkingHours {
877
+ clinicId: string;
878
+ workingHours: {
879
+ monday: {
880
+ start: string;
881
+ end: string;
882
+ } | null;
883
+ tuesday: {
884
+ start: string;
885
+ end: string;
886
+ } | null;
887
+ wednesday: {
888
+ start: string;
889
+ end: string;
890
+ } | null;
891
+ thursday: {
892
+ start: string;
893
+ end: string;
894
+ } | null;
895
+ friday: {
896
+ start: string;
897
+ end: string;
898
+ } | null;
899
+ saturday: {
900
+ start: string;
901
+ end: string;
902
+ } | null;
903
+ sunday: {
904
+ start: string;
905
+ end: string;
906
+ } | null;
907
+ };
908
+ isActive: boolean;
909
+ createdAt: Timestamp | Date;
910
+ updatedAt: Timestamp | Date;
911
+ }
912
+ /**
913
+ * Status of practitioner profile
914
+ */
915
+ declare enum PractitionerStatus {
916
+ DRAFT = "draft",
917
+ ACTIVE = "active"
918
+ }
919
+ /**
920
+ * Token status for practitioner invitations
921
+ */
922
+ declare enum PractitionerTokenStatus {
923
+ ACTIVE = "active",
924
+ USED = "used",
925
+ EXPIRED = "expired",
926
+ REVOKED = "revoked"
927
+ }
928
+ /**
929
+ * Interfejs za zdravstvenog radnika
930
+ */
931
+ interface Practitioner {
932
+ id: string;
933
+ userRef: string;
934
+ basicInfo: PractitionerBasicInfo;
935
+ fullNameLower: string;
936
+ certification: PractitionerCertification;
937
+ clinics: string[];
938
+ clinicWorkingHours: PractitionerClinicWorkingHours[];
939
+ clinicsInfo: ClinicInfo[];
940
+ procedures: string[];
941
+ freeConsultations?: Record<string, string> | null;
942
+ proceduresInfo: ProcedureSummaryInfo[];
943
+ reviewInfo: PractitionerReviewInfo;
944
+ isActive: boolean;
945
+ isVerified: boolean;
946
+ status: PractitionerStatus;
947
+ createdAt: Timestamp;
948
+ updatedAt: Timestamp;
949
+ }
950
+ /**
951
+ * Token za pozivanje zdravstvenog radnika
952
+ */
953
+ interface PractitionerToken {
954
+ id: string;
955
+ token: string;
956
+ practitionerId: string;
957
+ email: string;
958
+ clinicId: string;
959
+ status: PractitionerTokenStatus;
960
+ createdBy: string;
961
+ createdAt: Timestamp;
962
+ expiresAt: Timestamp;
963
+ usedBy?: string;
964
+ usedAt?: Timestamp;
965
+ emailSent?: boolean;
966
+ emailSentAt?: Timestamp;
967
+ emailError?: string;
968
+ emailErrorAt?: Timestamp;
969
+ }
970
+
846
971
  /**
847
972
  * Enum for all possible clinic tags
848
973
  */
@@ -1141,6 +1266,8 @@ interface DoctorInfo {
1141
1266
  photo: string | null;
1142
1267
  rating: number;
1143
1268
  services: string[];
1269
+ status?: PractitionerStatus;
1270
+ isActive?: boolean;
1144
1271
  }
1145
1272
  /**
1146
1273
  * Interface for clinic
@@ -1174,131 +1301,6 @@ interface Clinic {
1174
1301
  logo?: MediaResource | null;
1175
1302
  }
1176
1303
 
1177
- /**
1178
- * Osnovne informacije o zdravstvenom radniku
1179
- */
1180
- interface PractitionerBasicInfo {
1181
- firstName: string;
1182
- lastName: string;
1183
- title: string;
1184
- email: string;
1185
- phoneNumber: string | null;
1186
- dateOfBirth: Timestamp | Date | null;
1187
- gender: "male" | "female" | "other";
1188
- profileImageUrl?: MediaResource | null;
1189
- bio?: string;
1190
- languages: string[];
1191
- }
1192
- /**
1193
- * Sertifikacija zdravstvenog radnika
1194
- */
1195
- interface PractitionerCertification {
1196
- level: CertificationLevel;
1197
- specialties: CertificationSpecialty[];
1198
- licenseNumber: string;
1199
- issuingAuthority: string;
1200
- issueDate: Timestamp | Date;
1201
- expiryDate?: Timestamp | Date | null;
1202
- verificationStatus: "pending" | "verified" | "rejected";
1203
- }
1204
- /**
1205
- * Interfejs za radno vreme zdravstvenog radnika u klinici
1206
- */
1207
- interface PractitionerClinicWorkingHours {
1208
- clinicId: string;
1209
- workingHours: {
1210
- monday: {
1211
- start: string;
1212
- end: string;
1213
- } | null;
1214
- tuesday: {
1215
- start: string;
1216
- end: string;
1217
- } | null;
1218
- wednesday: {
1219
- start: string;
1220
- end: string;
1221
- } | null;
1222
- thursday: {
1223
- start: string;
1224
- end: string;
1225
- } | null;
1226
- friday: {
1227
- start: string;
1228
- end: string;
1229
- } | null;
1230
- saturday: {
1231
- start: string;
1232
- end: string;
1233
- } | null;
1234
- sunday: {
1235
- start: string;
1236
- end: string;
1237
- } | null;
1238
- };
1239
- isActive: boolean;
1240
- createdAt: Timestamp | Date;
1241
- updatedAt: Timestamp | Date;
1242
- }
1243
- /**
1244
- * Status of practitioner profile
1245
- */
1246
- declare enum PractitionerStatus {
1247
- DRAFT = "draft",
1248
- ACTIVE = "active"
1249
- }
1250
- /**
1251
- * Token status for practitioner invitations
1252
- */
1253
- declare enum PractitionerTokenStatus {
1254
- ACTIVE = "active",
1255
- USED = "used",
1256
- EXPIRED = "expired",
1257
- REVOKED = "revoked"
1258
- }
1259
- /**
1260
- * Interfejs za zdravstvenog radnika
1261
- */
1262
- interface Practitioner {
1263
- id: string;
1264
- userRef: string;
1265
- basicInfo: PractitionerBasicInfo;
1266
- fullNameLower: string;
1267
- certification: PractitionerCertification;
1268
- clinics: string[];
1269
- clinicWorkingHours: PractitionerClinicWorkingHours[];
1270
- clinicsInfo: ClinicInfo[];
1271
- procedures: string[];
1272
- freeConsultations?: Record<string, string> | null;
1273
- proceduresInfo: ProcedureSummaryInfo[];
1274
- reviewInfo: PractitionerReviewInfo;
1275
- isActive: boolean;
1276
- isVerified: boolean;
1277
- status: PractitionerStatus;
1278
- createdAt: Timestamp;
1279
- updatedAt: Timestamp;
1280
- }
1281
- /**
1282
- * Token za pozivanje zdravstvenog radnika
1283
- */
1284
- interface PractitionerToken {
1285
- id: string;
1286
- token: string;
1287
- practitionerId: string;
1288
- email: string;
1289
- clinicId: string;
1290
- status: PractitionerTokenStatus;
1291
- createdBy: string;
1292
- createdAt: Timestamp;
1293
- expiresAt: Timestamp;
1294
- usedBy?: string;
1295
- usedAt?: Timestamp;
1296
- emailSent?: boolean;
1297
- emailSentAt?: Timestamp;
1298
- emailError?: string;
1299
- emailErrorAt?: Timestamp;
1300
- }
1301
-
1302
1304
  declare enum AllergyType {
1303
1305
  MEDICATION = "medication",
1304
1306
  FOOD = "food",
@@ -1307,29 +1307,6 @@ interface ProcedureSummaryInfo {
1307
1307
  practitionerName: string;
1308
1308
  }
1309
1309
 
1310
- /**
1311
- * Interface for clinic contact information
1312
- */
1313
- interface ClinicContactInfo {
1314
- email: string;
1315
- phoneNumber: string;
1316
- alternativePhoneNumber?: string | null;
1317
- website?: string | null;
1318
- }
1319
- /**
1320
- * Interface for clinic location
1321
- */
1322
- interface ClinicLocation {
1323
- address: string;
1324
- city: string;
1325
- country: string;
1326
- postalCode: string;
1327
- latitude: number;
1328
- longitude: number;
1329
- geohash?: string | null;
1330
- tz?: string | null;
1331
- }
1332
-
1333
1310
  /**
1334
1311
  * Osnovne informacije o zdravstvenom radniku
1335
1312
  */
@@ -1426,6 +1403,29 @@ interface Practitioner {
1426
1403
  updatedAt: Timestamp;
1427
1404
  }
1428
1405
 
1406
+ /**
1407
+ * Interface for clinic contact information
1408
+ */
1409
+ interface ClinicContactInfo {
1410
+ email: string;
1411
+ phoneNumber: string;
1412
+ alternativePhoneNumber?: string | null;
1413
+ website?: string | null;
1414
+ }
1415
+ /**
1416
+ * Interface for clinic location
1417
+ */
1418
+ interface ClinicLocation {
1419
+ address: string;
1420
+ city: string;
1421
+ country: string;
1422
+ postalCode: string;
1423
+ latitude: number;
1424
+ longitude: number;
1425
+ geohash?: string | null;
1426
+ tz?: string | null;
1427
+ }
1428
+
1429
1429
  /**
1430
1430
  * Interface for clinic profile information
1431
1431
  */
@@ -1307,29 +1307,6 @@ interface ProcedureSummaryInfo {
1307
1307
  practitionerName: string;
1308
1308
  }
1309
1309
 
1310
- /**
1311
- * Interface for clinic contact information
1312
- */
1313
- interface ClinicContactInfo {
1314
- email: string;
1315
- phoneNumber: string;
1316
- alternativePhoneNumber?: string | null;
1317
- website?: string | null;
1318
- }
1319
- /**
1320
- * Interface for clinic location
1321
- */
1322
- interface ClinicLocation {
1323
- address: string;
1324
- city: string;
1325
- country: string;
1326
- postalCode: string;
1327
- latitude: number;
1328
- longitude: number;
1329
- geohash?: string | null;
1330
- tz?: string | null;
1331
- }
1332
-
1333
1310
  /**
1334
1311
  * Osnovne informacije o zdravstvenom radniku
1335
1312
  */
@@ -1426,6 +1403,29 @@ interface Practitioner {
1426
1403
  updatedAt: Timestamp;
1427
1404
  }
1428
1405
 
1406
+ /**
1407
+ * Interface for clinic contact information
1408
+ */
1409
+ interface ClinicContactInfo {
1410
+ email: string;
1411
+ phoneNumber: string;
1412
+ alternativePhoneNumber?: string | null;
1413
+ website?: string | null;
1414
+ }
1415
+ /**
1416
+ * Interface for clinic location
1417
+ */
1418
+ interface ClinicLocation {
1419
+ address: string;
1420
+ city: string;
1421
+ country: string;
1422
+ postalCode: string;
1423
+ latitude: number;
1424
+ longitude: number;
1425
+ geohash?: string | null;
1426
+ tz?: string | null;
1427
+ }
1428
+
1429
1429
  /**
1430
1430
  * Interface for clinic profile information
1431
1431
  */
package/dist/index.d.mts CHANGED
@@ -5300,6 +5300,8 @@ interface DoctorInfo {
5300
5300
  photo: string | null;
5301
5301
  rating: number;
5302
5302
  services: string[];
5303
+ status?: PractitionerStatus;
5304
+ isActive?: boolean;
5303
5305
  }
5304
5306
  /**
5305
5307
  * Interface for clinic
package/dist/index.d.ts CHANGED
@@ -5300,6 +5300,8 @@ interface DoctorInfo {
5300
5300
  photo: string | null;
5301
5301
  rating: number;
5302
5302
  services: string[];
5303
+ status?: PractitionerStatus;
5304
+ isActive?: boolean;
5303
5305
  }
5304
5306
  /**
5305
5307
  * Interface for clinic
package/dist/index.js CHANGED
@@ -20271,7 +20271,11 @@ var ProcedureService = class extends BaseService {
20271
20271
  photo: typeof practitioner.basicInfo.profileImageUrl === "string" ? practitioner.basicInfo.profileImageUrl : "",
20272
20272
  // Default to empty string if not a processed URL
20273
20273
  rating: ((_a = practitioner.reviewInfo) == null ? void 0 : _a.averageRating) || 0,
20274
- services: practitioner.procedures || []
20274
+ services: practitioner.procedures || [],
20275
+ status: practitioner.status,
20276
+ // Include practitioner status for client-side filtering
20277
+ isActive: practitioner.isActive
20278
+ // Include isActive flag for client-side filtering
20275
20279
  };
20276
20280
  const { productsMetadata: _, productId: __, photos: ___, ...validatedDataWithoutProductsMetadata } = validatedData;
20277
20281
  const newProcedure = {
@@ -20430,7 +20434,9 @@ var ProcedureService = class extends BaseService {
20430
20434
  description: practitioner.basicInfo.bio || "",
20431
20435
  photo: typeof practitioner.basicInfo.profileImageUrl === "string" ? practitioner.basicInfo.profileImageUrl : "",
20432
20436
  rating: ((_c = practitioner.reviewInfo) == null ? void 0 : _c.averageRating) || 0,
20433
- services: practitioner.procedures || []
20437
+ services: practitioner.procedures || [],
20438
+ status: practitioner.status,
20439
+ isActive: practitioner.isActive
20434
20440
  };
20435
20441
  const newProcedure = {
20436
20442
  ...sourceProcedure,
@@ -20927,7 +20933,9 @@ var ProcedureService = class extends BaseService {
20927
20933
  photo: typeof newPractitioner.basicInfo.profileImageUrl === "string" ? newPractitioner.basicInfo.profileImageUrl : "",
20928
20934
  // Default to empty string if not a processed URL
20929
20935
  rating: ((_b = newPractitioner.reviewInfo) == null ? void 0 : _b.averageRating) || 0,
20930
- services: newPractitioner.procedures || []
20936
+ services: newPractitioner.procedures || [],
20937
+ status: newPractitioner.status,
20938
+ isActive: newPractitioner.isActive
20931
20939
  };
20932
20940
  }
20933
20941
  if (validatedData.clinicBranchId && validatedData.clinicBranchId !== oldClinicId) {
package/dist/index.mjs CHANGED
@@ -20507,7 +20507,11 @@ var ProcedureService = class extends BaseService {
20507
20507
  photo: typeof practitioner.basicInfo.profileImageUrl === "string" ? practitioner.basicInfo.profileImageUrl : "",
20508
20508
  // Default to empty string if not a processed URL
20509
20509
  rating: ((_a = practitioner.reviewInfo) == null ? void 0 : _a.averageRating) || 0,
20510
- services: practitioner.procedures || []
20510
+ services: practitioner.procedures || [],
20511
+ status: practitioner.status,
20512
+ // Include practitioner status for client-side filtering
20513
+ isActive: practitioner.isActive
20514
+ // Include isActive flag for client-side filtering
20511
20515
  };
20512
20516
  const { productsMetadata: _, productId: __, photos: ___, ...validatedDataWithoutProductsMetadata } = validatedData;
20513
20517
  const newProcedure = {
@@ -20666,7 +20670,9 @@ var ProcedureService = class extends BaseService {
20666
20670
  description: practitioner.basicInfo.bio || "",
20667
20671
  photo: typeof practitioner.basicInfo.profileImageUrl === "string" ? practitioner.basicInfo.profileImageUrl : "",
20668
20672
  rating: ((_c = practitioner.reviewInfo) == null ? void 0 : _c.averageRating) || 0,
20669
- services: practitioner.procedures || []
20673
+ services: practitioner.procedures || [],
20674
+ status: practitioner.status,
20675
+ isActive: practitioner.isActive
20670
20676
  };
20671
20677
  const newProcedure = {
20672
20678
  ...sourceProcedure,
@@ -21163,7 +21169,9 @@ var ProcedureService = class extends BaseService {
21163
21169
  photo: typeof newPractitioner.basicInfo.profileImageUrl === "string" ? newPractitioner.basicInfo.profileImageUrl : "",
21164
21170
  // Default to empty string if not a processed URL
21165
21171
  rating: ((_b = newPractitioner.reviewInfo) == null ? void 0 : _b.averageRating) || 0,
21166
- services: newPractitioner.procedures || []
21172
+ services: newPractitioner.procedures || [],
21173
+ status: newPractitioner.status,
21174
+ isActive: newPractitioner.isActive
21167
21175
  };
21168
21176
  }
21169
21177
  if (validatedData.clinicBranchId && validatedData.clinicBranchId !== oldClinicId) {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@blackcode_sa/metaestetics-api",
3
3
  "private": false,
4
- "version": "1.13.10",
4
+ "version": "1.13.11",
5
5
  "description": "Firebase authentication service with anonymous upgrade support",
6
6
  "main": "dist/index.js",
7
7
  "module": "dist/index.mjs",
@@ -439,6 +439,8 @@ export class ProcedureService extends BaseService {
439
439
  : '', // Default to empty string if not a processed URL
440
440
  rating: practitioner.reviewInfo?.averageRating || 0,
441
441
  services: practitioner.procedures || [],
442
+ status: practitioner.status, // Include practitioner status for client-side filtering
443
+ isActive: practitioner.isActive, // Include isActive flag for client-side filtering
442
444
  };
443
445
 
444
446
  // Create the procedure object
@@ -628,6 +630,8 @@ export class ProcedureService extends BaseService {
628
630
  : '',
629
631
  rating: practitioner.reviewInfo?.averageRating || 0,
630
632
  services: practitioner.procedures || [],
633
+ status: practitioner.status,
634
+ isActive: practitioner.isActive,
631
635
  };
632
636
 
633
637
  // Construct the new procedure object
@@ -1265,6 +1269,8 @@ export class ProcedureService extends BaseService {
1265
1269
  : '', // Default to empty string if not a processed URL
1266
1270
  rating: newPractitioner.reviewInfo?.averageRating || 0,
1267
1271
  services: newPractitioner.procedures || [],
1272
+ status: newPractitioner.status,
1273
+ isActive: newPractitioner.isActive,
1268
1274
  };
1269
1275
  }
1270
1276
 
@@ -3,6 +3,7 @@ import { Timestamp, FieldValue } from 'firebase/firestore';
3
3
  import type { ClinicInfo } from '../profile';
4
4
  import { ClinicReviewInfo } from '../reviews';
5
5
  import { ProcedureSummaryInfo } from '../procedure';
6
+ import { PractitionerStatus } from '../practitioner';
6
7
 
7
8
  export const CLINIC_GROUPS_COLLECTION = 'clinic_groups';
8
9
  export const CLINIC_ADMINS_COLLECTION = 'clinic_admins';
@@ -351,6 +352,8 @@ export interface DoctorInfo {
351
352
  photo: string | null;
352
353
  rating: number;
353
354
  services: string[]; // Used for search and filtering
355
+ status?: PractitionerStatus; // Practitioner status (DRAFT, ACTIVE, etc.)
356
+ isActive?: boolean; // Whether practitioner is active
354
357
  // TODO: Add aggregated fields, like rating, reviews, services this doctor provides in this clinic and similar
355
358
  }
356
359