@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":"assignment.schema.d.ts","sourceRoot":"","sources":["../../../src/schemas/academics/assignment.schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,195 @@
1
+ "use strict";
2
+ /**
3
+ * Assignment Schemas - Academics Service
4
+ *
5
+ * Zod schemas for assignment management DTOs.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.studentSubmissionSchema = exports.assignmentFilterSchema = exports.assignmentListResponseSchema = exports.assignmentResponseSchema = exports.updateAssignmentSchema = exports.createAssignmentSchema = exports.assignmentRubricSchema = exports.rubricCriterionSchema = exports.assignmentAttachmentSchema = exports.submissionTypeSchema = exports.assignmentStatusSchema = void 0;
9
+ const zod_1 = require("zod");
10
+ const common_1 = require("../common");
11
+ const grade_schema_1 = require("./grade.schema");
12
+ // ============================================
13
+ // Enums
14
+ // ============================================
15
+ exports.assignmentStatusSchema = zod_1.z.enum([
16
+ 'draft',
17
+ 'published',
18
+ 'closed',
19
+ 'archived',
20
+ ]);
21
+ exports.submissionTypeSchema = zod_1.z.enum([
22
+ 'online_text',
23
+ 'online_upload',
24
+ 'external_url',
25
+ 'paper',
26
+ 'none',
27
+ 'discussion',
28
+ ]);
29
+ // ============================================
30
+ // Assignment Attachment Schema
31
+ // ============================================
32
+ exports.assignmentAttachmentSchema = zod_1.z.object({
33
+ attachmentId: zod_1.z.string().uuid().optional(),
34
+ name: zod_1.z.string().min(1).max(255),
35
+ url: common_1.urlSchema,
36
+ mimeType: zod_1.z.string().max(100).optional(),
37
+ size: zod_1.z.number().int().positive().optional(),
38
+ uploadedAt: common_1.isoDateSchema.optional(),
39
+ });
40
+ // ============================================
41
+ // Rubric Criterion Schema
42
+ // ============================================
43
+ exports.rubricCriterionSchema = zod_1.z.object({
44
+ criterionId: zod_1.z.string().uuid().optional(),
45
+ name: zod_1.z.string().min(1).max(200),
46
+ description: zod_1.z.string().max(1000).optional(),
47
+ maxPoints: zod_1.z.number().min(0).max(1000),
48
+ order: zod_1.z.number().int().min(0).optional(),
49
+ levels: zod_1.z.array(zod_1.z.object({
50
+ levelId: zod_1.z.string().uuid().optional(),
51
+ name: zod_1.z.string().min(1).max(100),
52
+ description: zod_1.z.string().max(500).optional(),
53
+ points: zod_1.z.number().min(0),
54
+ })).min(1).max(10).optional(),
55
+ });
56
+ // ============================================
57
+ // Assignment Rubric Schema
58
+ // ============================================
59
+ exports.assignmentRubricSchema = zod_1.z.object({
60
+ rubricId: zod_1.z.string().uuid().optional(),
61
+ name: zod_1.z.string().min(1).max(200),
62
+ description: zod_1.z.string().max(1000).optional(),
63
+ criteria: zod_1.z.array(exports.rubricCriterionSchema).min(1).max(20),
64
+ totalPoints: zod_1.z.number().min(0).optional(),
65
+ });
66
+ // ============================================
67
+ // Create Assignment Schema
68
+ // ============================================
69
+ exports.createAssignmentSchema = zod_1.z.object({
70
+ // Basic Info
71
+ title: zod_1.z.string().min(1).max(255),
72
+ description: zod_1.z.string().max(5000).optional(),
73
+ instructions: zod_1.z.string().max(10000).optional(),
74
+ // Classification
75
+ classroomId: zod_1.z.string().uuid(),
76
+ categoryId: zod_1.z.string().uuid().optional(),
77
+ categoryType: grade_schema_1.gradeCategoryTypeSchema.optional(),
78
+ gradingPeriodId: zod_1.z.string().uuid().optional(),
79
+ // Points
80
+ pointsPossible: zod_1.z.number().min(0).max(10000),
81
+ isExtraCredit: zod_1.z.boolean().default(false),
82
+ // Dates
83
+ assignedDate: common_1.dateSchema,
84
+ dueDate: common_1.dateSchema,
85
+ dueDateTimeZone: zod_1.z.string().default('America/New_York'),
86
+ lockAfterDueDate: zod_1.z.boolean().default(false),
87
+ // Submission Settings
88
+ submissionType: exports.submissionTypeSchema.default('online_upload'),
89
+ allowedFileTypes: zod_1.z.array(zod_1.z.string().max(50)).optional(),
90
+ maxFileSize: zod_1.z.number().int().positive().optional(), // in bytes
91
+ maxAttempts: zod_1.z.number().int().positive().max(100).optional(),
92
+ allowLateSubmissions: zod_1.z.boolean().default(true),
93
+ latePenaltyPercent: zod_1.z.number().min(0).max(100).optional(),
94
+ latePenaltyPerDay: zod_1.z.number().min(0).max(100).optional(),
95
+ // Content
96
+ attachments: zod_1.z.array(exports.assignmentAttachmentSchema).max(20).optional(),
97
+ rubric: exports.assignmentRubricSchema.optional(),
98
+ // Settings
99
+ status: exports.assignmentStatusSchema.default('draft'),
100
+ isGroupAssignment: zod_1.z.boolean().default(false),
101
+ groupSize: zod_1.z.number().int().min(2).max(10).optional(),
102
+ showRubricToStudents: zod_1.z.boolean().default(true),
103
+ anonymousGrading: zod_1.z.boolean().default(false),
104
+ // Standards (for Ed-Fi alignment later)
105
+ learningStandardIds: zod_1.z.array(zod_1.z.string().uuid()).optional(),
106
+ });
107
+ // ============================================
108
+ // Update Assignment Schema
109
+ // ============================================
110
+ exports.updateAssignmentSchema = exports.createAssignmentSchema.partial().omit({
111
+ classroomId: true,
112
+ });
113
+ // ============================================
114
+ // Assignment Response Schema
115
+ // ============================================
116
+ exports.assignmentResponseSchema = zod_1.z.object({
117
+ assignmentId: zod_1.z.string().uuid(),
118
+ classroomId: zod_1.z.string().uuid(),
119
+ classroomName: zod_1.z.string().optional(),
120
+ categoryId: zod_1.z.string().uuid().optional(),
121
+ categoryName: zod_1.z.string().optional(),
122
+ categoryType: grade_schema_1.gradeCategoryTypeSchema.optional(),
123
+ gradingPeriodId: zod_1.z.string().uuid().optional(),
124
+ // Basic Info
125
+ title: zod_1.z.string(),
126
+ description: zod_1.z.string().optional(),
127
+ instructions: zod_1.z.string().optional(),
128
+ // Points
129
+ pointsPossible: zod_1.z.number(),
130
+ isExtraCredit: zod_1.z.boolean(),
131
+ // Dates
132
+ assignedDate: common_1.dateSchema,
133
+ dueDate: common_1.dateSchema,
134
+ dueDateTimeZone: zod_1.z.string(),
135
+ lockAfterDueDate: zod_1.z.boolean(),
136
+ // Submission Settings
137
+ submissionType: exports.submissionTypeSchema,
138
+ allowedFileTypes: zod_1.z.array(zod_1.z.string()).optional(),
139
+ maxFileSize: zod_1.z.number().optional(),
140
+ maxAttempts: zod_1.z.number().optional(),
141
+ allowLateSubmissions: zod_1.z.boolean(),
142
+ latePenaltyPercent: zod_1.z.number().optional(),
143
+ latePenaltyPerDay: zod_1.z.number().optional(),
144
+ // Content
145
+ attachments: zod_1.z.array(exports.assignmentAttachmentSchema).optional(),
146
+ rubric: exports.assignmentRubricSchema.optional(),
147
+ // Settings
148
+ status: exports.assignmentStatusSchema,
149
+ isGroupAssignment: zod_1.z.boolean(),
150
+ groupSize: zod_1.z.number().optional(),
151
+ showRubricToStudents: zod_1.z.boolean(),
152
+ anonymousGrading: zod_1.z.boolean(),
153
+ // Statistics
154
+ submittedCount: zod_1.z.number().int().min(0).optional(),
155
+ gradedCount: zod_1.z.number().int().min(0).optional(),
156
+ totalStudents: zod_1.z.number().int().min(0).optional(),
157
+ averageScore: zod_1.z.number().min(0).optional(),
158
+ // Standards
159
+ learningStandardIds: zod_1.z.array(zod_1.z.string().uuid()).optional(),
160
+ // Metadata
161
+ createdAt: common_1.isoDateSchema,
162
+ updatedAt: common_1.isoDateSchema,
163
+ createdBy: zod_1.z.string().optional(),
164
+ updatedBy: zod_1.z.string().optional(),
165
+ });
166
+ // ============================================
167
+ // Assignment List Response Schema
168
+ // ============================================
169
+ exports.assignmentListResponseSchema = (0, common_1.createPaginatedResponseSchema)(exports.assignmentResponseSchema);
170
+ // ============================================
171
+ // Assignment Filter Schema
172
+ // ============================================
173
+ exports.assignmentFilterSchema = zod_1.z.object({
174
+ classroomId: zod_1.z.string().uuid().optional(),
175
+ categoryId: zod_1.z.string().uuid().optional(),
176
+ categoryType: grade_schema_1.gradeCategoryTypeSchema.optional(),
177
+ gradingPeriodId: zod_1.z.string().uuid().optional(),
178
+ status: exports.assignmentStatusSchema.optional(),
179
+ dueDateFrom: common_1.dateSchema.optional(),
180
+ dueDateTo: common_1.dateSchema.optional(),
181
+ searchTerm: zod_1.z.string().max(100).optional(),
182
+ });
183
+ // ============================================
184
+ // Student Submission Schema
185
+ // ============================================
186
+ exports.studentSubmissionSchema = zod_1.z.object({
187
+ assignmentId: zod_1.z.string().uuid(),
188
+ studentId: zod_1.z.string().uuid(),
189
+ content: zod_1.z.string().max(50000).optional(),
190
+ externalUrl: common_1.urlSchema.optional(),
191
+ attachments: zod_1.z.array(exports.assignmentAttachmentSchema).max(20).optional(),
192
+ submittedAt: common_1.isoDateSchema.optional(),
193
+ attemptNumber: zod_1.z.number().int().positive().default(1),
194
+ });
195
+ //# sourceMappingURL=assignment.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assignment.schema.js","sourceRoot":"","sources":["../../../src/schemas/academics/assignment.schema.ts"],"names":[],"mappings":"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"}