@bizmap/sdk 0.0.31 → 0.0.33
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/main.d.ts +74 -4
- package/dist/main.js +23 -8
- package/package.json +1 -1
package/dist/main.d.ts
CHANGED
|
@@ -101,6 +101,10 @@ declare const CompanyUser: z.ZodObject<{
|
|
|
101
101
|
active: "active";
|
|
102
102
|
inactive: "inactive";
|
|
103
103
|
}>;
|
|
104
|
+
availability: z.ZodObject<{
|
|
105
|
+
isAvailable: z.ZodDefault<z.ZodBoolean>;
|
|
106
|
+
lastModified: z.ZodDefault<z.ZodNullable<z.ZodInt>>;
|
|
107
|
+
}, z.core.$strip>;
|
|
104
108
|
roles: z.ZodPipe<z.ZodArray<z.ZodEnum<{
|
|
105
109
|
doc: "doc";
|
|
106
110
|
physAsst: "physAsst";
|
|
@@ -108,6 +112,7 @@ declare const CompanyUser: z.ZodObject<{
|
|
|
108
112
|
cshr: "cshr";
|
|
109
113
|
admin: "admin";
|
|
110
114
|
}>>, z.ZodTransform<("doc" | "physAsst" | "rcpst" | "cshr" | "admin")[], ("doc" | "physAsst" | "rcpst" | "cshr" | "admin")[]>>;
|
|
115
|
+
totalAppts: z.ZodDefault<z.ZodInt>;
|
|
111
116
|
lastActive: z.ZodInt;
|
|
112
117
|
name: z.ZodRecord<z.ZodEnum<{
|
|
113
118
|
first: "first";
|
|
@@ -144,13 +149,13 @@ declare const CompanyDetails: z.ZodObject<{
|
|
|
144
149
|
availableBalance: z.ZodNumber;
|
|
145
150
|
totalUploads: z.ZodNumber;
|
|
146
151
|
lastInvoiceNo: z.ZodNullable<z.ZodString>;
|
|
147
|
-
lastTktNo: z.
|
|
152
|
+
lastTktNo: z.ZodNumber;
|
|
148
153
|
lastModified: z.ZodNullable<z.ZodInt>;
|
|
149
154
|
}, z.core.$strip> | z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
150
155
|
availableBalance: z.ZodNumber;
|
|
151
156
|
totalUploads: z.ZodNumber;
|
|
152
157
|
lastInvoiceNo: z.ZodNullable<z.ZodString>;
|
|
153
|
-
lastTktNo: z.
|
|
158
|
+
lastTktNo: z.ZodNumber;
|
|
154
159
|
lastModified: z.ZodNullable<z.ZodInt>;
|
|
155
160
|
}, z.core.$strip>>>;
|
|
156
161
|
preferences: z.ZodObject<{
|
|
@@ -255,6 +260,10 @@ declare const CompanyDetails: z.ZodObject<{
|
|
|
255
260
|
active: "active";
|
|
256
261
|
inactive: "inactive";
|
|
257
262
|
}>;
|
|
263
|
+
availability: z.ZodObject<{
|
|
264
|
+
isAvailable: z.ZodDefault<z.ZodBoolean>;
|
|
265
|
+
lastModified: z.ZodDefault<z.ZodNullable<z.ZodInt>>;
|
|
266
|
+
}, z.core.$strip>;
|
|
258
267
|
roles: z.ZodPipe<z.ZodArray<z.ZodEnum<{
|
|
259
268
|
doc: "doc";
|
|
260
269
|
physAsst: "physAsst";
|
|
@@ -262,6 +271,7 @@ declare const CompanyDetails: z.ZodObject<{
|
|
|
262
271
|
cshr: "cshr";
|
|
263
272
|
admin: "admin";
|
|
264
273
|
}>>, z.ZodTransform<("doc" | "physAsst" | "rcpst" | "cshr" | "admin")[], ("doc" | "physAsst" | "rcpst" | "cshr" | "admin")[]>>;
|
|
274
|
+
totalAppts: z.ZodDefault<z.ZodInt>;
|
|
265
275
|
lastActive: z.ZodInt;
|
|
266
276
|
name: z.ZodRecord<z.ZodEnum<{
|
|
267
277
|
first: "first";
|
|
@@ -279,7 +289,12 @@ declare const CompanyDetails: z.ZodObject<{
|
|
|
279
289
|
createdAt: number;
|
|
280
290
|
uid: string;
|
|
281
291
|
status: "inviteSent" | "active" | "inactive";
|
|
292
|
+
availability: {
|
|
293
|
+
isAvailable: boolean;
|
|
294
|
+
lastModified: number | null;
|
|
295
|
+
};
|
|
282
296
|
roles: ("doc" | "physAsst" | "rcpst" | "cshr" | "admin")[];
|
|
297
|
+
totalAppts: number;
|
|
283
298
|
lastActive: number;
|
|
284
299
|
name: Record<"first" | "last", string>;
|
|
285
300
|
email: string;
|
|
@@ -295,7 +310,12 @@ declare const CompanyDetails: z.ZodObject<{
|
|
|
295
310
|
createdAt: number;
|
|
296
311
|
uid: string;
|
|
297
312
|
status: "inviteSent" | "active" | "inactive";
|
|
313
|
+
availability: {
|
|
314
|
+
isAvailable: boolean;
|
|
315
|
+
lastModified: number | null;
|
|
316
|
+
};
|
|
298
317
|
roles: ("doc" | "physAsst" | "rcpst" | "cshr" | "admin")[];
|
|
318
|
+
totalAppts: number;
|
|
299
319
|
lastActive: number;
|
|
300
320
|
name: Record<"first" | "last", string>;
|
|
301
321
|
email: string;
|
|
@@ -316,6 +336,10 @@ declare const CompanyDetails: z.ZodObject<{
|
|
|
316
336
|
active: "active";
|
|
317
337
|
inactive: "inactive";
|
|
318
338
|
}>;
|
|
339
|
+
availability: z.ZodObject<{
|
|
340
|
+
isAvailable: z.ZodDefault<z.ZodBoolean>;
|
|
341
|
+
lastModified: z.ZodDefault<z.ZodNullable<z.ZodInt>>;
|
|
342
|
+
}, z.core.$strip>;
|
|
319
343
|
roles: z.ZodPipe<z.ZodArray<z.ZodEnum<{
|
|
320
344
|
doc: "doc";
|
|
321
345
|
physAsst: "physAsst";
|
|
@@ -323,6 +347,7 @@ declare const CompanyDetails: z.ZodObject<{
|
|
|
323
347
|
cshr: "cshr";
|
|
324
348
|
admin: "admin";
|
|
325
349
|
}>>, z.ZodTransform<("doc" | "physAsst" | "rcpst" | "cshr" | "admin")[], ("doc" | "physAsst" | "rcpst" | "cshr" | "admin")[]>>;
|
|
350
|
+
totalAppts: z.ZodDefault<z.ZodInt>;
|
|
326
351
|
lastActive: z.ZodInt;
|
|
327
352
|
name: z.ZodRecord<z.ZodEnum<{
|
|
328
353
|
first: "first";
|
|
@@ -340,7 +365,12 @@ declare const CompanyDetails: z.ZodObject<{
|
|
|
340
365
|
createdAt: number;
|
|
341
366
|
uid: string;
|
|
342
367
|
status: "inviteSent" | "active" | "inactive";
|
|
368
|
+
availability: {
|
|
369
|
+
isAvailable: boolean;
|
|
370
|
+
lastModified: number | null;
|
|
371
|
+
};
|
|
343
372
|
roles: ("doc" | "physAsst" | "rcpst" | "cshr" | "admin")[];
|
|
373
|
+
totalAppts: number;
|
|
344
374
|
lastActive: number;
|
|
345
375
|
name: Record<"first" | "last", string>;
|
|
346
376
|
email: string;
|
|
@@ -356,7 +386,12 @@ declare const CompanyDetails: z.ZodObject<{
|
|
|
356
386
|
createdAt: number;
|
|
357
387
|
uid: string;
|
|
358
388
|
status: "inviteSent" | "active" | "inactive";
|
|
389
|
+
availability: {
|
|
390
|
+
isAvailable: boolean;
|
|
391
|
+
lastModified: number | null;
|
|
392
|
+
};
|
|
359
393
|
roles: ("doc" | "physAsst" | "rcpst" | "cshr" | "admin")[];
|
|
394
|
+
totalAppts: number;
|
|
360
395
|
lastActive: number;
|
|
361
396
|
name: Record<"first" | "last", string>;
|
|
362
397
|
email: string;
|
|
@@ -397,13 +432,13 @@ declare const PartialCompanyDetails: z.ZodObject<{
|
|
|
397
432
|
availableBalance: z.ZodNumber;
|
|
398
433
|
totalUploads: z.ZodNumber;
|
|
399
434
|
lastInvoiceNo: z.ZodNullable<z.ZodString>;
|
|
400
|
-
lastTktNo: z.
|
|
435
|
+
lastTktNo: z.ZodNumber;
|
|
401
436
|
lastModified: z.ZodNullable<z.ZodInt>;
|
|
402
437
|
}, z.core.$strip> | z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
403
438
|
availableBalance: z.ZodNumber;
|
|
404
439
|
totalUploads: z.ZodNumber;
|
|
405
440
|
lastInvoiceNo: z.ZodNullable<z.ZodString>;
|
|
406
|
-
lastTktNo: z.
|
|
441
|
+
lastTktNo: z.ZodNumber;
|
|
407
442
|
lastModified: z.ZodNullable<z.ZodInt>;
|
|
408
443
|
}, z.core.$strip>>>;
|
|
409
444
|
preferences: z.ZodObject<{
|
|
@@ -508,6 +543,10 @@ declare const PartialCompanyDetails: z.ZodObject<{
|
|
|
508
543
|
active: "active";
|
|
509
544
|
inactive: "inactive";
|
|
510
545
|
}>;
|
|
546
|
+
availability: z.ZodObject<{
|
|
547
|
+
isAvailable: z.ZodDefault<z.ZodBoolean>;
|
|
548
|
+
lastModified: z.ZodDefault<z.ZodNullable<z.ZodInt>>;
|
|
549
|
+
}, z.core.$strip>;
|
|
511
550
|
roles: z.ZodPipe<z.ZodArray<z.ZodEnum<{
|
|
512
551
|
doc: "doc";
|
|
513
552
|
physAsst: "physAsst";
|
|
@@ -515,6 +554,7 @@ declare const PartialCompanyDetails: z.ZodObject<{
|
|
|
515
554
|
cshr: "cshr";
|
|
516
555
|
admin: "admin";
|
|
517
556
|
}>>, z.ZodTransform<("doc" | "physAsst" | "rcpst" | "cshr" | "admin")[], ("doc" | "physAsst" | "rcpst" | "cshr" | "admin")[]>>;
|
|
557
|
+
totalAppts: z.ZodDefault<z.ZodInt>;
|
|
518
558
|
lastActive: z.ZodInt;
|
|
519
559
|
name: z.ZodRecord<z.ZodEnum<{
|
|
520
560
|
first: "first";
|
|
@@ -532,7 +572,12 @@ declare const PartialCompanyDetails: z.ZodObject<{
|
|
|
532
572
|
createdAt: number;
|
|
533
573
|
uid: string;
|
|
534
574
|
status: "inviteSent" | "active" | "inactive";
|
|
575
|
+
availability: {
|
|
576
|
+
isAvailable: boolean;
|
|
577
|
+
lastModified: number | null;
|
|
578
|
+
};
|
|
535
579
|
roles: ("doc" | "physAsst" | "rcpst" | "cshr" | "admin")[];
|
|
580
|
+
totalAppts: number;
|
|
536
581
|
lastActive: number;
|
|
537
582
|
name: Record<"first" | "last", string>;
|
|
538
583
|
email: string;
|
|
@@ -548,7 +593,12 @@ declare const PartialCompanyDetails: z.ZodObject<{
|
|
|
548
593
|
createdAt: number;
|
|
549
594
|
uid: string;
|
|
550
595
|
status: "inviteSent" | "active" | "inactive";
|
|
596
|
+
availability: {
|
|
597
|
+
isAvailable: boolean;
|
|
598
|
+
lastModified: number | null;
|
|
599
|
+
};
|
|
551
600
|
roles: ("doc" | "physAsst" | "rcpst" | "cshr" | "admin")[];
|
|
601
|
+
totalAppts: number;
|
|
552
602
|
lastActive: number;
|
|
553
603
|
name: Record<"first" | "last", string>;
|
|
554
604
|
email: string;
|
|
@@ -569,6 +619,10 @@ declare const PartialCompanyDetails: z.ZodObject<{
|
|
|
569
619
|
active: "active";
|
|
570
620
|
inactive: "inactive";
|
|
571
621
|
}>;
|
|
622
|
+
availability: z.ZodObject<{
|
|
623
|
+
isAvailable: z.ZodDefault<z.ZodBoolean>;
|
|
624
|
+
lastModified: z.ZodDefault<z.ZodNullable<z.ZodInt>>;
|
|
625
|
+
}, z.core.$strip>;
|
|
572
626
|
roles: z.ZodPipe<z.ZodArray<z.ZodEnum<{
|
|
573
627
|
doc: "doc";
|
|
574
628
|
physAsst: "physAsst";
|
|
@@ -576,6 +630,7 @@ declare const PartialCompanyDetails: z.ZodObject<{
|
|
|
576
630
|
cshr: "cshr";
|
|
577
631
|
admin: "admin";
|
|
578
632
|
}>>, z.ZodTransform<("doc" | "physAsst" | "rcpst" | "cshr" | "admin")[], ("doc" | "physAsst" | "rcpst" | "cshr" | "admin")[]>>;
|
|
633
|
+
totalAppts: z.ZodDefault<z.ZodInt>;
|
|
579
634
|
lastActive: z.ZodInt;
|
|
580
635
|
name: z.ZodRecord<z.ZodEnum<{
|
|
581
636
|
first: "first";
|
|
@@ -593,7 +648,12 @@ declare const PartialCompanyDetails: z.ZodObject<{
|
|
|
593
648
|
createdAt: number;
|
|
594
649
|
uid: string;
|
|
595
650
|
status: "inviteSent" | "active" | "inactive";
|
|
651
|
+
availability: {
|
|
652
|
+
isAvailable: boolean;
|
|
653
|
+
lastModified: number | null;
|
|
654
|
+
};
|
|
596
655
|
roles: ("doc" | "physAsst" | "rcpst" | "cshr" | "admin")[];
|
|
656
|
+
totalAppts: number;
|
|
597
657
|
lastActive: number;
|
|
598
658
|
name: Record<"first" | "last", string>;
|
|
599
659
|
email: string;
|
|
@@ -609,7 +669,12 @@ declare const PartialCompanyDetails: z.ZodObject<{
|
|
|
609
669
|
createdAt: number;
|
|
610
670
|
uid: string;
|
|
611
671
|
status: "inviteSent" | "active" | "inactive";
|
|
672
|
+
availability: {
|
|
673
|
+
isAvailable: boolean;
|
|
674
|
+
lastModified: number | null;
|
|
675
|
+
};
|
|
612
676
|
roles: ("doc" | "physAsst" | "rcpst" | "cshr" | "admin")[];
|
|
677
|
+
totalAppts: number;
|
|
613
678
|
lastActive: number;
|
|
614
679
|
name: Record<"first" | "last", string>;
|
|
615
680
|
email: string;
|
|
@@ -667,7 +732,12 @@ declare const findConflictingPartners: (...partners: CompanyUser[]) => {
|
|
|
667
732
|
createdAt: number;
|
|
668
733
|
uid: string;
|
|
669
734
|
status: "inviteSent" | "active" | "inactive";
|
|
735
|
+
availability: {
|
|
736
|
+
isAvailable: boolean;
|
|
737
|
+
lastModified: number | null;
|
|
738
|
+
};
|
|
670
739
|
roles: ("doc" | "physAsst" | "rcpst" | "cshr" | "admin")[];
|
|
740
|
+
totalAppts: number;
|
|
671
741
|
lastActive: number;
|
|
672
742
|
name: Record<"first" | "last", string>;
|
|
673
743
|
email: string;
|
package/dist/main.js
CHANGED
|
@@ -96,6 +96,10 @@ var CompanyUser = z4.object({
|
|
|
96
96
|
...UserModel.shape,
|
|
97
97
|
uid: UuidV7,
|
|
98
98
|
status: z4.enum(["inviteSent", "active", "inactive"]),
|
|
99
|
+
availability: z4.object({
|
|
100
|
+
isAvailable: z4.boolean().default(true),
|
|
101
|
+
lastModified: Timestamp.nullable().default(null)
|
|
102
|
+
}),
|
|
99
103
|
roles: z4.array(companyUserRoles).transform((roles) => {
|
|
100
104
|
const newRoles = [];
|
|
101
105
|
for (const role of roles) {
|
|
@@ -108,8 +112,19 @@ var CompanyUser = z4.object({
|
|
|
108
112
|
(role, i) => i === 0 || compatibleRoles.includes(role)
|
|
109
113
|
);
|
|
110
114
|
}, "A user is not allowed to have conflicting roles."),
|
|
115
|
+
/** This should reset at the end of every cycle. */
|
|
116
|
+
totalAppts: z4.int().positive().default(0),
|
|
111
117
|
lastActive: Timestamp,
|
|
112
118
|
...TimeLog.shape
|
|
119
|
+
}).superRefine((data, ctx) => {
|
|
120
|
+
if (!data.availability.isAvailable && data.status !== "active") {
|
|
121
|
+
ctx.addIssue('Unavailable users MUST also have the "active" status.');
|
|
122
|
+
}
|
|
123
|
+
if (!data.availability.isAvailable && !data.roles.some((role) => role === "doc" || role === "physAsst")) {
|
|
124
|
+
ctx.addIssue(
|
|
125
|
+
'Only users with the "doc" or "physAsst" role can be marked as unavailable.'
|
|
126
|
+
);
|
|
127
|
+
}
|
|
113
128
|
});
|
|
114
129
|
var CompanyIdentity = z4.object({
|
|
115
130
|
displayName: z4.string().min(3).max(20),
|
|
@@ -139,10 +154,9 @@ var CompanyState = z4.object({
|
|
|
139
154
|
* @note This should only be null when the cycle resets
|
|
140
155
|
*/
|
|
141
156
|
lastInvoiceNo: InvoiceNo.nullable(),
|
|
142
|
-
/**
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
lastTktNo: z4.number().positive().nullable(),
|
|
157
|
+
/** A counter for the company's ticket no. */
|
|
158
|
+
lastTktNo: z4.number().positive(),
|
|
159
|
+
// distAppts: z.record(CompanyUser.shape.uid, z.number().positive().nullable()),
|
|
146
160
|
lastModified: Timestamp.nullable()
|
|
147
161
|
});
|
|
148
162
|
var CompanyPreferences = z4.object({
|
|
@@ -200,6 +214,10 @@ var CompanyBillingModel = z4.object({
|
|
|
200
214
|
}
|
|
201
215
|
});
|
|
202
216
|
var StaffDetails = z4.object({
|
|
217
|
+
/** Doc -> total appointments
|
|
218
|
+
* @note This should be reset at the end of every cycle.
|
|
219
|
+
*/
|
|
220
|
+
// totalApptsMap: z.record(CompanyUser.shape.uid, z.number().positive()),
|
|
203
221
|
members: z4.array(CompanyUser).superRefine((users, ctx) => {
|
|
204
222
|
const duplicateUids = [];
|
|
205
223
|
const duplicateEmails = [];
|
|
@@ -233,10 +251,7 @@ var StaffDetails = z4.object({
|
|
|
233
251
|
*@description A map of doctor `uids` to their assistants `uids` */
|
|
234
252
|
partnerMap: z4.record(
|
|
235
253
|
CompanyUser.shape.uid,
|
|
236
|
-
z4.array(CompanyUser.shape.uid).
|
|
237
|
-
1,
|
|
238
|
-
"At least (1) partner, excluding the leader, is required to create a partner group."
|
|
239
|
-
).transform((pUids) => {
|
|
254
|
+
z4.array(CompanyUser.shape.uid).transform((pUids) => {
|
|
240
255
|
const partners = [];
|
|
241
256
|
for (const uid of pUids) {
|
|
242
257
|
if (!uid || typeof uid !== "string") continue;
|