@nyig/models 0.2.9 → 0.2.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.
Files changed (5) hide show
  1. package/index.d.mts +1049 -395
  2. package/index.d.ts +1049 -395
  3. package/index.js +153 -144
  4. package/index.mjs +152 -144
  5. package/package.json +1 -1
package/index.js CHANGED
@@ -22,6 +22,7 @@ var src_exports = {};
22
22
  __export(src_exports, {
23
23
  AgeGroup: () => AgeGroup,
24
24
  AttendState: () => AttendState,
25
+ BookingType: () => BookingType,
25
26
  CampOption: () => CampOption,
26
27
  CourseCategory: () => CourseCategory,
27
28
  GoRank: () => GoRank,
@@ -83,73 +84,58 @@ __export(src_exports, {
83
84
  });
84
85
  module.exports = __toCommonJS(src_exports);
85
86
 
86
- // src/interface/booking/bUserInfo.ts
87
- var import_zod = require("zod");
88
- var zBUserInfo = import_zod.z.object({
89
- firstName: import_zod.z.string(),
90
- lastName: import_zod.z.string(),
91
- rank: import_zod.z.string(),
92
- email: import_zod.z.string(),
93
- phone: import_zod.z.string().optional(),
94
- address: import_zod.z.string().optional(),
95
- notes: import_zod.z.string().optional()
96
- });
97
-
98
- // src/interface/booking/privateBooking.ts
99
- var import_zod4 = require("zod");
100
-
101
- // src/mongoose.ts
102
- var import_zod2 = require("zod");
103
- function extendZodObjectForMongoose(original) {
104
- return original.extend({
105
- _id: import_zod2.z.string(),
106
- createdAt: import_zod2.z.coerce.date().optional(),
107
- updatedAt: import_zod2.z.coerce.date().optional()
108
- });
109
- }
110
-
111
87
  // src/interface/booking/bPaymentInfo.ts
112
- var import_zod3 = require("zod");
113
- var zBPaymentInfo = import_zod3.z.object({
88
+ var import_zod = require("zod");
89
+ var zBPaymentInfo = import_zod.z.object({
114
90
  /**
115
91
  * @units CENTS - Proposed payment amount in cents of the booking
116
92
  */
117
- paymentAmount: import_zod3.z.number(),
93
+ paymentAmount: import_zod.z.number().int().min(1),
118
94
  /**
119
95
  * True if the payment has been received. Populated by webhook.
120
96
  */
121
- paymentReceived: import_zod3.z.boolean().optional(),
97
+ paymentReceived: import_zod.z.boolean().optional(),
122
98
  /**
123
99
  * When Date is reached, document is deleted by MongoDB sweeper.
124
100
  * Creation typically marks one to two weeks.
125
101
  * After payment, webhook should extend this date to essentially infinite.
126
102
  */
127
- expireAt: import_zod3.z.coerce.date().optional()
103
+ expireAt: import_zod.z.coerce.date().optional()
128
104
  });
129
105
 
130
- // src/interface/booking/privateBooking.ts
131
- var zPrivateBooking = import_zod4.z.object({
132
- userId: import_zod4.z.string().optional(),
133
- courseId: import_zod4.z.string(),
134
- teacherId: import_zod4.z.string(),
135
- classDate: import_zod4.z.string().optional()
136
- }).merge(zBUserInfo).merge(zBPaymentInfo);
137
- var zMPrivateBooking = extendZodObjectForMongoose(zPrivateBooking);
106
+ // src/interface/booking/bUserInfo.ts
107
+ var import_zod2 = require("zod");
108
+ var zBUserInfo = import_zod2.z.object({
109
+ firstName: import_zod2.z.string(),
110
+ lastName: import_zod2.z.string(),
111
+ rank: import_zod2.z.string(),
112
+ email: import_zod2.z.string(),
113
+ phone: import_zod2.z.string().optional(),
114
+ address: import_zod2.z.string().optional(),
115
+ notes: import_zod2.z.string().optional()
116
+ });
138
117
 
139
- // src/interface/booking/groupBooking.ts
140
- var import_zod5 = require("zod");
141
- var zGroupBooking = import_zod5.z.object({
142
- userId: import_zod5.z.string().optional(),
143
- gtId: import_zod5.z.string().optional(),
144
- isTrial: import_zod5.z.boolean().optional(),
145
- isOnline: import_zod5.z.boolean(),
146
- classDate: import_zod5.z.string().optional(),
147
- shipping: import_zod5.z.boolean().optional()
148
- }).merge(zBUserInfo).merge(zBPaymentInfo);
149
- var zMGroupBooking = extendZodObjectForMongoose(zGroupBooking);
118
+ // src/interface/booking/bookingType.ts
119
+ var BookingType = /* @__PURE__ */ ((BookingType2) => {
120
+ BookingType2["GROUP"] = "group";
121
+ BookingType2["PRIVATE"] = "private";
122
+ BookingType2["TOURNAMENT"] = "tournament";
123
+ BookingType2["CAMP"] = "camp";
124
+ return BookingType2;
125
+ })(BookingType || {});
150
126
 
151
127
  // src/interface/booking/campBooking.ts
152
- var import_zod15 = require("zod");
128
+ var import_zod13 = require("zod");
129
+
130
+ // src/mongoose.ts
131
+ var import_zod3 = require("zod");
132
+ function extendZodObjectForMongoose(original) {
133
+ return original.extend({
134
+ _id: import_zod3.z.string(),
135
+ createdAt: import_zod3.z.coerce.date().optional(),
136
+ updatedAt: import_zod3.z.coerce.date().optional()
137
+ });
138
+ }
153
139
 
154
140
  // src/interface/tracking/attendState.ts
155
141
  var AttendState = /* @__PURE__ */ ((AttendState2) => {
@@ -160,14 +146,14 @@ var AttendState = /* @__PURE__ */ ((AttendState2) => {
160
146
  })(AttendState || {});
161
147
 
162
148
  // src/interface/tracking/attendance.ts
163
- var import_zod7 = require("zod");
149
+ var import_zod5 = require("zod");
164
150
 
165
151
  // src/interface/payment/tuition.ts
166
- var import_zod6 = require("zod");
167
- var zTuition = import_zod6.z.object({
168
- primary: import_zod6.z.number(),
169
- textbook: import_zod6.z.boolean().optional(),
170
- shipping: import_zod6.z.boolean().optional()
152
+ var import_zod4 = require("zod");
153
+ var zTuition = import_zod4.z.object({
154
+ primary: import_zod4.z.number().int().min(1),
155
+ textbook: import_zod4.z.boolean().optional(),
156
+ shipping: import_zod4.z.boolean().optional()
171
157
  });
172
158
 
173
159
  // src/interface/tracking/campOption.ts
@@ -179,47 +165,47 @@ var CampOption = /* @__PURE__ */ ((CampOption2) => {
179
165
  })(CampOption || {});
180
166
 
181
167
  // src/interface/tracking/attendance.ts
182
- var zAttendance = import_zod7.z.object({
183
- student: import_zod7.z.string(),
184
- states: import_zod7.z.array(import_zod7.z.nativeEnum(AttendState)),
168
+ var zAttendance = import_zod5.z.object({
169
+ student: import_zod5.z.string(),
170
+ states: import_zod5.z.array(import_zod5.z.nativeEnum(AttendState)),
185
171
  tuition: zTuition,
186
- paid: import_zod7.z.boolean().optional(),
187
- campOption: import_zod7.z.nativeEnum(CampOption)
172
+ paid: import_zod5.z.boolean().optional(),
173
+ campOption: import_zod5.z.nativeEnum(CampOption)
188
174
  });
189
175
  var zMAttendance = extendZodObjectForMongoose(zAttendance);
190
176
 
191
177
  // src/interface/tracking/campTracker.ts
192
- var import_zod8 = require("zod");
193
- var zCampTracker = import_zod8.z.object({
178
+ var import_zod6 = require("zod");
179
+ var zCampTracker = import_zod6.z.object({
194
180
  /**
195
181
  * Mongoose object ID
196
182
  */
197
- course: import_zod8.z.string(),
183
+ course: import_zod6.z.string(),
198
184
  /**
199
185
  * Mongoose object ID
200
186
  */
201
- teacher: import_zod8.z.string(),
187
+ teacher: import_zod6.z.string(),
202
188
  /**
203
189
  * Mongoose object ID
204
190
  */
205
- semester: import_zod8.z.string(),
191
+ semester: import_zod6.z.string(),
206
192
  /**
207
193
  * occurrences are tracked by week for camps
208
194
  */
209
- occurrences: import_zod8.z.array(import_zod8.z.string()),
195
+ occurrences: import_zod6.z.array(import_zod6.z.string()),
210
196
  /**
211
197
  * attendances are tracked by week for camps
212
198
  */
213
- attendances: import_zod8.z.array(import_zod8.z.string()),
214
- notes: import_zod8.z.string().optional()
199
+ attendances: import_zod6.z.array(import_zod6.z.string()),
200
+ notes: import_zod6.z.string().optional()
215
201
  });
216
202
  var zMCampTracker = extendZodObjectForMongoose(zCampTracker);
217
203
 
218
204
  // src/interface/tracking/classTracker.ts
219
- var import_zod11 = require("zod");
205
+ var import_zod9 = require("zod");
220
206
 
221
207
  // src/interface/payment/invoice.ts
222
- var import_zod9 = require("zod");
208
+ var import_zod7 = require("zod");
223
209
 
224
210
  // src/interface/payment/paymentMethod.ts
225
211
  var PaymentMethod = /* @__PURE__ */ ((PaymentMethod2) => {
@@ -231,94 +217,94 @@ var PaymentMethod = /* @__PURE__ */ ((PaymentMethod2) => {
231
217
  })(PaymentMethod || {});
232
218
 
233
219
  // src/interface/payment/invoice.ts
234
- var zDiscount = import_zod9.z.object({
235
- desc: import_zod9.z.string(),
236
- amount: import_zod9.z.number()
220
+ var zDiscount = import_zod7.z.object({
221
+ desc: import_zod7.z.string(),
222
+ amount: import_zod7.z.number()
237
223
  });
238
- var zInvoiceItem = import_zod9.z.object({
224
+ var zInvoiceItem = import_zod7.z.object({
239
225
  /**
240
226
  * Mongoose object ID
241
227
  */
242
- course: import_zod9.z.string(),
243
- price: import_zod9.z.number(),
244
- units: import_zod9.z.number()
228
+ course: import_zod7.z.string(),
229
+ price: import_zod7.z.number(),
230
+ units: import_zod7.z.number()
245
231
  });
246
- var zInvoicePackage = import_zod9.z.object({
232
+ var zInvoicePackage = import_zod7.z.object({
247
233
  /**
248
234
  * Mongoose object ID
249
235
  */
250
- student: import_zod9.z.string(),
251
- items: import_zod9.z.array(zInvoiceItem)
236
+ student: import_zod7.z.string(),
237
+ items: import_zod7.z.array(zInvoiceItem)
252
238
  });
253
- var zInvoice = import_zod9.z.object({
254
- billTo: import_zod9.z.string(),
255
- packages: import_zod9.z.array(zInvoicePackage),
256
- discounts: import_zod9.z.array(zDiscount),
257
- textbook: import_zod9.z.number().optional(),
258
- shipping: import_zod9.z.number().optional(),
259
- paid: import_zod9.z.nativeEnum(PaymentMethod).optional(),
260
- notes: import_zod9.z.string().optional(),
239
+ var zInvoice = import_zod7.z.object({
240
+ billTo: import_zod7.z.string(),
241
+ packages: import_zod7.z.array(zInvoicePackage),
242
+ discounts: import_zod7.z.array(zDiscount),
243
+ textbook: import_zod7.z.number().int().min(1).optional(),
244
+ shipping: import_zod7.z.number().int().min(1).optional(),
245
+ paid: import_zod7.z.nativeEnum(PaymentMethod).optional(),
246
+ notes: import_zod7.z.string().optional(),
261
247
  /**
262
248
  * Mongoose object ID
263
249
  */
264
- createdBy: import_zod9.z.string(),
250
+ createdBy: import_zod7.z.string(),
265
251
  /**
266
252
  * Mongoose object ID
267
253
  */
268
- lastEditBy: import_zod9.z.string().optional()
254
+ lastEditBy: import_zod7.z.string().optional()
269
255
  });
270
256
  var zMInvoice = extendZodObjectForMongoose(zInvoice);
271
257
 
272
258
  // src/interface/payment/teacherPayment.ts
273
- var import_zod10 = require("zod");
274
- var zTeacherPaymentRow = import_zod10.z.object({
275
- course: import_zod10.z.string(),
276
- length: import_zod10.z.number(),
277
- count: import_zod10.z.number(),
278
- wage: import_zod10.z.number()
259
+ var import_zod8 = require("zod");
260
+ var zTeacherPaymentRow = import_zod8.z.object({
261
+ course: import_zod8.z.string(),
262
+ length: import_zod8.z.number(),
263
+ count: import_zod8.z.number(),
264
+ wage: import_zod8.z.number()
279
265
  });
280
- var zTeacherPayment = import_zod10.z.object({
281
- teacher: import_zod10.z.string(),
282
- rows: import_zod10.z.array(zTeacherPaymentRow),
283
- paid: import_zod10.z.boolean().optional()
266
+ var zTeacherPayment = import_zod8.z.object({
267
+ teacher: import_zod8.z.string(),
268
+ rows: import_zod8.z.array(zTeacherPaymentRow),
269
+ paid: import_zod8.z.boolean().optional()
284
270
  });
285
271
  var zMTeacherPayment = extendZodObjectForMongoose(zTeacherPayment);
286
272
 
287
273
  // src/interface/tracking/classTracker.ts
288
- var zClassTracker = import_zod11.z.object({
274
+ var zClassTracker = import_zod9.z.object({
289
275
  /**
290
276
  * Mongoose object ID
291
277
  */
292
- course: import_zod11.z.string(),
278
+ course: import_zod9.z.string(),
293
279
  /**
294
280
  * Mongoose object ID
295
281
  */
296
- teacher: import_zod11.z.string(),
282
+ teacher: import_zod9.z.string(),
297
283
  /**
298
284
  * Mongoose object ID
299
285
  */
300
- semester: import_zod11.z.string(),
301
- classTimes: import_zod11.z.array(import_zod11.z.coerce.date()),
302
- completedList: import_zod11.z.array(import_zod11.z.boolean()),
286
+ semester: import_zod9.z.string(),
287
+ classTimes: import_zod9.z.array(import_zod9.z.coerce.date()),
288
+ completedList: import_zod9.z.array(import_zod9.z.boolean()),
303
289
  /**
304
290
  * Virtual mongoose field when all values in completedList is true
305
291
  */
306
- completed: import_zod11.z.boolean().optional(),
292
+ completed: import_zod9.z.boolean().optional(),
307
293
  tuition: zTuition.optional(),
308
- paid: import_zod11.z.boolean().optional(),
309
- notes: import_zod11.z.string().optional()
294
+ paid: import_zod9.z.boolean().optional(),
295
+ notes: import_zod9.z.string().optional()
310
296
  });
311
297
  var zMClassTracker = extendZodObjectForMongoose(zClassTracker);
312
298
 
313
299
  // src/interface/tracking/groupTracker.ts
314
- var import_zod14 = require("zod");
300
+ var import_zod12 = require("zod");
315
301
 
316
302
  // src/interface/tracking/scheduleData.ts
317
- var import_zod12 = require("zod");
318
- var zScheduleData = import_zod12.z.object({
319
- startTime: import_zod12.z.string(),
303
+ var import_zod10 = require("zod");
304
+ var zScheduleData = import_zod10.z.object({
305
+ startTime: import_zod10.z.string(),
320
306
  // String in 24 hour "HH:mm" format
321
- dayOfWeek: import_zod12.z.number().int().min(0).max(6)
307
+ dayOfWeek: import_zod10.z.number().int().min(0).max(6)
322
308
  // integeters in 0 - 6
323
309
  });
324
310
 
@@ -347,88 +333,110 @@ var NYIGSchool = /* @__PURE__ */ ((NYIGSchool2) => {
347
333
  })(NYIGSchool || {});
348
334
 
349
335
  // src/interface/course/course.ts
350
- var import_zod13 = require("zod");
351
- var zCourse = import_zod13.z.object({
352
- name: import_zod13.z.string(),
353
- category: import_zod13.z.nativeEnum(CourseCategory),
336
+ var import_zod11 = require("zod");
337
+ var zCourse = import_zod11.z.object({
338
+ name: import_zod11.z.string(),
339
+ category: import_zod11.z.nativeEnum(CourseCategory),
354
340
  /**
355
341
  * @unit SECONDS - Duration of the course in seconds
356
342
  */
357
- duration: import_zod13.z.number(),
343
+ duration: import_zod11.z.number(),
358
344
  /**
359
345
  * @unit CENTS - Price of the course in cents
360
346
  */
361
- price: import_zod13.z.number(),
362
- description: import_zod13.z.string().optional(),
347
+ price: import_zod11.z.number(),
348
+ description: import_zod11.z.string().optional(),
363
349
  /**
364
350
  * NYIG School locations
365
351
  */
366
- nyigSchool: import_zod13.z.nativeEnum(NYIGSchool),
352
+ nyigSchool: import_zod11.z.nativeEnum(NYIGSchool),
367
353
  /**
368
354
  * Recommended level before taking this course
369
355
  */
370
- recLevel: import_zod13.z.string(),
356
+ recLevel: import_zod11.z.string(),
371
357
  /**
372
358
  * Camp tuition for half-day option
373
359
  */
374
- halfCampTuition: import_zod13.z.number(),
360
+ halfCampTuition: import_zod11.z.number(),
375
361
  /**
376
362
  * Camp tuition for full-day option
377
363
  */
378
- fullCampTuition: import_zod13.z.number()
364
+ fullCampTuition: import_zod11.z.number()
379
365
  });
380
366
  var zMCourse = extendZodObjectForMongoose(zCourse);
381
367
 
382
368
  // src/interface/tracking/groupTracker.ts
383
- var zGroupTracker = import_zod14.z.object({
369
+ var zGroupTracker = import_zod12.z.object({
384
370
  /**
385
371
  * Mongoose object ID
386
372
  */
387
- course: import_zod14.z.string(),
373
+ course: import_zod12.z.string(),
388
374
  /**
389
375
  * Mongoose object ID
390
376
  */
391
- teacher: import_zod14.z.string(),
377
+ teacher: import_zod12.z.string(),
392
378
  /**
393
379
  * Mongoose object ID
394
380
  */
395
- semester: import_zod14.z.string(),
381
+ semester: import_zod12.z.string(),
396
382
  scheduleData: zScheduleData,
397
383
  /**
398
384
  * occurrences are tracked by week for Groups
399
385
  */
400
- occurrences: import_zod14.z.array(import_zod14.z.coerce.date()),
386
+ occurrences: import_zod12.z.array(import_zod12.z.coerce.date()),
401
387
  /**
402
388
  * attendances are tracked by week for Groups
403
389
  */
404
- attendances: import_zod14.z.array(import_zod14.z.string()),
390
+ attendances: import_zod12.z.array(import_zod12.z.string()),
405
391
  /**
406
392
  * ID of the course instance, e.g., 101
407
393
  */
408
- courseId: import_zod14.z.string().optional(),
394
+ courseId: import_zod12.z.string().optional(),
409
395
  /**
410
396
  * Age group of the class instance, e.g. "adult", "youth"
411
397
  */
412
- ageGroup: import_zod14.z.nativeEnum(AgeGroup).optional(),
398
+ ageGroup: import_zod12.z.nativeEnum(AgeGroup).optional(),
413
399
  /**
414
400
  * If true, the course is hidden from public view
415
401
  */
416
- isNonPublic: import_zod14.z.boolean().optional(),
417
- notes: import_zod14.z.string().optional()
402
+ isNonPublic: import_zod12.z.boolean().optional(),
403
+ notes: import_zod12.z.string().optional()
418
404
  });
419
405
  var zMGroupTracker = extendZodObjectForMongoose(zGroupTracker);
420
406
 
421
407
  // src/interface/booking/campBooking.ts
422
- var zCampBooking = import_zod15.z.object({
423
- userId: import_zod15.z.string().optional(),
424
- ctId: import_zod15.z.string().optional(),
425
- isOnline: import_zod15.z.boolean(),
426
- classDates: import_zod15.z.string(),
427
- campOption: import_zod15.z.nativeEnum(CampOption),
428
- shipping: import_zod15.z.boolean().optional()
408
+ var zCampBooking = import_zod13.z.object({
409
+ userId: import_zod13.z.string().optional(),
410
+ ctId: import_zod13.z.string().optional(),
411
+ isOnline: import_zod13.z.boolean(),
412
+ classDates: import_zod13.z.string(),
413
+ campOption: import_zod13.z.nativeEnum(CampOption),
414
+ shipping: import_zod13.z.boolean().optional()
429
415
  }).merge(zBUserInfo).merge(zBPaymentInfo);
430
416
  var zMCampBooking = extendZodObjectForMongoose(zCampBooking);
431
417
 
418
+ // src/interface/booking/groupBooking.ts
419
+ var import_zod14 = require("zod");
420
+ var zGroupBooking = import_zod14.z.object({
421
+ userId: import_zod14.z.string().optional(),
422
+ gtId: import_zod14.z.string().optional(),
423
+ isTrial: import_zod14.z.boolean().optional(),
424
+ isOnline: import_zod14.z.boolean(),
425
+ classDate: import_zod14.z.string().optional(),
426
+ shipping: import_zod14.z.boolean().optional()
427
+ }).merge(zBUserInfo).merge(zBPaymentInfo);
428
+ var zMGroupBooking = extendZodObjectForMongoose(zGroupBooking);
429
+
430
+ // src/interface/booking/privateBooking.ts
431
+ var import_zod15 = require("zod");
432
+ var zPrivateBooking = import_zod15.z.object({
433
+ userId: import_zod15.z.string().optional(),
434
+ courseId: import_zod15.z.string(),
435
+ teacherId: import_zod15.z.string(),
436
+ classDate: import_zod15.z.string().optional()
437
+ }).merge(zBUserInfo).merge(zBPaymentInfo);
438
+ var zMPrivateBooking = extendZodObjectForMongoose(zPrivateBooking);
439
+
432
440
  // src/interface/public/aurora.ts
433
441
  var import_zod16 = require("zod");
434
442
  var zTeacherDisplay = import_zod16.z.object({
@@ -640,7 +648,7 @@ var zTTicket = import_zod24.z.object({
640
648
  /**
641
649
  * @optional If date is provided and in the past, ticket cannot be purchased
642
650
  */
643
- lastBuytableDate: import_zod24.z.coerce.date().optional()
651
+ lastBuyableDate: import_zod24.z.coerce.date().optional()
644
652
  });
645
653
  var zMTTicket = extendZodObjectForMongoose(zTTicket);
646
654
 
@@ -754,6 +762,7 @@ var zMTeacher = extendZodObjectForMongoose(zTeacher);
754
762
  0 && (module.exports = {
755
763
  AgeGroup,
756
764
  AttendState,
765
+ BookingType,
757
766
  CampOption,
758
767
  CourseCategory,
759
768
  GoRank,