@aibrains/shared-types 0.1.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 (158) hide show
  1. package/README.md +170 -0
  2. package/dist/index.d.ts +48 -0
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +74 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/mappers/edfi/calendar.mapper.d.ts +158 -0
  7. package/dist/mappers/edfi/calendar.mapper.d.ts.map +1 -0
  8. package/dist/mappers/edfi/calendar.mapper.js +235 -0
  9. package/dist/mappers/edfi/calendar.mapper.js.map +1 -0
  10. package/dist/mappers/edfi/credential.mapper.d.ts +50 -0
  11. package/dist/mappers/edfi/credential.mapper.d.ts.map +1 -0
  12. package/dist/mappers/edfi/credential.mapper.js +123 -0
  13. package/dist/mappers/edfi/credential.mapper.js.map +1 -0
  14. package/dist/mappers/edfi/index.d.ts +10 -0
  15. package/dist/mappers/edfi/index.d.ts.map +1 -0
  16. package/dist/mappers/edfi/index.js +26 -0
  17. package/dist/mappers/edfi/index.js.map +1 -0
  18. package/dist/mappers/edfi/staff.mapper.d.ts +96 -0
  19. package/dist/mappers/edfi/staff.mapper.d.ts.map +1 -0
  20. package/dist/mappers/edfi/staff.mapper.js +138 -0
  21. package/dist/mappers/edfi/staff.mapper.js.map +1 -0
  22. package/dist/mappers/index.d.ts +7 -0
  23. package/dist/mappers/index.d.ts.map +1 -0
  24. package/dist/mappers/index.js +23 -0
  25. package/dist/mappers/index.js.map +1 -0
  26. package/dist/schemas/academics/assignment.schema.d.ts +1463 -0
  27. package/dist/schemas/academics/assignment.schema.d.ts.map +1 -0
  28. package/dist/schemas/academics/assignment.schema.js +195 -0
  29. package/dist/schemas/academics/assignment.schema.js.map +1 -0
  30. package/dist/schemas/academics/attendance.schema.d.ts +762 -0
  31. package/dist/schemas/academics/attendance.schema.d.ts.map +1 -0
  32. package/dist/schemas/academics/attendance.schema.js +250 -0
  33. package/dist/schemas/academics/attendance.schema.js.map +1 -0
  34. package/dist/schemas/academics/classroom.schema.d.ts +742 -0
  35. package/dist/schemas/academics/classroom.schema.d.ts.map +1 -0
  36. package/dist/schemas/academics/classroom.schema.js +164 -0
  37. package/dist/schemas/academics/classroom.schema.js.map +1 -0
  38. package/dist/schemas/academics/course-section.schema.d.ts +388 -0
  39. package/dist/schemas/academics/course-section.schema.d.ts.map +1 -0
  40. package/dist/schemas/academics/course-section.schema.js +128 -0
  41. package/dist/schemas/academics/course-section.schema.js.map +1 -0
  42. package/dist/schemas/academics/course.schema.d.ts +778 -0
  43. package/dist/schemas/academics/course.schema.d.ts.map +1 -0
  44. package/dist/schemas/academics/course.schema.js +207 -0
  45. package/dist/schemas/academics/course.schema.js.map +1 -0
  46. package/dist/schemas/academics/grade.schema.d.ts +848 -0
  47. package/dist/schemas/academics/grade.schema.d.ts.map +1 -0
  48. package/dist/schemas/academics/grade.schema.js +251 -0
  49. package/dist/schemas/academics/grade.schema.js.map +1 -0
  50. package/dist/schemas/academics/index.d.ts +13 -0
  51. package/dist/schemas/academics/index.d.ts.map +1 -0
  52. package/dist/schemas/academics/index.js +29 -0
  53. package/dist/schemas/academics/index.js.map +1 -0
  54. package/dist/schemas/academics/student.schema.d.ts +2891 -0
  55. package/dist/schemas/academics/student.schema.d.ts.map +1 -0
  56. package/dist/schemas/academics/student.schema.js +249 -0
  57. package/dist/schemas/academics/student.schema.js.map +1 -0
  58. package/dist/schemas/common.d.ts +183 -0
  59. package/dist/schemas/common.d.ts.map +1 -0
  60. package/dist/schemas/common.js +126 -0
  61. package/dist/schemas/common.js.map +1 -0
  62. package/dist/schemas/enrollment/enrollment.schema.d.ts +2799 -0
  63. package/dist/schemas/enrollment/enrollment.schema.d.ts.map +1 -0
  64. package/dist/schemas/enrollment/enrollment.schema.js +435 -0
  65. package/dist/schemas/enrollment/enrollment.schema.js.map +1 -0
  66. package/dist/schemas/enrollment/index.d.ts +7 -0
  67. package/dist/schemas/enrollment/index.d.ts.map +1 -0
  68. package/dist/schemas/enrollment/index.js +23 -0
  69. package/dist/schemas/enrollment/index.js.map +1 -0
  70. package/dist/schemas/identity/academic-year.schema.d.ts +546 -0
  71. package/dist/schemas/identity/academic-year.schema.d.ts.map +1 -0
  72. package/dist/schemas/identity/academic-year.schema.js +137 -0
  73. package/dist/schemas/identity/academic-year.schema.js.map +1 -0
  74. package/dist/schemas/identity/auth.schema.d.ts +670 -0
  75. package/dist/schemas/identity/auth.schema.d.ts.map +1 -0
  76. package/dist/schemas/identity/auth.schema.js +126 -0
  77. package/dist/schemas/identity/auth.schema.js.map +1 -0
  78. package/dist/schemas/identity/bell-schedule.schema.d.ts +630 -0
  79. package/dist/schemas/identity/bell-schedule.schema.d.ts.map +1 -0
  80. package/dist/schemas/identity/bell-schedule.schema.js +143 -0
  81. package/dist/schemas/identity/bell-schedule.schema.js.map +1 -0
  82. package/dist/schemas/identity/calendar-date.schema.d.ts +830 -0
  83. package/dist/schemas/identity/calendar-date.schema.d.ts.map +1 -0
  84. package/dist/schemas/identity/calendar-date.schema.js +208 -0
  85. package/dist/schemas/identity/calendar-date.schema.js.map +1 -0
  86. package/dist/schemas/identity/credential.schema.d.ts +472 -0
  87. package/dist/schemas/identity/credential.schema.d.ts.map +1 -0
  88. package/dist/schemas/identity/credential.schema.js +200 -0
  89. package/dist/schemas/identity/credential.schema.js.map +1 -0
  90. package/dist/schemas/identity/department.schema.d.ts +567 -0
  91. package/dist/schemas/identity/department.schema.d.ts.map +1 -0
  92. package/dist/schemas/identity/department.schema.js +113 -0
  93. package/dist/schemas/identity/department.schema.js.map +1 -0
  94. package/dist/schemas/identity/index.d.ts +21 -0
  95. package/dist/schemas/identity/index.d.ts.map +1 -0
  96. package/dist/schemas/identity/index.js +39 -0
  97. package/dist/schemas/identity/index.js.map +1 -0
  98. package/dist/schemas/identity/leave.schema.d.ts +725 -0
  99. package/dist/schemas/identity/leave.schema.d.ts.map +1 -0
  100. package/dist/schemas/identity/leave.schema.js +204 -0
  101. package/dist/schemas/identity/leave.schema.js.map +1 -0
  102. package/dist/schemas/identity/role.schema.d.ts +356 -0
  103. package/dist/schemas/identity/role.schema.d.ts.map +1 -0
  104. package/dist/schemas/identity/role.schema.js +124 -0
  105. package/dist/schemas/identity/role.schema.js.map +1 -0
  106. package/dist/schemas/identity/school-year.schema.d.ts +303 -0
  107. package/dist/schemas/identity/school-year.schema.d.ts.map +1 -0
  108. package/dist/schemas/identity/school-year.schema.js +59 -0
  109. package/dist/schemas/identity/school-year.schema.js.map +1 -0
  110. package/dist/schemas/identity/school.schema.d.ts +844 -0
  111. package/dist/schemas/identity/school.schema.d.ts.map +1 -0
  112. package/dist/schemas/identity/school.schema.js +139 -0
  113. package/dist/schemas/identity/school.schema.js.map +1 -0
  114. package/dist/schemas/identity/security.schema.d.ts +422 -0
  115. package/dist/schemas/identity/security.schema.d.ts.map +1 -0
  116. package/dist/schemas/identity/security.schema.js +151 -0
  117. package/dist/schemas/identity/security.schema.js.map +1 -0
  118. package/dist/schemas/identity/session.schema.d.ts +193 -0
  119. package/dist/schemas/identity/session.schema.d.ts.map +1 -0
  120. package/dist/schemas/identity/session.schema.js +59 -0
  121. package/dist/schemas/identity/session.schema.js.map +1 -0
  122. package/dist/schemas/identity/staff.schema.d.ts +1037 -0
  123. package/dist/schemas/identity/staff.schema.d.ts.map +1 -0
  124. package/dist/schemas/identity/staff.schema.js +251 -0
  125. package/dist/schemas/identity/staff.schema.js.map +1 -0
  126. package/dist/schemas/identity/tenant.schema.d.ts +313 -0
  127. package/dist/schemas/identity/tenant.schema.d.ts.map +1 -0
  128. package/dist/schemas/identity/tenant.schema.js +81 -0
  129. package/dist/schemas/identity/tenant.schema.js.map +1 -0
  130. package/dist/schemas/identity/user.schema.d.ts +921 -0
  131. package/dist/schemas/identity/user.schema.d.ts.map +1 -0
  132. package/dist/schemas/identity/user.schema.js +201 -0
  133. package/dist/schemas/identity/user.schema.js.map +1 -0
  134. package/dist/schemas/index.d.ts +10 -0
  135. package/dist/schemas/index.d.ts.map +1 -0
  136. package/dist/schemas/index.js +26 -0
  137. package/dist/schemas/index.js.map +1 -0
  138. package/dist/validators/academic-year.d.ts +90 -0
  139. package/dist/validators/academic-year.d.ts.map +1 -0
  140. package/dist/validators/academic-year.js +190 -0
  141. package/dist/validators/academic-year.js.map +1 -0
  142. package/dist/validators/date-range.d.ts +142 -0
  143. package/dist/validators/date-range.d.ts.map +1 -0
  144. package/dist/validators/date-range.js +170 -0
  145. package/dist/validators/date-range.js.map +1 -0
  146. package/dist/validators/grade-level.d.ts +80 -0
  147. package/dist/validators/grade-level.d.ts.map +1 -0
  148. package/dist/validators/grade-level.js +157 -0
  149. package/dist/validators/grade-level.js.map +1 -0
  150. package/dist/validators/index.d.ts +10 -0
  151. package/dist/validators/index.d.ts.map +1 -0
  152. package/dist/validators/index.js +26 -0
  153. package/dist/validators/index.js.map +1 -0
  154. package/dist/validators/password.d.ts +60 -0
  155. package/dist/validators/password.d.ts.map +1 -0
  156. package/dist/validators/password.js +81 -0
  157. package/dist/validators/password.js.map +1 -0
  158. package/package.json +50 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attendance.schema.d.ts","sourceRoot":"","sources":["../../../src/schemas/academics/attendance.schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,250 @@
1
+ "use strict";
2
+ /**
3
+ * Attendance Schemas - Academics Service
4
+ *
5
+ * Zod schemas for attendance management DTOs.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.dailyAttendanceReportSchema = exports.studentAttendanceSummarySchema = exports.dailyAttendanceSummarySchema = exports.bulkAttendanceResponseSchema = exports.attendanceSummarySchema = exports.attendanceFilterSchema = exports.bulkAttendanceSchema = exports.bulkAttendanceRecordSchema = exports.attendanceListResponseSchema = exports.attendanceResponseSchema = exports.updateAttendanceSchema = exports.createAttendanceSchema = exports.excuseTypeSchema = exports.attendanceTypeSchema = exports.attendanceStatusSchema = void 0;
9
+ const zod_1 = require("zod");
10
+ const common_1 = require("../common");
11
+ // ============================================
12
+ // Enums
13
+ // ============================================
14
+ exports.attendanceStatusSchema = zod_1.z.enum([
15
+ 'present',
16
+ 'absent',
17
+ 'tardy',
18
+ 'excused',
19
+ 'late',
20
+ 'early_departure',
21
+ 'half_day',
22
+ 'remote',
23
+ ]);
24
+ exports.attendanceTypeSchema = zod_1.z.enum([
25
+ 'daily',
26
+ 'period',
27
+ 'event',
28
+ ]);
29
+ exports.excuseTypeSchema = zod_1.z.enum([
30
+ 'medical',
31
+ 'family_emergency',
32
+ 'religious',
33
+ 'school_activity',
34
+ 'weather',
35
+ 'transportation',
36
+ 'other',
37
+ ]);
38
+ // ============================================
39
+ // Create Attendance Schema
40
+ // ============================================
41
+ exports.createAttendanceSchema = zod_1.z.object({
42
+ // Required Fields
43
+ studentId: zod_1.z.string().uuid(),
44
+ date: common_1.dateSchema,
45
+ status: exports.attendanceStatusSchema,
46
+ // Time Tracking
47
+ checkInTime: common_1.timeSchema.optional(),
48
+ checkOutTime: common_1.timeSchema.optional(),
49
+ minutesLate: zod_1.z.number().int().min(0).max(480).optional(),
50
+ minutesEarly: zod_1.z.number().int().min(0).max(480).optional(),
51
+ // Period/Class Info
52
+ classroomId: zod_1.z.string().uuid().optional(),
53
+ periodId: zod_1.z.string().uuid().optional(),
54
+ periodNumber: zod_1.z.number().int().positive().max(20).optional(),
55
+ // Type
56
+ attendanceType: exports.attendanceTypeSchema.default('daily'),
57
+ // Excuses
58
+ excuseType: exports.excuseTypeSchema.optional(),
59
+ excuseReason: zod_1.z.string().max(500).optional(),
60
+ excuseDocumentUrl: zod_1.z.string().url().optional(),
61
+ // Communication
62
+ notes: zod_1.z.string().max(500).optional(),
63
+ parentNotified: zod_1.z.boolean().default(false),
64
+ parentNotifiedAt: common_1.isoDateSchema.optional(),
65
+ // Location
66
+ locationVerified: zod_1.z.boolean().default(false),
67
+ // School Info
68
+ schoolId: zod_1.z.string().uuid(),
69
+ academicYearId: zod_1.z.string().uuid().optional(),
70
+ });
71
+ // ============================================
72
+ // Update Attendance Schema
73
+ // ============================================
74
+ exports.updateAttendanceSchema = exports.createAttendanceSchema.partial().omit({
75
+ studentId: true,
76
+ date: true,
77
+ schoolId: true,
78
+ });
79
+ // ============================================
80
+ // Attendance Response Schema
81
+ // ============================================
82
+ exports.attendanceResponseSchema = zod_1.z.object({
83
+ attendanceId: zod_1.z.string().uuid(),
84
+ studentId: zod_1.z.string().uuid(),
85
+ studentName: zod_1.z.string().optional(),
86
+ studentNumber: zod_1.z.string().optional(),
87
+ schoolId: zod_1.z.string().uuid(),
88
+ academicYearId: zod_1.z.string().uuid().optional(),
89
+ // Core
90
+ date: common_1.dateSchema,
91
+ dayOfWeek: zod_1.z.number().int().min(0).max(6).optional(), // 0=Sunday, 6=Saturday
92
+ status: exports.attendanceStatusSchema,
93
+ attendanceType: exports.attendanceTypeSchema,
94
+ // Time
95
+ checkInTime: zod_1.z.string().optional(),
96
+ checkOutTime: zod_1.z.string().optional(),
97
+ minutesLate: zod_1.z.number().int().optional(),
98
+ minutesEarly: zod_1.z.number().int().optional(),
99
+ // Period/Class
100
+ classroomId: zod_1.z.string().uuid().optional(),
101
+ classroomName: zod_1.z.string().optional(),
102
+ periodId: zod_1.z.string().uuid().optional(),
103
+ periodNumber: zod_1.z.number().int().optional(),
104
+ // Excuses
105
+ excuseType: exports.excuseTypeSchema.optional(),
106
+ excuseReason: zod_1.z.string().optional(),
107
+ excuseDocumentUrl: zod_1.z.string().optional(),
108
+ // Communication
109
+ notes: zod_1.z.string().optional(),
110
+ parentNotified: zod_1.z.boolean(),
111
+ parentNotifiedAt: zod_1.z.string().optional(),
112
+ // Location
113
+ locationVerified: zod_1.z.boolean(),
114
+ // Metadata
115
+ createdAt: common_1.isoDateSchema,
116
+ updatedAt: common_1.isoDateSchema,
117
+ createdBy: zod_1.z.string().optional(),
118
+ updatedBy: zod_1.z.string().optional(),
119
+ });
120
+ // ============================================
121
+ // Attendance List Response Schema
122
+ // ============================================
123
+ exports.attendanceListResponseSchema = (0, common_1.createPaginatedResponseSchema)(exports.attendanceResponseSchema);
124
+ // ============================================
125
+ // Bulk Attendance Record Schema
126
+ // ============================================
127
+ exports.bulkAttendanceRecordSchema = zod_1.z.object({
128
+ studentId: zod_1.z.string().uuid(),
129
+ status: exports.attendanceStatusSchema,
130
+ checkInTime: common_1.timeSchema.optional(),
131
+ minutesLate: zod_1.z.number().int().min(0).max(480).optional(),
132
+ notes: zod_1.z.string().max(200).optional(),
133
+ });
134
+ // ============================================
135
+ // Bulk Attendance Schema
136
+ // ============================================
137
+ exports.bulkAttendanceSchema = zod_1.z.object({
138
+ date: common_1.dateSchema,
139
+ schoolId: zod_1.z.string().uuid(),
140
+ classroomId: zod_1.z.string().uuid().optional(),
141
+ periodNumber: zod_1.z.number().int().positive().optional(),
142
+ attendanceType: exports.attendanceTypeSchema.default('daily'),
143
+ records: zod_1.z.array(exports.bulkAttendanceRecordSchema).min(1).max(500),
144
+ });
145
+ // ============================================
146
+ // Attendance Filter Schema
147
+ // ============================================
148
+ exports.attendanceFilterSchema = zod_1.z.object({
149
+ schoolId: zod_1.z.string().uuid().optional(),
150
+ studentId: zod_1.z.string().uuid().optional(),
151
+ classroomId: zod_1.z.string().uuid().optional(),
152
+ gradeLevel: zod_1.z.string().optional(),
153
+ status: exports.attendanceStatusSchema.optional(),
154
+ attendanceType: exports.attendanceTypeSchema.optional(),
155
+ dateFrom: common_1.dateSchema.optional(),
156
+ dateTo: common_1.dateSchema.optional(),
157
+ academicYearId: zod_1.z.string().uuid().optional(),
158
+ });
159
+ // ============================================
160
+ // Attendance Summary Schema
161
+ // ============================================
162
+ exports.attendanceSummarySchema = zod_1.z.object({
163
+ studentId: zod_1.z.string().uuid(),
164
+ studentName: zod_1.z.string(),
165
+ totalDays: zod_1.z.number().int().min(0),
166
+ presentDays: zod_1.z.number().int().min(0),
167
+ absentDays: zod_1.z.number().int().min(0),
168
+ tardyDays: zod_1.z.number().int().min(0),
169
+ excusedDays: zod_1.z.number().int().min(0),
170
+ attendanceRate: zod_1.z.number().min(0).max(100),
171
+ dateRange: zod_1.z.object({
172
+ from: common_1.dateSchema,
173
+ to: common_1.dateSchema,
174
+ }),
175
+ });
176
+ // ============================================
177
+ // Bulk Attendance Response Schema
178
+ // ============================================
179
+ exports.bulkAttendanceResponseSchema = zod_1.z.object({
180
+ success: zod_1.z.boolean().default(true),
181
+ date: common_1.dateSchema,
182
+ schoolId: zod_1.z.string().uuid(),
183
+ totalProcessed: zod_1.z.number().int().min(0),
184
+ recordsCreated: zod_1.z.number().int().min(0),
185
+ recordsUpdated: zod_1.z.number().int().min(0),
186
+ errors: zod_1.z.array(zod_1.z.object({
187
+ studentId: zod_1.z.string(),
188
+ error: zod_1.z.string(),
189
+ })).default([]),
190
+ });
191
+ // ============================================
192
+ // Daily Attendance Summary Schema (for getDailySummary)
193
+ // ============================================
194
+ exports.dailyAttendanceSummarySchema = zod_1.z.object({
195
+ date: common_1.dateSchema,
196
+ schoolId: zod_1.z.string().uuid(),
197
+ totalStudents: zod_1.z.number().int().min(0),
198
+ present: zod_1.z.number().int().min(0),
199
+ absent: zod_1.z.number().int().min(0),
200
+ late: zod_1.z.number().int().min(0),
201
+ excused: zod_1.z.number().int().min(0),
202
+ halfDay: zod_1.z.number().int().min(0),
203
+ attendanceRate: zod_1.z.number().min(0).max(100),
204
+ byGradeLevel: zod_1.z.record(zod_1.z.string(), zod_1.z.object({
205
+ total: zod_1.z.number().int().min(0),
206
+ present: zod_1.z.number().int().min(0),
207
+ absent: zod_1.z.number().int().min(0),
208
+ rate: zod_1.z.number().min(0).max(100),
209
+ })).optional(),
210
+ });
211
+ // ============================================
212
+ // Student Attendance Summary Schema (for getStudentSummary)
213
+ // ============================================
214
+ exports.studentAttendanceSummarySchema = zod_1.z.object({
215
+ studentId: zod_1.z.string().uuid(),
216
+ studentName: zod_1.z.string(),
217
+ schoolId: zod_1.z.string().uuid(),
218
+ academicYearId: zod_1.z.string().uuid().optional(),
219
+ totalDays: zod_1.z.number().int().min(0),
220
+ present: zod_1.z.number().int().min(0),
221
+ absent: zod_1.z.number().int().min(0),
222
+ late: zod_1.z.number().int().min(0),
223
+ excused: zod_1.z.number().int().min(0),
224
+ halfDay: zod_1.z.number().int().min(0),
225
+ attendanceRate: zod_1.z.number().min(0).max(100),
226
+ dateRange: zod_1.z.object({
227
+ start: common_1.dateSchema,
228
+ end: common_1.dateSchema,
229
+ }),
230
+ });
231
+ // ============================================
232
+ // Daily Attendance Report Schema
233
+ // ============================================
234
+ exports.dailyAttendanceReportSchema = zod_1.z.object({
235
+ date: common_1.dateSchema,
236
+ schoolId: zod_1.z.string().uuid(),
237
+ totalStudents: zod_1.z.number().int().min(0),
238
+ presentCount: zod_1.z.number().int().min(0),
239
+ absentCount: zod_1.z.number().int().min(0),
240
+ tardyCount: zod_1.z.number().int().min(0),
241
+ excusedCount: zod_1.z.number().int().min(0),
242
+ attendanceRate: zod_1.z.number().min(0).max(100),
243
+ byGradeLevel: zod_1.z.record(zod_1.z.string(), zod_1.z.object({
244
+ total: zod_1.z.number().int().min(0),
245
+ present: zod_1.z.number().int().min(0),
246
+ absent: zod_1.z.number().int().min(0),
247
+ rate: zod_1.z.number().min(0).max(100),
248
+ })).optional(),
249
+ });
250
+ //# sourceMappingURL=attendance.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attendance.schema.js","sourceRoot":"","sources":["../../../src/schemas/academics/attendance.schema.ts"],"names":[],"mappings":"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"}