@blackcode_sa/metaestetics-api 1.4.13 → 1.4.15
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 +6 -2
- package/dist/index.d.ts +6 -2
- package/dist/index.js +24 -18
- package/dist/index.mjs +24 -18
- package/package.json +1 -1
- package/src/services/auth.service.ts +32 -6
- package/src/services/clinic/clinic-group.service.ts +1 -0
- package/src/services/clinic/utils/clinic-group.utils.ts +2 -15
package/dist/index.d.mts
CHANGED
|
@@ -1771,9 +1771,13 @@ declare class AuthService extends BaseService {
|
|
|
1771
1771
|
* Can either create a new clinic group or join an existing one with a token
|
|
1772
1772
|
*
|
|
1773
1773
|
* @param data - Clinic admin signup data
|
|
1774
|
-
* @returns
|
|
1774
|
+
* @returns Object containing the created user, clinic group, and clinic admin
|
|
1775
1775
|
*/
|
|
1776
|
-
signUpClinicAdmin(data: ClinicAdminSignupData): Promise<
|
|
1776
|
+
signUpClinicAdmin(data: ClinicAdminSignupData): Promise<{
|
|
1777
|
+
user: User;
|
|
1778
|
+
clinicGroup: ClinicGroup;
|
|
1779
|
+
clinicAdmin: ClinicAdmin;
|
|
1780
|
+
}>;
|
|
1777
1781
|
/**
|
|
1778
1782
|
* Prijavljuje korisnika sa email-om i lozinkom
|
|
1779
1783
|
*/
|
package/dist/index.d.ts
CHANGED
|
@@ -1771,9 +1771,13 @@ declare class AuthService extends BaseService {
|
|
|
1771
1771
|
* Can either create a new clinic group or join an existing one with a token
|
|
1772
1772
|
*
|
|
1773
1773
|
* @param data - Clinic admin signup data
|
|
1774
|
-
* @returns
|
|
1774
|
+
* @returns Object containing the created user, clinic group, and clinic admin
|
|
1775
1775
|
*/
|
|
1776
|
-
signUpClinicAdmin(data: ClinicAdminSignupData): Promise<
|
|
1776
|
+
signUpClinicAdmin(data: ClinicAdminSignupData): Promise<{
|
|
1777
|
+
user: User;
|
|
1778
|
+
clinicGroup: ClinicGroup;
|
|
1779
|
+
clinicAdmin: ClinicAdmin;
|
|
1780
|
+
}>;
|
|
1777
1781
|
/**
|
|
1778
1782
|
* Prijavljuje korisnika sa email-om i lozinkom
|
|
1779
1783
|
*/
|
package/dist/index.js
CHANGED
|
@@ -3785,14 +3785,14 @@ async function createClinicGroup(db, data, ownerId, isDefault = false, clinicAdm
|
|
|
3785
3785
|
isDefault
|
|
3786
3786
|
});
|
|
3787
3787
|
console.log("[CLINIC_GROUP] Input data:", JSON.stringify(data, null, 2));
|
|
3788
|
+
let validatedData;
|
|
3788
3789
|
try {
|
|
3789
|
-
|
|
3790
|
+
validatedData = createClinicGroupSchema.parse(data);
|
|
3790
3791
|
console.log("[CLINIC_GROUP] Data validation passed");
|
|
3791
3792
|
} catch (validationError) {
|
|
3792
3793
|
console.error("[CLINIC_GROUP] Data validation failed:", validationError);
|
|
3793
3794
|
throw validationError;
|
|
3794
3795
|
}
|
|
3795
|
-
const validatedData = createClinicGroupSchema.parse(data);
|
|
3796
3796
|
try {
|
|
3797
3797
|
console.log("[CLINIC_GROUP] Checking if owner exists", { ownerId });
|
|
3798
3798
|
if (isDefault) {
|
|
@@ -3968,15 +3968,6 @@ async function updateClinicGroup(db, groupId, data, app) {
|
|
|
3968
3968
|
console.error("[CLINIC_GROUP] Error processing logo for update:", error);
|
|
3969
3969
|
}
|
|
3970
3970
|
}
|
|
3971
|
-
if (updatedData.contactInfo) {
|
|
3972
|
-
updatedData.contactInfo = {
|
|
3973
|
-
...updatedData.contactInfo,
|
|
3974
|
-
email: updatedData.contactInfo.email || "",
|
|
3975
|
-
phoneNumber: updatedData.contactInfo.phoneNumber || "",
|
|
3976
|
-
alternativePhoneNumber: updatedData.contactInfo.alternativePhoneNumber || "",
|
|
3977
|
-
website: updatedData.contactInfo.website || ""
|
|
3978
|
-
};
|
|
3979
|
-
}
|
|
3980
3971
|
updatedData = {
|
|
3981
3972
|
...updatedData,
|
|
3982
3973
|
updatedAt: import_firestore15.Timestamp.now()
|
|
@@ -4268,7 +4259,8 @@ var ClinicGroupService = class extends BaseService {
|
|
|
4268
4259
|
description: setupData.description,
|
|
4269
4260
|
logo: logoUrl,
|
|
4270
4261
|
calendarSyncEnabled: setupData.calendarSyncEnabled,
|
|
4271
|
-
autoConfirmAppointments: setupData.autoConfirmAppointments
|
|
4262
|
+
autoConfirmAppointments: setupData.autoConfirmAppointments,
|
|
4263
|
+
businessIdentificationNumber: setupData.businessIdentificationNumber
|
|
4272
4264
|
};
|
|
4273
4265
|
console.log("[CLINIC_GROUP] Updating clinic group with setup data");
|
|
4274
4266
|
return this.updateClinicGroup(groupId, updateData);
|
|
@@ -5200,7 +5192,7 @@ var AuthService = class extends BaseService {
|
|
|
5200
5192
|
* Can either create a new clinic group or join an existing one with a token
|
|
5201
5193
|
*
|
|
5202
5194
|
* @param data - Clinic admin signup data
|
|
5203
|
-
* @returns
|
|
5195
|
+
* @returns Object containing the created user, clinic group, and clinic admin
|
|
5204
5196
|
*/
|
|
5205
5197
|
async signUpClinicAdmin(data) {
|
|
5206
5198
|
try {
|
|
@@ -5281,6 +5273,8 @@ var AuthService = class extends BaseService {
|
|
|
5281
5273
|
console.log(
|
|
5282
5274
|
"[AUTH] Services initialized and circular dependencies resolved"
|
|
5283
5275
|
);
|
|
5276
|
+
let clinicGroup = null;
|
|
5277
|
+
let adminProfile = null;
|
|
5284
5278
|
if (data.isCreatingNewGroup) {
|
|
5285
5279
|
console.log("[AUTH] Creating new clinic group flow");
|
|
5286
5280
|
if (!data.clinicGroupData) {
|
|
@@ -5299,7 +5293,6 @@ var AuthService = class extends BaseService {
|
|
|
5299
5293
|
isActive: true
|
|
5300
5294
|
// No clinicGroupId yet
|
|
5301
5295
|
};
|
|
5302
|
-
let adminProfile;
|
|
5303
5296
|
try {
|
|
5304
5297
|
adminProfile = await clinicAdminService.createClinicAdmin(
|
|
5305
5298
|
createClinicAdminData
|
|
@@ -5328,7 +5321,6 @@ var AuthService = class extends BaseService {
|
|
|
5328
5321
|
console.log("[AUTH] Clinic group data prepared", {
|
|
5329
5322
|
groupName: createClinicGroupData.name
|
|
5330
5323
|
});
|
|
5331
|
-
let clinicGroup;
|
|
5332
5324
|
try {
|
|
5333
5325
|
clinicGroup = await clinicGroupService.createClinicGroup(
|
|
5334
5326
|
createClinicGroupData,
|
|
@@ -5346,6 +5338,9 @@ var AuthService = class extends BaseService {
|
|
|
5346
5338
|
clinicGroupId: clinicGroup.id
|
|
5347
5339
|
});
|
|
5348
5340
|
console.log("[AUTH] Admin updated with clinic group ID successfully");
|
|
5341
|
+
adminProfile = await clinicAdminService.getClinicAdmin(
|
|
5342
|
+
adminProfile.id
|
|
5343
|
+
);
|
|
5349
5344
|
} catch (groupCreationError) {
|
|
5350
5345
|
console.error(
|
|
5351
5346
|
"[AUTH] Clinic group creation failed:",
|
|
@@ -5408,6 +5403,7 @@ var AuthService = class extends BaseService {
|
|
|
5408
5403
|
console.error("[AUTH] No valid token found in any clinic group");
|
|
5409
5404
|
throw new Error("Invalid or expired invite token");
|
|
5410
5405
|
}
|
|
5406
|
+
clinicGroup = foundGroup;
|
|
5411
5407
|
console.log("[AUTH] Creating clinic admin");
|
|
5412
5408
|
const createClinicAdminData = {
|
|
5413
5409
|
userRef: firebaseUser.uid,
|
|
@@ -5418,7 +5414,6 @@ var AuthService = class extends BaseService {
|
|
|
5418
5414
|
roleTitle: data.title,
|
|
5419
5415
|
isActive: true
|
|
5420
5416
|
};
|
|
5421
|
-
let adminProfile;
|
|
5422
5417
|
try {
|
|
5423
5418
|
adminProfile = await clinicAdminService.createClinicAdmin(
|
|
5424
5419
|
createClinicAdminData
|
|
@@ -5446,9 +5441,20 @@ var AuthService = class extends BaseService {
|
|
|
5446
5441
|
}
|
|
5447
5442
|
}
|
|
5448
5443
|
console.log("[AUTH] Clinic admin signup completed successfully", {
|
|
5449
|
-
userId: user.uid
|
|
5444
|
+
userId: user.uid,
|
|
5445
|
+
clinicGroupId: clinicGroup.id,
|
|
5446
|
+
clinicAdminId: (adminProfile == null ? void 0 : adminProfile.id) || "unknown"
|
|
5450
5447
|
});
|
|
5451
|
-
|
|
5448
|
+
if (!clinicGroup || !adminProfile) {
|
|
5449
|
+
throw new Error(
|
|
5450
|
+
"Failed to create or retrieve clinic group or admin profile"
|
|
5451
|
+
);
|
|
5452
|
+
}
|
|
5453
|
+
return {
|
|
5454
|
+
user,
|
|
5455
|
+
clinicGroup,
|
|
5456
|
+
clinicAdmin: adminProfile
|
|
5457
|
+
};
|
|
5452
5458
|
} catch (error) {
|
|
5453
5459
|
if (error instanceof import_zod15.z.ZodError) {
|
|
5454
5460
|
console.error(
|
package/dist/index.mjs
CHANGED
|
@@ -3741,14 +3741,14 @@ async function createClinicGroup(db, data, ownerId, isDefault = false, clinicAdm
|
|
|
3741
3741
|
isDefault
|
|
3742
3742
|
});
|
|
3743
3743
|
console.log("[CLINIC_GROUP] Input data:", JSON.stringify(data, null, 2));
|
|
3744
|
+
let validatedData;
|
|
3744
3745
|
try {
|
|
3745
|
-
|
|
3746
|
+
validatedData = createClinicGroupSchema.parse(data);
|
|
3746
3747
|
console.log("[CLINIC_GROUP] Data validation passed");
|
|
3747
3748
|
} catch (validationError) {
|
|
3748
3749
|
console.error("[CLINIC_GROUP] Data validation failed:", validationError);
|
|
3749
3750
|
throw validationError;
|
|
3750
3751
|
}
|
|
3751
|
-
const validatedData = createClinicGroupSchema.parse(data);
|
|
3752
3752
|
try {
|
|
3753
3753
|
console.log("[CLINIC_GROUP] Checking if owner exists", { ownerId });
|
|
3754
3754
|
if (isDefault) {
|
|
@@ -3924,15 +3924,6 @@ async function updateClinicGroup(db, groupId, data, app) {
|
|
|
3924
3924
|
console.error("[CLINIC_GROUP] Error processing logo for update:", error);
|
|
3925
3925
|
}
|
|
3926
3926
|
}
|
|
3927
|
-
if (updatedData.contactInfo) {
|
|
3928
|
-
updatedData.contactInfo = {
|
|
3929
|
-
...updatedData.contactInfo,
|
|
3930
|
-
email: updatedData.contactInfo.email || "",
|
|
3931
|
-
phoneNumber: updatedData.contactInfo.phoneNumber || "",
|
|
3932
|
-
alternativePhoneNumber: updatedData.contactInfo.alternativePhoneNumber || "",
|
|
3933
|
-
website: updatedData.contactInfo.website || ""
|
|
3934
|
-
};
|
|
3935
|
-
}
|
|
3936
3927
|
updatedData = {
|
|
3937
3928
|
...updatedData,
|
|
3938
3929
|
updatedAt: Timestamp10.now()
|
|
@@ -4224,7 +4215,8 @@ var ClinicGroupService = class extends BaseService {
|
|
|
4224
4215
|
description: setupData.description,
|
|
4225
4216
|
logo: logoUrl,
|
|
4226
4217
|
calendarSyncEnabled: setupData.calendarSyncEnabled,
|
|
4227
|
-
autoConfirmAppointments: setupData.autoConfirmAppointments
|
|
4218
|
+
autoConfirmAppointments: setupData.autoConfirmAppointments,
|
|
4219
|
+
businessIdentificationNumber: setupData.businessIdentificationNumber
|
|
4228
4220
|
};
|
|
4229
4221
|
console.log("[CLINIC_GROUP] Updating clinic group with setup data");
|
|
4230
4222
|
return this.updateClinicGroup(groupId, updateData);
|
|
@@ -5177,7 +5169,7 @@ var AuthService = class extends BaseService {
|
|
|
5177
5169
|
* Can either create a new clinic group or join an existing one with a token
|
|
5178
5170
|
*
|
|
5179
5171
|
* @param data - Clinic admin signup data
|
|
5180
|
-
* @returns
|
|
5172
|
+
* @returns Object containing the created user, clinic group, and clinic admin
|
|
5181
5173
|
*/
|
|
5182
5174
|
async signUpClinicAdmin(data) {
|
|
5183
5175
|
try {
|
|
@@ -5258,6 +5250,8 @@ var AuthService = class extends BaseService {
|
|
|
5258
5250
|
console.log(
|
|
5259
5251
|
"[AUTH] Services initialized and circular dependencies resolved"
|
|
5260
5252
|
);
|
|
5253
|
+
let clinicGroup = null;
|
|
5254
|
+
let adminProfile = null;
|
|
5261
5255
|
if (data.isCreatingNewGroup) {
|
|
5262
5256
|
console.log("[AUTH] Creating new clinic group flow");
|
|
5263
5257
|
if (!data.clinicGroupData) {
|
|
@@ -5276,7 +5270,6 @@ var AuthService = class extends BaseService {
|
|
|
5276
5270
|
isActive: true
|
|
5277
5271
|
// No clinicGroupId yet
|
|
5278
5272
|
};
|
|
5279
|
-
let adminProfile;
|
|
5280
5273
|
try {
|
|
5281
5274
|
adminProfile = await clinicAdminService.createClinicAdmin(
|
|
5282
5275
|
createClinicAdminData
|
|
@@ -5305,7 +5298,6 @@ var AuthService = class extends BaseService {
|
|
|
5305
5298
|
console.log("[AUTH] Clinic group data prepared", {
|
|
5306
5299
|
groupName: createClinicGroupData.name
|
|
5307
5300
|
});
|
|
5308
|
-
let clinicGroup;
|
|
5309
5301
|
try {
|
|
5310
5302
|
clinicGroup = await clinicGroupService.createClinicGroup(
|
|
5311
5303
|
createClinicGroupData,
|
|
@@ -5323,6 +5315,9 @@ var AuthService = class extends BaseService {
|
|
|
5323
5315
|
clinicGroupId: clinicGroup.id
|
|
5324
5316
|
});
|
|
5325
5317
|
console.log("[AUTH] Admin updated with clinic group ID successfully");
|
|
5318
|
+
adminProfile = await clinicAdminService.getClinicAdmin(
|
|
5319
|
+
adminProfile.id
|
|
5320
|
+
);
|
|
5326
5321
|
} catch (groupCreationError) {
|
|
5327
5322
|
console.error(
|
|
5328
5323
|
"[AUTH] Clinic group creation failed:",
|
|
@@ -5385,6 +5380,7 @@ var AuthService = class extends BaseService {
|
|
|
5385
5380
|
console.error("[AUTH] No valid token found in any clinic group");
|
|
5386
5381
|
throw new Error("Invalid or expired invite token");
|
|
5387
5382
|
}
|
|
5383
|
+
clinicGroup = foundGroup;
|
|
5388
5384
|
console.log("[AUTH] Creating clinic admin");
|
|
5389
5385
|
const createClinicAdminData = {
|
|
5390
5386
|
userRef: firebaseUser.uid,
|
|
@@ -5395,7 +5391,6 @@ var AuthService = class extends BaseService {
|
|
|
5395
5391
|
roleTitle: data.title,
|
|
5396
5392
|
isActive: true
|
|
5397
5393
|
};
|
|
5398
|
-
let adminProfile;
|
|
5399
5394
|
try {
|
|
5400
5395
|
adminProfile = await clinicAdminService.createClinicAdmin(
|
|
5401
5396
|
createClinicAdminData
|
|
@@ -5423,9 +5418,20 @@ var AuthService = class extends BaseService {
|
|
|
5423
5418
|
}
|
|
5424
5419
|
}
|
|
5425
5420
|
console.log("[AUTH] Clinic admin signup completed successfully", {
|
|
5426
|
-
userId: user.uid
|
|
5421
|
+
userId: user.uid,
|
|
5422
|
+
clinicGroupId: clinicGroup.id,
|
|
5423
|
+
clinicAdminId: (adminProfile == null ? void 0 : adminProfile.id) || "unknown"
|
|
5427
5424
|
});
|
|
5428
|
-
|
|
5425
|
+
if (!clinicGroup || !adminProfile) {
|
|
5426
|
+
throw new Error(
|
|
5427
|
+
"Failed to create or retrieve clinic group or admin profile"
|
|
5428
|
+
);
|
|
5429
|
+
}
|
|
5430
|
+
return {
|
|
5431
|
+
user,
|
|
5432
|
+
clinicGroup,
|
|
5433
|
+
clinicAdmin: adminProfile
|
|
5434
|
+
};
|
|
5429
5435
|
} catch (error) {
|
|
5430
5436
|
if (error instanceof z15.ZodError) {
|
|
5431
5437
|
console.error(
|
package/package.json
CHANGED
|
@@ -55,6 +55,7 @@ import {
|
|
|
55
55
|
ClinicAdminSignupData,
|
|
56
56
|
SubscriptionModel,
|
|
57
57
|
CLINIC_GROUPS_COLLECTION,
|
|
58
|
+
ClinicAdmin,
|
|
58
59
|
} from "../types/clinic";
|
|
59
60
|
import { clinicAdminSignupSchema } from "../validations/clinic.schema";
|
|
60
61
|
import { ClinicGroupService } from "./clinic/clinic-group.service";
|
|
@@ -104,9 +105,13 @@ export class AuthService extends BaseService {
|
|
|
104
105
|
* Can either create a new clinic group or join an existing one with a token
|
|
105
106
|
*
|
|
106
107
|
* @param data - Clinic admin signup data
|
|
107
|
-
* @returns
|
|
108
|
+
* @returns Object containing the created user, clinic group, and clinic admin
|
|
108
109
|
*/
|
|
109
|
-
async signUpClinicAdmin(data: ClinicAdminSignupData): Promise<
|
|
110
|
+
async signUpClinicAdmin(data: ClinicAdminSignupData): Promise<{
|
|
111
|
+
user: User;
|
|
112
|
+
clinicGroup: ClinicGroup;
|
|
113
|
+
clinicAdmin: ClinicAdmin; // Using 'any' for now, replace with proper type if available
|
|
114
|
+
}> {
|
|
110
115
|
try {
|
|
111
116
|
console.log("[AUTH] Starting clinic admin signup process", {
|
|
112
117
|
email: data.email,
|
|
@@ -198,6 +203,9 @@ export class AuthService extends BaseService {
|
|
|
198
203
|
"[AUTH] Services initialized and circular dependencies resolved"
|
|
199
204
|
);
|
|
200
205
|
|
|
206
|
+
let clinicGroup: ClinicGroup | null = null;
|
|
207
|
+
let adminProfile: ClinicAdmin | null = null;
|
|
208
|
+
|
|
201
209
|
if (data.isCreatingNewGroup) {
|
|
202
210
|
console.log("[AUTH] Creating new clinic group flow");
|
|
203
211
|
// Create new clinic group
|
|
@@ -220,7 +228,6 @@ export class AuthService extends BaseService {
|
|
|
220
228
|
// No clinicGroupId yet
|
|
221
229
|
};
|
|
222
230
|
|
|
223
|
-
let adminProfile;
|
|
224
231
|
try {
|
|
225
232
|
adminProfile = await clinicAdminService.createClinicAdmin(
|
|
226
233
|
createClinicAdminData
|
|
@@ -254,7 +261,6 @@ export class AuthService extends BaseService {
|
|
|
254
261
|
});
|
|
255
262
|
|
|
256
263
|
// Create clinic group
|
|
257
|
-
let clinicGroup;
|
|
258
264
|
try {
|
|
259
265
|
clinicGroup = await clinicGroupService.createClinicGroup(
|
|
260
266
|
createClinicGroupData,
|
|
@@ -272,6 +278,11 @@ export class AuthService extends BaseService {
|
|
|
272
278
|
clinicGroupId: clinicGroup.id,
|
|
273
279
|
});
|
|
274
280
|
console.log("[AUTH] Admin updated with clinic group ID successfully");
|
|
281
|
+
|
|
282
|
+
// Get the updated admin profile
|
|
283
|
+
adminProfile = await clinicAdminService.getClinicAdmin(
|
|
284
|
+
adminProfile.id
|
|
285
|
+
);
|
|
275
286
|
} catch (groupCreationError) {
|
|
276
287
|
console.error(
|
|
277
288
|
"[AUTH] Clinic group creation failed:",
|
|
@@ -349,6 +360,8 @@ export class AuthService extends BaseService {
|
|
|
349
360
|
throw new Error("Invalid or expired invite token");
|
|
350
361
|
}
|
|
351
362
|
|
|
363
|
+
clinicGroup = foundGroup;
|
|
364
|
+
|
|
352
365
|
// Create clinic admin
|
|
353
366
|
console.log("[AUTH] Creating clinic admin");
|
|
354
367
|
const createClinicAdminData: CreateClinicAdminData = {
|
|
@@ -361,7 +374,6 @@ export class AuthService extends BaseService {
|
|
|
361
374
|
isActive: true,
|
|
362
375
|
};
|
|
363
376
|
|
|
364
|
-
let adminProfile;
|
|
365
377
|
try {
|
|
366
378
|
adminProfile = await clinicAdminService.createClinicAdmin(
|
|
367
379
|
createClinicAdminData
|
|
@@ -393,8 +405,22 @@ export class AuthService extends BaseService {
|
|
|
393
405
|
|
|
394
406
|
console.log("[AUTH] Clinic admin signup completed successfully", {
|
|
395
407
|
userId: user.uid,
|
|
408
|
+
clinicGroupId: clinicGroup.id,
|
|
409
|
+
clinicAdminId: adminProfile?.id || "unknown",
|
|
396
410
|
});
|
|
397
|
-
|
|
411
|
+
|
|
412
|
+
// Ensure we have all required data before returning
|
|
413
|
+
if (!clinicGroup || !adminProfile) {
|
|
414
|
+
throw new Error(
|
|
415
|
+
"Failed to create or retrieve clinic group or admin profile"
|
|
416
|
+
);
|
|
417
|
+
}
|
|
418
|
+
|
|
419
|
+
return {
|
|
420
|
+
user,
|
|
421
|
+
clinicGroup,
|
|
422
|
+
clinicAdmin: adminProfile,
|
|
423
|
+
};
|
|
398
424
|
} catch (error) {
|
|
399
425
|
if (error instanceof z.ZodError) {
|
|
400
426
|
console.error(
|
|
@@ -179,6 +179,7 @@ export class ClinicGroupService extends BaseService {
|
|
|
179
179
|
logo: logoUrl,
|
|
180
180
|
calendarSyncEnabled: setupData.calendarSyncEnabled,
|
|
181
181
|
autoConfirmAppointments: setupData.autoConfirmAppointments,
|
|
182
|
+
businessIdentificationNumber: setupData.businessIdentificationNumber,
|
|
182
183
|
};
|
|
183
184
|
|
|
184
185
|
console.log("[CLINIC_GROUP] Updating clinic group with setup data");
|
|
@@ -71,17 +71,16 @@ export async function createClinicGroup(
|
|
|
71
71
|
});
|
|
72
72
|
console.log("[CLINIC_GROUP] Input data:", JSON.stringify(data, null, 2));
|
|
73
73
|
|
|
74
|
+
let validatedData: CreateClinicGroupData;
|
|
74
75
|
// Validacija podataka
|
|
75
76
|
try {
|
|
76
|
-
|
|
77
|
+
validatedData = createClinicGroupSchema.parse(data);
|
|
77
78
|
console.log("[CLINIC_GROUP] Data validation passed");
|
|
78
79
|
} catch (validationError) {
|
|
79
80
|
console.error("[CLINIC_GROUP] Data validation failed:", validationError);
|
|
80
81
|
throw validationError;
|
|
81
82
|
}
|
|
82
83
|
|
|
83
|
-
const validatedData = createClinicGroupSchema.parse(data);
|
|
84
|
-
|
|
85
84
|
// Proveravamo da li owner postoji i da li je clinic admin
|
|
86
85
|
try {
|
|
87
86
|
console.log("[CLINIC_GROUP] Checking if owner exists", { ownerId });
|
|
@@ -323,18 +322,6 @@ export async function updateClinicGroup(
|
|
|
323
322
|
}
|
|
324
323
|
}
|
|
325
324
|
|
|
326
|
-
// Ensure contactInfo fields are never undefined
|
|
327
|
-
if (updatedData.contactInfo) {
|
|
328
|
-
updatedData.contactInfo = {
|
|
329
|
-
...updatedData.contactInfo,
|
|
330
|
-
email: updatedData.contactInfo.email || "",
|
|
331
|
-
phoneNumber: updatedData.contactInfo.phoneNumber || "",
|
|
332
|
-
alternativePhoneNumber:
|
|
333
|
-
updatedData.contactInfo.alternativePhoneNumber || "",
|
|
334
|
-
website: updatedData.contactInfo.website || "",
|
|
335
|
-
};
|
|
336
|
-
}
|
|
337
|
-
|
|
338
325
|
// Add timestamp
|
|
339
326
|
updatedData = {
|
|
340
327
|
...updatedData,
|