@blackcode_sa/metaestetics-api 1.4.14 → 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 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 The created user
1774
+ * @returns Object containing the created user, clinic group, and clinic admin
1775
1775
  */
1776
- signUpClinicAdmin(data: ClinicAdminSignupData): Promise<User>;
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 The created user
1774
+ * @returns Object containing the created user, clinic group, and clinic admin
1775
1775
  */
1776
- signUpClinicAdmin(data: ClinicAdminSignupData): Promise<User>;
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
@@ -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 The created user
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
- return user;
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
@@ -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 The created user
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
- return user;
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
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@blackcode_sa/metaestetics-api",
3
3
  "private": false,
4
- "version": "1.4.14",
4
+ "version": "1.4.15",
5
5
  "description": "Firebase authentication service with anonymous upgrade support",
6
6
  "main": "./dist/index.js",
7
7
  "module": "./dist/index.mjs",
@@ -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 The created user
108
+ * @returns Object containing the created user, clinic group, and clinic admin
108
109
  */
109
- async signUpClinicAdmin(data: ClinicAdminSignupData): Promise<User> {
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
- return user;
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");
@@ -322,18 +322,6 @@ export async function updateClinicGroup(
322
322
  }
323
323
  }
324
324
 
325
- // Ensure contactInfo fields are never undefined
326
- if (updatedData.contactInfo) {
327
- updatedData.contactInfo = {
328
- ...updatedData.contactInfo,
329
- email: updatedData.contactInfo.email || "",
330
- phoneNumber: updatedData.contactInfo.phoneNumber || "",
331
- alternativePhoneNumber:
332
- updatedData.contactInfo.alternativePhoneNumber || "",
333
- website: updatedData.contactInfo.website || "",
334
- };
335
- }
336
-
337
325
  // Add timestamp
338
326
  updatedData = {
339
327
  ...updatedData,