@brite-future-schools-contracts/contracts 1.0.4 → 1.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -58,6 +58,8 @@ __export(src_exports, {
58
58
  listStudentsInputSchema: () => listStudentsInputSchema,
59
59
  loginInputSchema: () => loginInputSchema,
60
60
  loginOutputSchema: () => loginOutputSchema,
61
+ maintenanceRequestSchema: () => maintenanceRequestSchema,
62
+ maintenanceRequestStatusEnum: () => maintenanceRequestStatusEnum,
61
63
  maintenanceTicketStatusEnum: () => maintenanceTicketStatusEnum,
62
64
  mfaVerifyInputSchema: () => mfaVerifyInputSchema,
63
65
  notificationTypeEnum: () => notificationTypeEnum,
@@ -69,6 +71,7 @@ __export(src_exports, {
69
71
  refreshInputSchema: () => refreshInputSchema,
70
72
  refreshTokenOutputSchema: () => refreshTokenOutputSchema,
71
73
  reportCardStatusEnum: () => reportCardStatusEnum,
74
+ routeSchema: () => routeSchema,
72
75
  rubricBandEnum: () => rubricBandEnum,
73
76
  sendBulkSmsInputSchema: () => sendBulkSmsInputSchema,
74
77
  sponsorSchema: () => sponsorSchema,
@@ -80,12 +83,19 @@ __export(src_exports, {
80
83
  studentsContract: () => studentsContract,
81
84
  subjectSchema: () => subjectSchema,
82
85
  systemRoleEnum: () => systemRoleEnum,
86
+ transportAppStatusEnum: () => transportAppStatusEnum,
87
+ transportApplicationSchema: () => transportApplicationSchema,
83
88
  transportContract: () => transportContract,
89
+ tripCategoryEnum: () => tripCategoryEnum,
84
90
  tripLogInputSchema: () => tripLogInputSchema,
91
+ tripLogSchema: () => tripLogSchema,
92
+ tripStatusEnum: () => tripStatusEnum,
85
93
  userSchema: () => userSchema,
86
94
  userStatusEnum: () => userStatusEnum,
87
95
  uuidSchema: () => uuidSchema,
88
96
  vehicleOwnershipEnum: () => vehicleOwnershipEnum,
97
+ vehicleSchema: () => vehicleSchema,
98
+ vehicleStatusEnum: () => vehicleStatusEnum,
89
99
  vehicleTypeEnum: () => vehicleTypeEnum
90
100
  });
91
101
  module.exports = __toCommonJS(src_exports);
@@ -409,6 +419,105 @@ var busRegisterEntrySchema = import_zod.z.object({
409
419
  studentId: uuidSchema,
410
420
  status: busRegisterStatusEnum
411
421
  });
422
+ var vehicleStatusEnum = import_zod.z.enum(["active", "in_maintenance", "decommissioned"]);
423
+ var tripCategoryEnum = import_zod.z.enum(["regular", "special"]);
424
+ var tripStatusEnum = import_zod.z.enum(["scheduled", "in_progress", "completed", "cancelled"]);
425
+ var transportAppStatusEnum = import_zod.z.enum(["pending", "approved", "rejected", "cancelled"]);
426
+ var maintenanceRequestStatusEnum = import_zod.z.enum(["pending", "approved", "rejected", "resolved"]);
427
+ var vehicleSchema = import_zod.z.object({
428
+ id: uuidSchema,
429
+ branchId: uuidSchema,
430
+ plateNo: import_zod.z.string(),
431
+ make: import_zod.z.string().nullable(),
432
+ model: import_zod.z.string().nullable(),
433
+ capacity: import_zod.z.number().nullable(),
434
+ type: import_zod.z.string(),
435
+ ownershipType: vehicleOwnershipEnum,
436
+ insuranceExpiry: import_zod.z.string().nullable(),
437
+ inspectionDate: import_zod.z.string().nullable(),
438
+ status: vehicleStatusEnum,
439
+ driverUserId: uuidSchema.nullable(),
440
+ notes: import_zod.z.string().nullable(),
441
+ createdAt: import_zod.z.string().datetime()
442
+ });
443
+ var routeSchema = import_zod.z.object({
444
+ id: uuidSchema,
445
+ branchId: uuidSchema,
446
+ name: import_zod.z.string(),
447
+ description: import_zod.z.string().nullable(),
448
+ isActive: import_zod.z.boolean(),
449
+ vehicleId: uuidSchema.nullable(),
450
+ routeCategory: import_zod.z.string(),
451
+ departureTime: import_zod.z.string().nullable(),
452
+ returnTime: import_zod.z.string().nullable(),
453
+ fare: import_zod.z.number().nullable(),
454
+ vehicle: import_zod.z.object({ plateNo: import_zod.z.string(), type: import_zod.z.string() }).nullable().optional(),
455
+ stops: import_zod.z.array(import_zod.z.object({
456
+ id: uuidSchema,
457
+ stopName: import_zod.z.string(),
458
+ stopOrder: import_zod.z.number(),
459
+ estimatedTime: import_zod.z.string().nullable()
460
+ })).optional(),
461
+ roster: import_zod.z.array(import_zod.z.object({
462
+ studentId: uuidSchema,
463
+ studentName: import_zod.z.string(),
464
+ admissionNo: import_zod.z.string(),
465
+ pickupStop: import_zod.z.string().nullable(),
466
+ dropoffStop: import_zod.z.string().nullable()
467
+ })).optional()
468
+ });
469
+ var tripLogSchema = import_zod.z.object({
470
+ id: uuidSchema,
471
+ branchId: uuidSchema,
472
+ vehicleId: uuidSchema,
473
+ routeId: uuidSchema.nullable(),
474
+ driverUserId: uuidSchema,
475
+ departureTime: import_zod.z.string().datetime(),
476
+ arrivalTime: import_zod.z.string().datetime().nullable(),
477
+ returnTime: import_zod.z.string().datetime().nullable(),
478
+ tripType: import_zod.z.string(),
479
+ tripCategory: tripCategoryEnum,
480
+ status: tripStatusEnum,
481
+ title: import_zod.z.string().nullable(),
482
+ description: import_zod.z.string().nullable(),
483
+ destination: import_zod.z.string().nullable(),
484
+ expectedStudents: import_zod.z.number().nullable(),
485
+ notes: import_zod.z.string().nullable(),
486
+ createdAt: import_zod.z.string().datetime(),
487
+ vehicle: import_zod.z.object({ plateNo: import_zod.z.string(), type: import_zod.z.string() }).optional(),
488
+ route: import_zod.z.object({ name: import_zod.z.string() }).nullable().optional()
489
+ });
490
+ var maintenanceRequestSchema = import_zod.z.object({
491
+ id: uuidSchema,
492
+ vehicleId: uuidSchema,
493
+ requestedBy: uuidSchema,
494
+ issue: import_zod.z.string(),
495
+ severity: import_zod.z.string(),
496
+ status: maintenanceRequestStatusEnum,
497
+ reviewedBy: uuidSchema.nullable(),
498
+ reviewNotes: import_zod.z.string().nullable(),
499
+ reviewedAt: import_zod.z.string().datetime().nullable(),
500
+ createdAt: import_zod.z.string().datetime(),
501
+ vehiclePlate: import_zod.z.string().optional()
502
+ });
503
+ var transportApplicationSchema = import_zod.z.object({
504
+ id: uuidSchema,
505
+ branchId: uuidSchema,
506
+ studentId: uuidSchema,
507
+ applicationType: import_zod.z.enum(["route", "trip"]),
508
+ routeId: uuidSchema.nullable(),
509
+ tripLogId: uuidSchema.nullable(),
510
+ status: transportAppStatusEnum,
511
+ appliedBy: uuidSchema,
512
+ reviewedBy: uuidSchema.nullable(),
513
+ reviewNotes: import_zod.z.string().nullable(),
514
+ feeItemId: uuidSchema.nullable(),
515
+ invoiceUpdated: import_zod.z.boolean(),
516
+ createdAt: import_zod.z.string().datetime(),
517
+ studentName: import_zod.z.string().optional(),
518
+ routeName: import_zod.z.string().nullable().optional(),
519
+ tripTitle: import_zod.z.string().nullable().optional()
520
+ });
412
521
  var assetCategoryEnum = import_zod.z.enum([
413
522
  "furniture",
414
523
  "lab_equipment",
@@ -940,47 +1049,173 @@ var payrollContract = {
940
1049
  };
941
1050
  var transportContract = {
942
1051
  vehicles: {
943
- list: import_contract.oc.input(import_zod2.z.object({ branchId: uuidSchema })).output(
944
- import_zod2.z.array(
945
- import_zod2.z.object({
946
- id: uuidSchema,
947
- plateNo: import_zod2.z.string(),
948
- type: import_zod2.z.string(),
949
- status: import_zod2.z.string(),
950
- currentTrip: import_zod2.z.any().nullable()
951
- })
952
- )
953
- )
1052
+ list: import_contract.oc.input(import_zod2.z.object({ branchId: uuidSchema })).output(import_zod2.z.array(vehicleSchema)),
1053
+ create: import_contract.oc.input(import_zod2.z.object({
1054
+ branchId: uuidSchema,
1055
+ plateNo: import_zod2.z.string().min(1),
1056
+ type: import_zod2.z.string().min(1),
1057
+ ownershipType: vehicleOwnershipEnum,
1058
+ make: import_zod2.z.string().optional(),
1059
+ model: import_zod2.z.string().optional(),
1060
+ capacity: import_zod2.z.number().int().positive().optional(),
1061
+ insuranceExpiry: import_zod2.z.string().optional(),
1062
+ inspectionDate: import_zod2.z.string().optional(),
1063
+ driverUserId: uuidSchema.optional(),
1064
+ notes: import_zod2.z.string().optional()
1065
+ })).output(vehicleSchema),
1066
+ update: import_contract.oc.input(import_zod2.z.object({
1067
+ id: uuidSchema,
1068
+ plateNo: import_zod2.z.string().optional(),
1069
+ type: import_zod2.z.string().optional(),
1070
+ ownershipType: vehicleOwnershipEnum.optional(),
1071
+ make: import_zod2.z.string().optional(),
1072
+ model: import_zod2.z.string().optional(),
1073
+ capacity: import_zod2.z.number().int().positive().optional(),
1074
+ insuranceExpiry: import_zod2.z.string().optional(),
1075
+ inspectionDate: import_zod2.z.string().optional(),
1076
+ driverUserId: uuidSchema.optional(),
1077
+ notes: import_zod2.z.string().optional()
1078
+ })).output(vehicleSchema),
1079
+ updateStatus: import_contract.oc.input(import_zod2.z.object({ id: uuidSchema, status: vehicleStatusEnum })).output(vehicleSchema)
1080
+ },
1081
+ routes: {
1082
+ list: import_contract.oc.input(import_zod2.z.object({ branchId: uuidSchema })).output(import_zod2.z.array(routeSchema)),
1083
+ get: import_contract.oc.input(import_zod2.z.object({ routeId: uuidSchema })).output(routeSchema),
1084
+ create: import_contract.oc.input(import_zod2.z.object({
1085
+ branchId: uuidSchema,
1086
+ name: import_zod2.z.string().min(1),
1087
+ description: import_zod2.z.string().optional(),
1088
+ vehicleId: uuidSchema.optional(),
1089
+ routeCategory: import_zod2.z.string().optional(),
1090
+ departureTime: import_zod2.z.string().optional(),
1091
+ returnTime: import_zod2.z.string().optional(),
1092
+ fare: import_zod2.z.number().optional(),
1093
+ stops: import_zod2.z.array(import_zod2.z.object({
1094
+ stopName: import_zod2.z.string().min(1),
1095
+ stopOrder: import_zod2.z.number().int(),
1096
+ estimatedTime: import_zod2.z.string().optional()
1097
+ })).optional()
1098
+ })).output(routeSchema),
1099
+ update: import_contract.oc.input(import_zod2.z.object({
1100
+ id: uuidSchema,
1101
+ name: import_zod2.z.string().optional(),
1102
+ description: import_zod2.z.string().optional(),
1103
+ vehicleId: uuidSchema.optional(),
1104
+ routeCategory: import_zod2.z.string().optional(),
1105
+ departureTime: import_zod2.z.string().optional(),
1106
+ returnTime: import_zod2.z.string().optional(),
1107
+ fare: import_zod2.z.number().optional()
1108
+ })).output(routeSchema),
1109
+ toggle: import_contract.oc.input(import_zod2.z.object({ id: uuidSchema, isActive: import_zod2.z.boolean() })).output(import_zod2.z.object({ success: import_zod2.z.boolean() })),
1110
+ roster: import_contract.oc.input(import_zod2.z.object({ routeId: uuidSchema, termId: uuidSchema })).output(import_zod2.z.array(import_zod2.z.object({
1111
+ studentId: uuidSchema,
1112
+ studentName: import_zod2.z.string(),
1113
+ admissionNo: import_zod2.z.string(),
1114
+ pickupStop: import_zod2.z.string().nullable(),
1115
+ dropoffStop: import_zod2.z.string().nullable()
1116
+ }))),
1117
+ enroll: import_contract.oc.input(import_zod2.z.object({
1118
+ studentId: uuidSchema,
1119
+ routeId: uuidSchema,
1120
+ termId: uuidSchema,
1121
+ pickupStopId: uuidSchema.optional(),
1122
+ dropoffStopId: uuidSchema.optional()
1123
+ })).output(import_zod2.z.object({ success: import_zod2.z.boolean() })),
1124
+ unenroll: import_contract.oc.input(import_zod2.z.object({ studentId: uuidSchema, routeId: uuidSchema, termId: uuidSchema })).output(import_zod2.z.object({ success: import_zod2.z.boolean() }))
954
1125
  },
955
1126
  trips: {
956
- start: import_contract.oc.input(tripLogInputSchema).output(import_zod2.z.object({ id: uuidSchema })),
957
- recordBoardings: import_contract.oc.input(
958
- import_zod2.z.object({
959
- tripId: uuidSchema,
960
- entries: import_zod2.z.array(busRegisterEntrySchema)
961
- })
962
- ).output(import_zod2.z.object({ saved: import_zod2.z.number() })),
963
- complete: import_contract.oc.input(
964
- import_zod2.z.object({ tripId: uuidSchema, arrivalTime: import_zod2.z.string().datetime() })
965
- ).output(import_zod2.z.object({ success: import_zod2.z.boolean() })),
966
- reportIncident: import_contract.oc.input(
967
- import_zod2.z.object({
968
- tripId: uuidSchema,
969
- description: import_zod2.z.string(),
970
- severity: incidentSeverityEnum,
971
- location: import_zod2.z.string().optional()
972
- })
973
- ).output(import_zod2.z.object({ id: uuidSchema }))
1127
+ list: import_contract.oc.input(import_zod2.z.object({
1128
+ branchId: uuidSchema,
1129
+ date: import_zod2.z.string().optional(),
1130
+ vehicleId: uuidSchema.optional(),
1131
+ tripCategory: tripCategoryEnum.optional(),
1132
+ status: tripStatusEnum.optional()
1133
+ })).output(import_zod2.z.array(tripLogSchema)),
1134
+ get: import_contract.oc.input(import_zod2.z.object({ tripId: uuidSchema })).output(tripLogSchema.extend({
1135
+ boardings: import_zod2.z.array(import_zod2.z.object({
1136
+ studentId: uuidSchema,
1137
+ studentName: import_zod2.z.string(),
1138
+ status: busRegisterStatusEnum,
1139
+ recordedAt: import_zod2.z.string().datetime()
1140
+ }))
1141
+ })),
1142
+ create: import_contract.oc.input(import_zod2.z.object({
1143
+ branchId: uuidSchema,
1144
+ vehicleId: uuidSchema,
1145
+ routeId: uuidSchema.optional(),
1146
+ tripType: import_zod2.z.string(),
1147
+ tripCategory: tripCategoryEnum,
1148
+ departureTime: import_zod2.z.string().datetime(),
1149
+ returnTime: import_zod2.z.string().datetime().optional(),
1150
+ title: import_zod2.z.string().optional(),
1151
+ description: import_zod2.z.string().optional(),
1152
+ destination: import_zod2.z.string().optional(),
1153
+ expectedStudents: import_zod2.z.number().optional(),
1154
+ notes: import_zod2.z.string().optional()
1155
+ })).output(import_zod2.z.object({ id: uuidSchema })),
1156
+ updateStatus: import_contract.oc.input(import_zod2.z.object({ tripId: uuidSchema, status: tripStatusEnum })).output(import_zod2.z.object({ success: import_zod2.z.boolean() })),
1157
+ complete: import_contract.oc.input(import_zod2.z.object({ tripId: uuidSchema, arrivalTime: import_zod2.z.string().datetime() })).output(import_zod2.z.object({ success: import_zod2.z.boolean() })),
1158
+ recordBoardings: import_contract.oc.input(import_zod2.z.object({
1159
+ tripId: uuidSchema,
1160
+ entries: import_zod2.z.array(busRegisterEntrySchema)
1161
+ })).output(import_zod2.z.object({ saved: import_zod2.z.number() })),
1162
+ reportIncident: import_contract.oc.input(import_zod2.z.object({
1163
+ tripId: uuidSchema,
1164
+ description: import_zod2.z.string(),
1165
+ severity: incidentSeverityEnum,
1166
+ location: import_zod2.z.string().optional()
1167
+ })).output(import_zod2.z.object({ id: uuidSchema })),
1168
+ enrollStudent: import_contract.oc.input(import_zod2.z.object({ tripId: uuidSchema, studentId: uuidSchema })).output(import_zod2.z.object({ success: import_zod2.z.boolean() })),
1169
+ unenrollStudent: import_contract.oc.input(import_zod2.z.object({ tripId: uuidSchema, studentId: uuidSchema })).output(import_zod2.z.object({ success: import_zod2.z.boolean() })),
1170
+ listEnrolled: import_contract.oc.input(import_zod2.z.object({ tripId: uuidSchema })).output(import_zod2.z.array(import_zod2.z.object({
1171
+ studentId: uuidSchema,
1172
+ studentName: import_zod2.z.string(),
1173
+ admissionNo: import_zod2.z.string(),
1174
+ status: busRegisterStatusEnum.nullable()
1175
+ })))
974
1176
  },
975
1177
  maintenance: {
976
- log: import_contract.oc.input(
977
- import_zod2.z.object({
978
- vehicleId: uuidSchema,
979
- issue: import_zod2.z.string(),
980
- severity: import_zod2.z.enum(["routine", "urgent", "critical"])
981
- })
982
- ).output(import_zod2.z.object({ id: uuidSchema })),
983
- list: import_contract.oc.input(import_zod2.z.object({ vehicleId: uuidSchema })).output(import_zod2.z.array(import_zod2.z.any()))
1178
+ submit: import_contract.oc.input(import_zod2.z.object({
1179
+ vehicleId: uuidSchema,
1180
+ issue: import_zod2.z.string().min(5),
1181
+ severity: import_zod2.z.enum(["routine", "urgent", "critical"])
1182
+ })).output(import_zod2.z.object({ id: uuidSchema })),
1183
+ list: import_contract.oc.input(import_zod2.z.object({
1184
+ branchId: uuidSchema,
1185
+ vehicleId: uuidSchema.optional(),
1186
+ status: maintenanceRequestStatusEnum.optional()
1187
+ })).output(import_zod2.z.array(maintenanceRequestSchema)),
1188
+ review: import_contract.oc.input(import_zod2.z.object({
1189
+ id: uuidSchema,
1190
+ approved: import_zod2.z.boolean(),
1191
+ reviewNotes: import_zod2.z.string().optional()
1192
+ })).output(import_zod2.z.object({ success: import_zod2.z.boolean() })),
1193
+ resolve: import_contract.oc.input(import_zod2.z.object({
1194
+ id: uuidSchema,
1195
+ notes: import_zod2.z.string().optional(),
1196
+ cost: import_zod2.z.number().optional()
1197
+ })).output(import_zod2.z.object({ success: import_zod2.z.boolean() }))
1198
+ },
1199
+ applications: {
1200
+ list: import_contract.oc.input(import_zod2.z.object({
1201
+ branchId: uuidSchema,
1202
+ status: transportAppStatusEnum.optional(),
1203
+ applicationType: import_zod2.z.enum(["route", "trip"]).optional()
1204
+ })).output(import_zod2.z.array(transportApplicationSchema)),
1205
+ apply: import_contract.oc.input(import_zod2.z.object({
1206
+ branchId: uuidSchema,
1207
+ studentId: uuidSchema,
1208
+ applicationType: import_zod2.z.enum(["route", "trip"]),
1209
+ routeId: uuidSchema.optional(),
1210
+ tripLogId: uuidSchema.optional(),
1211
+ feeItemId: uuidSchema.optional()
1212
+ })).output(import_zod2.z.object({ id: uuidSchema })),
1213
+ review: import_contract.oc.input(import_zod2.z.object({
1214
+ id: uuidSchema,
1215
+ approved: import_zod2.z.boolean(),
1216
+ reviewNotes: import_zod2.z.string().optional(),
1217
+ updateInvoice: import_zod2.z.boolean().optional()
1218
+ })).output(import_zod2.z.object({ success: import_zod2.z.boolean() }))
984
1219
  }
985
1220
  };
986
1221
  var assetsContract = {
@@ -1262,6 +1497,8 @@ var appContract = {
1262
1497
  listStudentsInputSchema,
1263
1498
  loginInputSchema,
1264
1499
  loginOutputSchema,
1500
+ maintenanceRequestSchema,
1501
+ maintenanceRequestStatusEnum,
1265
1502
  maintenanceTicketStatusEnum,
1266
1503
  mfaVerifyInputSchema,
1267
1504
  notificationTypeEnum,
@@ -1273,6 +1510,7 @@ var appContract = {
1273
1510
  refreshInputSchema,
1274
1511
  refreshTokenOutputSchema,
1275
1512
  reportCardStatusEnum,
1513
+ routeSchema,
1276
1514
  rubricBandEnum,
1277
1515
  sendBulkSmsInputSchema,
1278
1516
  sponsorSchema,
@@ -1284,12 +1522,19 @@ var appContract = {
1284
1522
  studentsContract,
1285
1523
  subjectSchema,
1286
1524
  systemRoleEnum,
1525
+ transportAppStatusEnum,
1526
+ transportApplicationSchema,
1287
1527
  transportContract,
1528
+ tripCategoryEnum,
1288
1529
  tripLogInputSchema,
1530
+ tripLogSchema,
1531
+ tripStatusEnum,
1289
1532
  userSchema,
1290
1533
  userStatusEnum,
1291
1534
  uuidSchema,
1292
1535
  vehicleOwnershipEnum,
1536
+ vehicleSchema,
1537
+ vehicleStatusEnum,
1293
1538
  vehicleTypeEnum
1294
1539
  });
1295
1540
  //# sourceMappingURL=index.js.map