@brite-future-schools-contracts/contracts 1.0.3 → 1.0.7

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.
@@ -352,6 +352,7 @@ declare const listStudentsInputSchema: z.ZodObject<{
352
352
  } & {
353
353
  branchId: z.ZodOptional<z.ZodString>;
354
354
  classId: z.ZodOptional<z.ZodString>;
355
+ gradeId: z.ZodOptional<z.ZodString>;
355
356
  search: z.ZodOptional<z.ZodString>;
356
357
  status: z.ZodOptional<z.ZodEnum<["active", "transferred", "graduated", "suspended", "withdrawn"]>>;
357
358
  termId: z.ZodOptional<z.ZodString>;
@@ -361,6 +362,7 @@ declare const listStudentsInputSchema: z.ZodObject<{
361
362
  status?: "active" | "suspended" | "transferred" | "graduated" | "withdrawn" | undefined;
362
363
  branchId?: string | undefined;
363
364
  classId?: string | undefined;
365
+ gradeId?: string | undefined;
364
366
  search?: string | undefined;
365
367
  termId?: string | undefined;
366
368
  }, {
@@ -369,6 +371,7 @@ declare const listStudentsInputSchema: z.ZodObject<{
369
371
  status?: "active" | "suspended" | "transferred" | "graduated" | "withdrawn" | undefined;
370
372
  branchId?: string | undefined;
371
373
  classId?: string | undefined;
374
+ gradeId?: string | undefined;
372
375
  search?: string | undefined;
373
376
  termId?: string | undefined;
374
377
  }>;
@@ -665,6 +668,162 @@ declare const busRegisterEntrySchema: z.ZodObject<{
665
668
  status: "boarded" | "alighted" | "absent";
666
669
  studentId: string;
667
670
  }>;
671
+ declare const vehicleStatusEnum: z.ZodEnum<["active", "in_maintenance", "decommissioned"]>;
672
+ declare const vehicleSchema: z.ZodObject<{
673
+ id: z.ZodString;
674
+ branchId: z.ZodString;
675
+ plateNo: z.ZodString;
676
+ make: z.ZodNullable<z.ZodString>;
677
+ model: z.ZodNullable<z.ZodString>;
678
+ capacity: z.ZodNullable<z.ZodNumber>;
679
+ type: z.ZodEnum<["bus", "van", "pickup", "other"]>;
680
+ ownershipType: z.ZodEnum<["owned", "contracted"]>;
681
+ insuranceExpiry: z.ZodNullable<z.ZodString>;
682
+ inspectionDate: z.ZodNullable<z.ZodString>;
683
+ status: z.ZodEnum<["active", "in_maintenance", "decommissioned"]>;
684
+ driverUserId: z.ZodNullable<z.ZodString>;
685
+ createdAt: z.ZodString;
686
+ }, "strip", z.ZodTypeAny, {
687
+ type: "bus" | "van" | "pickup" | "other";
688
+ status: "active" | "in_maintenance" | "decommissioned";
689
+ id: string;
690
+ branchId: string;
691
+ createdAt: string;
692
+ plateNo: string;
693
+ make: string | null;
694
+ model: string | null;
695
+ capacity: number | null;
696
+ ownershipType: "owned" | "contracted";
697
+ insuranceExpiry: string | null;
698
+ inspectionDate: string | null;
699
+ driverUserId: string | null;
700
+ }, {
701
+ type: "bus" | "van" | "pickup" | "other";
702
+ status: "active" | "in_maintenance" | "decommissioned";
703
+ id: string;
704
+ branchId: string;
705
+ createdAt: string;
706
+ plateNo: string;
707
+ make: string | null;
708
+ model: string | null;
709
+ capacity: number | null;
710
+ ownershipType: "owned" | "contracted";
711
+ insuranceExpiry: string | null;
712
+ inspectionDate: string | null;
713
+ driverUserId: string | null;
714
+ }>;
715
+ declare const routeSchema: z.ZodObject<{
716
+ id: z.ZodString;
717
+ branchId: z.ZodString;
718
+ name: z.ZodString;
719
+ description: z.ZodNullable<z.ZodString>;
720
+ isActive: z.ZodBoolean;
721
+ stops: z.ZodOptional<z.ZodArray<z.ZodObject<{
722
+ id: z.ZodString;
723
+ stopName: z.ZodString;
724
+ stopOrder: z.ZodNumber;
725
+ estimatedTime: z.ZodNullable<z.ZodString>;
726
+ }, "strip", z.ZodTypeAny, {
727
+ id: string;
728
+ stopName: string;
729
+ stopOrder: number;
730
+ estimatedTime: string | null;
731
+ }, {
732
+ id: string;
733
+ stopName: string;
734
+ stopOrder: number;
735
+ estimatedTime: string | null;
736
+ }>, "many">>;
737
+ }, "strip", z.ZodTypeAny, {
738
+ id: string;
739
+ name: string;
740
+ branchId: string;
741
+ isActive: boolean;
742
+ description: string | null;
743
+ stops?: {
744
+ id: string;
745
+ stopName: string;
746
+ stopOrder: number;
747
+ estimatedTime: string | null;
748
+ }[] | undefined;
749
+ }, {
750
+ id: string;
751
+ name: string;
752
+ branchId: string;
753
+ isActive: boolean;
754
+ description: string | null;
755
+ stops?: {
756
+ id: string;
757
+ stopName: string;
758
+ stopOrder: number;
759
+ estimatedTime: string | null;
760
+ }[] | undefined;
761
+ }>;
762
+ declare const tripLogSchema: z.ZodObject<{
763
+ id: z.ZodString;
764
+ branchId: z.ZodString;
765
+ vehicleId: z.ZodString;
766
+ routeId: z.ZodNullable<z.ZodString>;
767
+ driverUserId: z.ZodString;
768
+ departureTime: z.ZodString;
769
+ arrivalTime: z.ZodNullable<z.ZodString>;
770
+ tripType: z.ZodEnum<["morning", "evening", "errand"]>;
771
+ notes: z.ZodNullable<z.ZodString>;
772
+ createdAt: z.ZodString;
773
+ vehicle: z.ZodOptional<z.ZodObject<{
774
+ plateNo: z.ZodString;
775
+ type: z.ZodString;
776
+ }, "strip", z.ZodTypeAny, {
777
+ type: string;
778
+ plateNo: string;
779
+ }, {
780
+ type: string;
781
+ plateNo: string;
782
+ }>>;
783
+ route: z.ZodOptional<z.ZodNullable<z.ZodObject<{
784
+ name: z.ZodString;
785
+ }, "strip", z.ZodTypeAny, {
786
+ name: string;
787
+ }, {
788
+ name: string;
789
+ }>>>;
790
+ }, "strip", z.ZodTypeAny, {
791
+ id: string;
792
+ branchId: string;
793
+ createdAt: string;
794
+ vehicleId: string;
795
+ routeId: string | null;
796
+ departureTime: string;
797
+ tripType: "morning" | "evening" | "errand";
798
+ driverUserId: string;
799
+ arrivalTime: string | null;
800
+ notes: string | null;
801
+ vehicle?: {
802
+ type: string;
803
+ plateNo: string;
804
+ } | undefined;
805
+ route?: {
806
+ name: string;
807
+ } | null | undefined;
808
+ }, {
809
+ id: string;
810
+ branchId: string;
811
+ createdAt: string;
812
+ vehicleId: string;
813
+ routeId: string | null;
814
+ departureTime: string;
815
+ tripType: "morning" | "evening" | "errand";
816
+ driverUserId: string;
817
+ arrivalTime: string | null;
818
+ notes: string | null;
819
+ vehicle?: {
820
+ type: string;
821
+ plateNo: string;
822
+ } | undefined;
823
+ route?: {
824
+ name: string;
825
+ } | null | undefined;
826
+ }>;
668
827
  declare const assetCategoryEnum: z.ZodEnum<["furniture", "lab_equipment", "ict_device", "vehicle", "sports_equipment", "kitchen_equipment", "musical_instrument", "classroom_supply", "library_book", "other"]>;
669
828
  declare const assetConditionEnum: z.ZodEnum<["excellent", "good", "fair", "poor", "condemned"]>;
670
829
  declare const maintenanceTicketStatusEnum: z.ZodEnum<["open", "in_progress", "resolved", "closed"]>;
@@ -694,4 +853,4 @@ declare const sendBulkSmsInputSchema: z.ZodObject<{
694
853
  scheduleAt?: string | undefined;
695
854
  }>;
696
855
 
697
- export { type SystemRole, assessmentScoreInputSchema, assessmentTypeEnum, assetCategoryEnum, assetConditionEnum, borrowingStatusEnum, branchSchema, busRegisterEntrySchema, busRegisterStatusEnum, changePasswordInputSchema, createBranchInputSchema, createStudentInputSchema, dateRangeSchema, disciplineRulingEnum, employmentTypeEnum, feeItemCategoryEnum, feeItemSchema, genderEnum, gradeLevelEnum, guardianSchema, incidentSeverityEnum, incidentStatusEnum, invoiceStatusEnum, leaveRequestInputSchema, leaveStatusEnum, listStudentsInputSchema, loginInputSchema, loginOutputSchema, maintenanceTicketStatusEnum, mfaVerifyInputSchema, notificationTypeEnum, paginationSchema, paymentMethodEnum, payrollRunStatusEnum, recordPaymentInputSchema, refreshInputSchema, refreshTokenOutputSchema, reportCardStatusEnum, rubricBandEnum, sendBulkSmsInputSchema, sponsorSchema, sponsorTypeEnum, staffSchema, studentSchema, studentStatusEnum, subjectSchema, systemRoleEnum, tripLogInputSchema, userSchema, userStatusEnum, uuidSchema, vehicleOwnershipEnum, vehicleTypeEnum };
856
+ export { type SystemRole, assessmentScoreInputSchema, assessmentTypeEnum, assetCategoryEnum, assetConditionEnum, borrowingStatusEnum, branchSchema, busRegisterEntrySchema, busRegisterStatusEnum, changePasswordInputSchema, createBranchInputSchema, createStudentInputSchema, dateRangeSchema, disciplineRulingEnum, employmentTypeEnum, feeItemCategoryEnum, feeItemSchema, genderEnum, gradeLevelEnum, guardianSchema, incidentSeverityEnum, incidentStatusEnum, invoiceStatusEnum, leaveRequestInputSchema, leaveStatusEnum, listStudentsInputSchema, loginInputSchema, loginOutputSchema, maintenanceTicketStatusEnum, mfaVerifyInputSchema, notificationTypeEnum, paginationSchema, paymentMethodEnum, payrollRunStatusEnum, recordPaymentInputSchema, refreshInputSchema, refreshTokenOutputSchema, reportCardStatusEnum, routeSchema, rubricBandEnum, sendBulkSmsInputSchema, sponsorSchema, sponsorTypeEnum, staffSchema, studentSchema, studentStatusEnum, subjectSchema, systemRoleEnum, tripLogInputSchema, tripLogSchema, userSchema, userStatusEnum, uuidSchema, vehicleOwnershipEnum, vehicleSchema, vehicleStatusEnum, vehicleTypeEnum };
@@ -352,6 +352,7 @@ declare const listStudentsInputSchema: z.ZodObject<{
352
352
  } & {
353
353
  branchId: z.ZodOptional<z.ZodString>;
354
354
  classId: z.ZodOptional<z.ZodString>;
355
+ gradeId: z.ZodOptional<z.ZodString>;
355
356
  search: z.ZodOptional<z.ZodString>;
356
357
  status: z.ZodOptional<z.ZodEnum<["active", "transferred", "graduated", "suspended", "withdrawn"]>>;
357
358
  termId: z.ZodOptional<z.ZodString>;
@@ -361,6 +362,7 @@ declare const listStudentsInputSchema: z.ZodObject<{
361
362
  status?: "active" | "suspended" | "transferred" | "graduated" | "withdrawn" | undefined;
362
363
  branchId?: string | undefined;
363
364
  classId?: string | undefined;
365
+ gradeId?: string | undefined;
364
366
  search?: string | undefined;
365
367
  termId?: string | undefined;
366
368
  }, {
@@ -369,6 +371,7 @@ declare const listStudentsInputSchema: z.ZodObject<{
369
371
  status?: "active" | "suspended" | "transferred" | "graduated" | "withdrawn" | undefined;
370
372
  branchId?: string | undefined;
371
373
  classId?: string | undefined;
374
+ gradeId?: string | undefined;
372
375
  search?: string | undefined;
373
376
  termId?: string | undefined;
374
377
  }>;
@@ -665,6 +668,162 @@ declare const busRegisterEntrySchema: z.ZodObject<{
665
668
  status: "boarded" | "alighted" | "absent";
666
669
  studentId: string;
667
670
  }>;
671
+ declare const vehicleStatusEnum: z.ZodEnum<["active", "in_maintenance", "decommissioned"]>;
672
+ declare const vehicleSchema: z.ZodObject<{
673
+ id: z.ZodString;
674
+ branchId: z.ZodString;
675
+ plateNo: z.ZodString;
676
+ make: z.ZodNullable<z.ZodString>;
677
+ model: z.ZodNullable<z.ZodString>;
678
+ capacity: z.ZodNullable<z.ZodNumber>;
679
+ type: z.ZodEnum<["bus", "van", "pickup", "other"]>;
680
+ ownershipType: z.ZodEnum<["owned", "contracted"]>;
681
+ insuranceExpiry: z.ZodNullable<z.ZodString>;
682
+ inspectionDate: z.ZodNullable<z.ZodString>;
683
+ status: z.ZodEnum<["active", "in_maintenance", "decommissioned"]>;
684
+ driverUserId: z.ZodNullable<z.ZodString>;
685
+ createdAt: z.ZodString;
686
+ }, "strip", z.ZodTypeAny, {
687
+ type: "bus" | "van" | "pickup" | "other";
688
+ status: "active" | "in_maintenance" | "decommissioned";
689
+ id: string;
690
+ branchId: string;
691
+ createdAt: string;
692
+ plateNo: string;
693
+ make: string | null;
694
+ model: string | null;
695
+ capacity: number | null;
696
+ ownershipType: "owned" | "contracted";
697
+ insuranceExpiry: string | null;
698
+ inspectionDate: string | null;
699
+ driverUserId: string | null;
700
+ }, {
701
+ type: "bus" | "van" | "pickup" | "other";
702
+ status: "active" | "in_maintenance" | "decommissioned";
703
+ id: string;
704
+ branchId: string;
705
+ createdAt: string;
706
+ plateNo: string;
707
+ make: string | null;
708
+ model: string | null;
709
+ capacity: number | null;
710
+ ownershipType: "owned" | "contracted";
711
+ insuranceExpiry: string | null;
712
+ inspectionDate: string | null;
713
+ driverUserId: string | null;
714
+ }>;
715
+ declare const routeSchema: z.ZodObject<{
716
+ id: z.ZodString;
717
+ branchId: z.ZodString;
718
+ name: z.ZodString;
719
+ description: z.ZodNullable<z.ZodString>;
720
+ isActive: z.ZodBoolean;
721
+ stops: z.ZodOptional<z.ZodArray<z.ZodObject<{
722
+ id: z.ZodString;
723
+ stopName: z.ZodString;
724
+ stopOrder: z.ZodNumber;
725
+ estimatedTime: z.ZodNullable<z.ZodString>;
726
+ }, "strip", z.ZodTypeAny, {
727
+ id: string;
728
+ stopName: string;
729
+ stopOrder: number;
730
+ estimatedTime: string | null;
731
+ }, {
732
+ id: string;
733
+ stopName: string;
734
+ stopOrder: number;
735
+ estimatedTime: string | null;
736
+ }>, "many">>;
737
+ }, "strip", z.ZodTypeAny, {
738
+ id: string;
739
+ name: string;
740
+ branchId: string;
741
+ isActive: boolean;
742
+ description: string | null;
743
+ stops?: {
744
+ id: string;
745
+ stopName: string;
746
+ stopOrder: number;
747
+ estimatedTime: string | null;
748
+ }[] | undefined;
749
+ }, {
750
+ id: string;
751
+ name: string;
752
+ branchId: string;
753
+ isActive: boolean;
754
+ description: string | null;
755
+ stops?: {
756
+ id: string;
757
+ stopName: string;
758
+ stopOrder: number;
759
+ estimatedTime: string | null;
760
+ }[] | undefined;
761
+ }>;
762
+ declare const tripLogSchema: z.ZodObject<{
763
+ id: z.ZodString;
764
+ branchId: z.ZodString;
765
+ vehicleId: z.ZodString;
766
+ routeId: z.ZodNullable<z.ZodString>;
767
+ driverUserId: z.ZodString;
768
+ departureTime: z.ZodString;
769
+ arrivalTime: z.ZodNullable<z.ZodString>;
770
+ tripType: z.ZodEnum<["morning", "evening", "errand"]>;
771
+ notes: z.ZodNullable<z.ZodString>;
772
+ createdAt: z.ZodString;
773
+ vehicle: z.ZodOptional<z.ZodObject<{
774
+ plateNo: z.ZodString;
775
+ type: z.ZodString;
776
+ }, "strip", z.ZodTypeAny, {
777
+ type: string;
778
+ plateNo: string;
779
+ }, {
780
+ type: string;
781
+ plateNo: string;
782
+ }>>;
783
+ route: z.ZodOptional<z.ZodNullable<z.ZodObject<{
784
+ name: z.ZodString;
785
+ }, "strip", z.ZodTypeAny, {
786
+ name: string;
787
+ }, {
788
+ name: string;
789
+ }>>>;
790
+ }, "strip", z.ZodTypeAny, {
791
+ id: string;
792
+ branchId: string;
793
+ createdAt: string;
794
+ vehicleId: string;
795
+ routeId: string | null;
796
+ departureTime: string;
797
+ tripType: "morning" | "evening" | "errand";
798
+ driverUserId: string;
799
+ arrivalTime: string | null;
800
+ notes: string | null;
801
+ vehicle?: {
802
+ type: string;
803
+ plateNo: string;
804
+ } | undefined;
805
+ route?: {
806
+ name: string;
807
+ } | null | undefined;
808
+ }, {
809
+ id: string;
810
+ branchId: string;
811
+ createdAt: string;
812
+ vehicleId: string;
813
+ routeId: string | null;
814
+ departureTime: string;
815
+ tripType: "morning" | "evening" | "errand";
816
+ driverUserId: string;
817
+ arrivalTime: string | null;
818
+ notes: string | null;
819
+ vehicle?: {
820
+ type: string;
821
+ plateNo: string;
822
+ } | undefined;
823
+ route?: {
824
+ name: string;
825
+ } | null | undefined;
826
+ }>;
668
827
  declare const assetCategoryEnum: z.ZodEnum<["furniture", "lab_equipment", "ict_device", "vehicle", "sports_equipment", "kitchen_equipment", "musical_instrument", "classroom_supply", "library_book", "other"]>;
669
828
  declare const assetConditionEnum: z.ZodEnum<["excellent", "good", "fair", "poor", "condemned"]>;
670
829
  declare const maintenanceTicketStatusEnum: z.ZodEnum<["open", "in_progress", "resolved", "closed"]>;
@@ -694,4 +853,4 @@ declare const sendBulkSmsInputSchema: z.ZodObject<{
694
853
  scheduleAt?: string | undefined;
695
854
  }>;
696
855
 
697
- export { type SystemRole, assessmentScoreInputSchema, assessmentTypeEnum, assetCategoryEnum, assetConditionEnum, borrowingStatusEnum, branchSchema, busRegisterEntrySchema, busRegisterStatusEnum, changePasswordInputSchema, createBranchInputSchema, createStudentInputSchema, dateRangeSchema, disciplineRulingEnum, employmentTypeEnum, feeItemCategoryEnum, feeItemSchema, genderEnum, gradeLevelEnum, guardianSchema, incidentSeverityEnum, incidentStatusEnum, invoiceStatusEnum, leaveRequestInputSchema, leaveStatusEnum, listStudentsInputSchema, loginInputSchema, loginOutputSchema, maintenanceTicketStatusEnum, mfaVerifyInputSchema, notificationTypeEnum, paginationSchema, paymentMethodEnum, payrollRunStatusEnum, recordPaymentInputSchema, refreshInputSchema, refreshTokenOutputSchema, reportCardStatusEnum, rubricBandEnum, sendBulkSmsInputSchema, sponsorSchema, sponsorTypeEnum, staffSchema, studentSchema, studentStatusEnum, subjectSchema, systemRoleEnum, tripLogInputSchema, userSchema, userStatusEnum, uuidSchema, vehicleOwnershipEnum, vehicleTypeEnum };
856
+ export { type SystemRole, assessmentScoreInputSchema, assessmentTypeEnum, assetCategoryEnum, assetConditionEnum, borrowingStatusEnum, branchSchema, busRegisterEntrySchema, busRegisterStatusEnum, changePasswordInputSchema, createBranchInputSchema, createStudentInputSchema, dateRangeSchema, disciplineRulingEnum, employmentTypeEnum, feeItemCategoryEnum, feeItemSchema, genderEnum, gradeLevelEnum, guardianSchema, incidentSeverityEnum, incidentStatusEnum, invoiceStatusEnum, leaveRequestInputSchema, leaveStatusEnum, listStudentsInputSchema, loginInputSchema, loginOutputSchema, maintenanceTicketStatusEnum, mfaVerifyInputSchema, notificationTypeEnum, paginationSchema, paymentMethodEnum, payrollRunStatusEnum, recordPaymentInputSchema, refreshInputSchema, refreshTokenOutputSchema, reportCardStatusEnum, routeSchema, rubricBandEnum, sendBulkSmsInputSchema, sponsorSchema, sponsorTypeEnum, staffSchema, studentSchema, studentStatusEnum, subjectSchema, systemRoleEnum, tripLogInputSchema, tripLogSchema, userSchema, userStatusEnum, uuidSchema, vehicleOwnershipEnum, vehicleSchema, vehicleStatusEnum, vehicleTypeEnum };
@@ -57,6 +57,7 @@ __export(schemas_exports, {
57
57
  refreshInputSchema: () => refreshInputSchema,
58
58
  refreshTokenOutputSchema: () => refreshTokenOutputSchema,
59
59
  reportCardStatusEnum: () => reportCardStatusEnum,
60
+ routeSchema: () => routeSchema,
60
61
  rubricBandEnum: () => rubricBandEnum,
61
62
  sendBulkSmsInputSchema: () => sendBulkSmsInputSchema,
62
63
  sponsorSchema: () => sponsorSchema,
@@ -67,10 +68,13 @@ __export(schemas_exports, {
67
68
  subjectSchema: () => subjectSchema,
68
69
  systemRoleEnum: () => systemRoleEnum,
69
70
  tripLogInputSchema: () => tripLogInputSchema,
71
+ tripLogSchema: () => tripLogSchema,
70
72
  userSchema: () => userSchema,
71
73
  userStatusEnum: () => userStatusEnum,
72
74
  uuidSchema: () => uuidSchema,
73
75
  vehicleOwnershipEnum: () => vehicleOwnershipEnum,
76
+ vehicleSchema: () => vehicleSchema,
77
+ vehicleStatusEnum: () => vehicleStatusEnum,
74
78
  vehicleTypeEnum: () => vehicleTypeEnum
75
79
  });
76
80
  module.exports = __toCommonJS(schemas_exports);
@@ -224,6 +228,7 @@ var createStudentInputSchema = import_zod.z.object({
224
228
  var listStudentsInputSchema = paginationSchema.extend({
225
229
  branchId: uuidSchema.optional(),
226
230
  classId: uuidSchema.optional(),
231
+ gradeId: uuidSchema.optional(),
227
232
  search: import_zod.z.string().optional(),
228
233
  status: studentStatusEnum.optional(),
229
234
  termId: uuidSchema.optional()
@@ -391,6 +396,49 @@ var busRegisterEntrySchema = import_zod.z.object({
391
396
  studentId: uuidSchema,
392
397
  status: busRegisterStatusEnum
393
398
  });
399
+ var vehicleStatusEnum = import_zod.z.enum(["active", "in_maintenance", "decommissioned"]);
400
+ var vehicleSchema = import_zod.z.object({
401
+ id: uuidSchema,
402
+ branchId: uuidSchema,
403
+ plateNo: import_zod.z.string(),
404
+ make: import_zod.z.string().nullable(),
405
+ model: import_zod.z.string().nullable(),
406
+ capacity: import_zod.z.number().nullable(),
407
+ type: vehicleTypeEnum,
408
+ ownershipType: vehicleOwnershipEnum,
409
+ insuranceExpiry: import_zod.z.string().nullable(),
410
+ inspectionDate: import_zod.z.string().nullable(),
411
+ status: vehicleStatusEnum,
412
+ driverUserId: uuidSchema.nullable(),
413
+ createdAt: import_zod.z.string().datetime()
414
+ });
415
+ var routeSchema = import_zod.z.object({
416
+ id: uuidSchema,
417
+ branchId: uuidSchema,
418
+ name: import_zod.z.string(),
419
+ description: import_zod.z.string().nullable(),
420
+ isActive: import_zod.z.boolean(),
421
+ stops: import_zod.z.array(import_zod.z.object({
422
+ id: uuidSchema,
423
+ stopName: import_zod.z.string(),
424
+ stopOrder: import_zod.z.number(),
425
+ estimatedTime: import_zod.z.string().nullable()
426
+ })).optional()
427
+ });
428
+ var tripLogSchema = import_zod.z.object({
429
+ id: uuidSchema,
430
+ branchId: uuidSchema,
431
+ vehicleId: uuidSchema,
432
+ routeId: uuidSchema.nullable(),
433
+ driverUserId: uuidSchema,
434
+ departureTime: import_zod.z.string().datetime(),
435
+ arrivalTime: import_zod.z.string().datetime().nullable(),
436
+ tripType: import_zod.z.enum(["morning", "evening", "errand"]),
437
+ notes: import_zod.z.string().nullable(),
438
+ createdAt: import_zod.z.string().datetime(),
439
+ vehicle: import_zod.z.object({ plateNo: import_zod.z.string(), type: import_zod.z.string() }).optional(),
440
+ route: import_zod.z.object({ name: import_zod.z.string() }).nullable().optional()
441
+ });
394
442
  var assetCategoryEnum = import_zod.z.enum([
395
443
  "furniture",
396
444
  "lab_equipment",
@@ -503,6 +551,7 @@ var sendBulkSmsInputSchema = import_zod.z.object({
503
551
  refreshInputSchema,
504
552
  refreshTokenOutputSchema,
505
553
  reportCardStatusEnum,
554
+ routeSchema,
506
555
  rubricBandEnum,
507
556
  sendBulkSmsInputSchema,
508
557
  sponsorSchema,
@@ -513,10 +562,13 @@ var sendBulkSmsInputSchema = import_zod.z.object({
513
562
  subjectSchema,
514
563
  systemRoleEnum,
515
564
  tripLogInputSchema,
565
+ tripLogSchema,
516
566
  userSchema,
517
567
  userStatusEnum,
518
568
  uuidSchema,
519
569
  vehicleOwnershipEnum,
570
+ vehicleSchema,
571
+ vehicleStatusEnum,
520
572
  vehicleTypeEnum
521
573
  });
522
574
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/schemas/index.ts"],"sourcesContent":["import { z } from \"zod\";\n\n// ─── Primitives ──────────────────────────────────────────────────────────────\n\nexport const uuidSchema = z.string().uuid();\n\nexport const paginationSchema = z.object({\n page: z.number().int().min(1).default(1),\n limit: z.number().int().min(1).max(100).default(20),\n});\n\nexport const dateRangeSchema = z.object({\n from: z.string().datetime().optional(),\n to: z.string().datetime().optional(),\n});\n\n// ─── Enums ───────────────────────────────────────────────────────────────────\n\nexport const genderEnum = z.enum([\"male\", \"female\"]);\n\nexport const userStatusEnum = z.enum([\"active\", \"inactive\", \"suspended\"]);\n\nexport const systemRoleEnum = z.enum([\n \"DIRECTOR\",\n \"PRINCIPAL\",\n \"DEPUTY_PRINCIPAL\",\n \"HOD\",\n \"CLASS_TEACHER\",\n \"SUBJECT_TEACHER\",\n \"BURSAR\",\n \"HR_ADMIN\",\n \"SCHOOL_NURSE\",\n \"LIBRARIAN\",\n \"LAB_TECHNICIAN\",\n \"SPORTS_COACH\",\n \"COUNSELLOR\",\n \"CARETAKER\",\n \"SECURITY\",\n \"KITCHEN_STAFF\",\n \"DRIVER\",\n \"IT_ADMIN\",\n \"STUDENT\",\n \"PARENT\",\n \"ORG_SPONSOR\",\n \"INDIVIDUAL_SPONSOR\",\n]);\n\nexport type SystemRole = z.infer<typeof systemRoleEnum>;\n\n// ─── Auth ─────────────────────────────────────────────────────────────────────\n\nexport const loginInputSchema = z.object({\n email: z.string().email(),\n password: z.string().min(8),\n deviceFingerprint: z.string().optional(),\n});\n\nexport const loginOutputSchema = z.object({\n accessToken: z.string(),\n refreshToken: z.string().optional(),\n user: z.object({\n id: uuidSchema,\n firstName: z.string(),\n middleName: z.string().nullable(),\n lastName: z.string(),\n email: z.string().email(),\n avatarUrl: z.string().nullable(),\n roles: z.array(\n z.object({\n id: uuidSchema,\n name: z.string(),\n branchId: uuidSchema.nullable(),\n }),\n ),\n activeBranchId: uuidSchema.nullable(),\n isMfaEnabled: z.boolean(),\n }),\n});\n\nexport const refreshTokenOutputSchema = z.object({\n accessToken: z.string(),\n});\n\nexport const refreshInputSchema = z.object({\n refreshToken: z.string().optional(),\n});\n\nexport const mfaVerifyInputSchema = z.object({\n totp: z.string().length(6),\n});\n\nexport const changePasswordInputSchema = z.object({\n currentPassword: z.string().min(8),\n newPassword: z.string().min(8),\n});\n\n// ─── User / Profile ───────────────────────────────────────────────────────────\n\nexport const userSchema = z.object({\n id: uuidSchema,\n firstName: z.string(),\n middleName: z.string().nullable(),\n lastName: z.string(),\n email: z.string().email(),\n phone: z.string().nullable(),\n avatarUrl: z.string().nullable(),\n isActive: z.boolean(),\n isMfaEnabled: z.boolean(),\n lastLoginAt: z.string().datetime().nullable(),\n createdAt: z.string().datetime(),\n});\n\n// ─── Branches & Organisation ─────────────────────────────────────────────────\n\nexport const branchSchema = z.object({\n id: uuidSchema,\n name: z.string(),\n code: z.string(),\n address: z.string(),\n county: z.string(),\n phone: z.string().nullable(),\n email: z.string().email().nullable(),\n logoUrl: z.string().nullable(),\n motto: z.string().nullable(),\n principalId: uuidSchema.nullable(),\n mpesaPaybill: z.string().nullable(),\n featureFlags: z.record(z.boolean()),\n createdAt: z.string().datetime(),\n});\n\nexport const createBranchInputSchema = z.object({\n name: z.string().min(2).max(100),\n code: z.string().min(2).max(20),\n address: z.string(),\n county: z.string(),\n phone: z.string().optional(),\n email: z.string().email().optional(),\n motto: z.string().optional(),\n});\n\n// ─── Students ─────────────────────────────────────────────────────────────────\n\nexport const studentStatusEnum = z.enum([\n \"active\",\n \"transferred\",\n \"graduated\",\n \"suspended\",\n \"withdrawn\",\n]);\n\nexport const studentSchema = z.object({\n id: uuidSchema,\n branchId: uuidSchema,\n admissionNo: z.string(),\n nemisNo: z.string().nullable(),\n firstName: z.string(),\n middleName: z.string().nullable(),\n lastName: z.string(),\n dateOfBirth: z.string(),\n gender: genderEnum,\n photoUrl: z.string().nullable(),\n bloodGroup: z.string().nullable(),\n admissionDate: z.string(),\n status: studentStatusEnum,\n currentClassId: uuidSchema.nullable(),\n createdAt: z.string().datetime(),\n});\n\nexport const createStudentInputSchema = z.object({\n admissionNo: z.string().min(1),\n nemisNo: z.string().optional(),\n firstName: z.string().min(1).max(100),\n middleName: z.string().max(100).optional(),\n lastName: z.string().min(1).max(100),\n dateOfBirth: z.string(),\n gender: genderEnum,\n admissionDate: z.string(),\n guardianId: uuidSchema.optional(),\n});\n\nexport const listStudentsInputSchema = paginationSchema.extend({\n branchId: uuidSchema.optional(),\n classId: uuidSchema.optional(),\n search: z.string().optional(),\n status: studentStatusEnum.optional(),\n termId: uuidSchema.optional(),\n});\n\n// ─── Guardian / Sponsor ───────────────────────────────────────────────────────\n\nexport const guardianSchema = z.object({\n id: uuidSchema,\n userId: uuidSchema,\n firstName: z.string(),\n middleName: z.string().nullable(),\n lastName: z.string(),\n relationship: z.string(),\n phone: z.string(),\n email: z.string().email().nullable(),\n nationalId: z.string().nullable(),\n occupation: z.string().nullable(),\n address: z.string().nullable(),\n});\n\nexport const sponsorTypeEnum = z.enum([\"organisation\", \"individual\"]);\n\nexport const sponsorSchema = z.object({\n id: uuidSchema,\n branchId: uuidSchema,\n type: sponsorTypeEnum,\n organisationName: z.string().nullable(),\n firstName: z.string().nullable(),\n middleName: z.string().nullable(),\n lastName: z.string().nullable(),\n contactUserId: uuidSchema.nullable(),\n phone: z.string(),\n email: z.string().email().nullable(),\n address: z.string().nullable(),\n});\n\n// ─── Academics ────────────────────────────────────────────────────────────────\n\nexport const gradeLevelEnum = z.enum([\n \"PP1\",\n \"PP2\",\n \"G1\",\n \"G2\",\n \"G3\",\n \"G4\",\n \"G5\",\n \"G6\",\n \"G7\",\n \"G8\",\n \"G9\",\n]);\n\nexport const assessmentTypeEnum = z.enum([\n \"formative\",\n \"summative\",\n \"knec_national\",\n \"informal\",\n]);\n\nexport const rubricBandEnum = z.enum([\"EE\", \"ME\", \"AE\", \"BE\"]);\n\nexport const subjectSchema = z.object({\n id: uuidSchema,\n branchId: uuidSchema,\n name: z.string(),\n code: z.string(),\n gradeLevel: gradeLevelEnum,\n departmentId: uuidSchema.nullable(),\n});\n\nexport const assessmentScoreInputSchema = z.object({\n assessmentId: uuidSchema,\n studentId: uuidSchema,\n subStrandId: uuidSchema,\n numericScore: z.number().min(0).max(100),\n comments: z.string().optional(),\n});\n\nexport const reportCardStatusEnum = z.enum([\n \"draft\",\n \"hod_review\",\n \"principal_review\",\n \"released\",\n \"blocked\",\n]);\n\n// ─── Finance ──────────────────────────────────────────────────────────────────\n\nexport const feeItemCategoryEnum = z.enum([\n \"compulsory\",\n \"class_specific\",\n \"additive\",\n]);\n\nexport const paymentMethodEnum = z.enum([\n \"mpesa\",\n \"bank\",\n \"card\",\n \"cash\",\n \"cheque\",\n]);\n\nexport const invoiceStatusEnum = z.enum([\n \"draft\",\n \"sent\",\n \"partial\",\n \"paid\",\n \"overdue\",\n \"cancelled\",\n]);\n\nexport const feeItemSchema = z.object({\n id: uuidSchema,\n branchId: uuidSchema,\n name: z.string(),\n category: feeItemCategoryEnum,\n defaultAmount: z.number(),\n applicableGrades: z.array(gradeLevelEnum),\n isActive: z.boolean(),\n});\n\nexport const recordPaymentInputSchema = z.object({\n studentId: uuidSchema,\n invoiceId: uuidSchema,\n amount: z.number().positive(),\n method: paymentMethodEnum,\n reference: z.string().optional(),\n mpesaReceipt: z.string().optional(),\n paymentDate: z.string(),\n});\n\n// ─── HR / Staff ───────────────────────────────────────────────────────────────\n\nexport const employmentTypeEnum = z.enum([\n \"permanent\",\n \"contract\",\n \"temporary\",\n \"intern\",\n]);\n\nexport const staffSchema = z.object({\n id: uuidSchema,\n branchId: uuidSchema,\n userId: uuidSchema,\n firstName: z.string(),\n middleName: z.string().nullable(),\n lastName: z.string(),\n tscNumber: z.string().nullable(),\n nationalId: z.string(),\n kraPin: z.string().nullable(),\n nhifNo: z.string().nullable(),\n nssfNo: z.string().nullable(),\n phone: z.string(),\n departmentId: uuidSchema.nullable(),\n designation: z.string(),\n employmentType: employmentTypeEnum,\n contractStart: z.string(),\n contractEnd: z.string().nullable(),\n basicSalary: z.number(),\n houseAllowance: z.number().default(0),\n transportAllowance: z.number().default(0),\n bankName: z.string().nullable(),\n bankAccount: z.string().nullable(),\n status: userStatusEnum,\n});\n\nexport const leaveStatusEnum = z.enum([\n \"pending\",\n \"approved\",\n \"rejected\",\n \"cancelled\",\n]);\n\nexport const leaveRequestInputSchema = z.object({\n leaveTypeId: uuidSchema,\n startDate: z.string(),\n endDate: z.string(),\n reason: z.string().min(10),\n});\n\n// ─── Transport ────────────────────────────────────────────────────────────────\n\nexport const vehicleOwnershipEnum = z.enum([\"owned\", \"contracted\"]);\n\nexport const vehicleTypeEnum = z.enum([\"bus\", \"van\", \"pickup\", \"other\"]);\n\nexport const busRegisterStatusEnum = z.enum([\"boarded\", \"alighted\", \"absent\"]);\n\nexport const tripLogInputSchema = z.object({\n vehicleId: uuidSchema,\n routeId: uuidSchema,\n departureTime: z.string().datetime(),\n tripType: z.enum([\"morning\", \"evening\", \"errand\"]),\n});\n\nexport const busRegisterEntrySchema = z.object({\n studentId: uuidSchema,\n status: busRegisterStatusEnum,\n});\n\n// ─── Assets ───────────────────────────────────────────────────────────────────\n\nexport const assetCategoryEnum = z.enum([\n \"furniture\",\n \"lab_equipment\",\n \"ict_device\",\n \"vehicle\",\n \"sports_equipment\",\n \"kitchen_equipment\",\n \"musical_instrument\",\n \"classroom_supply\",\n \"library_book\",\n \"other\",\n]);\n\nexport const assetConditionEnum = z.enum([\n \"excellent\",\n \"good\",\n \"fair\",\n \"poor\",\n \"condemned\",\n]);\n\nexport const maintenanceTicketStatusEnum = z.enum([\n \"open\",\n \"in_progress\",\n \"resolved\",\n \"closed\",\n]);\n\n// ─── Library ──────────────────────────────────────────────────────────────────\n\nexport const borrowingStatusEnum = z.enum([\n \"active\",\n \"returned\",\n \"overdue\",\n \"lost\",\n]);\n\n// ─── Discipline ───────────────────────────────────────────────────────────────\n\nexport const incidentSeverityEnum = z.enum([\n \"minor\",\n \"moderate\",\n \"serious\",\n \"critical\",\n]);\n\nexport const incidentStatusEnum = z.enum([\n \"open\",\n \"counsellor_review\",\n \"hod_review\",\n \"principal_ruling\",\n \"resolved\",\n]);\n\nexport const disciplineRulingEnum = z.enum([\n \"verbal_warning\",\n \"written_warning\",\n \"suspension\",\n \"expulsion\",\n \"dismissed\",\n]);\n\n// ─── Payroll ──────────────────────────────────────────────────────────────────\n\nexport const payrollRunStatusEnum = z.enum([\"draft\", \"approved\", \"paid\"]);\n\n// ─── Communications ───────────────────────────────────────────────────────────\n\nexport const notificationTypeEnum = z.enum([\n \"report_card\",\n \"fee_invoice\",\n \"fee_reminder\",\n \"fee_block\",\n \"attendance_absent\",\n \"bus_departed\",\n \"bus_arrived\",\n \"discipline_incident\",\n \"assignment\",\n \"notice\",\n \"leave\",\n \"payslip\",\n]);\n\nexport const sendBulkSmsInputSchema = z.object({\n branchId: uuidSchema,\n message: z.string().min(1).max(160),\n recipientType: z.enum([\"class\", \"grade\", \"whole_school\", \"custom\"]),\n recipientIds: z.array(uuidSchema).optional(),\n scheduleAt: z.string().datetime().optional(),\n});\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../src/schemas/index.ts"],"sourcesContent":["import { z } from \"zod\";\n\n// ─── Primitives ──────────────────────────────────────────────────────────────\n\nexport const uuidSchema = z.string().uuid();\n\nexport const paginationSchema = z.object({\n page: z.number().int().min(1).default(1),\n limit: z.number().int().min(1).max(100).default(20),\n});\n\nexport const dateRangeSchema = z.object({\n from: z.string().datetime().optional(),\n to: z.string().datetime().optional(),\n});\n\n// ─── Enums ───────────────────────────────────────────────────────────────────\n\nexport const genderEnum = z.enum([\"male\", \"female\"]);\n\nexport const userStatusEnum = z.enum([\"active\", \"inactive\", \"suspended\"]);\n\nexport const systemRoleEnum = z.enum([\n \"DIRECTOR\",\n \"PRINCIPAL\",\n \"DEPUTY_PRINCIPAL\",\n \"HOD\",\n \"CLASS_TEACHER\",\n \"SUBJECT_TEACHER\",\n \"BURSAR\",\n \"HR_ADMIN\",\n \"SCHOOL_NURSE\",\n \"LIBRARIAN\",\n \"LAB_TECHNICIAN\",\n \"SPORTS_COACH\",\n \"COUNSELLOR\",\n \"CARETAKER\",\n \"SECURITY\",\n \"KITCHEN_STAFF\",\n \"DRIVER\",\n \"IT_ADMIN\",\n \"STUDENT\",\n \"PARENT\",\n \"ORG_SPONSOR\",\n \"INDIVIDUAL_SPONSOR\",\n]);\n\nexport type SystemRole = z.infer<typeof systemRoleEnum>;\n\n// ─── Auth ─────────────────────────────────────────────────────────────────────\n\nexport const loginInputSchema = z.object({\n email: z.string().email(),\n password: z.string().min(8),\n deviceFingerprint: z.string().optional(),\n});\n\nexport const loginOutputSchema = z.object({\n accessToken: z.string(),\n refreshToken: z.string().optional(),\n user: z.object({\n id: uuidSchema,\n firstName: z.string(),\n middleName: z.string().nullable(),\n lastName: z.string(),\n email: z.string().email(),\n avatarUrl: z.string().nullable(),\n roles: z.array(\n z.object({\n id: uuidSchema,\n name: z.string(),\n branchId: uuidSchema.nullable(),\n }),\n ),\n activeBranchId: uuidSchema.nullable(),\n isMfaEnabled: z.boolean(),\n }),\n});\n\nexport const refreshTokenOutputSchema = z.object({\n accessToken: z.string(),\n});\n\nexport const refreshInputSchema = z.object({\n refreshToken: z.string().optional(),\n});\n\nexport const mfaVerifyInputSchema = z.object({\n totp: z.string().length(6),\n});\n\nexport const changePasswordInputSchema = z.object({\n currentPassword: z.string().min(8),\n newPassword: z.string().min(8),\n});\n\n// ─── User / Profile ───────────────────────────────────────────────────────────\n\nexport const userSchema = z.object({\n id: uuidSchema,\n firstName: z.string(),\n middleName: z.string().nullable(),\n lastName: z.string(),\n email: z.string().email(),\n phone: z.string().nullable(),\n avatarUrl: z.string().nullable(),\n isActive: z.boolean(),\n isMfaEnabled: z.boolean(),\n lastLoginAt: z.string().datetime().nullable(),\n createdAt: z.string().datetime(),\n});\n\n// ─── Branches & Organisation ─────────────────────────────────────────────────\n\nexport const branchSchema = z.object({\n id: uuidSchema,\n name: z.string(),\n code: z.string(),\n address: z.string(),\n county: z.string(),\n phone: z.string().nullable(),\n email: z.string().email().nullable(),\n logoUrl: z.string().nullable(),\n motto: z.string().nullable(),\n principalId: uuidSchema.nullable(),\n mpesaPaybill: z.string().nullable(),\n featureFlags: z.record(z.boolean()),\n createdAt: z.string().datetime(),\n});\n\nexport const createBranchInputSchema = z.object({\n name: z.string().min(2).max(100),\n code: z.string().min(2).max(20),\n address: z.string(),\n county: z.string(),\n phone: z.string().optional(),\n email: z.string().email().optional(),\n motto: z.string().optional(),\n});\n\n// ─── Students ─────────────────────────────────────────────────────────────────\n\nexport const studentStatusEnum = z.enum([\n \"active\",\n \"transferred\",\n \"graduated\",\n \"suspended\",\n \"withdrawn\",\n]);\n\nexport const studentSchema = z.object({\n id: uuidSchema,\n branchId: uuidSchema,\n admissionNo: z.string(),\n nemisNo: z.string().nullable(),\n firstName: z.string(),\n middleName: z.string().nullable(),\n lastName: z.string(),\n dateOfBirth: z.string(),\n gender: genderEnum,\n photoUrl: z.string().nullable(),\n bloodGroup: z.string().nullable(),\n admissionDate: z.string(),\n status: studentStatusEnum,\n currentClassId: uuidSchema.nullable(),\n createdAt: z.string().datetime(),\n});\n\nexport const createStudentInputSchema = z.object({\n admissionNo: z.string().min(1),\n nemisNo: z.string().optional(),\n firstName: z.string().min(1).max(100),\n middleName: z.string().max(100).optional(),\n lastName: z.string().min(1).max(100),\n dateOfBirth: z.string(),\n gender: genderEnum,\n admissionDate: z.string(),\n guardianId: uuidSchema.optional(),\n});\n\nexport const listStudentsInputSchema = paginationSchema.extend({\n branchId: uuidSchema.optional(),\n classId: uuidSchema.optional(),\n gradeId: uuidSchema.optional(),\n search: z.string().optional(),\n status: studentStatusEnum.optional(),\n termId: uuidSchema.optional(),\n});\n\n// ─── Guardian / Sponsor ───────────────────────────────────────────────────────\n\nexport const guardianSchema = z.object({\n id: uuidSchema,\n userId: uuidSchema,\n firstName: z.string(),\n middleName: z.string().nullable(),\n lastName: z.string(),\n relationship: z.string(),\n phone: z.string(),\n email: z.string().email().nullable(),\n nationalId: z.string().nullable(),\n occupation: z.string().nullable(),\n address: z.string().nullable(),\n});\n\nexport const sponsorTypeEnum = z.enum([\"organisation\", \"individual\"]);\n\nexport const sponsorSchema = z.object({\n id: uuidSchema,\n branchId: uuidSchema,\n type: sponsorTypeEnum,\n organisationName: z.string().nullable(),\n firstName: z.string().nullable(),\n middleName: z.string().nullable(),\n lastName: z.string().nullable(),\n contactUserId: uuidSchema.nullable(),\n phone: z.string(),\n email: z.string().email().nullable(),\n address: z.string().nullable(),\n});\n\n// ─── Academics ────────────────────────────────────────────────────────────────\n\nexport const gradeLevelEnum = z.enum([\n \"PP1\",\n \"PP2\",\n \"G1\",\n \"G2\",\n \"G3\",\n \"G4\",\n \"G5\",\n \"G6\",\n \"G7\",\n \"G8\",\n \"G9\",\n]);\n\nexport const assessmentTypeEnum = z.enum([\n \"formative\",\n \"summative\",\n \"knec_national\",\n \"informal\",\n]);\n\nexport const rubricBandEnum = z.enum([\"EE\", \"ME\", \"AE\", \"BE\"]);\n\nexport const subjectSchema = z.object({\n id: uuidSchema,\n branchId: uuidSchema,\n name: z.string(),\n code: z.string(),\n gradeLevel: gradeLevelEnum,\n departmentId: uuidSchema.nullable(),\n});\n\nexport const assessmentScoreInputSchema = z.object({\n assessmentId: uuidSchema,\n studentId: uuidSchema,\n subStrandId: uuidSchema,\n numericScore: z.number().min(0).max(100),\n comments: z.string().optional(),\n});\n\nexport const reportCardStatusEnum = z.enum([\n \"draft\",\n \"hod_review\",\n \"principal_review\",\n \"released\",\n \"blocked\",\n]);\n\n// ─── Finance ──────────────────────────────────────────────────────────────────\n\nexport const feeItemCategoryEnum = z.enum([\n \"compulsory\",\n \"class_specific\",\n \"additive\",\n]);\n\nexport const paymentMethodEnum = z.enum([\n \"mpesa\",\n \"bank\",\n \"card\",\n \"cash\",\n \"cheque\",\n]);\n\nexport const invoiceStatusEnum = z.enum([\n \"draft\",\n \"sent\",\n \"partial\",\n \"paid\",\n \"overdue\",\n \"cancelled\",\n]);\n\nexport const feeItemSchema = z.object({\n id: uuidSchema,\n branchId: uuidSchema,\n name: z.string(),\n category: feeItemCategoryEnum,\n defaultAmount: z.number(),\n applicableGrades: z.array(gradeLevelEnum),\n isActive: z.boolean(),\n});\n\nexport const recordPaymentInputSchema = z.object({\n studentId: uuidSchema,\n invoiceId: uuidSchema,\n amount: z.number().positive(),\n method: paymentMethodEnum,\n reference: z.string().optional(),\n mpesaReceipt: z.string().optional(),\n paymentDate: z.string(),\n});\n\n// ─── HR / Staff ───────────────────────────────────────────────────────────────\n\nexport const employmentTypeEnum = z.enum([\n \"permanent\",\n \"contract\",\n \"temporary\",\n \"intern\",\n]);\n\nexport const staffSchema = z.object({\n id: uuidSchema,\n branchId: uuidSchema,\n userId: uuidSchema,\n firstName: z.string(),\n middleName: z.string().nullable(),\n lastName: z.string(),\n tscNumber: z.string().nullable(),\n nationalId: z.string(),\n kraPin: z.string().nullable(),\n nhifNo: z.string().nullable(),\n nssfNo: z.string().nullable(),\n phone: z.string(),\n departmentId: uuidSchema.nullable(),\n designation: z.string(),\n employmentType: employmentTypeEnum,\n contractStart: z.string(),\n contractEnd: z.string().nullable(),\n basicSalary: z.number(),\n houseAllowance: z.number().default(0),\n transportAllowance: z.number().default(0),\n bankName: z.string().nullable(),\n bankAccount: z.string().nullable(),\n status: userStatusEnum,\n});\n\nexport const leaveStatusEnum = z.enum([\n \"pending\",\n \"approved\",\n \"rejected\",\n \"cancelled\",\n]);\n\nexport const leaveRequestInputSchema = z.object({\n leaveTypeId: uuidSchema,\n startDate: z.string(),\n endDate: z.string(),\n reason: z.string().min(10),\n});\n\n// ─── Transport ────────────────────────────────────────────────────────────────\n\nexport const vehicleOwnershipEnum = z.enum([\"owned\", \"contracted\"]);\n\nexport const vehicleTypeEnum = z.enum([\"bus\", \"van\", \"pickup\", \"other\"]);\n\nexport const busRegisterStatusEnum = z.enum([\"boarded\", \"alighted\", \"absent\"]);\n\nexport const tripLogInputSchema = z.object({\n vehicleId: uuidSchema,\n routeId: uuidSchema,\n departureTime: z.string().datetime(),\n tripType: z.enum([\"morning\", \"evening\", \"errand\"]),\n});\n\nexport const busRegisterEntrySchema = z.object({\n studentId: uuidSchema,\n status: busRegisterStatusEnum,\n});\n\nexport const vehicleStatusEnum = z.enum([\"active\", \"in_maintenance\", \"decommissioned\"]);\n\nexport const vehicleSchema = z.object({\n id: uuidSchema,\n branchId: uuidSchema,\n plateNo: z.string(),\n make: z.string().nullable(),\n model: z.string().nullable(),\n capacity: z.number().nullable(),\n type: vehicleTypeEnum,\n ownershipType: vehicleOwnershipEnum,\n insuranceExpiry: z.string().nullable(),\n inspectionDate: z.string().nullable(),\n status: vehicleStatusEnum,\n driverUserId: uuidSchema.nullable(),\n createdAt: z.string().datetime(),\n});\n\nexport const routeSchema = z.object({\n id: uuidSchema,\n branchId: uuidSchema,\n name: z.string(),\n description: z.string().nullable(),\n isActive: z.boolean(),\n stops: z.array(z.object({\n id: uuidSchema,\n stopName: z.string(),\n stopOrder: z.number(),\n estimatedTime: z.string().nullable(),\n })).optional(),\n});\n\nexport const tripLogSchema = z.object({\n id: uuidSchema,\n branchId: uuidSchema,\n vehicleId: uuidSchema,\n routeId: uuidSchema.nullable(),\n driverUserId: uuidSchema,\n departureTime: z.string().datetime(),\n arrivalTime: z.string().datetime().nullable(),\n tripType: z.enum([\"morning\", \"evening\", \"errand\"]),\n notes: z.string().nullable(),\n createdAt: z.string().datetime(),\n vehicle: z.object({ plateNo: z.string(), type: z.string() }).optional(),\n route: z.object({ name: z.string() }).nullable().optional(),\n});\n\n// ─── Assets ───────────────────────────────────────────────────────────────────\n\nexport const assetCategoryEnum = z.enum([\n \"furniture\",\n \"lab_equipment\",\n \"ict_device\",\n \"vehicle\",\n \"sports_equipment\",\n \"kitchen_equipment\",\n \"musical_instrument\",\n \"classroom_supply\",\n \"library_book\",\n \"other\",\n]);\n\nexport const assetConditionEnum = z.enum([\n \"excellent\",\n \"good\",\n \"fair\",\n \"poor\",\n \"condemned\",\n]);\n\nexport const maintenanceTicketStatusEnum = z.enum([\n \"open\",\n \"in_progress\",\n \"resolved\",\n \"closed\",\n]);\n\n// ─── Library ──────────────────────────────────────────────────────────────────\n\nexport const borrowingStatusEnum = z.enum([\n \"active\",\n \"returned\",\n \"overdue\",\n \"lost\",\n]);\n\n// ─── Discipline ───────────────────────────────────────────────────────────────\n\nexport const incidentSeverityEnum = z.enum([\n \"minor\",\n \"moderate\",\n \"serious\",\n \"critical\",\n]);\n\nexport const incidentStatusEnum = z.enum([\n \"open\",\n \"counsellor_review\",\n \"hod_review\",\n \"principal_ruling\",\n \"resolved\",\n]);\n\nexport const disciplineRulingEnum = z.enum([\n \"verbal_warning\",\n \"written_warning\",\n \"suspension\",\n \"expulsion\",\n \"dismissed\",\n]);\n\n// ─── Payroll ──────────────────────────────────────────────────────────────────\n\nexport const payrollRunStatusEnum = z.enum([\"draft\", \"approved\", \"paid\"]);\n\n// ─── Communications ───────────────────────────────────────────────────────────\n\nexport const notificationTypeEnum = z.enum([\n \"report_card\",\n \"fee_invoice\",\n \"fee_reminder\",\n \"fee_block\",\n \"attendance_absent\",\n \"bus_departed\",\n \"bus_arrived\",\n \"discipline_incident\",\n \"assignment\",\n \"notice\",\n \"leave\",\n \"payslip\",\n]);\n\nexport const sendBulkSmsInputSchema = z.object({\n branchId: uuidSchema,\n message: z.string().min(1).max(160),\n recipientType: z.enum([\"class\", \"grade\", \"whole_school\", \"custom\"]),\n recipientIds: z.array(uuidSchema).optional(),\n scheduleAt: z.string().datetime().optional(),\n});\n"],"mappings":"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","names":[]}
@@ -36,6 +36,7 @@ import {
36
36
  refreshInputSchema,
37
37
  refreshTokenOutputSchema,
38
38
  reportCardStatusEnum,
39
+ routeSchema,
39
40
  rubricBandEnum,
40
41
  sendBulkSmsInputSchema,
41
42
  sponsorSchema,
@@ -46,12 +47,15 @@ import {
46
47
  subjectSchema,
47
48
  systemRoleEnum,
48
49
  tripLogInputSchema,
50
+ tripLogSchema,
49
51
  userSchema,
50
52
  userStatusEnum,
51
53
  uuidSchema,
52
54
  vehicleOwnershipEnum,
55
+ vehicleSchema,
56
+ vehicleStatusEnum,
53
57
  vehicleTypeEnum
54
- } from "../chunk-AECTWOHQ.mjs";
58
+ } from "../chunk-OJCH3PZZ.mjs";
55
59
  export {
56
60
  assessmentScoreInputSchema,
57
61
  assessmentTypeEnum,
@@ -90,6 +94,7 @@ export {
90
94
  refreshInputSchema,
91
95
  refreshTokenOutputSchema,
92
96
  reportCardStatusEnum,
97
+ routeSchema,
93
98
  rubricBandEnum,
94
99
  sendBulkSmsInputSchema,
95
100
  sponsorSchema,
@@ -100,10 +105,13 @@ export {
100
105
  subjectSchema,
101
106
  systemRoleEnum,
102
107
  tripLogInputSchema,
108
+ tripLogSchema,
103
109
  userSchema,
104
110
  userStatusEnum,
105
111
  uuidSchema,
106
112
  vehicleOwnershipEnum,
113
+ vehicleSchema,
114
+ vehicleStatusEnum,
107
115
  vehicleTypeEnum
108
116
  };
109
117
  //# sourceMappingURL=index.mjs.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@brite-future-schools-contracts/contracts",
3
- "version": "1.0.3",
3
+ "version": "1.0.7",
4
4
  "description": "oRPC contracts, Zod schemas and shared TypeScript types for Brite Future Schools",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",