@brite-future-schools-contracts/contracts 2.0.2 → 2.0.3
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/chunk-3OMU2YSE.js +478 -0
- package/dist/chunk-3OMU2YSE.js.map +1 -0
- package/dist/chunk-R4XE3SFR.js +1 -0
- package/dist/chunk-S3BK5YEH.js +131 -0
- package/dist/chunk-S3BK5YEH.js.map +1 -0
- package/dist/contracts/index.cjs +415 -2
- package/dist/contracts/index.cjs.map +1 -1
- package/dist/contracts/index.d.cts +941 -1
- package/dist/contracts/index.d.ts +941 -1
- package/dist/contracts/index.js +32 -4
- package/dist/index.cjs +457 -4
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +77 -5
- package/dist/schemas/index.cjs +373 -0
- package/dist/schemas/index.cjs.map +1 -1
- package/dist/schemas/index.d.cts +564 -1
- package/dist/schemas/index.d.ts +564 -1
- package/dist/schemas/index.js +46 -2
- package/package.json +1 -1
- package/dist/chunk-AEZO7MJD.js +0 -127
- package/dist/chunk-AEZO7MJD.js.map +0 -1
- package/dist/chunk-IR6JUP6L.js +0 -48
- package/dist/chunk-IR6JUP6L.js.map +0 -1
- package/dist/chunk-PCHAGP5X.js +0 -1
- /package/dist/{chunk-PCHAGP5X.js.map → chunk-R4XE3SFR.js.map} +0 -0
package/dist/schemas/index.d.cts
CHANGED
|
@@ -142,4 +142,567 @@ type RefreshTokenOutput = z.infer<typeof RefreshTokenOutputSchema>;
|
|
|
142
142
|
type ChangePasswordInput = z.infer<typeof ChangePasswordInputSchema>;
|
|
143
143
|
type SwitchBranchInput = z.infer<typeof SwitchBranchInputSchema>;
|
|
144
144
|
|
|
145
|
-
|
|
145
|
+
/**
|
|
146
|
+
* Brite Future Schools — bfs-contracts
|
|
147
|
+
* HR domain Zod schemas — staff creation, listing, and profiles.
|
|
148
|
+
*
|
|
149
|
+
* Phase History:
|
|
150
|
+
* Phase 1 (2026-06-07): Initial creation — staff.create, staff.list,
|
|
151
|
+
* staff.getById wire types
|
|
152
|
+
*
|
|
153
|
+
* @module src/schemas/hr
|
|
154
|
+
* @since Phase 1
|
|
155
|
+
*/
|
|
156
|
+
|
|
157
|
+
declare const EmploymentTypeSchema: z.ZodEnum<{
|
|
158
|
+
permanent: "permanent";
|
|
159
|
+
contract: "contract";
|
|
160
|
+
temporary: "temporary";
|
|
161
|
+
intern: "intern";
|
|
162
|
+
}>;
|
|
163
|
+
declare const RoleNameSchema: z.ZodEnum<{
|
|
164
|
+
PROPRIETOR: "PROPRIETOR";
|
|
165
|
+
DIRECTOR: "DIRECTOR";
|
|
166
|
+
SYSTEM_ADMIN: "SYSTEM_ADMIN";
|
|
167
|
+
PRINCIPAL: "PRINCIPAL";
|
|
168
|
+
DEPUTY_PRINCIPAL: "DEPUTY_PRINCIPAL";
|
|
169
|
+
HOD: "HOD";
|
|
170
|
+
CLASS_TEACHER: "CLASS_TEACHER";
|
|
171
|
+
SUBJECT_TEACHER: "SUBJECT_TEACHER";
|
|
172
|
+
BURSAR: "BURSAR";
|
|
173
|
+
HR_ADMIN: "HR_ADMIN";
|
|
174
|
+
SCHOOL_NURSE: "SCHOOL_NURSE";
|
|
175
|
+
LIBRARIAN: "LIBRARIAN";
|
|
176
|
+
LAB_TECHNICIAN: "LAB_TECHNICIAN";
|
|
177
|
+
SPORTS_COACH: "SPORTS_COACH";
|
|
178
|
+
COUNSELLOR: "COUNSELLOR";
|
|
179
|
+
CARETAKER: "CARETAKER";
|
|
180
|
+
SECURITY: "SECURITY";
|
|
181
|
+
KITCHEN_STAFF: "KITCHEN_STAFF";
|
|
182
|
+
KITCHEN_MANAGER: "KITCHEN_MANAGER";
|
|
183
|
+
DRIVER: "DRIVER";
|
|
184
|
+
IT_ADMIN: "IT_ADMIN";
|
|
185
|
+
BOARDING_MASTER: "BOARDING_MASTER";
|
|
186
|
+
PREFECT: "PREFECT";
|
|
187
|
+
STUDENT: "STUDENT";
|
|
188
|
+
PARENT: "PARENT";
|
|
189
|
+
ORG_SPONSOR: "ORG_SPONSOR";
|
|
190
|
+
INDIVIDUAL_SPONSOR: "INDIVIDUAL_SPONSOR";
|
|
191
|
+
}>;
|
|
192
|
+
declare const CreateStaffInputSchema: z.ZodObject<{
|
|
193
|
+
firstName: z.ZodString;
|
|
194
|
+
middleName: z.ZodOptional<z.ZodString>;
|
|
195
|
+
lastName: z.ZodString;
|
|
196
|
+
email: z.ZodEmail;
|
|
197
|
+
phone: z.ZodString;
|
|
198
|
+
nationalId: z.ZodString;
|
|
199
|
+
roleName: z.ZodEnum<{
|
|
200
|
+
PROPRIETOR: "PROPRIETOR";
|
|
201
|
+
DIRECTOR: "DIRECTOR";
|
|
202
|
+
SYSTEM_ADMIN: "SYSTEM_ADMIN";
|
|
203
|
+
PRINCIPAL: "PRINCIPAL";
|
|
204
|
+
DEPUTY_PRINCIPAL: "DEPUTY_PRINCIPAL";
|
|
205
|
+
HOD: "HOD";
|
|
206
|
+
CLASS_TEACHER: "CLASS_TEACHER";
|
|
207
|
+
SUBJECT_TEACHER: "SUBJECT_TEACHER";
|
|
208
|
+
BURSAR: "BURSAR";
|
|
209
|
+
HR_ADMIN: "HR_ADMIN";
|
|
210
|
+
SCHOOL_NURSE: "SCHOOL_NURSE";
|
|
211
|
+
LIBRARIAN: "LIBRARIAN";
|
|
212
|
+
LAB_TECHNICIAN: "LAB_TECHNICIAN";
|
|
213
|
+
SPORTS_COACH: "SPORTS_COACH";
|
|
214
|
+
COUNSELLOR: "COUNSELLOR";
|
|
215
|
+
CARETAKER: "CARETAKER";
|
|
216
|
+
SECURITY: "SECURITY";
|
|
217
|
+
KITCHEN_STAFF: "KITCHEN_STAFF";
|
|
218
|
+
KITCHEN_MANAGER: "KITCHEN_MANAGER";
|
|
219
|
+
DRIVER: "DRIVER";
|
|
220
|
+
IT_ADMIN: "IT_ADMIN";
|
|
221
|
+
BOARDING_MASTER: "BOARDING_MASTER";
|
|
222
|
+
PREFECT: "PREFECT";
|
|
223
|
+
STUDENT: "STUDENT";
|
|
224
|
+
PARENT: "PARENT";
|
|
225
|
+
ORG_SPONSOR: "ORG_SPONSOR";
|
|
226
|
+
INDIVIDUAL_SPONSOR: "INDIVIDUAL_SPONSOR";
|
|
227
|
+
}>;
|
|
228
|
+
isPrimaryRole: z.ZodDefault<z.ZodBoolean>;
|
|
229
|
+
departmentId: z.ZodOptional<z.ZodUUID>;
|
|
230
|
+
designation: z.ZodString;
|
|
231
|
+
employmentType: z.ZodEnum<{
|
|
232
|
+
permanent: "permanent";
|
|
233
|
+
contract: "contract";
|
|
234
|
+
temporary: "temporary";
|
|
235
|
+
intern: "intern";
|
|
236
|
+
}>;
|
|
237
|
+
contractStart: z.ZodISODate;
|
|
238
|
+
contractEnd: z.ZodOptional<z.ZodISODate>;
|
|
239
|
+
basicSalary: z.ZodNumber;
|
|
240
|
+
houseAllowance: z.ZodDefault<z.ZodNumber>;
|
|
241
|
+
transportAllowance: z.ZodDefault<z.ZodNumber>;
|
|
242
|
+
helbDeduction: z.ZodDefault<z.ZodNumber>;
|
|
243
|
+
saccoDeduction: z.ZodDefault<z.ZodNumber>;
|
|
244
|
+
bankName: z.ZodOptional<z.ZodString>;
|
|
245
|
+
bankAccount: z.ZodOptional<z.ZodString>;
|
|
246
|
+
bankBranch: z.ZodOptional<z.ZodString>;
|
|
247
|
+
tscNumber: z.ZodOptional<z.ZodString>;
|
|
248
|
+
kraPin: z.ZodOptional<z.ZodString>;
|
|
249
|
+
nhifNo: z.ZodOptional<z.ZodString>;
|
|
250
|
+
nssfNo: z.ZodOptional<z.ZodString>;
|
|
251
|
+
}, z.core.$strip>;
|
|
252
|
+
type CreateStaffInput = z.infer<typeof CreateStaffInputSchema>;
|
|
253
|
+
declare const StaffProfileSchema: z.ZodObject<{
|
|
254
|
+
id: z.ZodUUID;
|
|
255
|
+
userId: z.ZodUUID;
|
|
256
|
+
branchId: z.ZodUUID;
|
|
257
|
+
firstName: z.ZodString;
|
|
258
|
+
middleName: z.ZodNullable<z.ZodString>;
|
|
259
|
+
lastName: z.ZodString;
|
|
260
|
+
phone: z.ZodString;
|
|
261
|
+
nationalId: z.ZodString;
|
|
262
|
+
tscNumber: z.ZodNullable<z.ZodString>;
|
|
263
|
+
kraPin: z.ZodNullable<z.ZodString>;
|
|
264
|
+
nhifNo: z.ZodNullable<z.ZodString>;
|
|
265
|
+
nssfNo: z.ZodNullable<z.ZodString>;
|
|
266
|
+
designation: z.ZodString;
|
|
267
|
+
employmentType: z.ZodEnum<{
|
|
268
|
+
permanent: "permanent";
|
|
269
|
+
contract: "contract";
|
|
270
|
+
temporary: "temporary";
|
|
271
|
+
intern: "intern";
|
|
272
|
+
}>;
|
|
273
|
+
contractStart: z.ZodString;
|
|
274
|
+
contractEnd: z.ZodNullable<z.ZodString>;
|
|
275
|
+
basicSalary: z.ZodString;
|
|
276
|
+
houseAllowance: z.ZodString;
|
|
277
|
+
transportAllowance: z.ZodString;
|
|
278
|
+
helbDeduction: z.ZodNullable<z.ZodString>;
|
|
279
|
+
saccoDeduction: z.ZodNullable<z.ZodString>;
|
|
280
|
+
bankName: z.ZodNullable<z.ZodString>;
|
|
281
|
+
bankAccount: z.ZodNullable<z.ZodString>;
|
|
282
|
+
bankBranch: z.ZodNullable<z.ZodString>;
|
|
283
|
+
status: z.ZodString;
|
|
284
|
+
createdAt: z.ZodString;
|
|
285
|
+
email: z.ZodString;
|
|
286
|
+
mustChangePassword: z.ZodBoolean;
|
|
287
|
+
departmentId: z.ZodNullable<z.ZodUUID>;
|
|
288
|
+
departmentName: z.ZodNullable<z.ZodString>;
|
|
289
|
+
roleName: z.ZodNullable<z.ZodEnum<{
|
|
290
|
+
PROPRIETOR: "PROPRIETOR";
|
|
291
|
+
DIRECTOR: "DIRECTOR";
|
|
292
|
+
SYSTEM_ADMIN: "SYSTEM_ADMIN";
|
|
293
|
+
PRINCIPAL: "PRINCIPAL";
|
|
294
|
+
DEPUTY_PRINCIPAL: "DEPUTY_PRINCIPAL";
|
|
295
|
+
HOD: "HOD";
|
|
296
|
+
CLASS_TEACHER: "CLASS_TEACHER";
|
|
297
|
+
SUBJECT_TEACHER: "SUBJECT_TEACHER";
|
|
298
|
+
BURSAR: "BURSAR";
|
|
299
|
+
HR_ADMIN: "HR_ADMIN";
|
|
300
|
+
SCHOOL_NURSE: "SCHOOL_NURSE";
|
|
301
|
+
LIBRARIAN: "LIBRARIAN";
|
|
302
|
+
LAB_TECHNICIAN: "LAB_TECHNICIAN";
|
|
303
|
+
SPORTS_COACH: "SPORTS_COACH";
|
|
304
|
+
COUNSELLOR: "COUNSELLOR";
|
|
305
|
+
CARETAKER: "CARETAKER";
|
|
306
|
+
SECURITY: "SECURITY";
|
|
307
|
+
KITCHEN_STAFF: "KITCHEN_STAFF";
|
|
308
|
+
KITCHEN_MANAGER: "KITCHEN_MANAGER";
|
|
309
|
+
DRIVER: "DRIVER";
|
|
310
|
+
IT_ADMIN: "IT_ADMIN";
|
|
311
|
+
BOARDING_MASTER: "BOARDING_MASTER";
|
|
312
|
+
PREFECT: "PREFECT";
|
|
313
|
+
STUDENT: "STUDENT";
|
|
314
|
+
PARENT: "PARENT";
|
|
315
|
+
ORG_SPONSOR: "ORG_SPONSOR";
|
|
316
|
+
INDIVIDUAL_SPONSOR: "INDIVIDUAL_SPONSOR";
|
|
317
|
+
}>>;
|
|
318
|
+
roleId: z.ZodNullable<z.ZodUUID>;
|
|
319
|
+
}, z.core.$strip>;
|
|
320
|
+
type StaffProfile = z.infer<typeof StaffProfileSchema>;
|
|
321
|
+
declare const StaffListItemSchema: z.ZodObject<{
|
|
322
|
+
id: z.ZodUUID;
|
|
323
|
+
userId: z.ZodUUID;
|
|
324
|
+
firstName: z.ZodString;
|
|
325
|
+
middleName: z.ZodNullable<z.ZodString>;
|
|
326
|
+
lastName: z.ZodString;
|
|
327
|
+
email: z.ZodString;
|
|
328
|
+
phone: z.ZodString;
|
|
329
|
+
designation: z.ZodString;
|
|
330
|
+
employmentType: z.ZodEnum<{
|
|
331
|
+
permanent: "permanent";
|
|
332
|
+
contract: "contract";
|
|
333
|
+
temporary: "temporary";
|
|
334
|
+
intern: "intern";
|
|
335
|
+
}>;
|
|
336
|
+
status: z.ZodString;
|
|
337
|
+
departmentName: z.ZodNullable<z.ZodString>;
|
|
338
|
+
roleName: z.ZodNullable<z.ZodEnum<{
|
|
339
|
+
PROPRIETOR: "PROPRIETOR";
|
|
340
|
+
DIRECTOR: "DIRECTOR";
|
|
341
|
+
SYSTEM_ADMIN: "SYSTEM_ADMIN";
|
|
342
|
+
PRINCIPAL: "PRINCIPAL";
|
|
343
|
+
DEPUTY_PRINCIPAL: "DEPUTY_PRINCIPAL";
|
|
344
|
+
HOD: "HOD";
|
|
345
|
+
CLASS_TEACHER: "CLASS_TEACHER";
|
|
346
|
+
SUBJECT_TEACHER: "SUBJECT_TEACHER";
|
|
347
|
+
BURSAR: "BURSAR";
|
|
348
|
+
HR_ADMIN: "HR_ADMIN";
|
|
349
|
+
SCHOOL_NURSE: "SCHOOL_NURSE";
|
|
350
|
+
LIBRARIAN: "LIBRARIAN";
|
|
351
|
+
LAB_TECHNICIAN: "LAB_TECHNICIAN";
|
|
352
|
+
SPORTS_COACH: "SPORTS_COACH";
|
|
353
|
+
COUNSELLOR: "COUNSELLOR";
|
|
354
|
+
CARETAKER: "CARETAKER";
|
|
355
|
+
SECURITY: "SECURITY";
|
|
356
|
+
KITCHEN_STAFF: "KITCHEN_STAFF";
|
|
357
|
+
KITCHEN_MANAGER: "KITCHEN_MANAGER";
|
|
358
|
+
DRIVER: "DRIVER";
|
|
359
|
+
IT_ADMIN: "IT_ADMIN";
|
|
360
|
+
BOARDING_MASTER: "BOARDING_MASTER";
|
|
361
|
+
PREFECT: "PREFECT";
|
|
362
|
+
STUDENT: "STUDENT";
|
|
363
|
+
PARENT: "PARENT";
|
|
364
|
+
ORG_SPONSOR: "ORG_SPONSOR";
|
|
365
|
+
INDIVIDUAL_SPONSOR: "INDIVIDUAL_SPONSOR";
|
|
366
|
+
}>>;
|
|
367
|
+
createdAt: z.ZodString;
|
|
368
|
+
}, z.core.$strip>;
|
|
369
|
+
type StaffListItem = z.infer<typeof StaffListItemSchema>;
|
|
370
|
+
declare const ListStaffInputSchema: z.ZodObject<{
|
|
371
|
+
cursor: z.ZodOptional<z.ZodString>;
|
|
372
|
+
limit: z.ZodDefault<z.ZodInt>;
|
|
373
|
+
search: z.ZodOptional<z.ZodString>;
|
|
374
|
+
departmentId: z.ZodOptional<z.ZodUUID>;
|
|
375
|
+
roleName: z.ZodOptional<z.ZodEnum<{
|
|
376
|
+
PROPRIETOR: "PROPRIETOR";
|
|
377
|
+
DIRECTOR: "DIRECTOR";
|
|
378
|
+
SYSTEM_ADMIN: "SYSTEM_ADMIN";
|
|
379
|
+
PRINCIPAL: "PRINCIPAL";
|
|
380
|
+
DEPUTY_PRINCIPAL: "DEPUTY_PRINCIPAL";
|
|
381
|
+
HOD: "HOD";
|
|
382
|
+
CLASS_TEACHER: "CLASS_TEACHER";
|
|
383
|
+
SUBJECT_TEACHER: "SUBJECT_TEACHER";
|
|
384
|
+
BURSAR: "BURSAR";
|
|
385
|
+
HR_ADMIN: "HR_ADMIN";
|
|
386
|
+
SCHOOL_NURSE: "SCHOOL_NURSE";
|
|
387
|
+
LIBRARIAN: "LIBRARIAN";
|
|
388
|
+
LAB_TECHNICIAN: "LAB_TECHNICIAN";
|
|
389
|
+
SPORTS_COACH: "SPORTS_COACH";
|
|
390
|
+
COUNSELLOR: "COUNSELLOR";
|
|
391
|
+
CARETAKER: "CARETAKER";
|
|
392
|
+
SECURITY: "SECURITY";
|
|
393
|
+
KITCHEN_STAFF: "KITCHEN_STAFF";
|
|
394
|
+
KITCHEN_MANAGER: "KITCHEN_MANAGER";
|
|
395
|
+
DRIVER: "DRIVER";
|
|
396
|
+
IT_ADMIN: "IT_ADMIN";
|
|
397
|
+
BOARDING_MASTER: "BOARDING_MASTER";
|
|
398
|
+
PREFECT: "PREFECT";
|
|
399
|
+
STUDENT: "STUDENT";
|
|
400
|
+
PARENT: "PARENT";
|
|
401
|
+
ORG_SPONSOR: "ORG_SPONSOR";
|
|
402
|
+
INDIVIDUAL_SPONSOR: "INDIVIDUAL_SPONSOR";
|
|
403
|
+
}>>;
|
|
404
|
+
status: z.ZodOptional<z.ZodEnum<{
|
|
405
|
+
active: "active";
|
|
406
|
+
inactive: "inactive";
|
|
407
|
+
}>>;
|
|
408
|
+
}, z.core.$strip>;
|
|
409
|
+
type ListStaffInput = z.infer<typeof ListStaffInputSchema>;
|
|
410
|
+
declare const CreateStaffOutputSchema: z.ZodObject<{
|
|
411
|
+
staffId: z.ZodUUID;
|
|
412
|
+
userId: z.ZodUUID;
|
|
413
|
+
email: z.ZodString;
|
|
414
|
+
emailSent: z.ZodBoolean;
|
|
415
|
+
}, z.core.$strip>;
|
|
416
|
+
type CreateStaffOutput = z.infer<typeof CreateStaffOutputSchema>;
|
|
417
|
+
declare const DepartmentSchema: z.ZodObject<{
|
|
418
|
+
id: z.ZodUUID;
|
|
419
|
+
branchId: z.ZodUUID;
|
|
420
|
+
name: z.ZodString;
|
|
421
|
+
hodId: z.ZodNullable<z.ZodUUID>;
|
|
422
|
+
}, z.core.$strip>;
|
|
423
|
+
type Department = z.infer<typeof DepartmentSchema>;
|
|
424
|
+
declare const CreateDepartmentInputSchema: z.ZodObject<{
|
|
425
|
+
name: z.ZodString;
|
|
426
|
+
hodId: z.ZodOptional<z.ZodUUID>;
|
|
427
|
+
}, z.core.$strip>;
|
|
428
|
+
type CreateDepartmentInput = z.infer<typeof CreateDepartmentInputSchema>;
|
|
429
|
+
|
|
430
|
+
/**
|
|
431
|
+
* Brite Future Schools — bfs-contracts
|
|
432
|
+
* Students domain Zod schemas.
|
|
433
|
+
*
|
|
434
|
+
* Phase History:
|
|
435
|
+
* Phase 1 (2026-06-07): Initial creation — student create, list,
|
|
436
|
+
* bulk upload, guardian linkage
|
|
437
|
+
*
|
|
438
|
+
* @module src/schemas/students
|
|
439
|
+
* @since Phase 1
|
|
440
|
+
*/
|
|
441
|
+
|
|
442
|
+
declare const GenderSchema: z.ZodEnum<{
|
|
443
|
+
male: "male";
|
|
444
|
+
female: "female";
|
|
445
|
+
}>;
|
|
446
|
+
declare const StudentStatusSchema: z.ZodEnum<{
|
|
447
|
+
active: "active";
|
|
448
|
+
transferred: "transferred";
|
|
449
|
+
graduated: "graduated";
|
|
450
|
+
suspended: "suspended";
|
|
451
|
+
withdrawn: "withdrawn";
|
|
452
|
+
}>;
|
|
453
|
+
declare const GradeLevelSchema: z.ZodEnum<{
|
|
454
|
+
PP1: "PP1";
|
|
455
|
+
PP2: "PP2";
|
|
456
|
+
G1: "G1";
|
|
457
|
+
G2: "G2";
|
|
458
|
+
G3: "G3";
|
|
459
|
+
G4: "G4";
|
|
460
|
+
G5: "G5";
|
|
461
|
+
G6: "G6";
|
|
462
|
+
G7: "G7";
|
|
463
|
+
G8: "G8";
|
|
464
|
+
G9: "G9";
|
|
465
|
+
}>;
|
|
466
|
+
declare const CreateStudentInputSchema: z.ZodObject<{
|
|
467
|
+
firstName: z.ZodString;
|
|
468
|
+
middleName: z.ZodOptional<z.ZodString>;
|
|
469
|
+
lastName: z.ZodString;
|
|
470
|
+
dateOfBirth: z.ZodISODate;
|
|
471
|
+
gender: z.ZodEnum<{
|
|
472
|
+
male: "male";
|
|
473
|
+
female: "female";
|
|
474
|
+
}>;
|
|
475
|
+
admissionNo: z.ZodString;
|
|
476
|
+
nemisNo: z.ZodOptional<z.ZodString>;
|
|
477
|
+
admissionDate: z.ZodISODate;
|
|
478
|
+
bloodGroup: z.ZodOptional<z.ZodString>;
|
|
479
|
+
medicalNotes: z.ZodOptional<z.ZodString>;
|
|
480
|
+
classId: z.ZodOptional<z.ZodUUID>;
|
|
481
|
+
termId: z.ZodOptional<z.ZodUUID>;
|
|
482
|
+
guardian: z.ZodOptional<z.ZodObject<{
|
|
483
|
+
firstName: z.ZodString;
|
|
484
|
+
middleName: z.ZodOptional<z.ZodString>;
|
|
485
|
+
lastName: z.ZodString;
|
|
486
|
+
relationship: z.ZodString;
|
|
487
|
+
phone: z.ZodString;
|
|
488
|
+
email: z.ZodOptional<z.ZodEmail>;
|
|
489
|
+
nationalId: z.ZodOptional<z.ZodString>;
|
|
490
|
+
occupation: z.ZodOptional<z.ZodString>;
|
|
491
|
+
}, z.core.$strip>>;
|
|
492
|
+
}, z.core.$strip>;
|
|
493
|
+
type CreateStudentInput = z.infer<typeof CreateStudentInputSchema>;
|
|
494
|
+
declare const StudentProfileSchema: z.ZodObject<{
|
|
495
|
+
id: z.ZodUUID;
|
|
496
|
+
branchId: z.ZodUUID;
|
|
497
|
+
admissionNo: z.ZodString;
|
|
498
|
+
nemisNo: z.ZodNullable<z.ZodString>;
|
|
499
|
+
firstName: z.ZodString;
|
|
500
|
+
middleName: z.ZodNullable<z.ZodString>;
|
|
501
|
+
lastName: z.ZodString;
|
|
502
|
+
dateOfBirth: z.ZodString;
|
|
503
|
+
gender: z.ZodEnum<{
|
|
504
|
+
male: "male";
|
|
505
|
+
female: "female";
|
|
506
|
+
}>;
|
|
507
|
+
photoUrl: z.ZodNullable<z.ZodString>;
|
|
508
|
+
bloodGroup: z.ZodNullable<z.ZodString>;
|
|
509
|
+
medicalNotes: z.ZodNullable<z.ZodString>;
|
|
510
|
+
admissionDate: z.ZodString;
|
|
511
|
+
status: z.ZodEnum<{
|
|
512
|
+
active: "active";
|
|
513
|
+
transferred: "transferred";
|
|
514
|
+
graduated: "graduated";
|
|
515
|
+
suspended: "suspended";
|
|
516
|
+
withdrawn: "withdrawn";
|
|
517
|
+
}>;
|
|
518
|
+
createdAt: z.ZodString;
|
|
519
|
+
currentClass: z.ZodNullable<z.ZodObject<{
|
|
520
|
+
classId: z.ZodUUID;
|
|
521
|
+
className: z.ZodString;
|
|
522
|
+
gradeLevel: z.ZodEnum<{
|
|
523
|
+
PP1: "PP1";
|
|
524
|
+
PP2: "PP2";
|
|
525
|
+
G1: "G1";
|
|
526
|
+
G2: "G2";
|
|
527
|
+
G3: "G3";
|
|
528
|
+
G4: "G4";
|
|
529
|
+
G5: "G5";
|
|
530
|
+
G6: "G6";
|
|
531
|
+
G7: "G7";
|
|
532
|
+
G8: "G8";
|
|
533
|
+
G9: "G9";
|
|
534
|
+
}>;
|
|
535
|
+
termId: z.ZodUUID;
|
|
536
|
+
termName: z.ZodString;
|
|
537
|
+
}, z.core.$strip>>;
|
|
538
|
+
guardians: z.ZodArray<z.ZodObject<{
|
|
539
|
+
id: z.ZodUUID;
|
|
540
|
+
firstName: z.ZodString;
|
|
541
|
+
middleName: z.ZodNullable<z.ZodString>;
|
|
542
|
+
lastName: z.ZodString;
|
|
543
|
+
relationship: z.ZodString;
|
|
544
|
+
phone: z.ZodString;
|
|
545
|
+
email: z.ZodNullable<z.ZodString>;
|
|
546
|
+
isPrimary: z.ZodBoolean;
|
|
547
|
+
}, z.core.$strip>>;
|
|
548
|
+
}, z.core.$strip>;
|
|
549
|
+
type StudentProfile = z.infer<typeof StudentProfileSchema>;
|
|
550
|
+
declare const StudentListItemSchema: z.ZodObject<{
|
|
551
|
+
id: z.ZodUUID;
|
|
552
|
+
admissionNo: z.ZodString;
|
|
553
|
+
firstName: z.ZodString;
|
|
554
|
+
middleName: z.ZodNullable<z.ZodString>;
|
|
555
|
+
lastName: z.ZodString;
|
|
556
|
+
gender: z.ZodEnum<{
|
|
557
|
+
male: "male";
|
|
558
|
+
female: "female";
|
|
559
|
+
}>;
|
|
560
|
+
status: z.ZodEnum<{
|
|
561
|
+
active: "active";
|
|
562
|
+
transferred: "transferred";
|
|
563
|
+
graduated: "graduated";
|
|
564
|
+
suspended: "suspended";
|
|
565
|
+
withdrawn: "withdrawn";
|
|
566
|
+
}>;
|
|
567
|
+
className: z.ZodNullable<z.ZodString>;
|
|
568
|
+
gradeLevel: z.ZodNullable<z.ZodEnum<{
|
|
569
|
+
PP1: "PP1";
|
|
570
|
+
PP2: "PP2";
|
|
571
|
+
G1: "G1";
|
|
572
|
+
G2: "G2";
|
|
573
|
+
G3: "G3";
|
|
574
|
+
G4: "G4";
|
|
575
|
+
G5: "G5";
|
|
576
|
+
G6: "G6";
|
|
577
|
+
G7: "G7";
|
|
578
|
+
G8: "G8";
|
|
579
|
+
G9: "G9";
|
|
580
|
+
}>>;
|
|
581
|
+
primaryGuardianName: z.ZodNullable<z.ZodString>;
|
|
582
|
+
primaryGuardianPhone: z.ZodNullable<z.ZodString>;
|
|
583
|
+
createdAt: z.ZodString;
|
|
584
|
+
}, z.core.$strip>;
|
|
585
|
+
type StudentListItem = z.infer<typeof StudentListItemSchema>;
|
|
586
|
+
declare const ListStudentsInputSchema: z.ZodObject<{
|
|
587
|
+
cursor: z.ZodOptional<z.ZodString>;
|
|
588
|
+
limit: z.ZodDefault<z.ZodInt>;
|
|
589
|
+
search: z.ZodOptional<z.ZodString>;
|
|
590
|
+
classId: z.ZodOptional<z.ZodUUID>;
|
|
591
|
+
gradeLevel: z.ZodOptional<z.ZodEnum<{
|
|
592
|
+
PP1: "PP1";
|
|
593
|
+
PP2: "PP2";
|
|
594
|
+
G1: "G1";
|
|
595
|
+
G2: "G2";
|
|
596
|
+
G3: "G3";
|
|
597
|
+
G4: "G4";
|
|
598
|
+
G5: "G5";
|
|
599
|
+
G6: "G6";
|
|
600
|
+
G7: "G7";
|
|
601
|
+
G8: "G8";
|
|
602
|
+
G9: "G9";
|
|
603
|
+
}>>;
|
|
604
|
+
status: z.ZodOptional<z.ZodEnum<{
|
|
605
|
+
active: "active";
|
|
606
|
+
transferred: "transferred";
|
|
607
|
+
graduated: "graduated";
|
|
608
|
+
suspended: "suspended";
|
|
609
|
+
withdrawn: "withdrawn";
|
|
610
|
+
}>>;
|
|
611
|
+
termId: z.ZodOptional<z.ZodUUID>;
|
|
612
|
+
}, z.core.$strip>;
|
|
613
|
+
type ListStudentsInput = z.infer<typeof ListStudentsInputSchema>;
|
|
614
|
+
/**
|
|
615
|
+
* One row from a CSV bulk upload.
|
|
616
|
+
* Column mapping is flexible — the upload endpoint accepts this shape
|
|
617
|
+
* after the CSV parser maps headers to these field names.
|
|
618
|
+
*/
|
|
619
|
+
declare const BulkUploadStudentRowSchema: z.ZodObject<{
|
|
620
|
+
firstName: z.ZodString;
|
|
621
|
+
middleName: z.ZodOptional<z.ZodString>;
|
|
622
|
+
lastName: z.ZodString;
|
|
623
|
+
dateOfBirth: z.ZodString;
|
|
624
|
+
gender: z.ZodString;
|
|
625
|
+
admissionNo: z.ZodString;
|
|
626
|
+
nemisNo: z.ZodOptional<z.ZodString>;
|
|
627
|
+
admissionDate: z.ZodOptional<z.ZodString>;
|
|
628
|
+
bloodGroup: z.ZodOptional<z.ZodString>;
|
|
629
|
+
guardianFirstName: z.ZodOptional<z.ZodString>;
|
|
630
|
+
guardianLastName: z.ZodOptional<z.ZodString>;
|
|
631
|
+
guardianRelationship: z.ZodOptional<z.ZodString>;
|
|
632
|
+
guardianPhone: z.ZodOptional<z.ZodString>;
|
|
633
|
+
guardianEmail: z.ZodOptional<z.ZodString>;
|
|
634
|
+
}, z.core.$strip>;
|
|
635
|
+
type BulkUploadStudentRow = z.infer<typeof BulkUploadStudentRowSchema>;
|
|
636
|
+
declare const BulkUploadStudentsInputSchema: z.ZodObject<{
|
|
637
|
+
classId: z.ZodUUID;
|
|
638
|
+
termId: z.ZodUUID;
|
|
639
|
+
rows: z.ZodArray<z.ZodObject<{
|
|
640
|
+
firstName: z.ZodString;
|
|
641
|
+
middleName: z.ZodOptional<z.ZodString>;
|
|
642
|
+
lastName: z.ZodString;
|
|
643
|
+
dateOfBirth: z.ZodString;
|
|
644
|
+
gender: z.ZodString;
|
|
645
|
+
admissionNo: z.ZodString;
|
|
646
|
+
nemisNo: z.ZodOptional<z.ZodString>;
|
|
647
|
+
admissionDate: z.ZodOptional<z.ZodString>;
|
|
648
|
+
bloodGroup: z.ZodOptional<z.ZodString>;
|
|
649
|
+
guardianFirstName: z.ZodOptional<z.ZodString>;
|
|
650
|
+
guardianLastName: z.ZodOptional<z.ZodString>;
|
|
651
|
+
guardianRelationship: z.ZodOptional<z.ZodString>;
|
|
652
|
+
guardianPhone: z.ZodOptional<z.ZodString>;
|
|
653
|
+
guardianEmail: z.ZodOptional<z.ZodString>;
|
|
654
|
+
}, z.core.$strip>>;
|
|
655
|
+
}, z.core.$strip>;
|
|
656
|
+
type BulkUploadStudentsInput = z.infer<typeof BulkUploadStudentsInputSchema>;
|
|
657
|
+
declare const BulkUploadStudentsOutputSchema: z.ZodObject<{
|
|
658
|
+
created: z.ZodInt;
|
|
659
|
+
skipped: z.ZodInt;
|
|
660
|
+
errors: z.ZodArray<z.ZodObject<{
|
|
661
|
+
row: z.ZodInt;
|
|
662
|
+
admissionNo: z.ZodOptional<z.ZodString>;
|
|
663
|
+
reason: z.ZodString;
|
|
664
|
+
}, z.core.$strip>>;
|
|
665
|
+
}, z.core.$strip>;
|
|
666
|
+
type BulkUploadStudentsOutput = z.infer<typeof BulkUploadStudentsOutputSchema>;
|
|
667
|
+
declare const CreateStudentOutputSchema: z.ZodObject<{
|
|
668
|
+
studentId: z.ZodUUID;
|
|
669
|
+
admissionNo: z.ZodString;
|
|
670
|
+
}, z.core.$strip>;
|
|
671
|
+
type CreateStudentOutput = z.infer<typeof CreateStudentOutputSchema>;
|
|
672
|
+
declare const LinkGuardianInputSchema: z.ZodObject<{
|
|
673
|
+
studentId: z.ZodUUID;
|
|
674
|
+
firstName: z.ZodString;
|
|
675
|
+
middleName: z.ZodOptional<z.ZodString>;
|
|
676
|
+
lastName: z.ZodString;
|
|
677
|
+
relationship: z.ZodString;
|
|
678
|
+
phone: z.ZodString;
|
|
679
|
+
email: z.ZodOptional<z.ZodEmail>;
|
|
680
|
+
nationalId: z.ZodOptional<z.ZodString>;
|
|
681
|
+
occupation: z.ZodOptional<z.ZodString>;
|
|
682
|
+
isPrimary: z.ZodDefault<z.ZodBoolean>;
|
|
683
|
+
}, z.core.$strip>;
|
|
684
|
+
type LinkGuardianInput = z.infer<typeof LinkGuardianInputSchema>;
|
|
685
|
+
declare const ClassSummarySchema: z.ZodObject<{
|
|
686
|
+
id: z.ZodUUID;
|
|
687
|
+
name: z.ZodString;
|
|
688
|
+
gradeLevel: z.ZodEnum<{
|
|
689
|
+
PP1: "PP1";
|
|
690
|
+
PP2: "PP2";
|
|
691
|
+
G1: "G1";
|
|
692
|
+
G2: "G2";
|
|
693
|
+
G3: "G3";
|
|
694
|
+
G4: "G4";
|
|
695
|
+
G5: "G5";
|
|
696
|
+
G6: "G6";
|
|
697
|
+
G7: "G7";
|
|
698
|
+
G8: "G8";
|
|
699
|
+
G9: "G9";
|
|
700
|
+
}>;
|
|
701
|
+
gradeName: z.ZodString;
|
|
702
|
+
capacity: z.ZodNullable<z.ZodNumber>;
|
|
703
|
+
enrolledCount: z.ZodNumber;
|
|
704
|
+
classTeacherId: z.ZodNullable<z.ZodUUID>;
|
|
705
|
+
}, z.core.$strip>;
|
|
706
|
+
type ClassSummary = z.infer<typeof ClassSummarySchema>;
|
|
707
|
+
|
|
708
|
+
export { BranchRefSchema, type BulkUploadStudentRow, BulkUploadStudentRowSchema, type BulkUploadStudentsInput, BulkUploadStudentsInputSchema, type BulkUploadStudentsOutput, BulkUploadStudentsOutputSchema, type ChangePasswordInput, ChangePasswordInputSchema, type ClassSummary, ClassSummarySchema, type CreateDepartmentInput, CreateDepartmentInputSchema, type CreateStaffInput, CreateStaffInputSchema, type CreateStaffOutput, CreateStaffOutputSchema, type CreateStudentInput, CreateStudentInputSchema, type CreateStudentOutput, CreateStudentOutputSchema, CuidSchema, type Department, DepartmentSchema, EmploymentTypeSchema, GenderSchema, GradeLevelSchema, type LinkGuardianInput, LinkGuardianInputSchema, type ListStaffInput, ListStaffInputSchema, type ListStudentsInput, ListStudentsInputSchema, type LoginInput, LoginInputSchema, type LoginOutput, LoginOutputSchema, LogoutInputSchema, type PaginationInput, PaginationInputSchema, type RefreshTokenInput, RefreshTokenInputSchema, type RefreshTokenOutput, RefreshTokenOutputSchema, RequestPasswordResetInputSchema, ResetPasswordInputSchema, RoleNameSchema, type SessionUserOutput, SessionUserOutputSchema, SessionUserRoleSchema, SessionUserSubRoleSchema, type SoftDelete, SoftDeleteSchema, type StaffListItem, StaffListItemSchema, type StaffProfile, StaffProfileSchema, type StudentListItem, StudentListItemSchema, type StudentProfile, StudentProfileSchema, StudentStatusSchema, type SwitchBranchInput, SwitchBranchInputSchema, type Timestamps, TimestampsSchema, UuidSchema, paginatedOutputSchema };
|