@nyig/models 0.2.14 → 0.2.17

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.
Files changed (5) hide show
  1. package/index.d.mts +90 -195
  2. package/index.d.ts +90 -195
  3. package/index.js +77 -71
  4. package/index.mjs +78 -72
  5. package/package.json +1 -1
package/index.js CHANGED
@@ -104,8 +104,10 @@ var zBPaymentInfo = import_zod.z.object({
104
104
  });
105
105
 
106
106
  // src/interface/booking/bUserInfo.ts
107
+ var import_mongoose = require("mongoose");
107
108
  var import_zod2 = require("zod");
108
109
  var zBUserInfo = import_zod2.z.object({
110
+ userId: import_zod2.z.instanceof(import_mongoose.Types.ObjectId).optional(),
109
111
  firstName: import_zod2.z.string(),
110
112
  lastName: import_zod2.z.string(),
111
113
  rank: import_zod2.z.string(),
@@ -129,10 +131,10 @@ var import_zod13 = require("zod");
129
131
 
130
132
  // src/interface/mongoose/mongoose.ts
131
133
  var import_zod3 = require("zod");
132
- var import_mongoose = require("mongoose");
134
+ var import_mongoose2 = require("mongoose");
133
135
  function extendZodObjectForMongoose(original) {
134
136
  return original.extend({
135
- _id: import_zod3.z.instanceof(import_mongoose.Types.ObjectId),
137
+ _id: import_zod3.z.instanceof(import_mongoose2.Types.ObjectId),
136
138
  createdAt: import_zod3.z.coerce.date().optional(),
137
139
  updatedAt: import_zod3.z.coerce.date().optional()
138
140
  });
@@ -147,6 +149,7 @@ var AttendState = /* @__PURE__ */ ((AttendState2) => {
147
149
  })(AttendState || {});
148
150
 
149
151
  // src/interface/tracking/attendance.ts
152
+ var import_mongoose3 = require("mongoose");
150
153
  var import_zod5 = require("zod");
151
154
 
152
155
  // src/interface/payment/tuition.ts
@@ -166,7 +169,6 @@ var CampOption = /* @__PURE__ */ ((CampOption2) => {
166
169
  })(CampOption || {});
167
170
 
168
171
  // src/interface/tracking/attendance.ts
169
- var import_mongoose3 = require("mongoose");
170
172
  var zAttendance = import_zod5.z.object({
171
173
  student: import_zod5.z.instanceof(import_mongoose3.Types.ObjectId),
172
174
  states: import_zod5.z.array(import_zod5.z.nativeEnum(AttendState)),
@@ -177,12 +179,12 @@ var zAttendance = import_zod5.z.object({
177
179
  var zMAttendance = extendZodObjectForMongoose(zAttendance);
178
180
 
179
181
  // src/interface/tracking/campTracker.ts
180
- var import_mongoose4 = require("mongoose");
182
+ var import_mongoose5 = require("mongoose");
181
183
  var import_zod6 = require("zod");
182
184
  var zCampTracker = import_zod6.z.object({
183
- course: import_zod6.z.instanceof(import_mongoose4.Types.ObjectId),
184
- teacher: import_zod6.z.instanceof(import_mongoose4.Types.ObjectId),
185
- semester: import_zod6.z.instanceof(import_mongoose4.Types.ObjectId),
185
+ course: import_zod6.z.instanceof(import_mongoose5.Types.ObjectId),
186
+ teacher: import_zod6.z.instanceof(import_mongoose5.Types.ObjectId),
187
+ semester: import_zod6.z.instanceof(import_mongoose5.Types.ObjectId),
186
188
  /**
187
189
  * occurrences are tracked by week for camps
188
190
  */
@@ -196,11 +198,11 @@ var zCampTracker = import_zod6.z.object({
196
198
  var zMCampTracker = extendZodObjectForMongoose(zCampTracker);
197
199
 
198
200
  // src/interface/tracking/classTracker.ts
199
- var import_mongoose10 = require("mongoose");
201
+ var import_mongoose11 = require("mongoose");
200
202
  var import_zod9 = require("zod");
201
203
 
202
204
  // src/interface/payment/invoice.ts
203
- var import_mongoose6 = require("mongoose");
205
+ var import_mongoose7 = require("mongoose");
204
206
  var import_zod7 = require("zod");
205
207
 
206
208
  // src/interface/payment/paymentMethod.ts
@@ -218,12 +220,12 @@ var zDiscount = import_zod7.z.object({
218
220
  amount: import_zod7.z.number()
219
221
  });
220
222
  var zInvoiceItem = import_zod7.z.object({
221
- course: import_zod7.z.instanceof(import_mongoose6.Types.ObjectId),
223
+ course: import_zod7.z.instanceof(import_mongoose7.Types.ObjectId),
222
224
  price: import_zod7.z.number(),
223
225
  units: import_zod7.z.number()
224
226
  });
225
227
  var zInvoicePackage = import_zod7.z.object({
226
- student: import_zod7.z.instanceof(import_mongoose6.Types.ObjectId),
228
+ student: import_zod7.z.instanceof(import_mongoose7.Types.ObjectId),
227
229
  items: import_zod7.z.array(zInvoiceItem)
228
230
  });
229
231
  var zInvoice = import_zod7.z.object({
@@ -234,13 +236,13 @@ var zInvoice = import_zod7.z.object({
234
236
  shipping: import_zod7.z.number().int().min(1).optional(),
235
237
  paid: import_zod7.z.nativeEnum(PaymentMethod).optional(),
236
238
  notes: import_zod7.z.string().optional(),
237
- createdBy: import_zod7.z.instanceof(import_mongoose6.Types.ObjectId),
238
- lastEditBy: import_zod7.z.instanceof(import_mongoose6.Types.ObjectId).optional()
239
+ createdBy: import_zod7.z.instanceof(import_mongoose7.Types.ObjectId),
240
+ lastEditBy: import_zod7.z.instanceof(import_mongoose7.Types.ObjectId).optional()
239
241
  });
240
242
  var zMInvoice = extendZodObjectForMongoose(zInvoice);
241
243
 
242
244
  // src/interface/payment/teacherPayment.ts
243
- var import_mongoose8 = require("mongoose");
245
+ var import_mongoose9 = require("mongoose");
244
246
  var import_zod8 = require("zod");
245
247
  var zTeacherPaymentRow = import_zod8.z.object({
246
248
  course: import_zod8.z.string(),
@@ -249,7 +251,7 @@ var zTeacherPaymentRow = import_zod8.z.object({
249
251
  wage: import_zod8.z.number()
250
252
  });
251
253
  var zTeacherPayment = import_zod8.z.object({
252
- teacher: import_zod8.z.instanceof(import_mongoose8.Types.ObjectId),
254
+ teacher: import_zod8.z.instanceof(import_mongoose9.Types.ObjectId),
253
255
  rows: import_zod8.z.array(zTeacherPaymentRow),
254
256
  paid: import_zod8.z.boolean().optional()
255
257
  });
@@ -257,9 +259,9 @@ var zMTeacherPayment = extendZodObjectForMongoose(zTeacherPayment);
257
259
 
258
260
  // src/interface/tracking/classTracker.ts
259
261
  var zClassTracker = import_zod9.z.object({
260
- course: import_zod9.z.instanceof(import_mongoose10.Types.ObjectId),
261
- teacher: import_zod9.z.instanceof(import_mongoose10.Types.ObjectId),
262
- student: import_zod9.z.instanceof(import_mongoose10.Types.ObjectId),
262
+ course: import_zod9.z.instanceof(import_mongoose11.Types.ObjectId),
263
+ teacher: import_zod9.z.instanceof(import_mongoose11.Types.ObjectId),
264
+ student: import_zod9.z.instanceof(import_mongoose11.Types.ObjectId),
263
265
  classTimes: import_zod9.z.array(import_zod9.z.coerce.date()),
264
266
  completedList: import_zod9.z.array(import_zod9.z.boolean()),
265
267
  /**
@@ -268,6 +270,7 @@ var zClassTracker = import_zod9.z.object({
268
270
  completed: import_zod9.z.boolean().optional(),
269
271
  tuition: zTuition.optional(),
270
272
  paid: import_zod9.z.boolean().optional(),
273
+ paused: import_zod9.z.boolean().optional(),
271
274
  notes: import_zod9.z.string().optional()
272
275
  });
273
276
  var zMClassTracker = extendZodObjectForMongoose(zClassTracker);
@@ -316,11 +319,11 @@ var zCourse = import_zod11.z.object({
316
319
  /**
317
320
  * @unit SECONDS - Duration of the course in seconds
318
321
  */
319
- duration: import_zod11.z.number(),
322
+ duration: import_zod11.z.number().int("Duration in seconds must be a whole number").min(1, "Duration in seconds must not be less than or equal to 0"),
320
323
  /**
321
324
  * @unit CENTS - Price of the course in cents
322
325
  */
323
- price: import_zod11.z.number(),
326
+ price: import_zod11.z.number().int("Tuition must be a whole number in cents").min(1, "Tuition must not be less than or equal to 0"),
324
327
  description: import_zod11.z.string().optional(),
325
328
  /**
326
329
  * NYIG School locations
@@ -333,20 +336,20 @@ var zCourse = import_zod11.z.object({
333
336
  /**
334
337
  * Camp tuition for half-day option
335
338
  */
336
- halfCampTuition: import_zod11.z.number(),
339
+ halfCampTuition: import_zod11.z.number().int("Tuition must be a whole number in cents").min(1, "Tuition must not be less than or equal to 0").optional(),
337
340
  /**
338
341
  * Camp tuition for full-day option
339
342
  */
340
- fullCampTuition: import_zod11.z.number()
343
+ fullCampTuition: import_zod11.z.number().int("Tuition must be a whole number in cents").min(1, "Tuition must not be less than or equal to 0").optional()
341
344
  });
342
345
  var zMCourse = extendZodObjectForMongoose(zCourse);
343
346
 
344
347
  // src/interface/tracking/groupTracker.ts
345
- var import_mongoose14 = require("mongoose");
348
+ var import_mongoose15 = require("mongoose");
346
349
  var zGroupTracker = import_zod12.z.object({
347
- course: import_zod12.z.instanceof(import_mongoose14.Types.ObjectId),
348
- teacher: import_zod12.z.instanceof(import_mongoose14.Types.ObjectId),
349
- semester: import_zod12.z.instanceof(import_mongoose14.Types.ObjectId),
350
+ course: import_zod12.z.instanceof(import_mongoose15.Types.ObjectId),
351
+ teacher: import_zod12.z.instanceof(import_mongoose15.Types.ObjectId),
352
+ semester: import_zod12.z.instanceof(import_mongoose15.Types.ObjectId),
350
353
  scheduleData: zScheduleData,
351
354
  /**
352
355
  * occurrences are tracked by week for Groups
@@ -355,7 +358,7 @@ var zGroupTracker = import_zod12.z.object({
355
358
  /**
356
359
  * attendances are tracked by week for Groups
357
360
  */
358
- attendances: import_zod12.z.array(import_zod12.z.instanceof(import_mongoose14.Types.ObjectId)),
361
+ attendances: import_zod12.z.array(import_zod12.z.instanceof(import_mongoose15.Types.ObjectId)),
359
362
  /**
360
363
  * public-facing ID of the course instance, e.g., 101
361
364
  */
@@ -374,7 +377,6 @@ var zMGroupTracker = extendZodObjectForMongoose(zGroupTracker);
374
377
 
375
378
  // src/interface/booking/campBooking.ts
376
379
  var zCampBooking = import_zod13.z.object({
377
- userId: import_zod13.z.string().optional(),
378
380
  ctId: import_zod13.z.string().optional(),
379
381
  isOnline: import_zod13.z.boolean(),
380
382
  classDates: import_zod13.z.string(),
@@ -384,10 +386,10 @@ var zCampBooking = import_zod13.z.object({
384
386
  var zMCampBooking = extendZodObjectForMongoose(zCampBooking);
385
387
 
386
388
  // src/interface/booking/groupBooking.ts
389
+ var import_mongoose17 = require("mongoose");
387
390
  var import_zod14 = require("zod");
388
391
  var zGroupBooking = import_zod14.z.object({
389
- userId: import_zod14.z.string().optional(),
390
- gtId: import_zod14.z.string().optional(),
392
+ gtId: import_zod14.z.instanceof(import_mongoose17.Types.ObjectId).optional(),
391
393
  isTrial: import_zod14.z.boolean().optional(),
392
394
  isOnline: import_zod14.z.boolean(),
393
395
  classDate: import_zod14.z.string().optional(),
@@ -396,11 +398,11 @@ var zGroupBooking = import_zod14.z.object({
396
398
  var zMGroupBooking = extendZodObjectForMongoose(zGroupBooking);
397
399
 
398
400
  // src/interface/booking/privateBooking.ts
401
+ var import_mongoose19 = require("mongoose");
399
402
  var import_zod15 = require("zod");
400
403
  var zPrivateBooking = import_zod15.z.object({
401
- userId: import_zod15.z.string().optional(),
402
- courseId: import_zod15.z.string(),
403
- teacherId: import_zod15.z.string(),
404
+ courseId: import_zod15.z.instanceof(import_mongoose19.Types.ObjectId),
405
+ teacherId: import_zod15.z.instanceof(import_mongoose19.Types.ObjectId),
404
406
  classDate: import_zod15.z.string().optional()
405
407
  }).merge(zBUserInfo).merge(zBPaymentInfo);
406
408
  var zMPrivateBooking = extendZodObjectForMongoose(zPrivateBooking);
@@ -432,7 +434,7 @@ var zImageDef = import_zod17.z.object({
432
434
  });
433
435
 
434
436
  // src/interface/reporting/reportTicket.ts
435
- var import_mongoose18 = require("mongoose");
437
+ var import_mongoose21 = require("mongoose");
436
438
  var import_zod18 = require("zod");
437
439
 
438
440
  // src/interface/reporting/ticketStatus.ts
@@ -446,8 +448,8 @@ var TicketStatus = /* @__PURE__ */ ((TicketStatus2) => {
446
448
 
447
449
  // src/interface/reporting/reportTicket.ts
448
450
  var zReportTicket = import_zod18.z.object({
449
- requester: import_zod18.z.instanceof(import_mongoose18.Types.ObjectId),
450
- resolver: import_zod18.z.instanceof(import_mongoose18.Types.ObjectId),
451
+ requester: import_zod18.z.instanceof(import_mongoose21.Types.ObjectId),
452
+ resolver: import_zod18.z.instanceof(import_mongoose21.Types.ObjectId),
451
453
  status: import_zod18.z.nativeEnum(TicketStatus),
452
454
  title: import_zod18.z.string(),
453
455
  description: import_zod18.z.string()
@@ -481,7 +483,7 @@ var zSemester = import_zod19.z.object({
481
483
  var zMSemester = extendZodObjectForMongoose(zSemester);
482
484
 
483
485
  // src/interface/tournament/tConfig.ts
484
- var import_mongoose21 = require("mongoose");
486
+ var import_mongoose24 = require("mongoose");
485
487
  var import_zod21 = require("zod");
486
488
 
487
489
  // src/interface/tournament/table.ts
@@ -544,7 +546,7 @@ var zTConfig = import_zod21.z.object({
544
546
  /**
545
547
  * List of ticket object IDs for this tournament
546
548
  */
547
- tickets: import_zod21.z.array(import_zod21.z.instanceof(import_mongoose21.Types.ObjectId)),
549
+ tickets: import_zod21.z.array(import_zod21.z.instanceof(import_mongoose24.Types.ObjectId)),
548
550
  /**
549
551
  * If false, the tournament registration is closed
550
552
  */
@@ -561,14 +563,14 @@ var zTConfig = import_zod21.z.object({
561
563
  var zMTConfig = extendZodObjectForMongoose(zTConfig);
562
564
 
563
565
  // src/interface/tournament/tReg.ts
564
- var import_mongoose24 = require("mongoose");
566
+ var import_mongoose27 = require("mongoose");
565
567
  var import_zod23 = require("zod");
566
568
 
567
569
  // src/interface/tournament/tTicketReg.ts
568
570
  var import_zod22 = require("zod");
569
- var import_mongoose23 = require("mongoose");
571
+ var import_mongoose26 = require("mongoose");
570
572
  var zTTicketReg = import_zod22.z.object({
571
- ticket: import_zod22.z.instanceof(import_mongoose23.Types.ObjectId),
573
+ ticket: import_zod22.z.instanceof(import_mongoose26.Types.ObjectId),
572
574
  /**
573
575
  * integer minimum 1, otherwise no ticket is being bought
574
576
  */
@@ -578,7 +580,7 @@ var zTTicketReg = import_zod22.z.object({
578
580
  // src/interface/tournament/tReg.ts
579
581
  var zTReg = import_zod23.z.object({
580
582
  agaId: import_zod23.z.string(),
581
- tournamentId: import_zod23.z.instanceof(import_mongoose24.Types.ObjectId),
583
+ tournamentId: import_zod23.z.instanceof(import_mongoose27.Types.ObjectId),
582
584
  tickets: import_zod23.z.array(zTTicketReg),
583
585
  /**
584
586
  * @units CENTS - Donation in cents
@@ -591,7 +593,7 @@ var zTReg = import_zod23.z.object({
591
593
  /**
592
594
  * Mongoose ID of the admin that edited the registration
593
595
  */
594
- edited: import_zod23.z.instanceof(import_mongoose24.Types.ObjectId).optional()
596
+ edited: import_zod23.z.instanceof(import_mongoose27.Types.ObjectId).optional()
595
597
  }).merge(zBUserInfo).merge(zBPaymentInfo);
596
598
  var zMTReg = extendZodObjectForMongoose(zTReg);
597
599
 
@@ -665,50 +667,46 @@ var GoRank = /* @__PURE__ */ ((GoRank2) => {
665
667
  })(GoRank || {});
666
668
 
667
669
  // src/interface/user/user.ts
668
- var import_zod26 = require("zod");
669
-
670
- // src/interface/user/userRoles.ts
671
670
  var import_zod25 = require("zod");
672
- var zUserRoles = import_zod25.z.object({
673
- user: import_zod25.z.number().int(),
674
- admin: import_zod25.z.number().int(),
675
- superadmin: import_zod25.z.number().int()
676
- });
677
-
678
- // src/interface/user/user.ts
679
- var import_mongoose28 = require("mongoose");
680
- var zUser = import_zod26.z.object({
681
- name: import_zod26.z.string().min(2).max(100),
682
- username: import_zod26.z.string().optional(),
683
- password: import_zod26.z.string().optional(),
684
- roles: zUserRoles.optional(),
685
- email: import_zod26.z.string().email().max(100).optional(),
686
- address: import_zod26.z.string().optional(),
687
- country: import_zod26.z.string().optional(),
688
- phoneNumber: import_zod26.z.string().optional(),
689
- birthDate: import_zod26.z.string().optional()
671
+ var import_mongoose31 = require("mongoose");
672
+ var zUser = import_zod25.z.object({
673
+ name: import_zod25.z.string().min(2).max(100),
674
+ username: import_zod25.z.string().optional(),
675
+ password: import_zod25.z.string().optional(),
676
+ roles: import_zod25.z.array(import_zod25.z.number().int()),
677
+ email: import_zod25.z.string().email().max(100).optional(),
678
+ address: import_zod25.z.string().optional(),
679
+ country: import_zod25.z.string().length(2, {
680
+ message: "Enter the 2-letter country code"
681
+ }).optional(),
682
+ phoneNumber: import_zod25.z.string().regex(/^\d{10}/, {
683
+ message: `Please enter a valid 10-digit US phone number with numbers only`
684
+ }).optional(),
685
+ birthDate: import_zod25.z.string().regex(/^\d{4}-(0?[1-9]|1[012])-(0?[1-9]|[12][0-9]|3[01])$/, {
686
+ message: "Enter a valid date in yyyy-mm-dd format"
687
+ }).optional()
690
688
  });
691
689
  var zMUser = extendZodObjectForMongoose(zUser);
692
690
  var zStudent = zUser.extend({
693
- rank: import_zod26.z.nativeEnum(GoRank),
694
- guardian: import_zod26.z.instanceof(import_mongoose28.Types.ObjectId).optional()
691
+ rank: import_zod25.z.nativeEnum(GoRank),
692
+ guardian: import_zod25.z.instanceof(import_mongoose31.Types.ObjectId).optional()
695
693
  });
696
694
  var zMStudent = extendZodObjectForMongoose(zStudent);
697
695
  var zTeacher = zUser.extend({
698
- rank: import_zod26.z.nativeEnum(GoRank),
696
+ rank: import_zod25.z.nativeEnum(GoRank),
699
697
  /**
700
698
  * Inactive teachers are not shown on public endpoints
701
699
  */
702
- isInactive: import_zod26.z.boolean().optional(),
700
+ isInactive: import_zod25.z.boolean().optional(),
703
701
  /**
704
702
  * Teacher's position, e.g., instructor, president
705
703
  */
706
- title: import_zod26.z.string().optional(),
704
+ title: import_zod25.z.string().optional(),
707
705
  /**
708
706
  * Teacher's bio text describing experience
709
707
  * new lines will be rendered as paragraphs
710
708
  */
711
- bio: import_zod26.z.string().optional(),
709
+ bio: import_zod25.z.string().optional(),
712
710
  /** Format is illustrated below, where teacher is available
713
711
  * Mon 9-12am 3-6pm & Tue 10-12am 6-10pm
714
712
  * [
@@ -721,9 +719,17 @@ var zTeacher = zUser.extend({
721
719
  * [],
722
720
  * ]
723
721
  */
724
- available: import_zod26.z.array(import_zod26.z.array(import_zod26.z.array(import_zod26.z.number()))).optional()
722
+ available: import_zod25.z.array(import_zod25.z.array(import_zod25.z.array(import_zod25.z.number()))).optional()
725
723
  });
726
724
  var zMTeacher = extendZodObjectForMongoose(zTeacher);
725
+
726
+ // src/interface/user/userRoles.ts
727
+ var import_zod26 = require("zod");
728
+ var zUserRoles = import_zod26.z.object({
729
+ user: import_zod26.z.number().int(),
730
+ admin: import_zod26.z.number().int(),
731
+ superadmin: import_zod26.z.number().int()
732
+ });
727
733
  // Annotate the CommonJS export names for ESM import in node:
728
734
  0 && (module.exports = {
729
735
  AgeGroup,