@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,546 @@
1
+ /**
2
+ * Academic Year Schemas - Identity Service
3
+ *
4
+ * Zod schemas for academic year, grading periods, and holiday management DTOs.
5
+ */
6
+ import { z } from 'zod';
7
+ export declare const academicYearStatusSchema: z.ZodEnum<["planning", "active", "completed", "archived"]>;
8
+ export type AcademicYearStatus = z.infer<typeof academicYearStatusSchema>;
9
+ export declare const termTypeSchema: z.ZodEnum<["semester", "quarter", "trimester", "year"]>;
10
+ export type TermType = z.infer<typeof termTypeSchema>;
11
+ export declare const holidayTypeSchema: z.ZodEnum<["federal", "state", "school", "break", "professional_development"]>;
12
+ export type HolidayType = z.infer<typeof holidayTypeSchema>;
13
+ export declare const createAcademicYearSchema: z.ZodObject<{
14
+ name: z.ZodString;
15
+ shortName: z.ZodOptional<z.ZodString>;
16
+ startDate: z.ZodString;
17
+ endDate: z.ZodString;
18
+ calendarType: z.ZodOptional<z.ZodDefault<z.ZodEnum<["semester", "quarter", "trimester"]>>>;
19
+ setAsCurrent: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
20
+ }, "strip", z.ZodTypeAny, {
21
+ startDate: string;
22
+ endDate: string;
23
+ name: string;
24
+ shortName?: string | undefined;
25
+ calendarType?: "semester" | "quarter" | "trimester" | undefined;
26
+ setAsCurrent?: boolean | undefined;
27
+ }, {
28
+ startDate: string;
29
+ endDate: string;
30
+ name: string;
31
+ shortName?: string | undefined;
32
+ calendarType?: "semester" | "quarter" | "trimester" | undefined;
33
+ setAsCurrent?: boolean | undefined;
34
+ }>;
35
+ export type CreateAcademicYearDto = z.infer<typeof createAcademicYearSchema>;
36
+ export declare const updateAcademicYearSchema: z.ZodObject<{
37
+ name: z.ZodOptional<z.ZodString>;
38
+ shortName: z.ZodOptional<z.ZodString>;
39
+ startDate: z.ZodOptional<z.ZodString>;
40
+ endDate: z.ZodOptional<z.ZodString>;
41
+ calendarType: z.ZodOptional<z.ZodEnum<["semester", "quarter", "trimester"]>>;
42
+ }, "strip", z.ZodTypeAny, {
43
+ startDate?: string | undefined;
44
+ endDate?: string | undefined;
45
+ name?: string | undefined;
46
+ shortName?: string | undefined;
47
+ calendarType?: "semester" | "quarter" | "trimester" | undefined;
48
+ }, {
49
+ startDate?: string | undefined;
50
+ endDate?: string | undefined;
51
+ name?: string | undefined;
52
+ shortName?: string | undefined;
53
+ calendarType?: "semester" | "quarter" | "trimester" | undefined;
54
+ }>;
55
+ export type UpdateAcademicYearDto = z.infer<typeof updateAcademicYearSchema>;
56
+ export declare const updateAcademicYearStatusSchema: z.ZodObject<{
57
+ status: z.ZodEnum<["planning", "active", "completed", "archived"]>;
58
+ }, "strip", z.ZodTypeAny, {
59
+ status: "active" | "archived" | "planning" | "completed";
60
+ }, {
61
+ status: "active" | "archived" | "planning" | "completed";
62
+ }>;
63
+ export type UpdateAcademicYearStatusDto = z.infer<typeof updateAcademicYearStatusSchema>;
64
+ export declare const academicYearResponseSchema: z.ZodObject<{
65
+ yearId: z.ZodString;
66
+ schoolId: z.ZodString;
67
+ name: z.ZodString;
68
+ shortName: z.ZodOptional<z.ZodString>;
69
+ startDate: z.ZodString;
70
+ endDate: z.ZodString;
71
+ status: z.ZodEnum<["planning", "active", "completed", "archived"]>;
72
+ isCurrent: z.ZodBoolean;
73
+ calendarType: z.ZodEnum<["semester", "quarter", "trimester"]>;
74
+ createdAt: z.ZodString;
75
+ updatedAt: z.ZodString;
76
+ }, "strip", z.ZodTypeAny, {
77
+ status: "active" | "archived" | "planning" | "completed";
78
+ createdAt: string;
79
+ updatedAt: string;
80
+ startDate: string;
81
+ endDate: string;
82
+ name: string;
83
+ schoolId: string;
84
+ calendarType: "semester" | "quarter" | "trimester";
85
+ yearId: string;
86
+ isCurrent: boolean;
87
+ shortName?: string | undefined;
88
+ }, {
89
+ status: "active" | "archived" | "planning" | "completed";
90
+ createdAt: string;
91
+ updatedAt: string;
92
+ startDate: string;
93
+ endDate: string;
94
+ name: string;
95
+ schoolId: string;
96
+ calendarType: "semester" | "quarter" | "trimester";
97
+ yearId: string;
98
+ isCurrent: boolean;
99
+ shortName?: string | undefined;
100
+ }>;
101
+ export type AcademicYearResponseDto = z.infer<typeof academicYearResponseSchema>;
102
+ export declare const academicYearListResponseSchema: z.ZodObject<{
103
+ items: z.ZodArray<z.ZodObject<{
104
+ yearId: z.ZodString;
105
+ schoolId: z.ZodString;
106
+ name: z.ZodString;
107
+ shortName: z.ZodOptional<z.ZodString>;
108
+ startDate: z.ZodString;
109
+ endDate: z.ZodString;
110
+ status: z.ZodEnum<["planning", "active", "completed", "archived"]>;
111
+ isCurrent: z.ZodBoolean;
112
+ calendarType: z.ZodEnum<["semester", "quarter", "trimester"]>;
113
+ createdAt: z.ZodString;
114
+ updatedAt: z.ZodString;
115
+ }, "strip", z.ZodTypeAny, {
116
+ status: "active" | "archived" | "planning" | "completed";
117
+ createdAt: string;
118
+ updatedAt: string;
119
+ startDate: string;
120
+ endDate: string;
121
+ name: string;
122
+ schoolId: string;
123
+ calendarType: "semester" | "quarter" | "trimester";
124
+ yearId: string;
125
+ isCurrent: boolean;
126
+ shortName?: string | undefined;
127
+ }, {
128
+ status: "active" | "archived" | "planning" | "completed";
129
+ createdAt: string;
130
+ updatedAt: string;
131
+ startDate: string;
132
+ endDate: string;
133
+ name: string;
134
+ schoolId: string;
135
+ calendarType: "semester" | "quarter" | "trimester";
136
+ yearId: string;
137
+ isCurrent: boolean;
138
+ shortName?: string | undefined;
139
+ }>, "many">;
140
+ lastEvaluatedKey: z.ZodOptional<z.ZodString>;
141
+ hasMore: z.ZodBoolean;
142
+ total: z.ZodOptional<z.ZodNumber>;
143
+ }, "strip", z.ZodTypeAny, {
144
+ items: {
145
+ status: "active" | "archived" | "planning" | "completed";
146
+ createdAt: string;
147
+ updatedAt: string;
148
+ startDate: string;
149
+ endDate: string;
150
+ name: string;
151
+ schoolId: string;
152
+ calendarType: "semester" | "quarter" | "trimester";
153
+ yearId: string;
154
+ isCurrent: boolean;
155
+ shortName?: string | undefined;
156
+ }[];
157
+ hasMore: boolean;
158
+ lastEvaluatedKey?: string | undefined;
159
+ total?: number | undefined;
160
+ }, {
161
+ items: {
162
+ status: "active" | "archived" | "planning" | "completed";
163
+ createdAt: string;
164
+ updatedAt: string;
165
+ startDate: string;
166
+ endDate: string;
167
+ name: string;
168
+ schoolId: string;
169
+ calendarType: "semester" | "quarter" | "trimester";
170
+ yearId: string;
171
+ isCurrent: boolean;
172
+ shortName?: string | undefined;
173
+ }[];
174
+ hasMore: boolean;
175
+ lastEvaluatedKey?: string | undefined;
176
+ total?: number | undefined;
177
+ }>;
178
+ export type AcademicYearListResponseDto = z.infer<typeof academicYearListResponseSchema>;
179
+ export declare const createGradingPeriodSchema: z.ZodObject<{
180
+ name: z.ZodString;
181
+ shortName: z.ZodOptional<z.ZodString>;
182
+ termType: z.ZodEnum<["semester", "quarter", "trimester", "year"]>;
183
+ sequence: z.ZodNumber;
184
+ startDate: z.ZodString;
185
+ endDate: z.ZodString;
186
+ gradesDueDate: z.ZodOptional<z.ZodString>;
187
+ reportCardDate: z.ZodOptional<z.ZodString>;
188
+ }, "strip", z.ZodTypeAny, {
189
+ startDate: string;
190
+ endDate: string;
191
+ name: string;
192
+ termType: "semester" | "quarter" | "trimester" | "year";
193
+ sequence: number;
194
+ shortName?: string | undefined;
195
+ gradesDueDate?: string | undefined;
196
+ reportCardDate?: string | undefined;
197
+ }, {
198
+ startDate: string;
199
+ endDate: string;
200
+ name: string;
201
+ termType: "semester" | "quarter" | "trimester" | "year";
202
+ sequence: number;
203
+ shortName?: string | undefined;
204
+ gradesDueDate?: string | undefined;
205
+ reportCardDate?: string | undefined;
206
+ }>;
207
+ export type CreateGradingPeriodDto = z.infer<typeof createGradingPeriodSchema>;
208
+ export declare const updateGradingPeriodSchema: z.ZodObject<{
209
+ name: z.ZodOptional<z.ZodString>;
210
+ shortName: z.ZodOptional<z.ZodString>;
211
+ startDate: z.ZodOptional<z.ZodString>;
212
+ endDate: z.ZodOptional<z.ZodString>;
213
+ gradesDueDate: z.ZodOptional<z.ZodString>;
214
+ reportCardDate: z.ZodOptional<z.ZodString>;
215
+ isActive: z.ZodOptional<z.ZodBoolean>;
216
+ }, "strip", z.ZodTypeAny, {
217
+ startDate?: string | undefined;
218
+ endDate?: string | undefined;
219
+ name?: string | undefined;
220
+ shortName?: string | undefined;
221
+ gradesDueDate?: string | undefined;
222
+ reportCardDate?: string | undefined;
223
+ isActive?: boolean | undefined;
224
+ }, {
225
+ startDate?: string | undefined;
226
+ endDate?: string | undefined;
227
+ name?: string | undefined;
228
+ shortName?: string | undefined;
229
+ gradesDueDate?: string | undefined;
230
+ reportCardDate?: string | undefined;
231
+ isActive?: boolean | undefined;
232
+ }>;
233
+ export type UpdateGradingPeriodDto = z.infer<typeof updateGradingPeriodSchema>;
234
+ export declare const gradingPeriodResponseSchema: z.ZodObject<{
235
+ termId: z.ZodString;
236
+ yearId: z.ZodString;
237
+ schoolId: z.ZodString;
238
+ name: z.ZodString;
239
+ shortName: z.ZodOptional<z.ZodString>;
240
+ termType: z.ZodEnum<["semester", "quarter", "trimester", "year"]>;
241
+ sequence: z.ZodNumber;
242
+ startDate: z.ZodString;
243
+ endDate: z.ZodString;
244
+ gradesDueDate: z.ZodOptional<z.ZodString>;
245
+ reportCardDate: z.ZodOptional<z.ZodString>;
246
+ isActive: z.ZodBoolean;
247
+ createdAt: z.ZodString;
248
+ updatedAt: z.ZodString;
249
+ }, "strip", z.ZodTypeAny, {
250
+ createdAt: string;
251
+ updatedAt: string;
252
+ startDate: string;
253
+ endDate: string;
254
+ name: string;
255
+ schoolId: string;
256
+ yearId: string;
257
+ termType: "semester" | "quarter" | "trimester" | "year";
258
+ sequence: number;
259
+ isActive: boolean;
260
+ termId: string;
261
+ shortName?: string | undefined;
262
+ gradesDueDate?: string | undefined;
263
+ reportCardDate?: string | undefined;
264
+ }, {
265
+ createdAt: string;
266
+ updatedAt: string;
267
+ startDate: string;
268
+ endDate: string;
269
+ name: string;
270
+ schoolId: string;
271
+ yearId: string;
272
+ termType: "semester" | "quarter" | "trimester" | "year";
273
+ sequence: number;
274
+ isActive: boolean;
275
+ termId: string;
276
+ shortName?: string | undefined;
277
+ gradesDueDate?: string | undefined;
278
+ reportCardDate?: string | undefined;
279
+ }>;
280
+ export type GradingPeriodResponseDto = z.infer<typeof gradingPeriodResponseSchema>;
281
+ export declare const gradingPeriodListResponseSchema: z.ZodObject<{
282
+ items: z.ZodArray<z.ZodObject<{
283
+ termId: z.ZodString;
284
+ yearId: z.ZodString;
285
+ schoolId: z.ZodString;
286
+ name: z.ZodString;
287
+ shortName: z.ZodOptional<z.ZodString>;
288
+ termType: z.ZodEnum<["semester", "quarter", "trimester", "year"]>;
289
+ sequence: z.ZodNumber;
290
+ startDate: z.ZodString;
291
+ endDate: z.ZodString;
292
+ gradesDueDate: z.ZodOptional<z.ZodString>;
293
+ reportCardDate: z.ZodOptional<z.ZodString>;
294
+ isActive: z.ZodBoolean;
295
+ createdAt: z.ZodString;
296
+ updatedAt: z.ZodString;
297
+ }, "strip", z.ZodTypeAny, {
298
+ createdAt: string;
299
+ updatedAt: string;
300
+ startDate: string;
301
+ endDate: string;
302
+ name: string;
303
+ schoolId: string;
304
+ yearId: string;
305
+ termType: "semester" | "quarter" | "trimester" | "year";
306
+ sequence: number;
307
+ isActive: boolean;
308
+ termId: string;
309
+ shortName?: string | undefined;
310
+ gradesDueDate?: string | undefined;
311
+ reportCardDate?: string | undefined;
312
+ }, {
313
+ createdAt: string;
314
+ updatedAt: string;
315
+ startDate: string;
316
+ endDate: string;
317
+ name: string;
318
+ schoolId: string;
319
+ yearId: string;
320
+ termType: "semester" | "quarter" | "trimester" | "year";
321
+ sequence: number;
322
+ isActive: boolean;
323
+ termId: string;
324
+ shortName?: string | undefined;
325
+ gradesDueDate?: string | undefined;
326
+ reportCardDate?: string | undefined;
327
+ }>, "many">;
328
+ lastEvaluatedKey: z.ZodOptional<z.ZodString>;
329
+ hasMore: z.ZodBoolean;
330
+ total: z.ZodOptional<z.ZodNumber>;
331
+ }, "strip", z.ZodTypeAny, {
332
+ items: {
333
+ createdAt: string;
334
+ updatedAt: string;
335
+ startDate: string;
336
+ endDate: string;
337
+ name: string;
338
+ schoolId: string;
339
+ yearId: string;
340
+ termType: "semester" | "quarter" | "trimester" | "year";
341
+ sequence: number;
342
+ isActive: boolean;
343
+ termId: string;
344
+ shortName?: string | undefined;
345
+ gradesDueDate?: string | undefined;
346
+ reportCardDate?: string | undefined;
347
+ }[];
348
+ hasMore: boolean;
349
+ lastEvaluatedKey?: string | undefined;
350
+ total?: number | undefined;
351
+ }, {
352
+ items: {
353
+ createdAt: string;
354
+ updatedAt: string;
355
+ startDate: string;
356
+ endDate: string;
357
+ name: string;
358
+ schoolId: string;
359
+ yearId: string;
360
+ termType: "semester" | "quarter" | "trimester" | "year";
361
+ sequence: number;
362
+ isActive: boolean;
363
+ termId: string;
364
+ shortName?: string | undefined;
365
+ gradesDueDate?: string | undefined;
366
+ reportCardDate?: string | undefined;
367
+ }[];
368
+ hasMore: boolean;
369
+ lastEvaluatedKey?: string | undefined;
370
+ total?: number | undefined;
371
+ }>;
372
+ export type GradingPeriodListResponseDto = z.infer<typeof gradingPeriodListResponseSchema>;
373
+ export declare const createHolidaySchema: z.ZodObject<{
374
+ name: z.ZodString;
375
+ date: z.ZodString;
376
+ endDate: z.ZodOptional<z.ZodString>;
377
+ holidayType: z.ZodEnum<["federal", "state", "school", "break", "professional_development"]>;
378
+ affectsStudents: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
379
+ affectsStaff: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
380
+ }, "strip", z.ZodTypeAny, {
381
+ date: string;
382
+ name: string;
383
+ holidayType: "state" | "federal" | "school" | "break" | "professional_development";
384
+ endDate?: string | undefined;
385
+ affectsStudents?: boolean | undefined;
386
+ affectsStaff?: boolean | undefined;
387
+ }, {
388
+ date: string;
389
+ name: string;
390
+ holidayType: "state" | "federal" | "school" | "break" | "professional_development";
391
+ endDate?: string | undefined;
392
+ affectsStudents?: boolean | undefined;
393
+ affectsStaff?: boolean | undefined;
394
+ }>;
395
+ export type CreateHolidayDto = z.infer<typeof createHolidaySchema>;
396
+ export declare const bulkCreateHolidaysSchema: z.ZodObject<{
397
+ holidays: z.ZodArray<z.ZodObject<{
398
+ name: z.ZodString;
399
+ date: z.ZodString;
400
+ endDate: z.ZodOptional<z.ZodString>;
401
+ holidayType: z.ZodEnum<["federal", "state", "school", "break", "professional_development"]>;
402
+ affectsStudents: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
403
+ affectsStaff: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
404
+ }, "strip", z.ZodTypeAny, {
405
+ date: string;
406
+ name: string;
407
+ holidayType: "state" | "federal" | "school" | "break" | "professional_development";
408
+ endDate?: string | undefined;
409
+ affectsStudents?: boolean | undefined;
410
+ affectsStaff?: boolean | undefined;
411
+ }, {
412
+ date: string;
413
+ name: string;
414
+ holidayType: "state" | "federal" | "school" | "break" | "professional_development";
415
+ endDate?: string | undefined;
416
+ affectsStudents?: boolean | undefined;
417
+ affectsStaff?: boolean | undefined;
418
+ }>, "many">;
419
+ }, "strip", z.ZodTypeAny, {
420
+ holidays: {
421
+ date: string;
422
+ name: string;
423
+ holidayType: "state" | "federal" | "school" | "break" | "professional_development";
424
+ endDate?: string | undefined;
425
+ affectsStudents?: boolean | undefined;
426
+ affectsStaff?: boolean | undefined;
427
+ }[];
428
+ }, {
429
+ holidays: {
430
+ date: string;
431
+ name: string;
432
+ holidayType: "state" | "federal" | "school" | "break" | "professional_development";
433
+ endDate?: string | undefined;
434
+ affectsStudents?: boolean | undefined;
435
+ affectsStaff?: boolean | undefined;
436
+ }[];
437
+ }>;
438
+ export type BulkCreateHolidaysDto = z.infer<typeof bulkCreateHolidaysSchema>;
439
+ export declare const holidayResponseSchema: z.ZodObject<{
440
+ holidayId: z.ZodString;
441
+ yearId: z.ZodString;
442
+ schoolId: z.ZodString;
443
+ name: z.ZodString;
444
+ date: z.ZodString;
445
+ endDate: z.ZodOptional<z.ZodString>;
446
+ holidayType: z.ZodEnum<["federal", "state", "school", "break", "professional_development"]>;
447
+ affectsStudents: z.ZodBoolean;
448
+ affectsStaff: z.ZodBoolean;
449
+ createdAt: z.ZodString;
450
+ }, "strip", z.ZodTypeAny, {
451
+ createdAt: string;
452
+ date: string;
453
+ name: string;
454
+ schoolId: string;
455
+ yearId: string;
456
+ holidayType: "state" | "federal" | "school" | "break" | "professional_development";
457
+ affectsStudents: boolean;
458
+ affectsStaff: boolean;
459
+ holidayId: string;
460
+ endDate?: string | undefined;
461
+ }, {
462
+ createdAt: string;
463
+ date: string;
464
+ name: string;
465
+ schoolId: string;
466
+ yearId: string;
467
+ holidayType: "state" | "federal" | "school" | "break" | "professional_development";
468
+ affectsStudents: boolean;
469
+ affectsStaff: boolean;
470
+ holidayId: string;
471
+ endDate?: string | undefined;
472
+ }>;
473
+ export type HolidayResponseDto = z.infer<typeof holidayResponseSchema>;
474
+ export declare const holidayListResponseSchema: z.ZodObject<{
475
+ items: z.ZodArray<z.ZodObject<{
476
+ holidayId: z.ZodString;
477
+ yearId: z.ZodString;
478
+ schoolId: z.ZodString;
479
+ name: z.ZodString;
480
+ date: z.ZodString;
481
+ endDate: z.ZodOptional<z.ZodString>;
482
+ holidayType: z.ZodEnum<["federal", "state", "school", "break", "professional_development"]>;
483
+ affectsStudents: z.ZodBoolean;
484
+ affectsStaff: z.ZodBoolean;
485
+ createdAt: z.ZodString;
486
+ }, "strip", z.ZodTypeAny, {
487
+ createdAt: string;
488
+ date: string;
489
+ name: string;
490
+ schoolId: string;
491
+ yearId: string;
492
+ holidayType: "state" | "federal" | "school" | "break" | "professional_development";
493
+ affectsStudents: boolean;
494
+ affectsStaff: boolean;
495
+ holidayId: string;
496
+ endDate?: string | undefined;
497
+ }, {
498
+ createdAt: string;
499
+ date: string;
500
+ name: string;
501
+ schoolId: string;
502
+ yearId: string;
503
+ holidayType: "state" | "federal" | "school" | "break" | "professional_development";
504
+ affectsStudents: boolean;
505
+ affectsStaff: boolean;
506
+ holidayId: string;
507
+ endDate?: string | undefined;
508
+ }>, "many">;
509
+ lastEvaluatedKey: z.ZodOptional<z.ZodString>;
510
+ hasMore: z.ZodBoolean;
511
+ total: z.ZodOptional<z.ZodNumber>;
512
+ }, "strip", z.ZodTypeAny, {
513
+ items: {
514
+ createdAt: string;
515
+ date: string;
516
+ name: string;
517
+ schoolId: string;
518
+ yearId: string;
519
+ holidayType: "state" | "federal" | "school" | "break" | "professional_development";
520
+ affectsStudents: boolean;
521
+ affectsStaff: boolean;
522
+ holidayId: string;
523
+ endDate?: string | undefined;
524
+ }[];
525
+ hasMore: boolean;
526
+ lastEvaluatedKey?: string | undefined;
527
+ total?: number | undefined;
528
+ }, {
529
+ items: {
530
+ createdAt: string;
531
+ date: string;
532
+ name: string;
533
+ schoolId: string;
534
+ yearId: string;
535
+ holidayType: "state" | "federal" | "school" | "break" | "professional_development";
536
+ affectsStudents: boolean;
537
+ affectsStaff: boolean;
538
+ holidayId: string;
539
+ endDate?: string | undefined;
540
+ }[];
541
+ hasMore: boolean;
542
+ lastEvaluatedKey?: string | undefined;
543
+ total?: number | undefined;
544
+ }>;
545
+ export type HolidayListResponseDto = z.infer<typeof holidayListResponseSchema>;
546
+ //# sourceMappingURL=academic-year.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"academic-year.schema.d.ts","sourceRoot":"","sources":["../../../src/schemas/identity/academic-year.schema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,eAAO,MAAM,wBAAwB,4DAA0D,CAAC;AAChG,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,cAAc,yDAAuD,CAAC;AACnF,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEtD,eAAO,MAAM,iBAAiB,gFAM5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAM5D,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;EAOnC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAM7E,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;EAMnC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAM7E,eAAO,MAAM,8BAA8B;;;;;;EAEzC,CAAC;AAEH,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAMzF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYrC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAMjF,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA4D,CAAC;AACxG,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAMzF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;EASpC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE/E,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;EAQpC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE/E,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAetC,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEnF,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA6D,CAAC;AAC1G,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAM3F,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;EAO9B,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEnE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEnC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE7E,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWhC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEvE,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAuD,CAAC;AAC9F,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC"}
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+ /**
3
+ * Academic Year Schemas - Identity Service
4
+ *
5
+ * Zod schemas for academic year, grading periods, and holiday management DTOs.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.holidayListResponseSchema = exports.holidayResponseSchema = exports.bulkCreateHolidaysSchema = exports.createHolidaySchema = exports.gradingPeriodListResponseSchema = exports.gradingPeriodResponseSchema = exports.updateGradingPeriodSchema = exports.createGradingPeriodSchema = exports.academicYearListResponseSchema = exports.academicYearResponseSchema = exports.updateAcademicYearStatusSchema = exports.updateAcademicYearSchema = exports.createAcademicYearSchema = exports.holidayTypeSchema = exports.termTypeSchema = exports.academicYearStatusSchema = void 0;
9
+ const zod_1 = require("zod");
10
+ const common_1 = require("../common");
11
+ const school_schema_1 = require("./school.schema");
12
+ // ============================================
13
+ // Enums
14
+ // ============================================
15
+ exports.academicYearStatusSchema = zod_1.z.enum(['planning', 'active', 'completed', 'archived']);
16
+ exports.termTypeSchema = zod_1.z.enum(['semester', 'quarter', 'trimester', 'year']);
17
+ exports.holidayTypeSchema = zod_1.z.enum([
18
+ 'federal',
19
+ 'state',
20
+ 'school',
21
+ 'break',
22
+ 'professional_development',
23
+ ]);
24
+ // ============================================
25
+ // Create Academic Year Schema
26
+ // ============================================
27
+ exports.createAcademicYearSchema = zod_1.z.object({
28
+ name: zod_1.z.string().min(4).max(20),
29
+ shortName: zod_1.z.string().max(10).optional(),
30
+ startDate: zod_1.z.string().regex(/^\d{4}-\d{2}-\d{2}$/, 'Must be YYYY-MM-DD format'),
31
+ endDate: zod_1.z.string().regex(/^\d{4}-\d{2}-\d{2}$/, 'Must be YYYY-MM-DD format'),
32
+ calendarType: school_schema_1.academicCalendarTypeSchema.default('semester').optional(),
33
+ setAsCurrent: zod_1.z.boolean().default(false).optional(),
34
+ });
35
+ // ============================================
36
+ // Update Academic Year Schema
37
+ // ============================================
38
+ exports.updateAcademicYearSchema = zod_1.z.object({
39
+ name: zod_1.z.string().min(4).max(20).optional(),
40
+ shortName: zod_1.z.string().max(10).optional(),
41
+ startDate: zod_1.z.string().regex(/^\d{4}-\d{2}-\d{2}$/).optional(),
42
+ endDate: zod_1.z.string().regex(/^\d{4}-\d{2}-\d{2}$/).optional(),
43
+ calendarType: school_schema_1.academicCalendarTypeSchema.optional(),
44
+ });
45
+ // ============================================
46
+ // Update Academic Year Status Schema
47
+ // ============================================
48
+ exports.updateAcademicYearStatusSchema = zod_1.z.object({
49
+ status: exports.academicYearStatusSchema,
50
+ });
51
+ // ============================================
52
+ // Academic Year Response Schema
53
+ // ============================================
54
+ exports.academicYearResponseSchema = zod_1.z.object({
55
+ yearId: zod_1.z.string(),
56
+ schoolId: zod_1.z.string(),
57
+ name: zod_1.z.string(),
58
+ shortName: zod_1.z.string().optional(),
59
+ startDate: zod_1.z.string(),
60
+ endDate: zod_1.z.string(),
61
+ status: exports.academicYearStatusSchema,
62
+ isCurrent: zod_1.z.boolean(),
63
+ calendarType: school_schema_1.academicCalendarTypeSchema,
64
+ createdAt: common_1.isoDateSchema,
65
+ updatedAt: common_1.isoDateSchema,
66
+ });
67
+ // ============================================
68
+ // Academic Year List Response Schema
69
+ // ============================================
70
+ exports.academicYearListResponseSchema = (0, common_1.createPaginatedResponseSchema)(exports.academicYearResponseSchema);
71
+ // ============================================
72
+ // Grading Period Schemas
73
+ // ============================================
74
+ exports.createGradingPeriodSchema = zod_1.z.object({
75
+ name: zod_1.z.string().min(2).max(50),
76
+ shortName: zod_1.z.string().max(10).optional(),
77
+ termType: exports.termTypeSchema,
78
+ sequence: zod_1.z.number().int().min(1).max(12),
79
+ startDate: zod_1.z.string().regex(/^\d{4}-\d{2}-\d{2}$/),
80
+ endDate: zod_1.z.string().regex(/^\d{4}-\d{2}-\d{2}$/),
81
+ gradesDueDate: zod_1.z.string().regex(/^\d{4}-\d{2}-\d{2}$/).optional(),
82
+ reportCardDate: zod_1.z.string().regex(/^\d{4}-\d{2}-\d{2}$/).optional(),
83
+ });
84
+ exports.updateGradingPeriodSchema = zod_1.z.object({
85
+ name: zod_1.z.string().min(2).max(50).optional(),
86
+ shortName: zod_1.z.string().max(10).optional(),
87
+ startDate: zod_1.z.string().regex(/^\d{4}-\d{2}-\d{2}$/).optional(),
88
+ endDate: zod_1.z.string().regex(/^\d{4}-\d{2}-\d{2}$/).optional(),
89
+ gradesDueDate: zod_1.z.string().regex(/^\d{4}-\d{2}-\d{2}$/).optional(),
90
+ reportCardDate: zod_1.z.string().regex(/^\d{4}-\d{2}-\d{2}$/).optional(),
91
+ isActive: zod_1.z.boolean().optional(),
92
+ });
93
+ exports.gradingPeriodResponseSchema = zod_1.z.object({
94
+ termId: zod_1.z.string(),
95
+ yearId: zod_1.z.string(),
96
+ schoolId: zod_1.z.string(),
97
+ name: zod_1.z.string(),
98
+ shortName: zod_1.z.string().optional(),
99
+ termType: exports.termTypeSchema,
100
+ sequence: zod_1.z.number().int(),
101
+ startDate: zod_1.z.string(),
102
+ endDate: zod_1.z.string(),
103
+ gradesDueDate: zod_1.z.string().optional(),
104
+ reportCardDate: zod_1.z.string().optional(),
105
+ isActive: zod_1.z.boolean(),
106
+ createdAt: common_1.isoDateSchema,
107
+ updatedAt: common_1.isoDateSchema,
108
+ });
109
+ exports.gradingPeriodListResponseSchema = (0, common_1.createPaginatedResponseSchema)(exports.gradingPeriodResponseSchema);
110
+ // ============================================
111
+ // Holiday Schemas
112
+ // ============================================
113
+ exports.createHolidaySchema = zod_1.z.object({
114
+ name: zod_1.z.string().min(2).max(100),
115
+ date: zod_1.z.string().regex(/^\d{4}-\d{2}-\d{2}$/),
116
+ endDate: zod_1.z.string().regex(/^\d{4}-\d{2}-\d{2}$/).optional(),
117
+ holidayType: exports.holidayTypeSchema,
118
+ affectsStudents: zod_1.z.boolean().default(true).optional(),
119
+ affectsStaff: zod_1.z.boolean().default(true).optional(),
120
+ });
121
+ exports.bulkCreateHolidaysSchema = zod_1.z.object({
122
+ holidays: zod_1.z.array(exports.createHolidaySchema),
123
+ });
124
+ exports.holidayResponseSchema = zod_1.z.object({
125
+ holidayId: zod_1.z.string(),
126
+ yearId: zod_1.z.string(),
127
+ schoolId: zod_1.z.string(),
128
+ name: zod_1.z.string(),
129
+ date: zod_1.z.string(),
130
+ endDate: zod_1.z.string().optional(),
131
+ holidayType: exports.holidayTypeSchema,
132
+ affectsStudents: zod_1.z.boolean(),
133
+ affectsStaff: zod_1.z.boolean(),
134
+ createdAt: common_1.isoDateSchema,
135
+ });
136
+ exports.holidayListResponseSchema = (0, common_1.createPaginatedResponseSchema)(exports.holidayResponseSchema);
137
+ //# sourceMappingURL=academic-year.schema.js.map