@aibrains/shared-types 0.7.1 → 0.8.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.
@@ -13,6 +13,8 @@ export declare const gradeCategoryTypeSchema: z.ZodEnum<["assignment", "quiz", "
13
13
  export type GradeCategoryType = z.infer<typeof gradeCategoryTypeSchema>;
14
14
  export declare const gradeStatusSchema: z.ZodEnum<["draft", "submitted", "published", "excused", "missing", "incomplete"]>;
15
15
  export type GradeStatus = z.infer<typeof gradeStatusSchema>;
16
+ export declare const assessmentCategorySchema: z.ZodEnum<["formative", "summative"]>;
17
+ export type AssessmentCategory = z.infer<typeof assessmentCategorySchema>;
16
18
  /**
17
19
  * Letter grade range for academic grading
18
20
  * (e.g., A = 90-100%, B = 80-89%, etc.)
@@ -845,4 +847,1595 @@ export declare const studentGradeSummarySchema: z.ZodObject<{
845
847
  previousGrade?: number | undefined;
846
848
  }>;
847
849
  export type StudentGradeSummaryDto = z.infer<typeof studentGradeSummarySchema>;
850
+ /**
851
+ * Standard letter grade values
852
+ * (matches backend GradeLetter in base.entity.ts)
853
+ */
854
+ export declare const gradeLetterSchema: z.ZodEnum<["A+", "A", "A-", "B+", "B", "B-", "C+", "C", "C-", "D+", "D", "D-", "F", "I", "W"]>;
855
+ export type GradeLetter = z.infer<typeof gradeLetterSchema>;
856
+ /**
857
+ * A single entry in a grading scale mapping letter grades to numeric ranges and GPA points.
858
+ */
859
+ export declare const gradingScaleEntrySchema: z.ZodObject<{
860
+ letter: z.ZodEnum<["A+", "A", "A-", "B+", "B", "B-", "C+", "C", "C-", "D+", "D", "D-", "F", "I", "W"]>;
861
+ minPercentage: z.ZodNumber;
862
+ maxPercentage: z.ZodNumber;
863
+ gpaPoints: z.ZodNumber;
864
+ }, "strip", z.ZodTypeAny, {
865
+ letter: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F" | "I" | "W";
866
+ minPercentage: number;
867
+ maxPercentage: number;
868
+ gpaPoints: number;
869
+ }, {
870
+ letter: "A+" | "A" | "A-" | "B+" | "B" | "B-" | "C+" | "C" | "C-" | "D+" | "D" | "D-" | "F" | "I" | "W";
871
+ minPercentage: number;
872
+ maxPercentage: number;
873
+ gpaPoints: number;
874
+ }>;
875
+ export type GradingScaleEntryDto = z.infer<typeof gradingScaleEntrySchema>;
876
+ /**
877
+ * Weight configuration for a grade category in a grading policy.
878
+ * Unified: includes backend's defaultAssessmentCategory and frontend's dropLowest.
879
+ */
880
+ export declare const categoryWeightSchema: z.ZodObject<{
881
+ categoryId: z.ZodString;
882
+ categoryName: z.ZodString;
883
+ weight: z.ZodNumber;
884
+ defaultAssessmentCategory: z.ZodOptional<z.ZodEnum<["formative", "summative"]>>;
885
+ dropLowest: z.ZodOptional<z.ZodNumber>;
886
+ }, "strip", z.ZodTypeAny, {
887
+ weight: number;
888
+ categoryId: string;
889
+ categoryName: string;
890
+ dropLowest?: number | undefined;
891
+ defaultAssessmentCategory?: "formative" | "summative" | undefined;
892
+ }, {
893
+ weight: number;
894
+ categoryId: string;
895
+ categoryName: string;
896
+ dropLowest?: number | undefined;
897
+ defaultAssessmentCategory?: "formative" | "summative" | undefined;
898
+ }>;
899
+ export type CategoryWeightDto = z.infer<typeof categoryWeightSchema>;
900
+ /**
901
+ * Individual assignment/assessment grade within a student's grade document.
902
+ */
903
+ export declare const assignmentGradeSchema: z.ZodObject<{
904
+ assignmentId: z.ZodString;
905
+ assignmentName: z.ZodString;
906
+ assignmentType: z.ZodString;
907
+ categoryId: z.ZodOptional<z.ZodString>;
908
+ assessmentCategory: z.ZodOptional<z.ZodEnum<["formative", "summative"]>>;
909
+ dueDate: z.ZodOptional<z.ZodString>;
910
+ submittedDate: z.ZodOptional<z.ZodString>;
911
+ earnedPoints: z.ZodOptional<z.ZodNumber>;
912
+ possiblePoints: z.ZodNumber;
913
+ percentage: z.ZodOptional<z.ZodNumber>;
914
+ letterGrade: z.ZodOptional<z.ZodString>;
915
+ weight: z.ZodOptional<z.ZodNumber>;
916
+ isExtraCredit: z.ZodOptional<z.ZodBoolean>;
917
+ isDropped: z.ZodOptional<z.ZodBoolean>;
918
+ isMissing: z.ZodOptional<z.ZodBoolean>;
919
+ isExcused: z.ZodOptional<z.ZodBoolean>;
920
+ comment: z.ZodOptional<z.ZodString>;
921
+ gradedBy: z.ZodOptional<z.ZodString>;
922
+ gradedAt: z.ZodOptional<z.ZodString>;
923
+ }, "strip", z.ZodTypeAny, {
924
+ assignmentId: string;
925
+ assignmentName: string;
926
+ possiblePoints: number;
927
+ assignmentType: string;
928
+ percentage?: number | undefined;
929
+ weight?: number | undefined;
930
+ isExtraCredit?: boolean | undefined;
931
+ letterGrade?: string | undefined;
932
+ gradedAt?: string | undefined;
933
+ gradedBy?: string | undefined;
934
+ categoryId?: string | undefined;
935
+ earnedPoints?: number | undefined;
936
+ assessmentCategory?: "formative" | "summative" | undefined;
937
+ dueDate?: string | undefined;
938
+ submittedDate?: string | undefined;
939
+ isDropped?: boolean | undefined;
940
+ isMissing?: boolean | undefined;
941
+ isExcused?: boolean | undefined;
942
+ comment?: string | undefined;
943
+ }, {
944
+ assignmentId: string;
945
+ assignmentName: string;
946
+ possiblePoints: number;
947
+ assignmentType: string;
948
+ percentage?: number | undefined;
949
+ weight?: number | undefined;
950
+ isExtraCredit?: boolean | undefined;
951
+ letterGrade?: string | undefined;
952
+ gradedAt?: string | undefined;
953
+ gradedBy?: string | undefined;
954
+ categoryId?: string | undefined;
955
+ earnedPoints?: number | undefined;
956
+ assessmentCategory?: "formative" | "summative" | undefined;
957
+ dueDate?: string | undefined;
958
+ submittedDate?: string | undefined;
959
+ isDropped?: boolean | undefined;
960
+ isMissing?: boolean | undefined;
961
+ isExcused?: boolean | undefined;
962
+ comment?: string | undefined;
963
+ }>;
964
+ export type AssignmentGradeDto = z.infer<typeof assignmentGradeSchema>;
965
+ /**
966
+ * Aggregated grade for a category (homework, tests, etc.) within a student's grade.
967
+ */
968
+ export declare const categoryGradeSchema: z.ZodObject<{
969
+ categoryId: z.ZodString;
970
+ categoryName: z.ZodString;
971
+ weight: z.ZodNumber;
972
+ earnedPoints: z.ZodNumber;
973
+ possiblePoints: z.ZodNumber;
974
+ percentage: z.ZodNumber;
975
+ letterGrade: z.ZodOptional<z.ZodString>;
976
+ }, "strip", z.ZodTypeAny, {
977
+ percentage: number;
978
+ weight: number;
979
+ categoryId: string;
980
+ categoryName: string;
981
+ earnedPoints: number;
982
+ possiblePoints: number;
983
+ letterGrade?: string | undefined;
984
+ }, {
985
+ percentage: number;
986
+ weight: number;
987
+ categoryId: string;
988
+ categoryName: string;
989
+ earnedPoints: number;
990
+ possiblePoints: number;
991
+ letterGrade?: string | undefined;
992
+ }>;
993
+ export type CategoryGradeDto = z.infer<typeof categoryGradeSchema>;
994
+ /**
995
+ * Grade response DTO for course-based grading.
996
+ * Matches GradeResponseDto from backend grade.mapper.ts.
997
+ */
998
+ export declare const courseGradeResponseSchema: z.ZodObject<{
999
+ gradeId: z.ZodString;
1000
+ studentId: z.ZodString;
1001
+ studentName: z.ZodOptional<z.ZodString>;
1002
+ schoolId: z.ZodString;
1003
+ courseId: z.ZodString;
1004
+ courseName: z.ZodOptional<z.ZodString>;
1005
+ sectionId: z.ZodOptional<z.ZodString>;
1006
+ teacherId: z.ZodString;
1007
+ academicYearId: z.ZodString;
1008
+ termId: z.ZodString;
1009
+ numericGrade: z.ZodOptional<z.ZodNumber>;
1010
+ letterGrade: z.ZodOptional<z.ZodString>;
1011
+ gpaPoints: z.ZodOptional<z.ZodNumber>;
1012
+ credits: z.ZodOptional<z.ZodNumber>;
1013
+ categoryGrades: z.ZodOptional<z.ZodArray<z.ZodObject<{
1014
+ categoryId: z.ZodString;
1015
+ categoryName: z.ZodString;
1016
+ weight: z.ZodNumber;
1017
+ earnedPoints: z.ZodNumber;
1018
+ possiblePoints: z.ZodNumber;
1019
+ percentage: z.ZodNumber;
1020
+ letterGrade: z.ZodOptional<z.ZodString>;
1021
+ }, "strip", z.ZodTypeAny, {
1022
+ percentage: number;
1023
+ weight: number;
1024
+ categoryId: string;
1025
+ categoryName: string;
1026
+ earnedPoints: number;
1027
+ possiblePoints: number;
1028
+ letterGrade?: string | undefined;
1029
+ }, {
1030
+ percentage: number;
1031
+ weight: number;
1032
+ categoryId: string;
1033
+ categoryName: string;
1034
+ earnedPoints: number;
1035
+ possiblePoints: number;
1036
+ letterGrade?: string | undefined;
1037
+ }>, "many">>;
1038
+ assignments: z.ZodOptional<z.ZodArray<z.ZodObject<{
1039
+ assignmentId: z.ZodString;
1040
+ assignmentName: z.ZodString;
1041
+ assignmentType: z.ZodString;
1042
+ categoryId: z.ZodOptional<z.ZodString>;
1043
+ assessmentCategory: z.ZodOptional<z.ZodEnum<["formative", "summative"]>>;
1044
+ dueDate: z.ZodOptional<z.ZodString>;
1045
+ submittedDate: z.ZodOptional<z.ZodString>;
1046
+ earnedPoints: z.ZodOptional<z.ZodNumber>;
1047
+ possiblePoints: z.ZodNumber;
1048
+ percentage: z.ZodOptional<z.ZodNumber>;
1049
+ letterGrade: z.ZodOptional<z.ZodString>;
1050
+ weight: z.ZodOptional<z.ZodNumber>;
1051
+ isExtraCredit: z.ZodOptional<z.ZodBoolean>;
1052
+ isDropped: z.ZodOptional<z.ZodBoolean>;
1053
+ isMissing: z.ZodOptional<z.ZodBoolean>;
1054
+ isExcused: z.ZodOptional<z.ZodBoolean>;
1055
+ comment: z.ZodOptional<z.ZodString>;
1056
+ gradedBy: z.ZodOptional<z.ZodString>;
1057
+ gradedAt: z.ZodOptional<z.ZodString>;
1058
+ }, "strip", z.ZodTypeAny, {
1059
+ assignmentId: string;
1060
+ assignmentName: string;
1061
+ possiblePoints: number;
1062
+ assignmentType: string;
1063
+ percentage?: number | undefined;
1064
+ weight?: number | undefined;
1065
+ isExtraCredit?: boolean | undefined;
1066
+ letterGrade?: string | undefined;
1067
+ gradedAt?: string | undefined;
1068
+ gradedBy?: string | undefined;
1069
+ categoryId?: string | undefined;
1070
+ earnedPoints?: number | undefined;
1071
+ assessmentCategory?: "formative" | "summative" | undefined;
1072
+ dueDate?: string | undefined;
1073
+ submittedDate?: string | undefined;
1074
+ isDropped?: boolean | undefined;
1075
+ isMissing?: boolean | undefined;
1076
+ isExcused?: boolean | undefined;
1077
+ comment?: string | undefined;
1078
+ }, {
1079
+ assignmentId: string;
1080
+ assignmentName: string;
1081
+ possiblePoints: number;
1082
+ assignmentType: string;
1083
+ percentage?: number | undefined;
1084
+ weight?: number | undefined;
1085
+ isExtraCredit?: boolean | undefined;
1086
+ letterGrade?: string | undefined;
1087
+ gradedAt?: string | undefined;
1088
+ gradedBy?: string | undefined;
1089
+ categoryId?: string | undefined;
1090
+ earnedPoints?: number | undefined;
1091
+ assessmentCategory?: "formative" | "summative" | undefined;
1092
+ dueDate?: string | undefined;
1093
+ submittedDate?: string | undefined;
1094
+ isDropped?: boolean | undefined;
1095
+ isMissing?: boolean | undefined;
1096
+ isExcused?: boolean | undefined;
1097
+ comment?: string | undefined;
1098
+ }>, "many">>;
1099
+ isFinal: z.ZodBoolean;
1100
+ isPassFail: z.ZodOptional<z.ZodBoolean>;
1101
+ isPassing: z.ZodOptional<z.ZodBoolean>;
1102
+ teacherComment: z.ZodOptional<z.ZodString>;
1103
+ lastCalculatedAt: z.ZodOptional<z.ZodString>;
1104
+ publishedAt: z.ZodOptional<z.ZodString>;
1105
+ createdAt: z.ZodString;
1106
+ updatedAt: z.ZodString;
1107
+ }, "strip", z.ZodTypeAny, {
1108
+ createdAt: string;
1109
+ updatedAt: string;
1110
+ schoolId: string;
1111
+ termId: string;
1112
+ academicYearId: string;
1113
+ studentId: string;
1114
+ teacherId: string;
1115
+ gradeId: string;
1116
+ courseId: string;
1117
+ isFinal: boolean;
1118
+ assignments?: {
1119
+ assignmentId: string;
1120
+ assignmentName: string;
1121
+ possiblePoints: number;
1122
+ assignmentType: string;
1123
+ percentage?: number | undefined;
1124
+ weight?: number | undefined;
1125
+ isExtraCredit?: boolean | undefined;
1126
+ letterGrade?: string | undefined;
1127
+ gradedAt?: string | undefined;
1128
+ gradedBy?: string | undefined;
1129
+ categoryId?: string | undefined;
1130
+ earnedPoints?: number | undefined;
1131
+ assessmentCategory?: "formative" | "summative" | undefined;
1132
+ dueDate?: string | undefined;
1133
+ submittedDate?: string | undefined;
1134
+ isDropped?: boolean | undefined;
1135
+ isMissing?: boolean | undefined;
1136
+ isExcused?: boolean | undefined;
1137
+ comment?: string | undefined;
1138
+ }[] | undefined;
1139
+ credits?: number | undefined;
1140
+ studentName?: string | undefined;
1141
+ letterGrade?: string | undefined;
1142
+ categoryGrades?: {
1143
+ percentage: number;
1144
+ weight: number;
1145
+ categoryId: string;
1146
+ categoryName: string;
1147
+ earnedPoints: number;
1148
+ possiblePoints: number;
1149
+ letterGrade?: string | undefined;
1150
+ }[] | undefined;
1151
+ gpaPoints?: number | undefined;
1152
+ courseName?: string | undefined;
1153
+ sectionId?: string | undefined;
1154
+ numericGrade?: number | undefined;
1155
+ isPassFail?: boolean | undefined;
1156
+ isPassing?: boolean | undefined;
1157
+ teacherComment?: string | undefined;
1158
+ lastCalculatedAt?: string | undefined;
1159
+ publishedAt?: string | undefined;
1160
+ }, {
1161
+ createdAt: string;
1162
+ updatedAt: string;
1163
+ schoolId: string;
1164
+ termId: string;
1165
+ academicYearId: string;
1166
+ studentId: string;
1167
+ teacherId: string;
1168
+ gradeId: string;
1169
+ courseId: string;
1170
+ isFinal: boolean;
1171
+ assignments?: {
1172
+ assignmentId: string;
1173
+ assignmentName: string;
1174
+ possiblePoints: number;
1175
+ assignmentType: string;
1176
+ percentage?: number | undefined;
1177
+ weight?: number | undefined;
1178
+ isExtraCredit?: boolean | undefined;
1179
+ letterGrade?: string | undefined;
1180
+ gradedAt?: string | undefined;
1181
+ gradedBy?: string | undefined;
1182
+ categoryId?: string | undefined;
1183
+ earnedPoints?: number | undefined;
1184
+ assessmentCategory?: "formative" | "summative" | undefined;
1185
+ dueDate?: string | undefined;
1186
+ submittedDate?: string | undefined;
1187
+ isDropped?: boolean | undefined;
1188
+ isMissing?: boolean | undefined;
1189
+ isExcused?: boolean | undefined;
1190
+ comment?: string | undefined;
1191
+ }[] | undefined;
1192
+ credits?: number | undefined;
1193
+ studentName?: string | undefined;
1194
+ letterGrade?: string | undefined;
1195
+ categoryGrades?: {
1196
+ percentage: number;
1197
+ weight: number;
1198
+ categoryId: string;
1199
+ categoryName: string;
1200
+ earnedPoints: number;
1201
+ possiblePoints: number;
1202
+ letterGrade?: string | undefined;
1203
+ }[] | undefined;
1204
+ gpaPoints?: number | undefined;
1205
+ courseName?: string | undefined;
1206
+ sectionId?: string | undefined;
1207
+ numericGrade?: number | undefined;
1208
+ isPassFail?: boolean | undefined;
1209
+ isPassing?: boolean | undefined;
1210
+ teacherComment?: string | undefined;
1211
+ lastCalculatedAt?: string | undefined;
1212
+ publishedAt?: string | undefined;
1213
+ }>;
1214
+ export type CourseGradeResponseDto = z.infer<typeof courseGradeResponseSchema>;
1215
+ /**
1216
+ * Input for recording a single assignment grade.
1217
+ */
1218
+ export declare const recordAssignmentGradeSchema: z.ZodObject<{
1219
+ studentId: z.ZodString;
1220
+ studentName: z.ZodOptional<z.ZodString>;
1221
+ schoolId: z.ZodString;
1222
+ courseId: z.ZodString;
1223
+ courseName: z.ZodOptional<z.ZodString>;
1224
+ sectionId: z.ZodOptional<z.ZodString>;
1225
+ termId: z.ZodString;
1226
+ academicYearId: z.ZodString;
1227
+ teacherId: z.ZodString;
1228
+ assignment: z.ZodObject<{
1229
+ assignmentId: z.ZodOptional<z.ZodString>;
1230
+ assignmentName: z.ZodString;
1231
+ assignmentType: z.ZodString;
1232
+ categoryId: z.ZodOptional<z.ZodString>;
1233
+ assessmentCategory: z.ZodOptional<z.ZodEnum<["formative", "summative"]>>;
1234
+ dueDate: z.ZodOptional<z.ZodString>;
1235
+ earnedPoints: z.ZodOptional<z.ZodNumber>;
1236
+ possiblePoints: z.ZodNumber;
1237
+ isExtraCredit: z.ZodOptional<z.ZodBoolean>;
1238
+ isMissing: z.ZodOptional<z.ZodBoolean>;
1239
+ isExcused: z.ZodOptional<z.ZodBoolean>;
1240
+ comment: z.ZodOptional<z.ZodString>;
1241
+ }, "strip", z.ZodTypeAny, {
1242
+ assignmentName: string;
1243
+ possiblePoints: number;
1244
+ assignmentType: string;
1245
+ assignmentId?: string | undefined;
1246
+ isExtraCredit?: boolean | undefined;
1247
+ categoryId?: string | undefined;
1248
+ earnedPoints?: number | undefined;
1249
+ assessmentCategory?: "formative" | "summative" | undefined;
1250
+ dueDate?: string | undefined;
1251
+ isMissing?: boolean | undefined;
1252
+ isExcused?: boolean | undefined;
1253
+ comment?: string | undefined;
1254
+ }, {
1255
+ assignmentName: string;
1256
+ possiblePoints: number;
1257
+ assignmentType: string;
1258
+ assignmentId?: string | undefined;
1259
+ isExtraCredit?: boolean | undefined;
1260
+ categoryId?: string | undefined;
1261
+ earnedPoints?: number | undefined;
1262
+ assessmentCategory?: "formative" | "summative" | undefined;
1263
+ dueDate?: string | undefined;
1264
+ isMissing?: boolean | undefined;
1265
+ isExcused?: boolean | undefined;
1266
+ comment?: string | undefined;
1267
+ }>;
1268
+ }, "strip", z.ZodTypeAny, {
1269
+ schoolId: string;
1270
+ termId: string;
1271
+ academicYearId: string;
1272
+ studentId: string;
1273
+ teacherId: string;
1274
+ assignment: {
1275
+ assignmentName: string;
1276
+ possiblePoints: number;
1277
+ assignmentType: string;
1278
+ assignmentId?: string | undefined;
1279
+ isExtraCredit?: boolean | undefined;
1280
+ categoryId?: string | undefined;
1281
+ earnedPoints?: number | undefined;
1282
+ assessmentCategory?: "formative" | "summative" | undefined;
1283
+ dueDate?: string | undefined;
1284
+ isMissing?: boolean | undefined;
1285
+ isExcused?: boolean | undefined;
1286
+ comment?: string | undefined;
1287
+ };
1288
+ courseId: string;
1289
+ studentName?: string | undefined;
1290
+ courseName?: string | undefined;
1291
+ sectionId?: string | undefined;
1292
+ }, {
1293
+ schoolId: string;
1294
+ termId: string;
1295
+ academicYearId: string;
1296
+ studentId: string;
1297
+ teacherId: string;
1298
+ assignment: {
1299
+ assignmentName: string;
1300
+ possiblePoints: number;
1301
+ assignmentType: string;
1302
+ assignmentId?: string | undefined;
1303
+ isExtraCredit?: boolean | undefined;
1304
+ categoryId?: string | undefined;
1305
+ earnedPoints?: number | undefined;
1306
+ assessmentCategory?: "formative" | "summative" | undefined;
1307
+ dueDate?: string | undefined;
1308
+ isMissing?: boolean | undefined;
1309
+ isExcused?: boolean | undefined;
1310
+ comment?: string | undefined;
1311
+ };
1312
+ courseId: string;
1313
+ studentName?: string | undefined;
1314
+ courseName?: string | undefined;
1315
+ sectionId?: string | undefined;
1316
+ }>;
1317
+ export type RecordAssignmentGradeDto = z.infer<typeof recordAssignmentGradeSchema>;
1318
+ /**
1319
+ * Input for recording grades for multiple students on one assignment.
1320
+ */
1321
+ export declare const bulkRecordGradeSchema: z.ZodObject<{
1322
+ schoolId: z.ZodString;
1323
+ sectionId: z.ZodString;
1324
+ courseId: z.ZodString;
1325
+ courseName: z.ZodOptional<z.ZodString>;
1326
+ termId: z.ZodString;
1327
+ academicYearId: z.ZodString;
1328
+ teacherId: z.ZodString;
1329
+ assignment: z.ZodObject<{
1330
+ assignmentId: z.ZodOptional<z.ZodString>;
1331
+ assignmentName: z.ZodString;
1332
+ assignmentType: z.ZodString;
1333
+ categoryId: z.ZodOptional<z.ZodString>;
1334
+ assessmentCategory: z.ZodOptional<z.ZodEnum<["formative", "summative"]>>;
1335
+ dueDate: z.ZodOptional<z.ZodString>;
1336
+ possiblePoints: z.ZodNumber;
1337
+ isExtraCredit: z.ZodOptional<z.ZodBoolean>;
1338
+ }, "strip", z.ZodTypeAny, {
1339
+ assignmentName: string;
1340
+ possiblePoints: number;
1341
+ assignmentType: string;
1342
+ assignmentId?: string | undefined;
1343
+ isExtraCredit?: boolean | undefined;
1344
+ categoryId?: string | undefined;
1345
+ assessmentCategory?: "formative" | "summative" | undefined;
1346
+ dueDate?: string | undefined;
1347
+ }, {
1348
+ assignmentName: string;
1349
+ possiblePoints: number;
1350
+ assignmentType: string;
1351
+ assignmentId?: string | undefined;
1352
+ isExtraCredit?: boolean | undefined;
1353
+ categoryId?: string | undefined;
1354
+ assessmentCategory?: "formative" | "summative" | undefined;
1355
+ dueDate?: string | undefined;
1356
+ }>;
1357
+ grades: z.ZodArray<z.ZodObject<{
1358
+ studentId: z.ZodString;
1359
+ studentName: z.ZodOptional<z.ZodString>;
1360
+ earnedPoints: z.ZodOptional<z.ZodNumber>;
1361
+ isMissing: z.ZodOptional<z.ZodBoolean>;
1362
+ isExcused: z.ZodOptional<z.ZodBoolean>;
1363
+ comment: z.ZodOptional<z.ZodString>;
1364
+ }, "strip", z.ZodTypeAny, {
1365
+ studentId: string;
1366
+ studentName?: string | undefined;
1367
+ earnedPoints?: number | undefined;
1368
+ isMissing?: boolean | undefined;
1369
+ isExcused?: boolean | undefined;
1370
+ comment?: string | undefined;
1371
+ }, {
1372
+ studentId: string;
1373
+ studentName?: string | undefined;
1374
+ earnedPoints?: number | undefined;
1375
+ isMissing?: boolean | undefined;
1376
+ isExcused?: boolean | undefined;
1377
+ comment?: string | undefined;
1378
+ }>, "many">;
1379
+ }, "strip", z.ZodTypeAny, {
1380
+ schoolId: string;
1381
+ termId: string;
1382
+ grades: {
1383
+ studentId: string;
1384
+ studentName?: string | undefined;
1385
+ earnedPoints?: number | undefined;
1386
+ isMissing?: boolean | undefined;
1387
+ isExcused?: boolean | undefined;
1388
+ comment?: string | undefined;
1389
+ }[];
1390
+ academicYearId: string;
1391
+ teacherId: string;
1392
+ assignment: {
1393
+ assignmentName: string;
1394
+ possiblePoints: number;
1395
+ assignmentType: string;
1396
+ assignmentId?: string | undefined;
1397
+ isExtraCredit?: boolean | undefined;
1398
+ categoryId?: string | undefined;
1399
+ assessmentCategory?: "formative" | "summative" | undefined;
1400
+ dueDate?: string | undefined;
1401
+ };
1402
+ courseId: string;
1403
+ sectionId: string;
1404
+ courseName?: string | undefined;
1405
+ }, {
1406
+ schoolId: string;
1407
+ termId: string;
1408
+ grades: {
1409
+ studentId: string;
1410
+ studentName?: string | undefined;
1411
+ earnedPoints?: number | undefined;
1412
+ isMissing?: boolean | undefined;
1413
+ isExcused?: boolean | undefined;
1414
+ comment?: string | undefined;
1415
+ }[];
1416
+ academicYearId: string;
1417
+ teacherId: string;
1418
+ assignment: {
1419
+ assignmentName: string;
1420
+ possiblePoints: number;
1421
+ assignmentType: string;
1422
+ assignmentId?: string | undefined;
1423
+ isExtraCredit?: boolean | undefined;
1424
+ categoryId?: string | undefined;
1425
+ assessmentCategory?: "formative" | "summative" | undefined;
1426
+ dueDate?: string | undefined;
1427
+ };
1428
+ courseId: string;
1429
+ sectionId: string;
1430
+ courseName?: string | undefined;
1431
+ }>;
1432
+ export type BulkRecordGradeDto = z.infer<typeof bulkRecordGradeSchema>;
1433
+ /**
1434
+ * Aggregated school-wide grade overview.
1435
+ */
1436
+ export declare const gradeOverviewResponseSchema: z.ZodObject<{
1437
+ totalStudentsGraded: z.ZodNumber;
1438
+ averageGpa: z.ZodNumber;
1439
+ averageGrade: z.ZodNumber;
1440
+ passRate: z.ZodNumber;
1441
+ atRiskCount: z.ZodNumber;
1442
+ gradeDistribution: z.ZodArray<z.ZodObject<{
1443
+ range: z.ZodString;
1444
+ count: z.ZodNumber;
1445
+ }, "strip", z.ZodTypeAny, {
1446
+ range: string;
1447
+ count: number;
1448
+ }, {
1449
+ range: string;
1450
+ count: number;
1451
+ }>, "many">;
1452
+ coursePerformance: z.ZodArray<z.ZodObject<{
1453
+ courseId: z.ZodString;
1454
+ courseName: z.ZodString;
1455
+ sectionCount: z.ZodNumber;
1456
+ studentCount: z.ZodNumber;
1457
+ avgGrade: z.ZodNumber;
1458
+ avgGpa: z.ZodNumber;
1459
+ passRate: z.ZodNumber;
1460
+ }, "strip", z.ZodTypeAny, {
1461
+ studentCount: number;
1462
+ courseId: string;
1463
+ courseName: string;
1464
+ passRate: number;
1465
+ sectionCount: number;
1466
+ avgGrade: number;
1467
+ avgGpa: number;
1468
+ }, {
1469
+ studentCount: number;
1470
+ courseId: string;
1471
+ courseName: string;
1472
+ passRate: number;
1473
+ sectionCount: number;
1474
+ avgGrade: number;
1475
+ avgGpa: number;
1476
+ }>, "many">;
1477
+ atRiskStudents: z.ZodArray<z.ZodObject<{
1478
+ studentId: z.ZodString;
1479
+ studentName: z.ZodString;
1480
+ courseId: z.ZodString;
1481
+ courseName: z.ZodString;
1482
+ numericGrade: z.ZodNumber;
1483
+ letterGrade: z.ZodNullable<z.ZodString>;
1484
+ }, "strip", z.ZodTypeAny, {
1485
+ studentId: string;
1486
+ studentName: string;
1487
+ letterGrade: string | null;
1488
+ courseId: string;
1489
+ courseName: string;
1490
+ numericGrade: number;
1491
+ }, {
1492
+ studentId: string;
1493
+ studentName: string;
1494
+ letterGrade: string | null;
1495
+ courseId: string;
1496
+ courseName: string;
1497
+ numericGrade: number;
1498
+ }>, "many">;
1499
+ totalSections: z.ZodNumber;
1500
+ sectionsWithGrades: z.ZodNumber;
1501
+ assessmentBreakdown: z.ZodOptional<z.ZodObject<{
1502
+ formative: z.ZodObject<{
1503
+ count: z.ZodNumber;
1504
+ avgScore: z.ZodNumber;
1505
+ }, "strip", z.ZodTypeAny, {
1506
+ count: number;
1507
+ avgScore: number;
1508
+ }, {
1509
+ count: number;
1510
+ avgScore: number;
1511
+ }>;
1512
+ summative: z.ZodObject<{
1513
+ count: z.ZodNumber;
1514
+ avgScore: z.ZodNumber;
1515
+ }, "strip", z.ZodTypeAny, {
1516
+ count: number;
1517
+ avgScore: number;
1518
+ }, {
1519
+ count: number;
1520
+ avgScore: number;
1521
+ }>;
1522
+ unclassified: z.ZodObject<{
1523
+ count: z.ZodNumber;
1524
+ avgScore: z.ZodNumber;
1525
+ }, "strip", z.ZodTypeAny, {
1526
+ count: number;
1527
+ avgScore: number;
1528
+ }, {
1529
+ count: number;
1530
+ avgScore: number;
1531
+ }>;
1532
+ }, "strip", z.ZodTypeAny, {
1533
+ formative: {
1534
+ count: number;
1535
+ avgScore: number;
1536
+ };
1537
+ summative: {
1538
+ count: number;
1539
+ avgScore: number;
1540
+ };
1541
+ unclassified: {
1542
+ count: number;
1543
+ avgScore: number;
1544
+ };
1545
+ }, {
1546
+ formative: {
1547
+ count: number;
1548
+ avgScore: number;
1549
+ };
1550
+ summative: {
1551
+ count: number;
1552
+ avgScore: number;
1553
+ };
1554
+ unclassified: {
1555
+ count: number;
1556
+ avgScore: number;
1557
+ };
1558
+ }>>;
1559
+ gradingProgress: z.ZodOptional<z.ZodObject<{
1560
+ totalAssignmentEntries: z.ZodNumber;
1561
+ gradedEntries: z.ZodNumber;
1562
+ ungradedStubs: z.ZodNumber;
1563
+ completionRate: z.ZodNumber;
1564
+ }, "strip", z.ZodTypeAny, {
1565
+ totalAssignmentEntries: number;
1566
+ gradedEntries: number;
1567
+ ungradedStubs: number;
1568
+ completionRate: number;
1569
+ }, {
1570
+ totalAssignmentEntries: number;
1571
+ gradedEntries: number;
1572
+ ungradedStubs: number;
1573
+ completionRate: number;
1574
+ }>>;
1575
+ categoryPerformance: z.ZodOptional<z.ZodArray<z.ZodObject<{
1576
+ categoryId: z.ZodString;
1577
+ categoryName: z.ZodString;
1578
+ assignmentCount: z.ZodNumber;
1579
+ avgScore: z.ZodNumber;
1580
+ }, "strip", z.ZodTypeAny, {
1581
+ categoryId: string;
1582
+ categoryName: string;
1583
+ assignmentCount: number;
1584
+ avgScore: number;
1585
+ }, {
1586
+ categoryId: string;
1587
+ categoryName: string;
1588
+ assignmentCount: number;
1589
+ avgScore: number;
1590
+ }>, "many">>;
1591
+ }, "strip", z.ZodTypeAny, {
1592
+ totalStudentsGraded: number;
1593
+ averageGpa: number;
1594
+ averageGrade: number;
1595
+ passRate: number;
1596
+ atRiskCount: number;
1597
+ gradeDistribution: {
1598
+ range: string;
1599
+ count: number;
1600
+ }[];
1601
+ coursePerformance: {
1602
+ studentCount: number;
1603
+ courseId: string;
1604
+ courseName: string;
1605
+ passRate: number;
1606
+ sectionCount: number;
1607
+ avgGrade: number;
1608
+ avgGpa: number;
1609
+ }[];
1610
+ atRiskStudents: {
1611
+ studentId: string;
1612
+ studentName: string;
1613
+ letterGrade: string | null;
1614
+ courseId: string;
1615
+ courseName: string;
1616
+ numericGrade: number;
1617
+ }[];
1618
+ totalSections: number;
1619
+ sectionsWithGrades: number;
1620
+ assessmentBreakdown?: {
1621
+ formative: {
1622
+ count: number;
1623
+ avgScore: number;
1624
+ };
1625
+ summative: {
1626
+ count: number;
1627
+ avgScore: number;
1628
+ };
1629
+ unclassified: {
1630
+ count: number;
1631
+ avgScore: number;
1632
+ };
1633
+ } | undefined;
1634
+ gradingProgress?: {
1635
+ totalAssignmentEntries: number;
1636
+ gradedEntries: number;
1637
+ ungradedStubs: number;
1638
+ completionRate: number;
1639
+ } | undefined;
1640
+ categoryPerformance?: {
1641
+ categoryId: string;
1642
+ categoryName: string;
1643
+ assignmentCount: number;
1644
+ avgScore: number;
1645
+ }[] | undefined;
1646
+ }, {
1647
+ totalStudentsGraded: number;
1648
+ averageGpa: number;
1649
+ averageGrade: number;
1650
+ passRate: number;
1651
+ atRiskCount: number;
1652
+ gradeDistribution: {
1653
+ range: string;
1654
+ count: number;
1655
+ }[];
1656
+ coursePerformance: {
1657
+ studentCount: number;
1658
+ courseId: string;
1659
+ courseName: string;
1660
+ passRate: number;
1661
+ sectionCount: number;
1662
+ avgGrade: number;
1663
+ avgGpa: number;
1664
+ }[];
1665
+ atRiskStudents: {
1666
+ studentId: string;
1667
+ studentName: string;
1668
+ letterGrade: string | null;
1669
+ courseId: string;
1670
+ courseName: string;
1671
+ numericGrade: number;
1672
+ }[];
1673
+ totalSections: number;
1674
+ sectionsWithGrades: number;
1675
+ assessmentBreakdown?: {
1676
+ formative: {
1677
+ count: number;
1678
+ avgScore: number;
1679
+ };
1680
+ summative: {
1681
+ count: number;
1682
+ avgScore: number;
1683
+ };
1684
+ unclassified: {
1685
+ count: number;
1686
+ avgScore: number;
1687
+ };
1688
+ } | undefined;
1689
+ gradingProgress?: {
1690
+ totalAssignmentEntries: number;
1691
+ gradedEntries: number;
1692
+ ungradedStubs: number;
1693
+ completionRate: number;
1694
+ } | undefined;
1695
+ categoryPerformance?: {
1696
+ categoryId: string;
1697
+ categoryName: string;
1698
+ assignmentCount: number;
1699
+ avgScore: number;
1700
+ }[] | undefined;
1701
+ }>;
1702
+ export type GradeOverviewResponseDto = z.infer<typeof gradeOverviewResponseSchema>;
1703
+ export declare const bulkFinalizeParamsSchema: z.ZodObject<{
1704
+ sectionId: z.ZodString;
1705
+ termId: z.ZodString;
1706
+ schoolId: z.ZodString;
1707
+ }, "strip", z.ZodTypeAny, {
1708
+ schoolId: string;
1709
+ termId: string;
1710
+ sectionId: string;
1711
+ }, {
1712
+ schoolId: string;
1713
+ termId: string;
1714
+ sectionId: string;
1715
+ }>;
1716
+ export type BulkFinalizeParamsDto = z.infer<typeof bulkFinalizeParamsSchema>;
1717
+ export declare const bulkFinalizeResponseSchema: z.ZodObject<{
1718
+ finalized: z.ZodNumber;
1719
+ alreadyFinalized: z.ZodNumber;
1720
+ errors: z.ZodArray<z.ZodObject<{
1721
+ studentId: z.ZodString;
1722
+ courseId: z.ZodString;
1723
+ error: z.ZodString;
1724
+ }, "strip", z.ZodTypeAny, {
1725
+ error: string;
1726
+ studentId: string;
1727
+ courseId: string;
1728
+ }, {
1729
+ error: string;
1730
+ studentId: string;
1731
+ courseId: string;
1732
+ }>, "many">;
1733
+ }, "strip", z.ZodTypeAny, {
1734
+ errors: {
1735
+ error: string;
1736
+ studentId: string;
1737
+ courseId: string;
1738
+ }[];
1739
+ finalized: number;
1740
+ alreadyFinalized: number;
1741
+ }, {
1742
+ errors: {
1743
+ error: string;
1744
+ studentId: string;
1745
+ courseId: string;
1746
+ }[];
1747
+ finalized: number;
1748
+ alreadyFinalized: number;
1749
+ }>;
1750
+ export type BulkFinalizeResponseDto = z.infer<typeof bulkFinalizeResponseSchema>;
1751
+ export declare const sectionGradebookResponseSchema: z.ZodObject<{
1752
+ sectionId: z.ZodString;
1753
+ termId: z.ZodString;
1754
+ grades: z.ZodArray<z.ZodObject<{
1755
+ gradeId: z.ZodString;
1756
+ studentId: z.ZodString;
1757
+ studentName: z.ZodOptional<z.ZodString>;
1758
+ schoolId: z.ZodString;
1759
+ courseId: z.ZodString;
1760
+ courseName: z.ZodOptional<z.ZodString>;
1761
+ sectionId: z.ZodOptional<z.ZodString>;
1762
+ teacherId: z.ZodString;
1763
+ academicYearId: z.ZodString;
1764
+ termId: z.ZodString;
1765
+ numericGrade: z.ZodOptional<z.ZodNumber>;
1766
+ letterGrade: z.ZodOptional<z.ZodString>;
1767
+ gpaPoints: z.ZodOptional<z.ZodNumber>;
1768
+ credits: z.ZodOptional<z.ZodNumber>;
1769
+ categoryGrades: z.ZodOptional<z.ZodArray<z.ZodObject<{
1770
+ categoryId: z.ZodString;
1771
+ categoryName: z.ZodString;
1772
+ weight: z.ZodNumber;
1773
+ earnedPoints: z.ZodNumber;
1774
+ possiblePoints: z.ZodNumber;
1775
+ percentage: z.ZodNumber;
1776
+ letterGrade: z.ZodOptional<z.ZodString>;
1777
+ }, "strip", z.ZodTypeAny, {
1778
+ percentage: number;
1779
+ weight: number;
1780
+ categoryId: string;
1781
+ categoryName: string;
1782
+ earnedPoints: number;
1783
+ possiblePoints: number;
1784
+ letterGrade?: string | undefined;
1785
+ }, {
1786
+ percentage: number;
1787
+ weight: number;
1788
+ categoryId: string;
1789
+ categoryName: string;
1790
+ earnedPoints: number;
1791
+ possiblePoints: number;
1792
+ letterGrade?: string | undefined;
1793
+ }>, "many">>;
1794
+ assignments: z.ZodOptional<z.ZodArray<z.ZodObject<{
1795
+ assignmentId: z.ZodString;
1796
+ assignmentName: z.ZodString;
1797
+ assignmentType: z.ZodString;
1798
+ categoryId: z.ZodOptional<z.ZodString>;
1799
+ assessmentCategory: z.ZodOptional<z.ZodEnum<["formative", "summative"]>>;
1800
+ dueDate: z.ZodOptional<z.ZodString>;
1801
+ submittedDate: z.ZodOptional<z.ZodString>;
1802
+ earnedPoints: z.ZodOptional<z.ZodNumber>;
1803
+ possiblePoints: z.ZodNumber;
1804
+ percentage: z.ZodOptional<z.ZodNumber>;
1805
+ letterGrade: z.ZodOptional<z.ZodString>;
1806
+ weight: z.ZodOptional<z.ZodNumber>;
1807
+ isExtraCredit: z.ZodOptional<z.ZodBoolean>;
1808
+ isDropped: z.ZodOptional<z.ZodBoolean>;
1809
+ isMissing: z.ZodOptional<z.ZodBoolean>;
1810
+ isExcused: z.ZodOptional<z.ZodBoolean>;
1811
+ comment: z.ZodOptional<z.ZodString>;
1812
+ gradedBy: z.ZodOptional<z.ZodString>;
1813
+ gradedAt: z.ZodOptional<z.ZodString>;
1814
+ }, "strip", z.ZodTypeAny, {
1815
+ assignmentId: string;
1816
+ assignmentName: string;
1817
+ possiblePoints: number;
1818
+ assignmentType: string;
1819
+ percentage?: number | undefined;
1820
+ weight?: number | undefined;
1821
+ isExtraCredit?: boolean | undefined;
1822
+ letterGrade?: string | undefined;
1823
+ gradedAt?: string | undefined;
1824
+ gradedBy?: string | undefined;
1825
+ categoryId?: string | undefined;
1826
+ earnedPoints?: number | undefined;
1827
+ assessmentCategory?: "formative" | "summative" | undefined;
1828
+ dueDate?: string | undefined;
1829
+ submittedDate?: string | undefined;
1830
+ isDropped?: boolean | undefined;
1831
+ isMissing?: boolean | undefined;
1832
+ isExcused?: boolean | undefined;
1833
+ comment?: string | undefined;
1834
+ }, {
1835
+ assignmentId: string;
1836
+ assignmentName: string;
1837
+ possiblePoints: number;
1838
+ assignmentType: string;
1839
+ percentage?: number | undefined;
1840
+ weight?: number | undefined;
1841
+ isExtraCredit?: boolean | undefined;
1842
+ letterGrade?: string | undefined;
1843
+ gradedAt?: string | undefined;
1844
+ gradedBy?: string | undefined;
1845
+ categoryId?: string | undefined;
1846
+ earnedPoints?: number | undefined;
1847
+ assessmentCategory?: "formative" | "summative" | undefined;
1848
+ dueDate?: string | undefined;
1849
+ submittedDate?: string | undefined;
1850
+ isDropped?: boolean | undefined;
1851
+ isMissing?: boolean | undefined;
1852
+ isExcused?: boolean | undefined;
1853
+ comment?: string | undefined;
1854
+ }>, "many">>;
1855
+ isFinal: z.ZodBoolean;
1856
+ isPassFail: z.ZodOptional<z.ZodBoolean>;
1857
+ isPassing: z.ZodOptional<z.ZodBoolean>;
1858
+ teacherComment: z.ZodOptional<z.ZodString>;
1859
+ lastCalculatedAt: z.ZodOptional<z.ZodString>;
1860
+ publishedAt: z.ZodOptional<z.ZodString>;
1861
+ createdAt: z.ZodString;
1862
+ updatedAt: z.ZodString;
1863
+ }, "strip", z.ZodTypeAny, {
1864
+ createdAt: string;
1865
+ updatedAt: string;
1866
+ schoolId: string;
1867
+ termId: string;
1868
+ academicYearId: string;
1869
+ studentId: string;
1870
+ teacherId: string;
1871
+ gradeId: string;
1872
+ courseId: string;
1873
+ isFinal: boolean;
1874
+ assignments?: {
1875
+ assignmentId: string;
1876
+ assignmentName: string;
1877
+ possiblePoints: number;
1878
+ assignmentType: string;
1879
+ percentage?: number | undefined;
1880
+ weight?: number | undefined;
1881
+ isExtraCredit?: boolean | undefined;
1882
+ letterGrade?: string | undefined;
1883
+ gradedAt?: string | undefined;
1884
+ gradedBy?: string | undefined;
1885
+ categoryId?: string | undefined;
1886
+ earnedPoints?: number | undefined;
1887
+ assessmentCategory?: "formative" | "summative" | undefined;
1888
+ dueDate?: string | undefined;
1889
+ submittedDate?: string | undefined;
1890
+ isDropped?: boolean | undefined;
1891
+ isMissing?: boolean | undefined;
1892
+ isExcused?: boolean | undefined;
1893
+ comment?: string | undefined;
1894
+ }[] | undefined;
1895
+ credits?: number | undefined;
1896
+ studentName?: string | undefined;
1897
+ letterGrade?: string | undefined;
1898
+ categoryGrades?: {
1899
+ percentage: number;
1900
+ weight: number;
1901
+ categoryId: string;
1902
+ categoryName: string;
1903
+ earnedPoints: number;
1904
+ possiblePoints: number;
1905
+ letterGrade?: string | undefined;
1906
+ }[] | undefined;
1907
+ gpaPoints?: number | undefined;
1908
+ courseName?: string | undefined;
1909
+ sectionId?: string | undefined;
1910
+ numericGrade?: number | undefined;
1911
+ isPassFail?: boolean | undefined;
1912
+ isPassing?: boolean | undefined;
1913
+ teacherComment?: string | undefined;
1914
+ lastCalculatedAt?: string | undefined;
1915
+ publishedAt?: string | undefined;
1916
+ }, {
1917
+ createdAt: string;
1918
+ updatedAt: string;
1919
+ schoolId: string;
1920
+ termId: string;
1921
+ academicYearId: string;
1922
+ studentId: string;
1923
+ teacherId: string;
1924
+ gradeId: string;
1925
+ courseId: string;
1926
+ isFinal: boolean;
1927
+ assignments?: {
1928
+ assignmentId: string;
1929
+ assignmentName: string;
1930
+ possiblePoints: number;
1931
+ assignmentType: string;
1932
+ percentage?: number | undefined;
1933
+ weight?: number | undefined;
1934
+ isExtraCredit?: boolean | undefined;
1935
+ letterGrade?: string | undefined;
1936
+ gradedAt?: string | undefined;
1937
+ gradedBy?: string | undefined;
1938
+ categoryId?: string | undefined;
1939
+ earnedPoints?: number | undefined;
1940
+ assessmentCategory?: "formative" | "summative" | undefined;
1941
+ dueDate?: string | undefined;
1942
+ submittedDate?: string | undefined;
1943
+ isDropped?: boolean | undefined;
1944
+ isMissing?: boolean | undefined;
1945
+ isExcused?: boolean | undefined;
1946
+ comment?: string | undefined;
1947
+ }[] | undefined;
1948
+ credits?: number | undefined;
1949
+ studentName?: string | undefined;
1950
+ letterGrade?: string | undefined;
1951
+ categoryGrades?: {
1952
+ percentage: number;
1953
+ weight: number;
1954
+ categoryId: string;
1955
+ categoryName: string;
1956
+ earnedPoints: number;
1957
+ possiblePoints: number;
1958
+ letterGrade?: string | undefined;
1959
+ }[] | undefined;
1960
+ gpaPoints?: number | undefined;
1961
+ courseName?: string | undefined;
1962
+ sectionId?: string | undefined;
1963
+ numericGrade?: number | undefined;
1964
+ isPassFail?: boolean | undefined;
1965
+ isPassing?: boolean | undefined;
1966
+ teacherComment?: string | undefined;
1967
+ lastCalculatedAt?: string | undefined;
1968
+ publishedAt?: string | undefined;
1969
+ }>, "many">;
1970
+ }, "strip", z.ZodTypeAny, {
1971
+ termId: string;
1972
+ grades: {
1973
+ createdAt: string;
1974
+ updatedAt: string;
1975
+ schoolId: string;
1976
+ termId: string;
1977
+ academicYearId: string;
1978
+ studentId: string;
1979
+ teacherId: string;
1980
+ gradeId: string;
1981
+ courseId: string;
1982
+ isFinal: boolean;
1983
+ assignments?: {
1984
+ assignmentId: string;
1985
+ assignmentName: string;
1986
+ possiblePoints: number;
1987
+ assignmentType: string;
1988
+ percentage?: number | undefined;
1989
+ weight?: number | undefined;
1990
+ isExtraCredit?: boolean | undefined;
1991
+ letterGrade?: string | undefined;
1992
+ gradedAt?: string | undefined;
1993
+ gradedBy?: string | undefined;
1994
+ categoryId?: string | undefined;
1995
+ earnedPoints?: number | undefined;
1996
+ assessmentCategory?: "formative" | "summative" | undefined;
1997
+ dueDate?: string | undefined;
1998
+ submittedDate?: string | undefined;
1999
+ isDropped?: boolean | undefined;
2000
+ isMissing?: boolean | undefined;
2001
+ isExcused?: boolean | undefined;
2002
+ comment?: string | undefined;
2003
+ }[] | undefined;
2004
+ credits?: number | undefined;
2005
+ studentName?: string | undefined;
2006
+ letterGrade?: string | undefined;
2007
+ categoryGrades?: {
2008
+ percentage: number;
2009
+ weight: number;
2010
+ categoryId: string;
2011
+ categoryName: string;
2012
+ earnedPoints: number;
2013
+ possiblePoints: number;
2014
+ letterGrade?: string | undefined;
2015
+ }[] | undefined;
2016
+ gpaPoints?: number | undefined;
2017
+ courseName?: string | undefined;
2018
+ sectionId?: string | undefined;
2019
+ numericGrade?: number | undefined;
2020
+ isPassFail?: boolean | undefined;
2021
+ isPassing?: boolean | undefined;
2022
+ teacherComment?: string | undefined;
2023
+ lastCalculatedAt?: string | undefined;
2024
+ publishedAt?: string | undefined;
2025
+ }[];
2026
+ sectionId: string;
2027
+ }, {
2028
+ termId: string;
2029
+ grades: {
2030
+ createdAt: string;
2031
+ updatedAt: string;
2032
+ schoolId: string;
2033
+ termId: string;
2034
+ academicYearId: string;
2035
+ studentId: string;
2036
+ teacherId: string;
2037
+ gradeId: string;
2038
+ courseId: string;
2039
+ isFinal: boolean;
2040
+ assignments?: {
2041
+ assignmentId: string;
2042
+ assignmentName: string;
2043
+ possiblePoints: number;
2044
+ assignmentType: string;
2045
+ percentage?: number | undefined;
2046
+ weight?: number | undefined;
2047
+ isExtraCredit?: boolean | undefined;
2048
+ letterGrade?: string | undefined;
2049
+ gradedAt?: string | undefined;
2050
+ gradedBy?: string | undefined;
2051
+ categoryId?: string | undefined;
2052
+ earnedPoints?: number | undefined;
2053
+ assessmentCategory?: "formative" | "summative" | undefined;
2054
+ dueDate?: string | undefined;
2055
+ submittedDate?: string | undefined;
2056
+ isDropped?: boolean | undefined;
2057
+ isMissing?: boolean | undefined;
2058
+ isExcused?: boolean | undefined;
2059
+ comment?: string | undefined;
2060
+ }[] | undefined;
2061
+ credits?: number | undefined;
2062
+ studentName?: string | undefined;
2063
+ letterGrade?: string | undefined;
2064
+ categoryGrades?: {
2065
+ percentage: number;
2066
+ weight: number;
2067
+ categoryId: string;
2068
+ categoryName: string;
2069
+ earnedPoints: number;
2070
+ possiblePoints: number;
2071
+ letterGrade?: string | undefined;
2072
+ }[] | undefined;
2073
+ gpaPoints?: number | undefined;
2074
+ courseName?: string | undefined;
2075
+ sectionId?: string | undefined;
2076
+ numericGrade?: number | undefined;
2077
+ isPassFail?: boolean | undefined;
2078
+ isPassing?: boolean | undefined;
2079
+ teacherComment?: string | undefined;
2080
+ lastCalculatedAt?: string | undefined;
2081
+ publishedAt?: string | undefined;
2082
+ }[];
2083
+ sectionId: string;
2084
+ }>;
2085
+ export type SectionGradebookResponseDto = z.infer<typeof sectionGradebookResponseSchema>;
2086
+ export declare const studentGradesResponseSchema: z.ZodObject<{
2087
+ studentId: z.ZodString;
2088
+ grades: z.ZodArray<z.ZodObject<{
2089
+ gradeId: z.ZodString;
2090
+ studentId: z.ZodString;
2091
+ studentName: z.ZodOptional<z.ZodString>;
2092
+ schoolId: z.ZodString;
2093
+ courseId: z.ZodString;
2094
+ courseName: z.ZodOptional<z.ZodString>;
2095
+ sectionId: z.ZodOptional<z.ZodString>;
2096
+ teacherId: z.ZodString;
2097
+ academicYearId: z.ZodString;
2098
+ termId: z.ZodString;
2099
+ numericGrade: z.ZodOptional<z.ZodNumber>;
2100
+ letterGrade: z.ZodOptional<z.ZodString>;
2101
+ gpaPoints: z.ZodOptional<z.ZodNumber>;
2102
+ credits: z.ZodOptional<z.ZodNumber>;
2103
+ categoryGrades: z.ZodOptional<z.ZodArray<z.ZodObject<{
2104
+ categoryId: z.ZodString;
2105
+ categoryName: z.ZodString;
2106
+ weight: z.ZodNumber;
2107
+ earnedPoints: z.ZodNumber;
2108
+ possiblePoints: z.ZodNumber;
2109
+ percentage: z.ZodNumber;
2110
+ letterGrade: z.ZodOptional<z.ZodString>;
2111
+ }, "strip", z.ZodTypeAny, {
2112
+ percentage: number;
2113
+ weight: number;
2114
+ categoryId: string;
2115
+ categoryName: string;
2116
+ earnedPoints: number;
2117
+ possiblePoints: number;
2118
+ letterGrade?: string | undefined;
2119
+ }, {
2120
+ percentage: number;
2121
+ weight: number;
2122
+ categoryId: string;
2123
+ categoryName: string;
2124
+ earnedPoints: number;
2125
+ possiblePoints: number;
2126
+ letterGrade?: string | undefined;
2127
+ }>, "many">>;
2128
+ assignments: z.ZodOptional<z.ZodArray<z.ZodObject<{
2129
+ assignmentId: z.ZodString;
2130
+ assignmentName: z.ZodString;
2131
+ assignmentType: z.ZodString;
2132
+ categoryId: z.ZodOptional<z.ZodString>;
2133
+ assessmentCategory: z.ZodOptional<z.ZodEnum<["formative", "summative"]>>;
2134
+ dueDate: z.ZodOptional<z.ZodString>;
2135
+ submittedDate: z.ZodOptional<z.ZodString>;
2136
+ earnedPoints: z.ZodOptional<z.ZodNumber>;
2137
+ possiblePoints: z.ZodNumber;
2138
+ percentage: z.ZodOptional<z.ZodNumber>;
2139
+ letterGrade: z.ZodOptional<z.ZodString>;
2140
+ weight: z.ZodOptional<z.ZodNumber>;
2141
+ isExtraCredit: z.ZodOptional<z.ZodBoolean>;
2142
+ isDropped: z.ZodOptional<z.ZodBoolean>;
2143
+ isMissing: z.ZodOptional<z.ZodBoolean>;
2144
+ isExcused: z.ZodOptional<z.ZodBoolean>;
2145
+ comment: z.ZodOptional<z.ZodString>;
2146
+ gradedBy: z.ZodOptional<z.ZodString>;
2147
+ gradedAt: z.ZodOptional<z.ZodString>;
2148
+ }, "strip", z.ZodTypeAny, {
2149
+ assignmentId: string;
2150
+ assignmentName: string;
2151
+ possiblePoints: number;
2152
+ assignmentType: string;
2153
+ percentage?: number | undefined;
2154
+ weight?: number | undefined;
2155
+ isExtraCredit?: boolean | undefined;
2156
+ letterGrade?: string | undefined;
2157
+ gradedAt?: string | undefined;
2158
+ gradedBy?: string | undefined;
2159
+ categoryId?: string | undefined;
2160
+ earnedPoints?: number | undefined;
2161
+ assessmentCategory?: "formative" | "summative" | undefined;
2162
+ dueDate?: string | undefined;
2163
+ submittedDate?: string | undefined;
2164
+ isDropped?: boolean | undefined;
2165
+ isMissing?: boolean | undefined;
2166
+ isExcused?: boolean | undefined;
2167
+ comment?: string | undefined;
2168
+ }, {
2169
+ assignmentId: string;
2170
+ assignmentName: string;
2171
+ possiblePoints: number;
2172
+ assignmentType: string;
2173
+ percentage?: number | undefined;
2174
+ weight?: number | undefined;
2175
+ isExtraCredit?: boolean | undefined;
2176
+ letterGrade?: string | undefined;
2177
+ gradedAt?: string | undefined;
2178
+ gradedBy?: string | undefined;
2179
+ categoryId?: string | undefined;
2180
+ earnedPoints?: number | undefined;
2181
+ assessmentCategory?: "formative" | "summative" | undefined;
2182
+ dueDate?: string | undefined;
2183
+ submittedDate?: string | undefined;
2184
+ isDropped?: boolean | undefined;
2185
+ isMissing?: boolean | undefined;
2186
+ isExcused?: boolean | undefined;
2187
+ comment?: string | undefined;
2188
+ }>, "many">>;
2189
+ isFinal: z.ZodBoolean;
2190
+ isPassFail: z.ZodOptional<z.ZodBoolean>;
2191
+ isPassing: z.ZodOptional<z.ZodBoolean>;
2192
+ teacherComment: z.ZodOptional<z.ZodString>;
2193
+ lastCalculatedAt: z.ZodOptional<z.ZodString>;
2194
+ publishedAt: z.ZodOptional<z.ZodString>;
2195
+ createdAt: z.ZodString;
2196
+ updatedAt: z.ZodString;
2197
+ }, "strip", z.ZodTypeAny, {
2198
+ createdAt: string;
2199
+ updatedAt: string;
2200
+ schoolId: string;
2201
+ termId: string;
2202
+ academicYearId: string;
2203
+ studentId: string;
2204
+ teacherId: string;
2205
+ gradeId: string;
2206
+ courseId: string;
2207
+ isFinal: boolean;
2208
+ assignments?: {
2209
+ assignmentId: string;
2210
+ assignmentName: string;
2211
+ possiblePoints: number;
2212
+ assignmentType: string;
2213
+ percentage?: number | undefined;
2214
+ weight?: number | undefined;
2215
+ isExtraCredit?: boolean | undefined;
2216
+ letterGrade?: string | undefined;
2217
+ gradedAt?: string | undefined;
2218
+ gradedBy?: string | undefined;
2219
+ categoryId?: string | undefined;
2220
+ earnedPoints?: number | undefined;
2221
+ assessmentCategory?: "formative" | "summative" | undefined;
2222
+ dueDate?: string | undefined;
2223
+ submittedDate?: string | undefined;
2224
+ isDropped?: boolean | undefined;
2225
+ isMissing?: boolean | undefined;
2226
+ isExcused?: boolean | undefined;
2227
+ comment?: string | undefined;
2228
+ }[] | undefined;
2229
+ credits?: number | undefined;
2230
+ studentName?: string | undefined;
2231
+ letterGrade?: string | undefined;
2232
+ categoryGrades?: {
2233
+ percentage: number;
2234
+ weight: number;
2235
+ categoryId: string;
2236
+ categoryName: string;
2237
+ earnedPoints: number;
2238
+ possiblePoints: number;
2239
+ letterGrade?: string | undefined;
2240
+ }[] | undefined;
2241
+ gpaPoints?: number | undefined;
2242
+ courseName?: string | undefined;
2243
+ sectionId?: string | undefined;
2244
+ numericGrade?: number | undefined;
2245
+ isPassFail?: boolean | undefined;
2246
+ isPassing?: boolean | undefined;
2247
+ teacherComment?: string | undefined;
2248
+ lastCalculatedAt?: string | undefined;
2249
+ publishedAt?: string | undefined;
2250
+ }, {
2251
+ createdAt: string;
2252
+ updatedAt: string;
2253
+ schoolId: string;
2254
+ termId: string;
2255
+ academicYearId: string;
2256
+ studentId: string;
2257
+ teacherId: string;
2258
+ gradeId: string;
2259
+ courseId: string;
2260
+ isFinal: boolean;
2261
+ assignments?: {
2262
+ assignmentId: string;
2263
+ assignmentName: string;
2264
+ possiblePoints: number;
2265
+ assignmentType: string;
2266
+ percentage?: number | undefined;
2267
+ weight?: number | undefined;
2268
+ isExtraCredit?: boolean | undefined;
2269
+ letterGrade?: string | undefined;
2270
+ gradedAt?: string | undefined;
2271
+ gradedBy?: string | undefined;
2272
+ categoryId?: string | undefined;
2273
+ earnedPoints?: number | undefined;
2274
+ assessmentCategory?: "formative" | "summative" | undefined;
2275
+ dueDate?: string | undefined;
2276
+ submittedDate?: string | undefined;
2277
+ isDropped?: boolean | undefined;
2278
+ isMissing?: boolean | undefined;
2279
+ isExcused?: boolean | undefined;
2280
+ comment?: string | undefined;
2281
+ }[] | undefined;
2282
+ credits?: number | undefined;
2283
+ studentName?: string | undefined;
2284
+ letterGrade?: string | undefined;
2285
+ categoryGrades?: {
2286
+ percentage: number;
2287
+ weight: number;
2288
+ categoryId: string;
2289
+ categoryName: string;
2290
+ earnedPoints: number;
2291
+ possiblePoints: number;
2292
+ letterGrade?: string | undefined;
2293
+ }[] | undefined;
2294
+ gpaPoints?: number | undefined;
2295
+ courseName?: string | undefined;
2296
+ sectionId?: string | undefined;
2297
+ numericGrade?: number | undefined;
2298
+ isPassFail?: boolean | undefined;
2299
+ isPassing?: boolean | undefined;
2300
+ teacherComment?: string | undefined;
2301
+ lastCalculatedAt?: string | undefined;
2302
+ publishedAt?: string | undefined;
2303
+ }>, "many">;
2304
+ gpa: z.ZodOptional<z.ZodObject<{
2305
+ termGpa: z.ZodNumber;
2306
+ cumulativeGpa: z.ZodNumber;
2307
+ weightedGpa: z.ZodNumber;
2308
+ }, "strip", z.ZodTypeAny, {
2309
+ termGpa: number;
2310
+ cumulativeGpa: number;
2311
+ weightedGpa: number;
2312
+ }, {
2313
+ termGpa: number;
2314
+ cumulativeGpa: number;
2315
+ weightedGpa: number;
2316
+ }>>;
2317
+ }, "strip", z.ZodTypeAny, {
2318
+ grades: {
2319
+ createdAt: string;
2320
+ updatedAt: string;
2321
+ schoolId: string;
2322
+ termId: string;
2323
+ academicYearId: string;
2324
+ studentId: string;
2325
+ teacherId: string;
2326
+ gradeId: string;
2327
+ courseId: string;
2328
+ isFinal: boolean;
2329
+ assignments?: {
2330
+ assignmentId: string;
2331
+ assignmentName: string;
2332
+ possiblePoints: number;
2333
+ assignmentType: string;
2334
+ percentage?: number | undefined;
2335
+ weight?: number | undefined;
2336
+ isExtraCredit?: boolean | undefined;
2337
+ letterGrade?: string | undefined;
2338
+ gradedAt?: string | undefined;
2339
+ gradedBy?: string | undefined;
2340
+ categoryId?: string | undefined;
2341
+ earnedPoints?: number | undefined;
2342
+ assessmentCategory?: "formative" | "summative" | undefined;
2343
+ dueDate?: string | undefined;
2344
+ submittedDate?: string | undefined;
2345
+ isDropped?: boolean | undefined;
2346
+ isMissing?: boolean | undefined;
2347
+ isExcused?: boolean | undefined;
2348
+ comment?: string | undefined;
2349
+ }[] | undefined;
2350
+ credits?: number | undefined;
2351
+ studentName?: string | undefined;
2352
+ letterGrade?: string | undefined;
2353
+ categoryGrades?: {
2354
+ percentage: number;
2355
+ weight: number;
2356
+ categoryId: string;
2357
+ categoryName: string;
2358
+ earnedPoints: number;
2359
+ possiblePoints: number;
2360
+ letterGrade?: string | undefined;
2361
+ }[] | undefined;
2362
+ gpaPoints?: number | undefined;
2363
+ courseName?: string | undefined;
2364
+ sectionId?: string | undefined;
2365
+ numericGrade?: number | undefined;
2366
+ isPassFail?: boolean | undefined;
2367
+ isPassing?: boolean | undefined;
2368
+ teacherComment?: string | undefined;
2369
+ lastCalculatedAt?: string | undefined;
2370
+ publishedAt?: string | undefined;
2371
+ }[];
2372
+ studentId: string;
2373
+ gpa?: {
2374
+ termGpa: number;
2375
+ cumulativeGpa: number;
2376
+ weightedGpa: number;
2377
+ } | undefined;
2378
+ }, {
2379
+ grades: {
2380
+ createdAt: string;
2381
+ updatedAt: string;
2382
+ schoolId: string;
2383
+ termId: string;
2384
+ academicYearId: string;
2385
+ studentId: string;
2386
+ teacherId: string;
2387
+ gradeId: string;
2388
+ courseId: string;
2389
+ isFinal: boolean;
2390
+ assignments?: {
2391
+ assignmentId: string;
2392
+ assignmentName: string;
2393
+ possiblePoints: number;
2394
+ assignmentType: string;
2395
+ percentage?: number | undefined;
2396
+ weight?: number | undefined;
2397
+ isExtraCredit?: boolean | undefined;
2398
+ letterGrade?: string | undefined;
2399
+ gradedAt?: string | undefined;
2400
+ gradedBy?: string | undefined;
2401
+ categoryId?: string | undefined;
2402
+ earnedPoints?: number | undefined;
2403
+ assessmentCategory?: "formative" | "summative" | undefined;
2404
+ dueDate?: string | undefined;
2405
+ submittedDate?: string | undefined;
2406
+ isDropped?: boolean | undefined;
2407
+ isMissing?: boolean | undefined;
2408
+ isExcused?: boolean | undefined;
2409
+ comment?: string | undefined;
2410
+ }[] | undefined;
2411
+ credits?: number | undefined;
2412
+ studentName?: string | undefined;
2413
+ letterGrade?: string | undefined;
2414
+ categoryGrades?: {
2415
+ percentage: number;
2416
+ weight: number;
2417
+ categoryId: string;
2418
+ categoryName: string;
2419
+ earnedPoints: number;
2420
+ possiblePoints: number;
2421
+ letterGrade?: string | undefined;
2422
+ }[] | undefined;
2423
+ gpaPoints?: number | undefined;
2424
+ courseName?: string | undefined;
2425
+ sectionId?: string | undefined;
2426
+ numericGrade?: number | undefined;
2427
+ isPassFail?: boolean | undefined;
2428
+ isPassing?: boolean | undefined;
2429
+ teacherComment?: string | undefined;
2430
+ lastCalculatedAt?: string | undefined;
2431
+ publishedAt?: string | undefined;
2432
+ }[];
2433
+ studentId: string;
2434
+ gpa?: {
2435
+ termGpa: number;
2436
+ cumulativeGpa: number;
2437
+ weightedGpa: number;
2438
+ } | undefined;
2439
+ }>;
2440
+ export type StudentGradesResponseDto = z.infer<typeof studentGradesResponseSchema>;
848
2441
  //# sourceMappingURL=grade.schema.d.ts.map