@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":"classroom.schema.d.ts","sourceRoot":"","sources":["../../../src/schemas/academics/classroom.schema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAWxB,eAAO,MAAM,eAAe,8DAA4D,CAAC;AACzF,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,eAAO,MAAM,qBAAqB,+CAA6C,CAAC;AAChF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,iBAAiB,+KAY5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAM5D,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAU/B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAMnE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyChC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAMvE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGhC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAMvE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkDlC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAM3E,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAyD,CAAC;AAClG,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAMnF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;EAKrC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAMjF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;EAInC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAM7E,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUhC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
@@ -0,0 +1,164 @@
1
+ "use strict";
2
+ /**
3
+ * Classroom Schemas - Academics Service
4
+ *
5
+ * Zod schemas for classroom/section management DTOs.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.classroomFilterSchema = exports.bulkEnrollStudentsSchema = exports.enrollStudentInClassSchema = exports.classroomListResponseSchema = exports.classroomResponseSchema = exports.updateClassroomSchema = exports.createClassroomSchema = exports.classScheduleSchema = exports.subjectAreaSchema = exports.classroomStatusSchema = exports.dayOfWeekSchema = void 0;
9
+ const zod_1 = require("zod");
10
+ const common_1 = require("../common");
11
+ // ============================================
12
+ // Enums
13
+ // ============================================
14
+ exports.dayOfWeekSchema = zod_1.z.enum(['MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT', 'SUN']);
15
+ exports.classroomStatusSchema = zod_1.z.enum(['active', 'inactive', 'archived']);
16
+ exports.subjectAreaSchema = zod_1.z.enum([
17
+ 'mathematics',
18
+ 'english_language_arts',
19
+ 'science',
20
+ 'social_studies',
21
+ 'foreign_language',
22
+ 'physical_education',
23
+ 'art',
24
+ 'music',
25
+ 'technology',
26
+ 'elective',
27
+ 'other',
28
+ ]);
29
+ // ============================================
30
+ // Class Schedule Schema
31
+ // ============================================
32
+ exports.classScheduleSchema = zod_1.z.object({
33
+ dayOfWeek: exports.dayOfWeekSchema,
34
+ startTime: common_1.timeSchema,
35
+ endTime: common_1.timeSchema,
36
+ periodNumber: zod_1.z.number().int().positive().max(20).optional(),
37
+ periodName: zod_1.z.string().max(50).optional(),
38
+ room: zod_1.z.string().max(50).optional(),
39
+ }).refine(data => data.startTime < data.endTime, { message: 'Start time must be before end time' });
40
+ // ============================================
41
+ // Create Classroom Schema
42
+ // ============================================
43
+ exports.createClassroomSchema = zod_1.z.object({
44
+ // Basic Info
45
+ name: zod_1.z.string().min(2).max(100),
46
+ code: zod_1.z.string().min(2).max(20),
47
+ description: zod_1.z.string().max(500).optional(),
48
+ // Academic Info
49
+ subject: zod_1.z.string().min(1).max(100),
50
+ subjectArea: exports.subjectAreaSchema.optional(),
51
+ gradeLevel: zod_1.z.string().min(1).max(10),
52
+ section: zod_1.z.string().max(20).optional(),
53
+ // School Info
54
+ schoolId: zod_1.z.string().uuid(),
55
+ academicYearId: zod_1.z.string().uuid(),
56
+ termId: zod_1.z.string().uuid().optional(),
57
+ departmentId: zod_1.z.string().uuid().optional(),
58
+ // Teachers
59
+ primaryTeacherId: zod_1.z.string().uuid(),
60
+ coTeacherIds: zod_1.z.array(zod_1.z.string().uuid()).max(5).optional(),
61
+ // Location
62
+ room: zod_1.z.string().max(50).optional(),
63
+ building: zod_1.z.string().max(100).optional(),
64
+ // Capacity
65
+ capacity: zod_1.z.number().int().positive().max(200).optional(),
66
+ // Schedule
67
+ schedule: zod_1.z.array(exports.classScheduleSchema).min(1).max(35),
68
+ // Settings
69
+ status: exports.classroomStatusSchema.default('active'),
70
+ allowSelfEnrollment: zod_1.z.boolean().default(false),
71
+ isVirtual: zod_1.z.boolean().default(false),
72
+ virtualMeetingUrl: zod_1.z.string().url().optional(),
73
+ // Course Info
74
+ courseCode: zod_1.z.string().max(20).optional(),
75
+ credits: zod_1.z.number().min(0).max(10).optional(),
76
+ });
77
+ // ============================================
78
+ // Update Classroom Schema
79
+ // ============================================
80
+ exports.updateClassroomSchema = exports.createClassroomSchema.partial().omit({
81
+ schoolId: true,
82
+ academicYearId: true,
83
+ });
84
+ // ============================================
85
+ // Classroom Response Schema
86
+ // ============================================
87
+ exports.classroomResponseSchema = zod_1.z.object({
88
+ classroomId: zod_1.z.string().uuid(),
89
+ schoolId: zod_1.z.string().uuid(),
90
+ tenantId: zod_1.z.string(),
91
+ academicYearId: zod_1.z.string().uuid(),
92
+ termId: zod_1.z.string().uuid().optional(),
93
+ departmentId: zod_1.z.string().uuid().optional(),
94
+ // Basic Info
95
+ name: zod_1.z.string(),
96
+ code: zod_1.z.string(),
97
+ description: zod_1.z.string().optional(),
98
+ // Academic Info
99
+ subject: zod_1.z.string(),
100
+ subjectArea: exports.subjectAreaSchema.optional(),
101
+ gradeLevel: zod_1.z.string(),
102
+ section: zod_1.z.string().optional(),
103
+ // Teachers
104
+ primaryTeacherId: zod_1.z.string().uuid(),
105
+ primaryTeacherName: zod_1.z.string().optional(),
106
+ coTeacherIds: zod_1.z.array(zod_1.z.string().uuid()).optional(),
107
+ // Location
108
+ room: zod_1.z.string().optional(),
109
+ building: zod_1.z.string().optional(),
110
+ // Capacity
111
+ capacity: zod_1.z.number().int().optional(),
112
+ enrolledCount: zod_1.z.number().int().min(0).optional(),
113
+ // Schedule
114
+ schedule: zod_1.z.array(exports.classScheduleSchema),
115
+ // Settings
116
+ status: exports.classroomStatusSchema,
117
+ allowSelfEnrollment: zod_1.z.boolean(),
118
+ isVirtual: zod_1.z.boolean(),
119
+ virtualMeetingUrl: zod_1.z.string().optional(),
120
+ // Course Info
121
+ courseCode: zod_1.z.string().optional(),
122
+ credits: zod_1.z.number().optional(),
123
+ // Metadata
124
+ createdAt: common_1.isoDateSchema,
125
+ updatedAt: common_1.isoDateSchema,
126
+ createdBy: zod_1.z.string().optional(),
127
+ updatedBy: zod_1.z.string().optional(),
128
+ });
129
+ // ============================================
130
+ // Classroom List Response Schema
131
+ // ============================================
132
+ exports.classroomListResponseSchema = (0, common_1.createPaginatedResponseSchema)(exports.classroomResponseSchema);
133
+ // ============================================
134
+ // Enroll Student Schema
135
+ // ============================================
136
+ exports.enrollStudentInClassSchema = zod_1.z.object({
137
+ studentId: zod_1.z.string().uuid(),
138
+ classroomId: zod_1.z.string().uuid(),
139
+ enrollmentDate: zod_1.z.string().regex(/^\d{4}-\d{2}-\d{2}$/).optional(),
140
+ notes: zod_1.z.string().max(500).optional(),
141
+ });
142
+ // ============================================
143
+ // Bulk Enroll Schema
144
+ // ============================================
145
+ exports.bulkEnrollStudentsSchema = zod_1.z.object({
146
+ classroomId: zod_1.z.string().uuid(),
147
+ studentIds: zod_1.z.array(zod_1.z.string().uuid()).min(1).max(100),
148
+ enrollmentDate: zod_1.z.string().regex(/^\d{4}-\d{2}-\d{2}$/).optional(),
149
+ });
150
+ // ============================================
151
+ // Classroom Filter Schema
152
+ // ============================================
153
+ exports.classroomFilterSchema = zod_1.z.object({
154
+ schoolId: zod_1.z.string().uuid().optional(),
155
+ academicYearId: zod_1.z.string().uuid().optional(),
156
+ termId: zod_1.z.string().uuid().optional(),
157
+ departmentId: zod_1.z.string().uuid().optional(),
158
+ teacherId: zod_1.z.string().uuid().optional(),
159
+ gradeLevel: zod_1.z.string().optional(),
160
+ subjectArea: exports.subjectAreaSchema.optional(),
161
+ status: exports.classroomStatusSchema.optional(),
162
+ searchTerm: zod_1.z.string().max(100).optional(),
163
+ });
164
+ //# sourceMappingURL=classroom.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classroom.schema.js","sourceRoot":"","sources":["../../../src/schemas/academics/classroom.schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,388 @@
1
+ /**
2
+ * Course Section Schemas - Academics Service
3
+ *
4
+ * Zod schemas for course section (class instance) management DTOs.
5
+ * A course section is a specific offering of a course with a teacher,
6
+ * schedule, and enrollment cap for a given academic term.
7
+ *
8
+ * Ed-Fi Alignment:
9
+ * - Maps to Ed-Fi "Section" entity
10
+ * - sectionNumber -> Ed-Fi sectionIdentifier
11
+ * - primaryTeacherId -> Ed-Fi StaffSectionAssociation (primary)
12
+ * - maxEnrollment -> Ed-Fi availableCredits context
13
+ *
14
+ * @see https://api.ed-fi.org/v7.1/docs/swagger/index.html - Section
15
+ */
16
+ import { z } from 'zod';
17
+ export declare const createSectionSchema: z.ZodObject<{
18
+ courseId: z.ZodString;
19
+ schoolId: z.ZodString;
20
+ academicYearId: z.ZodString;
21
+ termId: z.ZodOptional<z.ZodString>;
22
+ sectionNumber: z.ZodString;
23
+ sectionName: z.ZodOptional<z.ZodString>;
24
+ primaryTeacherId: z.ZodString;
25
+ coTeacherIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
26
+ roomId: z.ZodOptional<z.ZodString>;
27
+ maxEnrollment: z.ZodNumber;
28
+ }, "strip", z.ZodTypeAny, {
29
+ schoolId: string;
30
+ academicYearId: string;
31
+ primaryTeacherId: string;
32
+ courseId: string;
33
+ sectionNumber: string;
34
+ maxEnrollment: number;
35
+ termId?: string | undefined;
36
+ coTeacherIds?: string[] | undefined;
37
+ sectionName?: string | undefined;
38
+ roomId?: string | undefined;
39
+ }, {
40
+ schoolId: string;
41
+ academicYearId: string;
42
+ primaryTeacherId: string;
43
+ courseId: string;
44
+ sectionNumber: string;
45
+ maxEnrollment: number;
46
+ termId?: string | undefined;
47
+ coTeacherIds?: string[] | undefined;
48
+ sectionName?: string | undefined;
49
+ roomId?: string | undefined;
50
+ }>;
51
+ export type CreateSectionDto = z.infer<typeof createSectionSchema>;
52
+ export declare const updateSectionSchema: z.ZodObject<Omit<{
53
+ courseId: z.ZodOptional<z.ZodString>;
54
+ schoolId: z.ZodOptional<z.ZodString>;
55
+ academicYearId: z.ZodOptional<z.ZodString>;
56
+ termId: z.ZodOptional<z.ZodOptional<z.ZodString>>;
57
+ sectionNumber: z.ZodOptional<z.ZodString>;
58
+ sectionName: z.ZodOptional<z.ZodOptional<z.ZodString>>;
59
+ primaryTeacherId: z.ZodOptional<z.ZodString>;
60
+ coTeacherIds: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
61
+ roomId: z.ZodOptional<z.ZodOptional<z.ZodString>>;
62
+ maxEnrollment: z.ZodOptional<z.ZodNumber>;
63
+ }, "schoolId" | "academicYearId" | "courseId">, "strip", z.ZodTypeAny, {
64
+ termId?: string | undefined;
65
+ primaryTeacherId?: string | undefined;
66
+ coTeacherIds?: string[] | undefined;
67
+ sectionNumber?: string | undefined;
68
+ sectionName?: string | undefined;
69
+ roomId?: string | undefined;
70
+ maxEnrollment?: number | undefined;
71
+ }, {
72
+ termId?: string | undefined;
73
+ primaryTeacherId?: string | undefined;
74
+ coTeacherIds?: string[] | undefined;
75
+ sectionNumber?: string | undefined;
76
+ sectionName?: string | undefined;
77
+ roomId?: string | undefined;
78
+ maxEnrollment?: number | undefined;
79
+ }>;
80
+ export type UpdateSectionDto = z.infer<typeof updateSectionSchema>;
81
+ export declare const sectionResponseSchema: z.ZodObject<{
82
+ sectionId: z.ZodString;
83
+ tenantId: z.ZodString;
84
+ courseId: z.ZodString;
85
+ courseCode: z.ZodOptional<z.ZodString>;
86
+ courseName: z.ZodOptional<z.ZodString>;
87
+ schoolId: z.ZodString;
88
+ academicYearId: z.ZodString;
89
+ termId: z.ZodOptional<z.ZodString>;
90
+ sectionNumber: z.ZodString;
91
+ sectionName: z.ZodOptional<z.ZodString>;
92
+ primaryTeacherId: z.ZodString;
93
+ primaryTeacherName: z.ZodOptional<z.ZodString>;
94
+ coTeacherIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
95
+ roomId: z.ZodOptional<z.ZodString>;
96
+ roomNumber: z.ZodOptional<z.ZodString>;
97
+ maxEnrollment: z.ZodNumber;
98
+ currentEnrollment: z.ZodNumber;
99
+ isActive: z.ZodBoolean;
100
+ createdAt: z.ZodString;
101
+ updatedAt: z.ZodString;
102
+ createdBy: z.ZodOptional<z.ZodString>;
103
+ updatedBy: z.ZodOptional<z.ZodString>;
104
+ }, "strip", z.ZodTypeAny, {
105
+ tenantId: string;
106
+ createdAt: string;
107
+ updatedAt: string;
108
+ schoolId: string;
109
+ isActive: boolean;
110
+ academicYearId: string;
111
+ currentEnrollment: number;
112
+ primaryTeacherId: string;
113
+ courseId: string;
114
+ sectionNumber: string;
115
+ maxEnrollment: number;
116
+ sectionId: string;
117
+ createdBy?: string | undefined;
118
+ updatedBy?: string | undefined;
119
+ termId?: string | undefined;
120
+ coTeacherIds?: string[] | undefined;
121
+ courseCode?: string | undefined;
122
+ primaryTeacherName?: string | undefined;
123
+ courseName?: string | undefined;
124
+ sectionName?: string | undefined;
125
+ roomId?: string | undefined;
126
+ roomNumber?: string | undefined;
127
+ }, {
128
+ tenantId: string;
129
+ createdAt: string;
130
+ updatedAt: string;
131
+ schoolId: string;
132
+ isActive: boolean;
133
+ academicYearId: string;
134
+ currentEnrollment: number;
135
+ primaryTeacherId: string;
136
+ courseId: string;
137
+ sectionNumber: string;
138
+ maxEnrollment: number;
139
+ sectionId: string;
140
+ createdBy?: string | undefined;
141
+ updatedBy?: string | undefined;
142
+ termId?: string | undefined;
143
+ coTeacherIds?: string[] | undefined;
144
+ courseCode?: string | undefined;
145
+ primaryTeacherName?: string | undefined;
146
+ courseName?: string | undefined;
147
+ sectionName?: string | undefined;
148
+ roomId?: string | undefined;
149
+ roomNumber?: string | undefined;
150
+ }>;
151
+ export type SectionResponseDto = z.infer<typeof sectionResponseSchema>;
152
+ export declare const sectionListResponseSchema: z.ZodObject<{
153
+ items: z.ZodArray<z.ZodObject<{
154
+ sectionId: z.ZodString;
155
+ tenantId: z.ZodString;
156
+ courseId: z.ZodString;
157
+ courseCode: z.ZodOptional<z.ZodString>;
158
+ courseName: z.ZodOptional<z.ZodString>;
159
+ schoolId: z.ZodString;
160
+ academicYearId: z.ZodString;
161
+ termId: z.ZodOptional<z.ZodString>;
162
+ sectionNumber: z.ZodString;
163
+ sectionName: z.ZodOptional<z.ZodString>;
164
+ primaryTeacherId: z.ZodString;
165
+ primaryTeacherName: z.ZodOptional<z.ZodString>;
166
+ coTeacherIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
167
+ roomId: z.ZodOptional<z.ZodString>;
168
+ roomNumber: z.ZodOptional<z.ZodString>;
169
+ maxEnrollment: z.ZodNumber;
170
+ currentEnrollment: z.ZodNumber;
171
+ isActive: z.ZodBoolean;
172
+ createdAt: z.ZodString;
173
+ updatedAt: z.ZodString;
174
+ createdBy: z.ZodOptional<z.ZodString>;
175
+ updatedBy: z.ZodOptional<z.ZodString>;
176
+ }, "strip", z.ZodTypeAny, {
177
+ tenantId: string;
178
+ createdAt: string;
179
+ updatedAt: string;
180
+ schoolId: string;
181
+ isActive: boolean;
182
+ academicYearId: string;
183
+ currentEnrollment: number;
184
+ primaryTeacherId: string;
185
+ courseId: string;
186
+ sectionNumber: string;
187
+ maxEnrollment: number;
188
+ sectionId: string;
189
+ createdBy?: string | undefined;
190
+ updatedBy?: string | undefined;
191
+ termId?: string | undefined;
192
+ coTeacherIds?: string[] | undefined;
193
+ courseCode?: string | undefined;
194
+ primaryTeacherName?: string | undefined;
195
+ courseName?: string | undefined;
196
+ sectionName?: string | undefined;
197
+ roomId?: string | undefined;
198
+ roomNumber?: string | undefined;
199
+ }, {
200
+ tenantId: string;
201
+ createdAt: string;
202
+ updatedAt: string;
203
+ schoolId: string;
204
+ isActive: boolean;
205
+ academicYearId: string;
206
+ currentEnrollment: number;
207
+ primaryTeacherId: string;
208
+ courseId: string;
209
+ sectionNumber: string;
210
+ maxEnrollment: number;
211
+ sectionId: string;
212
+ createdBy?: string | undefined;
213
+ updatedBy?: string | undefined;
214
+ termId?: string | undefined;
215
+ coTeacherIds?: string[] | undefined;
216
+ courseCode?: string | undefined;
217
+ primaryTeacherName?: string | undefined;
218
+ courseName?: string | undefined;
219
+ sectionName?: string | undefined;
220
+ roomId?: string | undefined;
221
+ roomNumber?: string | undefined;
222
+ }>, "many">;
223
+ lastEvaluatedKey: z.ZodOptional<z.ZodString>;
224
+ hasMore: z.ZodBoolean;
225
+ total: z.ZodOptional<z.ZodNumber>;
226
+ }, "strip", z.ZodTypeAny, {
227
+ items: {
228
+ tenantId: string;
229
+ createdAt: string;
230
+ updatedAt: string;
231
+ schoolId: string;
232
+ isActive: boolean;
233
+ academicYearId: string;
234
+ currentEnrollment: number;
235
+ primaryTeacherId: string;
236
+ courseId: string;
237
+ sectionNumber: string;
238
+ maxEnrollment: number;
239
+ sectionId: string;
240
+ createdBy?: string | undefined;
241
+ updatedBy?: string | undefined;
242
+ termId?: string | undefined;
243
+ coTeacherIds?: string[] | undefined;
244
+ courseCode?: string | undefined;
245
+ primaryTeacherName?: string | undefined;
246
+ courseName?: string | undefined;
247
+ sectionName?: string | undefined;
248
+ roomId?: string | undefined;
249
+ roomNumber?: string | undefined;
250
+ }[];
251
+ hasMore: boolean;
252
+ lastEvaluatedKey?: string | undefined;
253
+ total?: number | undefined;
254
+ }, {
255
+ items: {
256
+ tenantId: string;
257
+ createdAt: string;
258
+ updatedAt: string;
259
+ schoolId: string;
260
+ isActive: boolean;
261
+ academicYearId: string;
262
+ currentEnrollment: number;
263
+ primaryTeacherId: string;
264
+ courseId: string;
265
+ sectionNumber: string;
266
+ maxEnrollment: number;
267
+ sectionId: string;
268
+ createdBy?: string | undefined;
269
+ updatedBy?: string | undefined;
270
+ termId?: string | undefined;
271
+ coTeacherIds?: string[] | undefined;
272
+ courseCode?: string | undefined;
273
+ primaryTeacherName?: string | undefined;
274
+ courseName?: string | undefined;
275
+ sectionName?: string | undefined;
276
+ roomId?: string | undefined;
277
+ roomNumber?: string | undefined;
278
+ }[];
279
+ hasMore: boolean;
280
+ lastEvaluatedKey?: string | undefined;
281
+ total?: number | undefined;
282
+ }>;
283
+ export type SectionListResponseDto = z.infer<typeof sectionListResponseSchema>;
284
+ export declare const sectionFilterSchema: z.ZodObject<{
285
+ schoolId: z.ZodOptional<z.ZodString>;
286
+ courseId: z.ZodOptional<z.ZodString>;
287
+ academicYearId: z.ZodOptional<z.ZodString>;
288
+ termId: z.ZodOptional<z.ZodString>;
289
+ teacherId: z.ZodOptional<z.ZodString>;
290
+ isActive: z.ZodOptional<z.ZodBoolean>;
291
+ searchTerm: z.ZodOptional<z.ZodString>;
292
+ }, "strip", z.ZodTypeAny, {
293
+ schoolId?: string | undefined;
294
+ isActive?: boolean | undefined;
295
+ termId?: string | undefined;
296
+ academicYearId?: string | undefined;
297
+ searchTerm?: string | undefined;
298
+ teacherId?: string | undefined;
299
+ courseId?: string | undefined;
300
+ }, {
301
+ schoolId?: string | undefined;
302
+ isActive?: boolean | undefined;
303
+ termId?: string | undefined;
304
+ academicYearId?: string | undefined;
305
+ searchTerm?: string | undefined;
306
+ teacherId?: string | undefined;
307
+ courseId?: string | undefined;
308
+ }>;
309
+ export type SectionFilterDto = z.infer<typeof sectionFilterSchema>;
310
+ export declare const enrollStudentInSectionSchema: z.ZodObject<{
311
+ studentId: z.ZodString;
312
+ }, "strip", z.ZodTypeAny, {
313
+ studentId: string;
314
+ }, {
315
+ studentId: string;
316
+ }>;
317
+ export type EnrollStudentInSectionDto = z.infer<typeof enrollStudentInSectionSchema>;
318
+ export declare const studentSectionResponseSchema: z.ZodObject<{
319
+ studentId: z.ZodString;
320
+ studentName: z.ZodOptional<z.ZodString>;
321
+ sectionId: z.ZodString;
322
+ enrolledAt: z.ZodString;
323
+ enrolledBy: z.ZodOptional<z.ZodString>;
324
+ }, "strip", z.ZodTypeAny, {
325
+ studentId: string;
326
+ sectionId: string;
327
+ enrolledAt: string;
328
+ studentName?: string | undefined;
329
+ enrolledBy?: string | undefined;
330
+ }, {
331
+ studentId: string;
332
+ sectionId: string;
333
+ enrolledAt: string;
334
+ studentName?: string | undefined;
335
+ enrolledBy?: string | undefined;
336
+ }>;
337
+ export type StudentSectionResponseDto = z.infer<typeof studentSectionResponseSchema>;
338
+ export declare const sectionRosterResponseSchema: z.ZodObject<{
339
+ sectionId: z.ZodString;
340
+ courseName: z.ZodOptional<z.ZodString>;
341
+ sectionNumber: z.ZodOptional<z.ZodString>;
342
+ students: z.ZodArray<z.ZodObject<{
343
+ studentId: z.ZodString;
344
+ studentName: z.ZodOptional<z.ZodString>;
345
+ sectionId: z.ZodString;
346
+ enrolledAt: z.ZodString;
347
+ enrolledBy: z.ZodOptional<z.ZodString>;
348
+ }, "strip", z.ZodTypeAny, {
349
+ studentId: string;
350
+ sectionId: string;
351
+ enrolledAt: string;
352
+ studentName?: string | undefined;
353
+ enrolledBy?: string | undefined;
354
+ }, {
355
+ studentId: string;
356
+ sectionId: string;
357
+ enrolledAt: string;
358
+ studentName?: string | undefined;
359
+ enrolledBy?: string | undefined;
360
+ }>, "many">;
361
+ totalCount: z.ZodNumber;
362
+ }, "strip", z.ZodTypeAny, {
363
+ sectionId: string;
364
+ students: {
365
+ studentId: string;
366
+ sectionId: string;
367
+ enrolledAt: string;
368
+ studentName?: string | undefined;
369
+ enrolledBy?: string | undefined;
370
+ }[];
371
+ totalCount: number;
372
+ courseName?: string | undefined;
373
+ sectionNumber?: string | undefined;
374
+ }, {
375
+ sectionId: string;
376
+ students: {
377
+ studentId: string;
378
+ sectionId: string;
379
+ enrolledAt: string;
380
+ studentName?: string | undefined;
381
+ enrolledBy?: string | undefined;
382
+ }[];
383
+ totalCount: number;
384
+ courseName?: string | undefined;
385
+ sectionNumber?: string | undefined;
386
+ }>;
387
+ export type SectionRosterResponseDto = z.infer<typeof sectionRosterResponseSchema>;
388
+ //# sourceMappingURL=course-section.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"course-section.schema.d.ts","sourceRoot":"","sources":["../../../src/schemas/academics/course-section.schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAUxB,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6B9B,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAMnE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;EAI9B,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAMnE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyChC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAMvE,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAuD,CAAC;AAC9F,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAM/E,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;EAQ9B,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAMnE,eAAO,MAAM,4BAA4B;;;;;;EAEvC,CAAC;AAEH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAErF,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;EAMvC,CAAC;AAEH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAErF,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMtC,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC"}