@aibrains/shared-types 0.14.0 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/dist/schemas/academics/assignment.schema.d.ts +10 -10
  2. package/dist/schemas/academics/attendance.schema.d.ts +16 -16
  3. package/dist/schemas/academics/classwork.schema.d.ts +4 -4
  4. package/dist/schemas/academics/grade.schema.d.ts +2 -2
  5. package/dist/schemas/academics/index.d.ts +1 -0
  6. package/dist/schemas/academics/index.d.ts.map +1 -1
  7. package/dist/schemas/academics/index.js +1 -0
  8. package/dist/schemas/academics/index.js.map +1 -1
  9. package/dist/schemas/academics/section-attendance.schema.d.ts +447 -0
  10. package/dist/schemas/academics/section-attendance.schema.d.ts.map +1 -0
  11. package/dist/schemas/academics/section-attendance.schema.js +126 -0
  12. package/dist/schemas/academics/section-attendance.schema.js.map +1 -0
  13. package/dist/schemas/academics/student.schema.d.ts +15 -15
  14. package/dist/schemas/common.d.ts +4 -2
  15. package/dist/schemas/common.d.ts.map +1 -1
  16. package/dist/schemas/common.js +7 -2
  17. package/dist/schemas/common.js.map +1 -1
  18. package/dist/schemas/enrollment/enrollment.schema.d.ts +55 -55
  19. package/dist/schemas/finance/fee-structure.schema.d.ts +4 -4
  20. package/dist/schemas/finance/invoice.schema.d.ts +5 -5
  21. package/dist/schemas/finance/payment.schema.d.ts +16 -0
  22. package/dist/schemas/finance/payment.schema.d.ts.map +1 -1
  23. package/dist/schemas/finance/payment.schema.js +2 -0
  24. package/dist/schemas/finance/payment.schema.js.map +1 -1
  25. package/dist/schemas/identity/bell-schedule.schema.d.ts +5 -5
  26. package/dist/schemas/identity/calendar-date.schema.d.ts +12 -12
  27. package/dist/schemas/identity/credential.schema.d.ts +4 -4
  28. package/dist/schemas/identity/education-org-network.schema.d.ts +7 -7
  29. package/dist/schemas/identity/education-organization.schema.d.ts +1 -1
  30. package/dist/schemas/identity/education-service-center.schema.d.ts +4 -4
  31. package/dist/schemas/identity/leave.schema.d.ts +8 -8
  32. package/dist/schemas/identity/local-education-agency.schema.d.ts +4 -4
  33. package/dist/schemas/identity/school.schema.d.ts +4 -4
  34. package/dist/schemas/identity/staff-assignment.schema.d.ts +3 -3
  35. package/dist/schemas/identity/staff.schema.d.ts +18 -18
  36. package/dist/schemas/identity/state-education-agency.schema.d.ts +3 -3
  37. package/dist/validators/date-range.d.ts +6 -6
  38. package/package.json +1 -1
@@ -0,0 +1,447 @@
1
+ /**
2
+ * Section Attendance Schemas (Ed-Fi: StudentSectionAttendanceEvent)
3
+ *
4
+ * Zod schemas for section-level attendance DTOs.
5
+ * sectionId is REQUIRED on all create/bulk operations.
6
+ */
7
+ import { z } from 'zod';
8
+ export declare const createSectionAttendanceSchema: z.ZodObject<{
9
+ studentId: z.ZodString;
10
+ sectionId: z.ZodString;
11
+ date: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
12
+ schoolId: z.ZodString;
13
+ status: z.ZodEnum<["present", "absent", "tardy", "excused", "late", "early_departure", "half_day", "remote"]>;
14
+ academicYearId: z.ZodOptional<z.ZodString>;
15
+ checkInTime: z.ZodOptional<z.ZodString>;
16
+ checkOutTime: z.ZodOptional<z.ZodString>;
17
+ durationMinutes: z.ZodOptional<z.ZodNumber>;
18
+ excuseType: z.ZodOptional<z.ZodEnum<["medical", "family_emergency", "religious", "school_activity", "weather", "transportation", "other"]>>;
19
+ excuseReason: z.ZodOptional<z.ZodString>;
20
+ notes: z.ZodOptional<z.ZodString>;
21
+ parentNotified: z.ZodDefault<z.ZodBoolean>;
22
+ parentNotifiedAt: z.ZodOptional<z.ZodString>;
23
+ }, "strip", z.ZodTypeAny, {
24
+ status: "half_day" | "present" | "absent" | "late" | "excused" | "tardy" | "early_departure" | "remote";
25
+ date: string;
26
+ schoolId: string;
27
+ studentId: string;
28
+ parentNotified: boolean;
29
+ sectionId: string;
30
+ notes?: string | undefined;
31
+ durationMinutes?: number | undefined;
32
+ academicYearId?: string | undefined;
33
+ checkInTime?: string | undefined;
34
+ checkOutTime?: string | undefined;
35
+ excuseType?: "other" | "medical" | "family_emergency" | "religious" | "school_activity" | "weather" | "transportation" | undefined;
36
+ excuseReason?: string | undefined;
37
+ parentNotifiedAt?: string | undefined;
38
+ }, {
39
+ status: "half_day" | "present" | "absent" | "late" | "excused" | "tardy" | "early_departure" | "remote";
40
+ date: string;
41
+ schoolId: string;
42
+ studentId: string;
43
+ sectionId: string;
44
+ notes?: string | undefined;
45
+ durationMinutes?: number | undefined;
46
+ academicYearId?: string | undefined;
47
+ checkInTime?: string | undefined;
48
+ checkOutTime?: string | undefined;
49
+ excuseType?: "other" | "medical" | "family_emergency" | "religious" | "school_activity" | "weather" | "transportation" | undefined;
50
+ excuseReason?: string | undefined;
51
+ parentNotified?: boolean | undefined;
52
+ parentNotifiedAt?: string | undefined;
53
+ }>;
54
+ export type CreateSectionAttendanceDto = z.infer<typeof createSectionAttendanceSchema>;
55
+ export declare const updateSectionAttendanceSchema: z.ZodObject<{
56
+ status: z.ZodOptional<z.ZodEnum<["present", "absent", "tardy", "excused", "late", "early_departure", "half_day", "remote"]>>;
57
+ checkInTime: z.ZodOptional<z.ZodString>;
58
+ checkOutTime: z.ZodOptional<z.ZodString>;
59
+ durationMinutes: z.ZodOptional<z.ZodNumber>;
60
+ excuseType: z.ZodOptional<z.ZodEnum<["medical", "family_emergency", "religious", "school_activity", "weather", "transportation", "other"]>>;
61
+ excuseReason: z.ZodOptional<z.ZodString>;
62
+ notes: z.ZodOptional<z.ZodString>;
63
+ parentNotified: z.ZodOptional<z.ZodBoolean>;
64
+ parentNotifiedAt: z.ZodOptional<z.ZodString>;
65
+ expectedVersion: z.ZodOptional<z.ZodNumber>;
66
+ }, "strip", z.ZodTypeAny, {
67
+ status?: "half_day" | "present" | "absent" | "late" | "excused" | "tardy" | "early_departure" | "remote" | undefined;
68
+ notes?: string | undefined;
69
+ durationMinutes?: number | undefined;
70
+ checkInTime?: string | undefined;
71
+ checkOutTime?: string | undefined;
72
+ excuseType?: "other" | "medical" | "family_emergency" | "religious" | "school_activity" | "weather" | "transportation" | undefined;
73
+ excuseReason?: string | undefined;
74
+ parentNotified?: boolean | undefined;
75
+ parentNotifiedAt?: string | undefined;
76
+ expectedVersion?: number | undefined;
77
+ }, {
78
+ status?: "half_day" | "present" | "absent" | "late" | "excused" | "tardy" | "early_departure" | "remote" | undefined;
79
+ notes?: string | undefined;
80
+ durationMinutes?: number | undefined;
81
+ checkInTime?: string | undefined;
82
+ checkOutTime?: string | undefined;
83
+ excuseType?: "other" | "medical" | "family_emergency" | "religious" | "school_activity" | "weather" | "transportation" | undefined;
84
+ excuseReason?: string | undefined;
85
+ parentNotified?: boolean | undefined;
86
+ parentNotifiedAt?: string | undefined;
87
+ expectedVersion?: number | undefined;
88
+ }>;
89
+ export type UpdateSectionAttendanceDto = z.infer<typeof updateSectionAttendanceSchema>;
90
+ export declare const sectionAttendanceResponseSchema: z.ZodObject<{
91
+ sectionAttendanceId: z.ZodString;
92
+ studentId: z.ZodString;
93
+ studentName: z.ZodOptional<z.ZodString>;
94
+ schoolId: z.ZodString;
95
+ sectionId: z.ZodString;
96
+ courseName: z.ZodOptional<z.ZodString>;
97
+ courseCode: z.ZodOptional<z.ZodString>;
98
+ academicYearId: z.ZodOptional<z.ZodString>;
99
+ date: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
100
+ dayOfWeek: z.ZodOptional<z.ZodNumber>;
101
+ status: z.ZodEnum<["present", "absent", "tardy", "excused", "late", "early_departure", "half_day", "remote"]>;
102
+ attendanceEventCategory: z.ZodOptional<z.ZodString>;
103
+ attendanceEventReason: z.ZodOptional<z.ZodString>;
104
+ educationalEnvironment: z.ZodOptional<z.ZodString>;
105
+ checkInTime: z.ZodOptional<z.ZodString>;
106
+ checkOutTime: z.ZodOptional<z.ZodString>;
107
+ durationMinutes: z.ZodOptional<z.ZodNumber>;
108
+ excuseType: z.ZodOptional<z.ZodEnum<["medical", "family_emergency", "religious", "school_activity", "weather", "transportation", "other"]>>;
109
+ excuseReason: z.ZodOptional<z.ZodString>;
110
+ notes: z.ZodOptional<z.ZodString>;
111
+ parentNotified: z.ZodBoolean;
112
+ parentNotifiedAt: z.ZodOptional<z.ZodString>;
113
+ createdAt: z.ZodString;
114
+ updatedAt: z.ZodString;
115
+ createdBy: z.ZodOptional<z.ZodString>;
116
+ updatedBy: z.ZodOptional<z.ZodString>;
117
+ version: z.ZodOptional<z.ZodNumber>;
118
+ }, "strip", z.ZodTypeAny, {
119
+ status: "half_day" | "present" | "absent" | "late" | "excused" | "tardy" | "early_departure" | "remote";
120
+ createdAt: string;
121
+ updatedAt: string;
122
+ date: string;
123
+ schoolId: string;
124
+ studentId: string;
125
+ parentNotified: boolean;
126
+ sectionId: string;
127
+ sectionAttendanceId: string;
128
+ createdBy?: string | undefined;
129
+ updatedBy?: string | undefined;
130
+ version?: number | undefined;
131
+ notes?: string | undefined;
132
+ durationMinutes?: number | undefined;
133
+ dayOfWeek?: number | undefined;
134
+ academicYearId?: string | undefined;
135
+ courseCode?: string | undefined;
136
+ checkInTime?: string | undefined;
137
+ checkOutTime?: string | undefined;
138
+ excuseType?: "other" | "medical" | "family_emergency" | "religious" | "school_activity" | "weather" | "transportation" | undefined;
139
+ excuseReason?: string | undefined;
140
+ parentNotifiedAt?: string | undefined;
141
+ studentName?: string | undefined;
142
+ courseName?: string | undefined;
143
+ attendanceEventCategory?: string | undefined;
144
+ attendanceEventReason?: string | undefined;
145
+ educationalEnvironment?: string | undefined;
146
+ }, {
147
+ status: "half_day" | "present" | "absent" | "late" | "excused" | "tardy" | "early_departure" | "remote";
148
+ createdAt: string;
149
+ updatedAt: string;
150
+ date: string;
151
+ schoolId: string;
152
+ studentId: string;
153
+ parentNotified: boolean;
154
+ sectionId: string;
155
+ sectionAttendanceId: string;
156
+ createdBy?: string | undefined;
157
+ updatedBy?: string | undefined;
158
+ version?: number | undefined;
159
+ notes?: string | undefined;
160
+ durationMinutes?: number | undefined;
161
+ dayOfWeek?: number | undefined;
162
+ academicYearId?: string | undefined;
163
+ courseCode?: string | undefined;
164
+ checkInTime?: string | undefined;
165
+ checkOutTime?: string | undefined;
166
+ excuseType?: "other" | "medical" | "family_emergency" | "religious" | "school_activity" | "weather" | "transportation" | undefined;
167
+ excuseReason?: string | undefined;
168
+ parentNotifiedAt?: string | undefined;
169
+ studentName?: string | undefined;
170
+ courseName?: string | undefined;
171
+ attendanceEventCategory?: string | undefined;
172
+ attendanceEventReason?: string | undefined;
173
+ educationalEnvironment?: string | undefined;
174
+ }>;
175
+ export type SectionAttendanceResponseDto = z.infer<typeof sectionAttendanceResponseSchema>;
176
+ export declare const sectionAttendanceListResponseSchema: z.ZodObject<{
177
+ items: z.ZodArray<z.ZodObject<{
178
+ sectionAttendanceId: z.ZodString;
179
+ studentId: z.ZodString;
180
+ studentName: z.ZodOptional<z.ZodString>;
181
+ schoolId: z.ZodString;
182
+ sectionId: z.ZodString;
183
+ courseName: z.ZodOptional<z.ZodString>;
184
+ courseCode: z.ZodOptional<z.ZodString>;
185
+ academicYearId: z.ZodOptional<z.ZodString>;
186
+ date: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
187
+ dayOfWeek: z.ZodOptional<z.ZodNumber>;
188
+ status: z.ZodEnum<["present", "absent", "tardy", "excused", "late", "early_departure", "half_day", "remote"]>;
189
+ attendanceEventCategory: z.ZodOptional<z.ZodString>;
190
+ attendanceEventReason: z.ZodOptional<z.ZodString>;
191
+ educationalEnvironment: z.ZodOptional<z.ZodString>;
192
+ checkInTime: z.ZodOptional<z.ZodString>;
193
+ checkOutTime: z.ZodOptional<z.ZodString>;
194
+ durationMinutes: z.ZodOptional<z.ZodNumber>;
195
+ excuseType: z.ZodOptional<z.ZodEnum<["medical", "family_emergency", "religious", "school_activity", "weather", "transportation", "other"]>>;
196
+ excuseReason: z.ZodOptional<z.ZodString>;
197
+ notes: z.ZodOptional<z.ZodString>;
198
+ parentNotified: z.ZodBoolean;
199
+ parentNotifiedAt: z.ZodOptional<z.ZodString>;
200
+ createdAt: z.ZodString;
201
+ updatedAt: z.ZodString;
202
+ createdBy: z.ZodOptional<z.ZodString>;
203
+ updatedBy: z.ZodOptional<z.ZodString>;
204
+ version: z.ZodOptional<z.ZodNumber>;
205
+ }, "strip", z.ZodTypeAny, {
206
+ status: "half_day" | "present" | "absent" | "late" | "excused" | "tardy" | "early_departure" | "remote";
207
+ createdAt: string;
208
+ updatedAt: string;
209
+ date: string;
210
+ schoolId: string;
211
+ studentId: string;
212
+ parentNotified: boolean;
213
+ sectionId: string;
214
+ sectionAttendanceId: string;
215
+ createdBy?: string | undefined;
216
+ updatedBy?: string | undefined;
217
+ version?: number | undefined;
218
+ notes?: string | undefined;
219
+ durationMinutes?: number | undefined;
220
+ dayOfWeek?: number | undefined;
221
+ academicYearId?: string | undefined;
222
+ courseCode?: string | undefined;
223
+ checkInTime?: string | undefined;
224
+ checkOutTime?: string | undefined;
225
+ excuseType?: "other" | "medical" | "family_emergency" | "religious" | "school_activity" | "weather" | "transportation" | undefined;
226
+ excuseReason?: string | undefined;
227
+ parentNotifiedAt?: string | undefined;
228
+ studentName?: string | undefined;
229
+ courseName?: string | undefined;
230
+ attendanceEventCategory?: string | undefined;
231
+ attendanceEventReason?: string | undefined;
232
+ educationalEnvironment?: string | undefined;
233
+ }, {
234
+ status: "half_day" | "present" | "absent" | "late" | "excused" | "tardy" | "early_departure" | "remote";
235
+ createdAt: string;
236
+ updatedAt: string;
237
+ date: string;
238
+ schoolId: string;
239
+ studentId: string;
240
+ parentNotified: boolean;
241
+ sectionId: string;
242
+ sectionAttendanceId: string;
243
+ createdBy?: string | undefined;
244
+ updatedBy?: string | undefined;
245
+ version?: number | undefined;
246
+ notes?: string | undefined;
247
+ durationMinutes?: number | undefined;
248
+ dayOfWeek?: number | undefined;
249
+ academicYearId?: string | undefined;
250
+ courseCode?: string | undefined;
251
+ checkInTime?: string | undefined;
252
+ checkOutTime?: string | undefined;
253
+ excuseType?: "other" | "medical" | "family_emergency" | "religious" | "school_activity" | "weather" | "transportation" | undefined;
254
+ excuseReason?: string | undefined;
255
+ parentNotifiedAt?: string | undefined;
256
+ studentName?: string | undefined;
257
+ courseName?: string | undefined;
258
+ attendanceEventCategory?: string | undefined;
259
+ attendanceEventReason?: string | undefined;
260
+ educationalEnvironment?: string | undefined;
261
+ }>, "many">;
262
+ lastEvaluatedKey: z.ZodOptional<z.ZodString>;
263
+ hasMore: z.ZodBoolean;
264
+ total: z.ZodOptional<z.ZodNumber>;
265
+ }, "strip", z.ZodTypeAny, {
266
+ items: {
267
+ status: "half_day" | "present" | "absent" | "late" | "excused" | "tardy" | "early_departure" | "remote";
268
+ createdAt: string;
269
+ updatedAt: string;
270
+ date: string;
271
+ schoolId: string;
272
+ studentId: string;
273
+ parentNotified: boolean;
274
+ sectionId: string;
275
+ sectionAttendanceId: string;
276
+ createdBy?: string | undefined;
277
+ updatedBy?: string | undefined;
278
+ version?: number | undefined;
279
+ notes?: string | undefined;
280
+ durationMinutes?: number | undefined;
281
+ dayOfWeek?: number | undefined;
282
+ academicYearId?: string | undefined;
283
+ courseCode?: string | undefined;
284
+ checkInTime?: string | undefined;
285
+ checkOutTime?: string | undefined;
286
+ excuseType?: "other" | "medical" | "family_emergency" | "religious" | "school_activity" | "weather" | "transportation" | undefined;
287
+ excuseReason?: string | undefined;
288
+ parentNotifiedAt?: string | undefined;
289
+ studentName?: string | undefined;
290
+ courseName?: string | undefined;
291
+ attendanceEventCategory?: string | undefined;
292
+ attendanceEventReason?: string | undefined;
293
+ educationalEnvironment?: string | undefined;
294
+ }[];
295
+ hasMore: boolean;
296
+ lastEvaluatedKey?: string | undefined;
297
+ total?: number | undefined;
298
+ }, {
299
+ items: {
300
+ status: "half_day" | "present" | "absent" | "late" | "excused" | "tardy" | "early_departure" | "remote";
301
+ createdAt: string;
302
+ updatedAt: string;
303
+ date: string;
304
+ schoolId: string;
305
+ studentId: string;
306
+ parentNotified: boolean;
307
+ sectionId: string;
308
+ sectionAttendanceId: string;
309
+ createdBy?: string | undefined;
310
+ updatedBy?: string | undefined;
311
+ version?: number | undefined;
312
+ notes?: string | undefined;
313
+ durationMinutes?: number | undefined;
314
+ dayOfWeek?: number | undefined;
315
+ academicYearId?: string | undefined;
316
+ courseCode?: string | undefined;
317
+ checkInTime?: string | undefined;
318
+ checkOutTime?: string | undefined;
319
+ excuseType?: "other" | "medical" | "family_emergency" | "religious" | "school_activity" | "weather" | "transportation" | undefined;
320
+ excuseReason?: string | undefined;
321
+ parentNotifiedAt?: string | undefined;
322
+ studentName?: string | undefined;
323
+ courseName?: string | undefined;
324
+ attendanceEventCategory?: string | undefined;
325
+ attendanceEventReason?: string | undefined;
326
+ educationalEnvironment?: string | undefined;
327
+ }[];
328
+ hasMore: boolean;
329
+ lastEvaluatedKey?: string | undefined;
330
+ total?: number | undefined;
331
+ }>;
332
+ export type SectionAttendanceListResponseDto = z.infer<typeof sectionAttendanceListResponseSchema>;
333
+ export declare const bulkSectionAttendanceRecordSchema: z.ZodObject<{
334
+ studentId: z.ZodString;
335
+ studentName: z.ZodOptional<z.ZodString>;
336
+ status: z.ZodEnum<["present", "absent", "tardy", "excused", "late", "early_departure", "half_day", "remote"]>;
337
+ checkInTime: z.ZodOptional<z.ZodString>;
338
+ notes: z.ZodOptional<z.ZodString>;
339
+ }, "strip", z.ZodTypeAny, {
340
+ status: "half_day" | "present" | "absent" | "late" | "excused" | "tardy" | "early_departure" | "remote";
341
+ studentId: string;
342
+ notes?: string | undefined;
343
+ checkInTime?: string | undefined;
344
+ studentName?: string | undefined;
345
+ }, {
346
+ status: "half_day" | "present" | "absent" | "late" | "excused" | "tardy" | "early_departure" | "remote";
347
+ studentId: string;
348
+ notes?: string | undefined;
349
+ checkInTime?: string | undefined;
350
+ studentName?: string | undefined;
351
+ }>;
352
+ export type BulkSectionAttendanceRecordDto = z.infer<typeof bulkSectionAttendanceRecordSchema>;
353
+ export declare const bulkSectionAttendanceSchema: z.ZodObject<{
354
+ sectionId: z.ZodString;
355
+ date: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
356
+ schoolId: z.ZodString;
357
+ academicYearId: z.ZodOptional<z.ZodString>;
358
+ records: z.ZodArray<z.ZodObject<{
359
+ studentId: z.ZodString;
360
+ studentName: z.ZodOptional<z.ZodString>;
361
+ status: z.ZodEnum<["present", "absent", "tardy", "excused", "late", "early_departure", "half_day", "remote"]>;
362
+ checkInTime: z.ZodOptional<z.ZodString>;
363
+ notes: z.ZodOptional<z.ZodString>;
364
+ }, "strip", z.ZodTypeAny, {
365
+ status: "half_day" | "present" | "absent" | "late" | "excused" | "tardy" | "early_departure" | "remote";
366
+ studentId: string;
367
+ notes?: string | undefined;
368
+ checkInTime?: string | undefined;
369
+ studentName?: string | undefined;
370
+ }, {
371
+ status: "half_day" | "present" | "absent" | "late" | "excused" | "tardy" | "early_departure" | "remote";
372
+ studentId: string;
373
+ notes?: string | undefined;
374
+ checkInTime?: string | undefined;
375
+ studentName?: string | undefined;
376
+ }>, "many">;
377
+ }, "strip", z.ZodTypeAny, {
378
+ date: string;
379
+ schoolId: string;
380
+ sectionId: string;
381
+ records: {
382
+ status: "half_day" | "present" | "absent" | "late" | "excused" | "tardy" | "early_departure" | "remote";
383
+ studentId: string;
384
+ notes?: string | undefined;
385
+ checkInTime?: string | undefined;
386
+ studentName?: string | undefined;
387
+ }[];
388
+ academicYearId?: string | undefined;
389
+ }, {
390
+ date: string;
391
+ schoolId: string;
392
+ sectionId: string;
393
+ records: {
394
+ status: "half_day" | "present" | "absent" | "late" | "excused" | "tardy" | "early_departure" | "remote";
395
+ studentId: string;
396
+ notes?: string | undefined;
397
+ checkInTime?: string | undefined;
398
+ studentName?: string | undefined;
399
+ }[];
400
+ academicYearId?: string | undefined;
401
+ }>;
402
+ export type BulkSectionAttendanceDto = z.infer<typeof bulkSectionAttendanceSchema>;
403
+ export declare const bulkSectionAttendanceResponseSchema: z.ZodObject<{
404
+ success: z.ZodBoolean;
405
+ date: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
406
+ schoolId: z.ZodString;
407
+ sectionId: z.ZodString;
408
+ totalProcessed: z.ZodNumber;
409
+ recordsCreated: z.ZodNumber;
410
+ recordsUpdated: z.ZodNumber;
411
+ errors: z.ZodDefault<z.ZodArray<z.ZodObject<{
412
+ studentId: z.ZodString;
413
+ error: z.ZodString;
414
+ }, "strip", z.ZodTypeAny, {
415
+ error: string;
416
+ studentId: string;
417
+ }, {
418
+ error: string;
419
+ studentId: string;
420
+ }>, "many">>;
421
+ }, "strip", z.ZodTypeAny, {
422
+ date: string;
423
+ schoolId: string;
424
+ success: boolean;
425
+ sectionId: string;
426
+ totalProcessed: number;
427
+ recordsCreated: number;
428
+ recordsUpdated: number;
429
+ errors: {
430
+ error: string;
431
+ studentId: string;
432
+ }[];
433
+ }, {
434
+ date: string;
435
+ schoolId: string;
436
+ success: boolean;
437
+ sectionId: string;
438
+ totalProcessed: number;
439
+ recordsCreated: number;
440
+ recordsUpdated: number;
441
+ errors?: {
442
+ error: string;
443
+ studentId: string;
444
+ }[] | undefined;
445
+ }>;
446
+ export type BulkSectionAttendanceResponseDto = z.infer<typeof bulkSectionAttendanceResponseSchema>;
447
+ //# sourceMappingURL=section-attendance.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"section-attendance.schema.d.ts","sourceRoot":"","sources":["../../../src/schemas/academics/section-attendance.schema.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAaxB,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkBxC,CAAC;AAEH,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAMvF,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWxC,CAAC;AAEH,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAMvF,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuC1C,CAAC;AAEH,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAM3F,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAiE,CAAC;AAClH,MAAM,MAAM,gCAAgC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mCAAmC,CAAC,CAAC;AAMnG,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;EAM5C,CAAC;AAEH,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iCAAiC,CAAC,CAAC;AAM/F,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMtC,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAMnF,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAY9C,CAAC;AAEH,MAAM,MAAM,gCAAgC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mCAAmC,CAAC,CAAC"}
@@ -0,0 +1,126 @@
1
+ "use strict";
2
+ /**
3
+ * Section Attendance Schemas (Ed-Fi: StudentSectionAttendanceEvent)
4
+ *
5
+ * Zod schemas for section-level attendance DTOs.
6
+ * sectionId is REQUIRED on all create/bulk operations.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.bulkSectionAttendanceResponseSchema = exports.bulkSectionAttendanceSchema = exports.bulkSectionAttendanceRecordSchema = exports.sectionAttendanceListResponseSchema = exports.sectionAttendanceResponseSchema = exports.updateSectionAttendanceSchema = exports.createSectionAttendanceSchema = void 0;
10
+ const zod_1 = require("zod");
11
+ const common_1 = require("../common");
12
+ const attendance_schema_1 = require("./attendance.schema");
13
+ // ============================================
14
+ // Create Section Attendance Schema
15
+ // ============================================
16
+ exports.createSectionAttendanceSchema = zod_1.z.object({
17
+ // Required
18
+ studentId: zod_1.z.string().uuid(),
19
+ sectionId: zod_1.z.string().uuid(),
20
+ date: common_1.dateSchema,
21
+ schoolId: zod_1.z.string().uuid(),
22
+ status: attendance_schema_1.attendanceStatusSchema,
23
+ // Optional
24
+ academicYearId: zod_1.z.string().uuid().optional(),
25
+ checkInTime: common_1.timeSchema.optional(),
26
+ checkOutTime: common_1.timeSchema.optional(),
27
+ durationMinutes: zod_1.z.number().int().min(0).max(600).optional(),
28
+ excuseType: attendance_schema_1.excuseTypeSchema.optional(),
29
+ excuseReason: zod_1.z.string().max(500).optional(),
30
+ notes: zod_1.z.string().max(500).optional(),
31
+ parentNotified: zod_1.z.boolean().default(false),
32
+ parentNotifiedAt: common_1.isoDateSchema.optional(),
33
+ });
34
+ // ============================================
35
+ // Update Section Attendance Schema
36
+ // ============================================
37
+ exports.updateSectionAttendanceSchema = zod_1.z.object({
38
+ status: attendance_schema_1.attendanceStatusSchema.optional(),
39
+ checkInTime: common_1.timeSchema.optional(),
40
+ checkOutTime: common_1.timeSchema.optional(),
41
+ durationMinutes: zod_1.z.number().int().min(0).max(600).optional(),
42
+ excuseType: attendance_schema_1.excuseTypeSchema.optional(),
43
+ excuseReason: zod_1.z.string().max(500).optional(),
44
+ notes: zod_1.z.string().max(500).optional(),
45
+ parentNotified: zod_1.z.boolean().optional(),
46
+ parentNotifiedAt: common_1.isoDateSchema.optional(),
47
+ expectedVersion: zod_1.z.number().int().min(0).optional(),
48
+ });
49
+ // ============================================
50
+ // Section Attendance Response Schema
51
+ // ============================================
52
+ exports.sectionAttendanceResponseSchema = zod_1.z.object({
53
+ sectionAttendanceId: zod_1.z.string().uuid(),
54
+ studentId: zod_1.z.string().uuid(),
55
+ studentName: zod_1.z.string().optional(),
56
+ schoolId: zod_1.z.string().uuid(),
57
+ sectionId: zod_1.z.string().uuid(),
58
+ courseName: zod_1.z.string().optional(),
59
+ courseCode: zod_1.z.string().optional(),
60
+ academicYearId: zod_1.z.string().uuid().optional(),
61
+ date: common_1.dateSchema,
62
+ dayOfWeek: zod_1.z.number().int().min(0).max(6).optional(),
63
+ status: attendance_schema_1.attendanceStatusSchema,
64
+ // Ed-Fi descriptors
65
+ attendanceEventCategory: zod_1.z.string().optional(),
66
+ attendanceEventReason: zod_1.z.string().optional(),
67
+ educationalEnvironment: zod_1.z.string().optional(),
68
+ // Times
69
+ checkInTime: zod_1.z.string().optional(),
70
+ checkOutTime: zod_1.z.string().optional(),
71
+ durationMinutes: zod_1.z.number().int().optional(),
72
+ // Excuse
73
+ excuseType: attendance_schema_1.excuseTypeSchema.optional(),
74
+ excuseReason: zod_1.z.string().optional(),
75
+ notes: zod_1.z.string().optional(),
76
+ // Communication
77
+ parentNotified: zod_1.z.boolean(),
78
+ parentNotifiedAt: zod_1.z.string().optional(),
79
+ // Metadata
80
+ createdAt: common_1.isoDateSchema,
81
+ updatedAt: common_1.isoDateSchema,
82
+ createdBy: zod_1.z.string().optional(),
83
+ updatedBy: zod_1.z.string().optional(),
84
+ version: zod_1.z.number().int().optional(),
85
+ });
86
+ // ============================================
87
+ // Section Attendance List Response
88
+ // ============================================
89
+ exports.sectionAttendanceListResponseSchema = (0, common_1.createPaginatedResponseSchema)(exports.sectionAttendanceResponseSchema);
90
+ // ============================================
91
+ // Bulk Section Attendance Record
92
+ // ============================================
93
+ exports.bulkSectionAttendanceRecordSchema = zod_1.z.object({
94
+ studentId: zod_1.z.string().uuid(),
95
+ studentName: zod_1.z.string().optional(),
96
+ status: attendance_schema_1.attendanceStatusSchema,
97
+ checkInTime: common_1.timeSchema.optional(),
98
+ notes: zod_1.z.string().max(200).optional(),
99
+ });
100
+ // ============================================
101
+ // Bulk Section Attendance Schema
102
+ // ============================================
103
+ exports.bulkSectionAttendanceSchema = zod_1.z.object({
104
+ sectionId: zod_1.z.string().uuid(),
105
+ date: common_1.dateSchema,
106
+ schoolId: zod_1.z.string().uuid(),
107
+ academicYearId: zod_1.z.string().uuid().optional(),
108
+ records: zod_1.z.array(exports.bulkSectionAttendanceRecordSchema).min(1).max(500),
109
+ });
110
+ // ============================================
111
+ // Bulk Section Attendance Response
112
+ // ============================================
113
+ exports.bulkSectionAttendanceResponseSchema = zod_1.z.object({
114
+ success: zod_1.z.boolean(),
115
+ date: common_1.dateSchema,
116
+ schoolId: zod_1.z.string().uuid(),
117
+ sectionId: zod_1.z.string().uuid(),
118
+ totalProcessed: zod_1.z.number().int().min(0),
119
+ recordsCreated: zod_1.z.number().int().min(0),
120
+ recordsUpdated: zod_1.z.number().int().min(0),
121
+ errors: zod_1.z.array(zod_1.z.object({
122
+ studentId: zod_1.z.string(),
123
+ error: zod_1.z.string(),
124
+ })).default([]),
125
+ });
126
+ //# sourceMappingURL=section-attendance.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"section-attendance.schema.js","sourceRoot":"","sources":["../../../src/schemas/academics/section-attendance.schema.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,6BAAwB;AACxB,sCAKmB;AACnB,2DAA+E;AAE/E,+CAA+C;AAC/C,mCAAmC;AACnC,+CAA+C;AAElC,QAAA,6BAA6B,GAAG,OAAC,CAAC,MAAM,CAAC;IACpD,WAAW;IACX,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IAC5B,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IAC5B,IAAI,EAAE,mBAAU;IAChB,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IAC3B,MAAM,EAAE,0CAAsB;IAE9B,WAAW;IACX,cAAc,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IAC5C,WAAW,EAAE,mBAAU,CAAC,QAAQ,EAAE;IAClC,YAAY,EAAE,mBAAU,CAAC,QAAQ,EAAE;IACnC,eAAe,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IAC5D,UAAU,EAAE,oCAAgB,CAAC,QAAQ,EAAE;IACvC,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IAC5C,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IACrC,cAAc,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC1C,gBAAgB,EAAE,sBAAa,CAAC,QAAQ,EAAE;CAC3C,CAAC,CAAC;AAIH,+CAA+C;AAC/C,mCAAmC;AACnC,+CAA+C;AAElC,QAAA,6BAA6B,GAAG,OAAC,CAAC,MAAM,CAAC;IACpD,MAAM,EAAE,0CAAsB,CAAC,QAAQ,EAAE;IACzC,WAAW,EAAE,mBAAU,CAAC,QAAQ,EAAE;IAClC,YAAY,EAAE,mBAAU,CAAC,QAAQ,EAAE;IACnC,eAAe,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IAC5D,UAAU,EAAE,oCAAgB,CAAC,QAAQ,EAAE;IACvC,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IAC5C,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IACrC,cAAc,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACtC,gBAAgB,EAAE,sBAAa,CAAC,QAAQ,EAAE;IAC1C,eAAe,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CACpD,CAAC,CAAC;AAIH,+CAA+C;AAC/C,qCAAqC;AACrC,+CAA+C;AAElC,QAAA,+BAA+B,GAAG,OAAC,CAAC,MAAM,CAAC;IACtD,mBAAmB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IACtC,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IAC5B,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IAC3B,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IAC5B,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,cAAc,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IAE5C,IAAI,EAAE,mBAAU;IAChB,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACpD,MAAM,EAAE,0CAAsB;IAE9B,oBAAoB;IACpB,uBAAuB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9C,qBAAqB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5C,sBAAsB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAE7C,QAAQ;IACR,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,eAAe,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAE5C,SAAS;IACT,UAAU,EAAE,oCAAgB,CAAC,QAAQ,EAAE;IACvC,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAE5B,gBAAgB;IAChB,cAAc,EAAE,OAAC,CAAC,OAAO,EAAE;IAC3B,gBAAgB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAEvC,WAAW;IACX,SAAS,EAAE,sBAAa;IACxB,SAAS,EAAE,sBAAa;IACxB,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;CACrC,CAAC,CAAC;AAIH,+CAA+C;AAC/C,mCAAmC;AACnC,+CAA+C;AAElC,QAAA,mCAAmC,GAAG,IAAA,sCAA6B,EAAC,uCAA+B,CAAC,CAAC;AAGlH,+CAA+C;AAC/C,iCAAiC;AACjC,+CAA+C;AAElC,QAAA,iCAAiC,GAAG,OAAC,CAAC,MAAM,CAAC;IACxD,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IAC5B,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,MAAM,EAAE,0CAAsB;IAC9B,WAAW,EAAE,mBAAU,CAAC,QAAQ,EAAE;IAClC,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;CACtC,CAAC,CAAC;AAIH,+CAA+C;AAC/C,iCAAiC;AACjC,+CAA+C;AAElC,QAAA,2BAA2B,GAAG,OAAC,CAAC,MAAM,CAAC;IAClD,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IAC5B,IAAI,EAAE,mBAAU;IAChB,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IAC3B,cAAc,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IAC5C,OAAO,EAAE,OAAC,CAAC,KAAK,CAAC,yCAAiC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;CACpE,CAAC,CAAC;AAIH,+CAA+C;AAC/C,mCAAmC;AACnC,+CAA+C;AAElC,QAAA,mCAAmC,GAAG,OAAC,CAAC,MAAM,CAAC;IAC1D,OAAO,EAAE,OAAC,CAAC,OAAO,EAAE;IACpB,IAAI,EAAE,mBAAU;IAChB,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IAC3B,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IAC5B,cAAc,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvC,cAAc,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvC,cAAc,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvC,MAAM,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,CAAC;QACvB,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;QACrB,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;KAClB,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CAChB,CAAC,CAAC"}