@studious-lms/server 1.21.0 → 1.22.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 (111) hide show
  1. package/dist/models/agenda.d.ts +6 -0
  2. package/dist/models/agenda.d.ts.map +1 -1
  3. package/dist/models/announcement.d.ts +2 -0
  4. package/dist/models/announcement.d.ts.map +1 -1
  5. package/dist/models/assignment.d.ts +27 -0
  6. package/dist/models/assignment.d.ts.map +1 -1
  7. package/dist/models/auth.d.ts +4 -0
  8. package/dist/models/auth.d.ts.map +1 -1
  9. package/dist/models/class.d.ts +14 -0
  10. package/dist/models/class.d.ts.map +1 -1
  11. package/dist/models/event.d.ts +11 -0
  12. package/dist/models/event.d.ts.map +1 -1
  13. package/dist/models/file.d.ts +19 -0
  14. package/dist/models/file.d.ts.map +1 -1
  15. package/dist/models/folder.d.ts +4 -0
  16. package/dist/models/folder.d.ts.map +1 -1
  17. package/dist/models/gradebook.d.ts +180 -0
  18. package/dist/models/gradebook.d.ts.map +1 -0
  19. package/dist/models/gradebook.js +88 -0
  20. package/dist/models/gradebook.js.map +1 -0
  21. package/dist/models/labChat.d.ts +4 -0
  22. package/dist/models/labChat.d.ts.map +1 -1
  23. package/dist/models/newtonChat.d.ts +2 -0
  24. package/dist/models/newtonChat.d.ts.map +1 -1
  25. package/dist/models/school.d.ts +2 -0
  26. package/dist/models/school.d.ts.map +1 -1
  27. package/dist/models/section.d.ts +3 -0
  28. package/dist/models/section.d.ts.map +1 -1
  29. package/dist/models/worksheet.d.ts +6 -0
  30. package/dist/models/worksheet.d.ts.map +1 -1
  31. package/dist/routers/_app.d.ts +1241 -67
  32. package/dist/routers/_app.d.ts.map +1 -1
  33. package/dist/routers/_app.js +4 -2
  34. package/dist/routers/_app.js.map +1 -1
  35. package/dist/routers/admin.d.ts +164 -0
  36. package/dist/routers/admin.d.ts.map +1 -1
  37. package/dist/routers/admin.js +23 -4
  38. package/dist/routers/admin.js.map +1 -1
  39. package/dist/routers/agenda.d.ts +6 -0
  40. package/dist/routers/agenda.d.ts.map +1 -1
  41. package/dist/routers/assignment.d.ts +30 -3
  42. package/dist/routers/assignment.d.ts.map +1 -1
  43. package/dist/routers/class.d.ts +17 -0
  44. package/dist/routers/class.d.ts.map +1 -1
  45. package/dist/routers/event.d.ts +4 -0
  46. package/dist/routers/event.d.ts.map +1 -1
  47. package/dist/routers/file.d.ts +66 -0
  48. package/dist/routers/file.d.ts.map +1 -1
  49. package/dist/routers/file.js +111 -2
  50. package/dist/routers/file.js.map +1 -1
  51. package/dist/routers/gradebook.d.ts +299 -0
  52. package/dist/routers/gradebook.d.ts.map +1 -0
  53. package/dist/routers/gradebook.js +107 -0
  54. package/dist/routers/gradebook.js.map +1 -0
  55. package/dist/routers/school.d.ts +4 -0
  56. package/dist/routers/school.d.ts.map +1 -1
  57. package/dist/routers/section.d.ts +1 -1
  58. package/dist/routers/worksheet.d.ts +3 -1
  59. package/dist/routers/worksheet.d.ts.map +1 -1
  60. package/dist/services/adminInstitution.d.ts +51 -0
  61. package/dist/services/adminInstitution.d.ts.map +1 -1
  62. package/dist/services/adminInstitution.js +52 -2
  63. package/dist/services/adminInstitution.js.map +1 -1
  64. package/dist/services/adminMetrics.d.ts +17 -0
  65. package/dist/services/adminMetrics.d.ts.map +1 -0
  66. package/dist/services/adminMetrics.js +37 -0
  67. package/dist/services/adminMetrics.js.map +1 -0
  68. package/dist/services/adminRunJob.d.ts +9 -0
  69. package/dist/services/adminRunJob.d.ts.map +1 -1
  70. package/dist/services/adminRunJob.js +18 -2
  71. package/dist/services/adminRunJob.js.map +1 -1
  72. package/dist/services/adminUser.d.ts +67 -0
  73. package/dist/services/adminUser.d.ts.map +1 -0
  74. package/dist/services/adminUser.js +87 -0
  75. package/dist/services/adminUser.js.map +1 -0
  76. package/dist/services/agenda.d.ts +6 -0
  77. package/dist/services/agenda.d.ts.map +1 -1
  78. package/dist/services/assignment.d.ts +27 -0
  79. package/dist/services/assignment.d.ts.map +1 -1
  80. package/dist/services/class.d.ts +17 -0
  81. package/dist/services/class.d.ts.map +1 -1
  82. package/dist/services/event.d.ts +4 -0
  83. package/dist/services/event.d.ts.map +1 -1
  84. package/dist/services/gradeCalculation.d.ts +70 -0
  85. package/dist/services/gradeCalculation.d.ts.map +1 -0
  86. package/dist/services/gradeCalculation.js +148 -0
  87. package/dist/services/gradeCalculation.js.map +1 -0
  88. package/dist/services/gradebook.d.ts +197 -0
  89. package/dist/services/gradebook.d.ts.map +1 -0
  90. package/dist/services/gradebook.js +263 -0
  91. package/dist/services/gradebook.js.map +1 -0
  92. package/dist/services/school.d.ts +4 -0
  93. package/dist/services/school.d.ts.map +1 -1
  94. package/dist/services/worksheet.d.ts +2 -0
  95. package/dist/services/worksheet.d.ts.map +1 -1
  96. package/package.json +1 -1
  97. package/prisma/migrations/20260708011629_add_gradebook_categories_columns_policies/migration.sql +78 -0
  98. package/prisma/migrations/20260723142314_make_file_annotation_submission_optional/migration.sql +2 -0
  99. package/prisma/schema.prisma +62 -2
  100. package/src/models/gradebook.ts +91 -0
  101. package/src/routers/_app.ts +2 -0
  102. package/src/routers/admin.ts +28 -0
  103. package/src/routers/file.ts +128 -0
  104. package/src/routers/gradebook.ts +173 -0
  105. package/src/services/adminInstitution.ts +52 -0
  106. package/src/services/adminMetrics.ts +46 -0
  107. package/src/services/adminRunJob.ts +24 -0
  108. package/src/services/adminUser.ts +93 -0
  109. package/src/services/gradeCalculation.ts +253 -0
  110. package/src/services/gradebook.ts +383 -0
  111. package/tests/unit/services/gradeCalculation.test.ts +206 -0
@@ -267,6 +267,8 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
267
267
  discussionsEnabled: boolean;
268
268
  studentsCanCreateDiscussions: boolean;
269
269
  studentsCanReply: boolean;
270
+ treatMissingAsZero: boolean;
271
+ gradeRoundingMode: import(".prisma/client").$Enums.GradeRoundingMode;
270
272
  };
271
273
  };
272
274
  meta: object;
@@ -347,6 +349,8 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
347
349
  discussionsEnabled: boolean;
348
350
  studentsCanCreateDiscussions: boolean;
349
351
  studentsCanReply: boolean;
352
+ treatMissingAsZero: boolean;
353
+ gradeRoundingMode: import(".prisma/client").$Enums.GradeRoundingMode;
350
354
  };
351
355
  meta: object;
352
356
  }>;
@@ -404,6 +408,8 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
404
408
  discussionsEnabled: boolean;
405
409
  studentsCanCreateDiscussions: boolean;
406
410
  studentsCanReply: boolean;
411
+ treatMissingAsZero: boolean;
412
+ gradeRoundingMode: import(".prisma/client").$Enums.GradeRoundingMode;
407
413
  };
408
414
  user: {
409
415
  type: "student" | "teacher";
@@ -433,6 +439,8 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
433
439
  discussionsEnabled: boolean;
434
440
  studentsCanCreateDiscussions: boolean;
435
441
  studentsCanReply: boolean;
442
+ treatMissingAsZero: boolean;
443
+ gradeRoundingMode: import(".prisma/client").$Enums.GradeRoundingMode;
436
444
  };
437
445
  removedUserId: string;
438
446
  };
@@ -735,6 +743,8 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
735
743
  discussionsEnabled: boolean;
736
744
  studentsCanCreateDiscussions: boolean;
737
745
  studentsCanReply: boolean;
746
+ treatMissingAsZero: boolean;
747
+ gradeRoundingMode: import(".prisma/client").$Enums.GradeRoundingMode;
738
748
  };
739
749
  meta: object;
740
750
  }>;
@@ -768,6 +778,7 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
768
778
  markSchemeId: string | null;
769
779
  order: number | null;
770
780
  gradingBoundaryId: string | null;
781
+ gradeCategoryId: string | null;
771
782
  }[];
772
783
  meta: object;
773
784
  }>;
@@ -811,6 +822,7 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
811
822
  markSchemeId: string | null;
812
823
  order: number | null;
813
824
  gradingBoundaryId: string | null;
825
+ gradeCategoryId: string | null;
814
826
  };
815
827
  meta: object;
816
828
  }>;
@@ -854,6 +866,7 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
854
866
  markSchemeId: string | null;
855
867
  order: number | null;
856
868
  gradingBoundaryId: string | null;
869
+ gradeCategoryId: string | null;
857
870
  };
858
871
  meta: object;
859
872
  }>;
@@ -888,6 +901,7 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
888
901
  markSchemeId: string | null;
889
902
  order: number | null;
890
903
  gradingBoundaryId: string | null;
904
+ gradeCategoryId: string | null;
891
905
  };
892
906
  meta: object;
893
907
  }>;
@@ -926,6 +940,7 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
926
940
  markSchemeId: string | null;
927
941
  order: number | null;
928
942
  gradingBoundaryId: string | null;
943
+ gradeCategoryId: string | null;
929
944
  };
930
945
  meta: object;
931
946
  }>;
@@ -1077,6 +1092,8 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
1077
1092
  discussionsEnabled: boolean;
1078
1093
  studentsCanCreateDiscussions: boolean;
1079
1094
  studentsCanReply: boolean;
1095
+ treatMissingAsZero: boolean;
1096
+ gradeRoundingMode: import(".prisma/client").$Enums.GradeRoundingMode;
1080
1097
  };
1081
1098
  meta: object;
1082
1099
  }>;
@@ -1521,8 +1538,8 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
1521
1538
  input: {
1522
1539
  [x: string]: unknown;
1523
1540
  classId: string;
1524
- movedId: string;
1525
1541
  position: "end" | "start" | "before" | "after";
1542
+ movedId: string;
1526
1543
  targetId?: string | undefined;
1527
1544
  };
1528
1545
  output: {
@@ -1550,6 +1567,7 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
1550
1567
  markSchemeId: string | null;
1551
1568
  order: number | null;
1552
1569
  gradingBoundaryId: string | null;
1570
+ gradeCategoryId: string | null;
1553
1571
  } | null;
1554
1572
  meta: object;
1555
1573
  }>;
@@ -1594,6 +1612,7 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
1594
1612
  markSchemeId: string | null;
1595
1613
  order: number | null;
1596
1614
  gradingBoundaryId: string | null;
1615
+ gradeCategoryId: string | null;
1597
1616
  } | null;
1598
1617
  meta: object;
1599
1618
  }>;
@@ -1689,6 +1708,7 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
1689
1708
  markSchemeId: string | null;
1690
1709
  order: number | null;
1691
1710
  gradingBoundaryId: string | null;
1711
+ gradeCategoryId: string | null;
1692
1712
  };
1693
1713
  meta: object;
1694
1714
  }>;
@@ -1736,6 +1756,8 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
1736
1756
  discussionsEnabled: boolean;
1737
1757
  studentsCanCreateDiscussions: boolean;
1738
1758
  studentsCanReply: boolean;
1759
+ treatMissingAsZero: boolean;
1760
+ gradeRoundingMode: import(".prisma/client").$Enums.GradeRoundingMode;
1739
1761
  };
1740
1762
  section: {
1741
1763
  id: string;
@@ -1904,6 +1926,7 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
1904
1926
  markSchemeId: string | null;
1905
1927
  order: number | null;
1906
1928
  gradingBoundaryId: string | null;
1929
+ gradeCategoryId: string | null;
1907
1930
  };
1908
1931
  meta: object;
1909
1932
  }>;
@@ -1929,6 +1952,8 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
1929
1952
  discussionsEnabled: boolean;
1930
1953
  studentsCanCreateDiscussions: boolean;
1931
1954
  studentsCanReply: boolean;
1955
+ treatMissingAsZero: boolean;
1956
+ gradeRoundingMode: import(".prisma/client").$Enums.GradeRoundingMode;
1932
1957
  };
1933
1958
  markScheme: {
1934
1959
  id: string;
@@ -1967,6 +1992,7 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
1967
1992
  markSchemeId: string | null;
1968
1993
  order: number | null;
1969
1994
  gradingBoundaryId: string | null;
1995
+ gradeCategoryId: string | null;
1970
1996
  };
1971
1997
  attachments: {
1972
1998
  path: string;
@@ -2072,6 +2098,8 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
2072
2098
  discussionsEnabled: boolean;
2073
2099
  studentsCanCreateDiscussions: boolean;
2074
2100
  studentsCanReply: boolean;
2101
+ treatMissingAsZero: boolean;
2102
+ gradeRoundingMode: import(".prisma/client").$Enums.GradeRoundingMode;
2075
2103
  };
2076
2104
  markScheme: {
2077
2105
  id: string;
@@ -2110,6 +2138,7 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
2110
2138
  markSchemeId: string | null;
2111
2139
  order: number | null;
2112
2140
  gradingBoundaryId: string | null;
2141
+ gradeCategoryId: string | null;
2113
2142
  };
2114
2143
  attachments: {
2115
2144
  path: string;
@@ -2236,6 +2265,8 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
2236
2265
  discussionsEnabled: boolean;
2237
2266
  studentsCanCreateDiscussions: boolean;
2238
2267
  studentsCanReply: boolean;
2268
+ treatMissingAsZero: boolean;
2269
+ gradeRoundingMode: import(".prisma/client").$Enums.GradeRoundingMode;
2239
2270
  };
2240
2271
  markScheme: {
2241
2272
  id: string;
@@ -2270,6 +2301,7 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
2270
2301
  markSchemeId: string | null;
2271
2302
  order: number | null;
2272
2303
  gradingBoundaryId: string | null;
2304
+ gradeCategoryId: string | null;
2273
2305
  };
2274
2306
  attachments: {
2275
2307
  path: string;
@@ -2346,6 +2378,8 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
2346
2378
  discussionsEnabled: boolean;
2347
2379
  studentsCanCreateDiscussions: boolean;
2348
2380
  studentsCanReply: boolean;
2381
+ treatMissingAsZero: boolean;
2382
+ gradeRoundingMode: import(".prisma/client").$Enums.GradeRoundingMode;
2349
2383
  };
2350
2384
  markScheme: {
2351
2385
  id: string;
@@ -2380,6 +2414,7 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
2380
2414
  markSchemeId: string | null;
2381
2415
  order: number | null;
2382
2416
  gradingBoundaryId: string | null;
2417
+ gradeCategoryId: string | null;
2383
2418
  };
2384
2419
  attachments: ({
2385
2420
  thumbnail: {
@@ -2737,6 +2772,8 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
2737
2772
  discussionsEnabled: boolean;
2738
2773
  studentsCanCreateDiscussions: boolean;
2739
2774
  studentsCanReply: boolean;
2775
+ treatMissingAsZero: boolean;
2776
+ gradeRoundingMode: import(".prisma/client").$Enums.GradeRoundingMode;
2740
2777
  };
2741
2778
  markScheme: {
2742
2779
  id: string;
@@ -2771,6 +2808,7 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
2771
2808
  markSchemeId: string | null;
2772
2809
  order: number | null;
2773
2810
  gradingBoundaryId: string | null;
2811
+ gradeCategoryId: string | null;
2774
2812
  };
2775
2813
  attachments: ({
2776
2814
  thumbnail: {
@@ -2976,6 +3014,7 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
2976
3014
  markSchemeId: string | null;
2977
3015
  order: number | null;
2978
3016
  gradingBoundaryId: string | null;
3017
+ gradeCategoryId: string | null;
2979
3018
  };
2980
3019
  };
2981
3020
  meta: object;
@@ -3033,6 +3072,7 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
3033
3072
  markSchemeId: string | null;
3034
3073
  order: number | null;
3035
3074
  gradingBoundaryId: string | null;
3075
+ gradeCategoryId: string | null;
3036
3076
  };
3037
3077
  };
3038
3078
  meta: object;
@@ -3170,6 +3210,7 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
3170
3210
  markSchemeId: string | null;
3171
3211
  order: number | null;
3172
3212
  gradingBoundaryId: string | null;
3213
+ gradeCategoryId: string | null;
3173
3214
  };
3174
3215
  meta: object;
3175
3216
  }>;
@@ -3270,6 +3311,7 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
3270
3311
  markSchemeId: string | null;
3271
3312
  order: number | null;
3272
3313
  gradingBoundaryId: string | null;
3314
+ gradeCategoryId: string | null;
3273
3315
  };
3274
3316
  meta: object;
3275
3317
  }>;
@@ -3371,6 +3413,7 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
3371
3413
  markSchemeId: string | null;
3372
3414
  order: number | null;
3373
3415
  gradingBoundaryId: string | null;
3416
+ gradeCategoryId: string | null;
3374
3417
  };
3375
3418
  meta: object;
3376
3419
  }>;
@@ -3471,6 +3514,7 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
3471
3514
  markSchemeId: string | null;
3472
3515
  order: number | null;
3473
3516
  gradingBoundaryId: string | null;
3517
+ gradeCategoryId: string | null;
3474
3518
  };
3475
3519
  meta: object;
3476
3520
  }>;
@@ -3589,7 +3633,7 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
3589
3633
  createdAt: Date;
3590
3634
  updatedAt: Date;
3591
3635
  color: string | null;
3592
- submissionId: string;
3636
+ submissionId: string | null;
3593
3637
  text: string | null;
3594
3638
  authorId: string;
3595
3639
  fileId: string;
@@ -3619,7 +3663,7 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
3619
3663
  createdAt: Date;
3620
3664
  updatedAt: Date;
3621
3665
  color: string | null;
3622
- submissionId: string;
3666
+ submissionId: string | null;
3623
3667
  text: string | null;
3624
3668
  authorId: string;
3625
3669
  fileId: string;
@@ -3879,8 +3923,8 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
3879
3923
  input: {
3880
3924
  [x: string]: unknown;
3881
3925
  classId: string;
3882
- movedId: string;
3883
3926
  position: "end" | "start" | "before" | "after";
3927
+ movedId: string;
3884
3928
  targetId?: string | undefined;
3885
3929
  };
3886
3930
  output: {
@@ -4125,6 +4169,8 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
4125
4169
  discussionsEnabled: boolean;
4126
4170
  studentsCanCreateDiscussions: boolean;
4127
4171
  studentsCanReply: boolean;
4172
+ treatMissingAsZero: boolean;
4173
+ gradeRoundingMode: import(".prisma/client").$Enums.GradeRoundingMode;
4128
4174
  }) | null;
4129
4175
  assignmentsAttached: {
4130
4176
  type: import(".prisma/client").$Enums.AssignmentType;
@@ -4274,6 +4320,7 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
4274
4320
  markSchemeId: string | null;
4275
4321
  order: number | null;
4276
4322
  gradingBoundaryId: string | null;
4323
+ gradeCategoryId: string | null;
4277
4324
  };
4278
4325
  };
4279
4326
  meta: object;
@@ -4323,6 +4370,7 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
4323
4370
  markSchemeId: string | null;
4324
4371
  order: number | null;
4325
4372
  gradingBoundaryId: string | null;
4373
+ gradeCategoryId: string | null;
4326
4374
  };
4327
4375
  };
4328
4376
  meta: object;
@@ -4519,6 +4567,8 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
4519
4567
  discussionsEnabled: boolean;
4520
4568
  studentsCanCreateDiscussions: boolean;
4521
4569
  studentsCanReply: boolean;
4570
+ treatMissingAsZero: boolean;
4571
+ gradeRoundingMode: import(".prisma/client").$Enums.GradeRoundingMode;
4522
4572
  } | null;
4523
4573
  assignmentsAttached: {
4524
4574
  type: import(".prisma/client").$Enums.AssignmentType;
@@ -4545,6 +4595,7 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
4545
4595
  markSchemeId: string | null;
4546
4596
  order: number | null;
4547
4597
  gradingBoundaryId: string | null;
4598
+ gradeCategoryId: string | null;
4548
4599
  }[];
4549
4600
  } & {
4550
4601
  id: string;
@@ -4571,6 +4622,8 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
4571
4622
  discussionsEnabled: boolean;
4572
4623
  studentsCanCreateDiscussions: boolean;
4573
4624
  studentsCanReply: boolean;
4625
+ treatMissingAsZero: boolean;
4626
+ gradeRoundingMode: import(".prisma/client").$Enums.GradeRoundingMode;
4574
4627
  } | null;
4575
4628
  assignmentsAttached: {
4576
4629
  type: import(".prisma/client").$Enums.AssignmentType;
@@ -4597,6 +4650,7 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
4597
4650
  markSchemeId: string | null;
4598
4651
  order: number | null;
4599
4652
  gradingBoundaryId: string | null;
4653
+ gradeCategoryId: string | null;
4600
4654
  }[];
4601
4655
  } & {
4602
4656
  id: string;
@@ -4733,6 +4787,72 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
4733
4787
  };
4734
4788
  meta: object;
4735
4789
  }>;
4790
+ listAnnotations: import("@trpc/server").TRPCQueryProcedure<{
4791
+ input: {
4792
+ fileId: string;
4793
+ };
4794
+ output: {
4795
+ annotations: ({
4796
+ author: {
4797
+ id: string;
4798
+ username: string;
4799
+ profile: {
4800
+ displayName: string | null;
4801
+ } | null;
4802
+ };
4803
+ } & {
4804
+ type: import(".prisma/client").$Enums.FileAnnotationType;
4805
+ id: string;
4806
+ createdAt: Date;
4807
+ updatedAt: Date;
4808
+ color: string | null;
4809
+ submissionId: string | null;
4810
+ text: string | null;
4811
+ authorId: string;
4812
+ fileId: string;
4813
+ page: number;
4814
+ geometry: import("@prisma/client/runtime/library.js").JsonValue;
4815
+ })[];
4816
+ };
4817
+ meta: object;
4818
+ }>;
4819
+ upsertAnnotation: import("@trpc/server").TRPCMutationProcedure<{
4820
+ input: {
4821
+ type: "HIGHLIGHT" | "INK" | "COMMENT" | "TEXT";
4822
+ fileId: string;
4823
+ page: number;
4824
+ geometry: Record<string, unknown>;
4825
+ id?: string | undefined;
4826
+ color?: string | undefined;
4827
+ text?: string | undefined;
4828
+ };
4829
+ output: {
4830
+ annotation: {
4831
+ type: import(".prisma/client").$Enums.FileAnnotationType;
4832
+ id: string;
4833
+ createdAt: Date;
4834
+ updatedAt: Date;
4835
+ color: string | null;
4836
+ submissionId: string | null;
4837
+ text: string | null;
4838
+ authorId: string;
4839
+ fileId: string;
4840
+ page: number;
4841
+ geometry: import("@prisma/client/runtime/library.js").JsonValue;
4842
+ };
4843
+ };
4844
+ meta: object;
4845
+ }>;
4846
+ deleteAnnotation: import("@trpc/server").TRPCMutationProcedure<{
4847
+ input: {
4848
+ id: string;
4849
+ fileId: string;
4850
+ };
4851
+ output: {
4852
+ success: boolean;
4853
+ };
4854
+ meta: object;
4855
+ }>;
4736
4856
  }>>;
4737
4857
  folder: import("@trpc/server").TRPCBuiltRouter<{
4738
4858
  ctx: import("../trpc.js").Context;
@@ -6018,6 +6138,8 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
6018
6138
  discussionsEnabled: boolean;
6019
6139
  studentsCanCreateDiscussions: boolean;
6020
6140
  studentsCanReply: boolean;
6141
+ treatMissingAsZero: boolean;
6142
+ gradeRoundingMode: import(".prisma/client").$Enums.GradeRoundingMode;
6021
6143
  } | null;
6022
6144
  tags: {
6023
6145
  id: string;
@@ -6254,8 +6376,8 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
6254
6376
  reorderQuestions: import("@trpc/server").TRPCMutationProcedure<{
6255
6377
  input: {
6256
6378
  worksheetId: string;
6257
- movedId: string;
6258
6379
  position: "before" | "after";
6380
+ movedId: string;
6259
6381
  targetId: string;
6260
6382
  };
6261
6383
  output: {
@@ -7420,6 +7542,8 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
7420
7542
  discussionsEnabled: boolean;
7421
7543
  studentsCanCreateDiscussions: boolean;
7422
7544
  studentsCanReply: boolean;
7545
+ treatMissingAsZero: boolean;
7546
+ gradeRoundingMode: import(".prisma/client").$Enums.GradeRoundingMode;
7423
7547
  })[];
7424
7548
  };
7425
7549
  meta: object;
@@ -7471,6 +7595,8 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
7471
7595
  discussionsEnabled: boolean;
7472
7596
  studentsCanCreateDiscussions: boolean;
7473
7597
  studentsCanReply: boolean;
7598
+ treatMissingAsZero: boolean;
7599
+ gradeRoundingMode: import(".prisma/client").$Enums.GradeRoundingMode;
7474
7600
  };
7475
7601
  };
7476
7602
  meta: object;
@@ -9029,6 +9155,26 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
9029
9155
  };
9030
9156
  transformer: false;
9031
9157
  }, import("@trpc/server").TRPCDecorateCreateRouterOptions<{
9158
+ getOverviewMetrics: import("@trpc/server").TRPCQueryProcedure<{
9159
+ input: void;
9160
+ output: {
9161
+ schools: number;
9162
+ users: number;
9163
+ verifiedUsers: number;
9164
+ classes: number;
9165
+ departments: number;
9166
+ runJobs: {
9167
+ byStatus: {
9168
+ status: import(".prisma/client").$Enums.RunJobStatus;
9169
+ count: number;
9170
+ }[];
9171
+ failedLast24h: number;
9172
+ };
9173
+ earlyAccessRequests: number;
9174
+ pendingDevProgramApplications: number;
9175
+ };
9176
+ meta: object;
9177
+ }>;
9032
9178
  listRunJobs: import("@trpc/server").TRPCQueryProcedure<{
9033
9179
  input: {
9034
9180
  type?: "PDF_TO_WORKSHEET" | "GRADE_WORKSHEET" | "AI_LAB_CHAT" | "AI_NEWTON_CHAT" | "STUDENT_PROGRESS_CHAT" | "EMBED_CONTENT" | undefined;
@@ -9082,6 +9228,74 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
9082
9228
  };
9083
9229
  meta: object;
9084
9230
  }>;
9231
+ retryRunJob: import("@trpc/server").TRPCMutationProcedure<{
9232
+ input: {
9233
+ id: string;
9234
+ };
9235
+ output: {
9236
+ runJobId: string;
9237
+ bullJobId: string | null;
9238
+ retriedFrom: string;
9239
+ };
9240
+ meta: object;
9241
+ }>;
9242
+ getSchool: import("@trpc/server").TRPCQueryProcedure<{
9243
+ input: {
9244
+ id: string;
9245
+ };
9246
+ output: {
9247
+ departments: {
9248
+ id: string;
9249
+ name: string;
9250
+ _count: {
9251
+ classes: number;
9252
+ members: number;
9253
+ };
9254
+ color: string | null;
9255
+ }[];
9256
+ _count: {
9257
+ departments: number;
9258
+ memberships: number;
9259
+ classes: number;
9260
+ };
9261
+ memberships: {
9262
+ status: import(".prisma/client").$Enums.SchoolMembershipStatus;
9263
+ user: {
9264
+ id: string;
9265
+ username: string;
9266
+ email: string;
9267
+ verified: boolean;
9268
+ };
9269
+ id: string;
9270
+ createdAt: Date;
9271
+ role: import(".prisma/client").$Enums.SchoolMembershipRole;
9272
+ }[];
9273
+ classes: {
9274
+ department: {
9275
+ id: string;
9276
+ name: string;
9277
+ } | null;
9278
+ section: string;
9279
+ id: string;
9280
+ name: string;
9281
+ _count: {
9282
+ teachers: number;
9283
+ students: number;
9284
+ };
9285
+ color: string | null;
9286
+ subject: string;
9287
+ }[];
9288
+ } & {
9289
+ id: string;
9290
+ createdAt: Date;
9291
+ updatedAt: Date;
9292
+ name: string;
9293
+ description: string | null;
9294
+ logoId: string | null;
9295
+ subdomain: string | null;
9296
+ };
9297
+ meta: object;
9298
+ }>;
9085
9299
  listSchools: import("@trpc/server").TRPCQueryProcedure<{
9086
9300
  input: {
9087
9301
  query?: string | undefined;
@@ -9199,6 +9413,82 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
9199
9413
  };
9200
9414
  meta: object;
9201
9415
  }>;
9416
+ searchUsers: import("@trpc/server").TRPCQueryProcedure<{
9417
+ input: {
9418
+ query?: string | undefined;
9419
+ page?: number | undefined;
9420
+ pageSize?: number | undefined;
9421
+ };
9422
+ output: {
9423
+ items: {
9424
+ school: {
9425
+ id: string;
9426
+ name: string;
9427
+ } | null;
9428
+ id: string;
9429
+ username: string;
9430
+ email: string;
9431
+ verified: boolean;
9432
+ _count: {
9433
+ teacherIn: number;
9434
+ studentIn: number;
9435
+ sessions: number;
9436
+ };
9437
+ }[];
9438
+ total: number;
9439
+ page: number;
9440
+ pageSize: number;
9441
+ pageCount: number;
9442
+ };
9443
+ meta: object;
9444
+ }>;
9445
+ getUser: import("@trpc/server").TRPCQueryProcedure<{
9446
+ input: {
9447
+ id: string;
9448
+ };
9449
+ output: {
9450
+ school: {
9451
+ id: string;
9452
+ name: string;
9453
+ subdomain: string | null;
9454
+ } | null;
9455
+ id: string;
9456
+ username: string;
9457
+ email: string;
9458
+ verified: boolean;
9459
+ termsAcceptedAt: Date | null;
9460
+ termsVersion: string | null;
9461
+ profile: {
9462
+ displayName: string | null;
9463
+ location: string | null;
9464
+ createdAt: Date;
9465
+ } | null;
9466
+ sessions: {
9467
+ type: import(".prisma/client").$Enums.SessionType;
9468
+ id: string;
9469
+ createdAt: Date | null;
9470
+ expiresAt: Date | null;
9471
+ }[];
9472
+ schoolMemberships: {
9473
+ status: import(".prisma/client").$Enums.SchoolMembershipStatus;
9474
+ school: {
9475
+ id: string;
9476
+ name: string;
9477
+ };
9478
+ id: string;
9479
+ createdAt: Date;
9480
+ role: import(".prisma/client").$Enums.SchoolMembershipRole;
9481
+ }[];
9482
+ _count: {
9483
+ teacherIn: number;
9484
+ studentIn: number;
9485
+ submissions: number;
9486
+ sessions: number;
9487
+ files: number;
9488
+ };
9489
+ };
9490
+ meta: object;
9491
+ }>;
9202
9492
  }>>;
9203
9493
  embedding: import("@trpc/server").TRPCBuiltRouter<{
9204
9494
  ctx: import("../trpc.js").Context;
@@ -9256,28 +9546,7 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
9256
9546
  meta: object;
9257
9547
  }>;
9258
9548
  }>>;
9259
- }>>;
9260
- export type AppRouter = typeof appRouter;
9261
- export type RouterInputs = inferRouterInputs<AppRouter>;
9262
- export type RouterOutputs = inferRouterOutputs<AppRouter>;
9263
- export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
9264
- ctx: import("../trpc.js").Context;
9265
- meta: object;
9266
- errorShape: {
9267
- data: {
9268
- zodError: import("zod").typeToFlattenedError<any, string> | null;
9269
- prismaError: import("../utils/prismaErrorHandler.js").PrismaErrorInfo | null;
9270
- code: import("@trpc/server").TRPC_ERROR_CODE_KEY;
9271
- httpStatus: number;
9272
- path?: string;
9273
- stack?: string;
9274
- };
9275
- message: string;
9276
- code: import("@trpc/server").TRPC_ERROR_CODE_NUMBER;
9277
- };
9278
- transformer: false;
9279
- }, import("@trpc/server").TRPCDecorateCreateRouterOptions<{
9280
- class: import("@trpc/server").TRPCBuiltRouter<{
9549
+ gradebook: import("@trpc/server").TRPCBuiltRouter<{
9281
9550
  ctx: import("../trpc.js").Context;
9282
9551
  meta: object;
9283
9552
  errorShape: {
@@ -9294,35 +9563,353 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
9294
9563
  };
9295
9564
  transformer: false;
9296
9565
  }, import("@trpc/server").TRPCDecorateCreateRouterOptions<{
9297
- getAll: import("@trpc/server").TRPCQueryProcedure<{
9298
- input: void;
9566
+ listCategories: import("@trpc/server").TRPCQueryProcedure<{
9567
+ input: {
9568
+ [x: string]: unknown;
9569
+ classId: string;
9570
+ };
9299
9571
  output: {
9300
- teacherInClass: {
9301
- id: string;
9302
- name: string;
9303
- section: string;
9304
- subject: string;
9305
- dueToday: {
9306
- type: import(".prisma/client").$Enums.AssignmentType;
9307
- id: string;
9308
- submissions: {
9309
- studentId: string;
9310
- submitted: boolean | null;
9311
- returned: boolean | null;
9312
- }[];
9313
- title: string;
9314
- dueDate: Date;
9315
- }[];
9316
- assignments: {
9317
- type: import(".prisma/client").$Enums.AssignmentType;
9318
- id: string;
9319
- submissions: {
9320
- studentId: string;
9321
- submitted: boolean | null;
9322
- returned: boolean | null;
9323
- }[];
9324
- title: string;
9325
- dueDate: Date;
9572
+ id: string;
9573
+ name: string;
9574
+ classId: string;
9575
+ weight: number;
9576
+ dropLowest: number;
9577
+ position: number;
9578
+ }[];
9579
+ meta: object;
9580
+ }>;
9581
+ createCategory: import("@trpc/server").TRPCMutationProcedure<{
9582
+ input: {
9583
+ [x: string]: unknown;
9584
+ classId: string;
9585
+ name: string;
9586
+ weight: number;
9587
+ dropLowest?: number | undefined;
9588
+ position?: number | undefined;
9589
+ };
9590
+ output: {
9591
+ id: string;
9592
+ name: string;
9593
+ classId: string;
9594
+ weight: number;
9595
+ dropLowest: number;
9596
+ position: number;
9597
+ };
9598
+ meta: object;
9599
+ }>;
9600
+ updateCategory: import("@trpc/server").TRPCMutationProcedure<{
9601
+ input: {
9602
+ [x: string]: unknown;
9603
+ classId: string;
9604
+ categoryId: string;
9605
+ name?: string | undefined;
9606
+ weight?: number | undefined;
9607
+ dropLowest?: number | undefined;
9608
+ position?: number | undefined;
9609
+ };
9610
+ output: {
9611
+ id: string;
9612
+ name: string;
9613
+ classId: string;
9614
+ weight: number;
9615
+ dropLowest: number;
9616
+ position: number;
9617
+ };
9618
+ meta: object;
9619
+ }>;
9620
+ deleteCategory: import("@trpc/server").TRPCMutationProcedure<{
9621
+ input: {
9622
+ [x: string]: unknown;
9623
+ classId: string;
9624
+ categoryId: string;
9625
+ };
9626
+ output: {
9627
+ id: string;
9628
+ name: string;
9629
+ classId: string;
9630
+ weight: number;
9631
+ dropLowest: number;
9632
+ position: number;
9633
+ };
9634
+ meta: object;
9635
+ }>;
9636
+ assignCategory: import("@trpc/server").TRPCMutationProcedure<{
9637
+ input: {
9638
+ [x: string]: unknown;
9639
+ classId: string;
9640
+ assignmentId: string;
9641
+ gradeCategoryId: string | null;
9642
+ };
9643
+ output: {
9644
+ type: import(".prisma/client").$Enums.AssignmentType;
9645
+ id: string;
9646
+ createdAt: Date | null;
9647
+ classId: string;
9648
+ title: string;
9649
+ dueDate: Date;
9650
+ maxGrade: number | null;
9651
+ eventId: string | null;
9652
+ instructions: string;
9653
+ modifiedAt: Date | null;
9654
+ teacherId: string;
9655
+ acceptFiles: boolean;
9656
+ acceptExtendedResponse: boolean;
9657
+ acceptWorksheet: boolean;
9658
+ gradeWithAI: boolean;
9659
+ aiPolicyLevel: number;
9660
+ sectionId: string | null;
9661
+ graded: boolean;
9662
+ weight: number;
9663
+ inProgress: boolean;
9664
+ template: boolean;
9665
+ markSchemeId: string | null;
9666
+ order: number | null;
9667
+ gradingBoundaryId: string | null;
9668
+ gradeCategoryId: string | null;
9669
+ };
9670
+ meta: object;
9671
+ }>;
9672
+ listColumns: import("@trpc/server").TRPCQueryProcedure<{
9673
+ input: {
9674
+ [x: string]: unknown;
9675
+ classId: string;
9676
+ };
9677
+ output: ({
9678
+ entries: {
9679
+ id: string;
9680
+ points: number;
9681
+ studentId: string;
9682
+ note: string | null;
9683
+ }[];
9684
+ } & {
9685
+ id: string;
9686
+ name: string;
9687
+ classId: string;
9688
+ gradeCategoryId: string | null;
9689
+ position: number;
9690
+ maxPoints: number;
9691
+ })[];
9692
+ meta: object;
9693
+ }>;
9694
+ createColumn: import("@trpc/server").TRPCMutationProcedure<{
9695
+ input: {
9696
+ [x: string]: unknown;
9697
+ classId: string;
9698
+ name: string;
9699
+ maxPoints: number;
9700
+ gradeCategoryId?: string | null | undefined;
9701
+ position?: number | undefined;
9702
+ };
9703
+ output: {
9704
+ id: string;
9705
+ name: string;
9706
+ classId: string;
9707
+ gradeCategoryId: string | null;
9708
+ position: number;
9709
+ maxPoints: number;
9710
+ };
9711
+ meta: object;
9712
+ }>;
9713
+ updateColumn: import("@trpc/server").TRPCMutationProcedure<{
9714
+ input: {
9715
+ [x: string]: unknown;
9716
+ classId: string;
9717
+ columnId: string;
9718
+ name?: string | undefined;
9719
+ gradeCategoryId?: string | null | undefined;
9720
+ position?: number | undefined;
9721
+ maxPoints?: number | undefined;
9722
+ };
9723
+ output: {
9724
+ id: string;
9725
+ name: string;
9726
+ classId: string;
9727
+ gradeCategoryId: string | null;
9728
+ position: number;
9729
+ maxPoints: number;
9730
+ };
9731
+ meta: object;
9732
+ }>;
9733
+ deleteColumn: import("@trpc/server").TRPCMutationProcedure<{
9734
+ input: {
9735
+ [x: string]: unknown;
9736
+ classId: string;
9737
+ columnId: string;
9738
+ };
9739
+ output: {
9740
+ id: string;
9741
+ name: string;
9742
+ classId: string;
9743
+ gradeCategoryId: string | null;
9744
+ position: number;
9745
+ maxPoints: number;
9746
+ };
9747
+ meta: object;
9748
+ }>;
9749
+ setEntry: import("@trpc/server").TRPCMutationProcedure<{
9750
+ input: {
9751
+ [x: string]: unknown;
9752
+ classId: string;
9753
+ points: number | null;
9754
+ studentId: string;
9755
+ columnId: string;
9756
+ note?: string | null | undefined;
9757
+ };
9758
+ output: {
9759
+ id: string;
9760
+ points: number;
9761
+ studentId: string;
9762
+ columnId: string;
9763
+ note: string | null;
9764
+ } | null;
9765
+ meta: object;
9766
+ }>;
9767
+ getPolicies: import("@trpc/server").TRPCQueryProcedure<{
9768
+ input: {
9769
+ [x: string]: unknown;
9770
+ classId: string;
9771
+ };
9772
+ output: {
9773
+ id: string;
9774
+ treatMissingAsZero: boolean;
9775
+ gradeRoundingMode: import(".prisma/client").$Enums.GradeRoundingMode;
9776
+ };
9777
+ meta: object;
9778
+ }>;
9779
+ updatePolicies: import("@trpc/server").TRPCMutationProcedure<{
9780
+ input: {
9781
+ [x: string]: unknown;
9782
+ classId: string;
9783
+ treatMissingAsZero?: boolean | undefined;
9784
+ gradeRoundingMode?: "NONE" | "HALF_UP" | "FLOOR" | "CEILING" | undefined;
9785
+ };
9786
+ output: {
9787
+ id: string;
9788
+ treatMissingAsZero: boolean;
9789
+ gradeRoundingMode: import(".prisma/client").$Enums.GradeRoundingMode;
9790
+ };
9791
+ meta: object;
9792
+ }>;
9793
+ getComputed: import("@trpc/server").TRPCQueryProcedure<{
9794
+ input: {
9795
+ [x: string]: unknown;
9796
+ classId: string;
9797
+ };
9798
+ output: {
9799
+ policies: {
9800
+ treatMissingAsZero: boolean;
9801
+ roundingMode: import(".prisma/client").$Enums.GradeRoundingMode;
9802
+ };
9803
+ categories: {
9804
+ id: string;
9805
+ name: string;
9806
+ classId: string;
9807
+ weight: number;
9808
+ dropLowest: number;
9809
+ position: number;
9810
+ }[];
9811
+ assignments: {
9812
+ id: string;
9813
+ title: string;
9814
+ maxGrade: number | null;
9815
+ weight: number;
9816
+ gradeCategoryId: string | null;
9817
+ dueDate: Date;
9818
+ }[];
9819
+ customColumns: {
9820
+ id: string;
9821
+ name: string;
9822
+ maxPoints: number;
9823
+ gradeCategoryId: string | null;
9824
+ position: number;
9825
+ }[];
9826
+ gradingBoundary: {
9827
+ id: string;
9828
+ name: string | null;
9829
+ structured: string;
9830
+ };
9831
+ students: import("../services/gradebook.js").GradebookStudentRow[];
9832
+ };
9833
+ meta: object;
9834
+ }>;
9835
+ exportCsv: import("@trpc/server").TRPCQueryProcedure<{
9836
+ input: {
9837
+ [x: string]: unknown;
9838
+ classId: string;
9839
+ };
9840
+ output: {
9841
+ csv: string;
9842
+ };
9843
+ meta: object;
9844
+ }>;
9845
+ }>>;
9846
+ }>>;
9847
+ export type AppRouter = typeof appRouter;
9848
+ export type RouterInputs = inferRouterInputs<AppRouter>;
9849
+ export type RouterOutputs = inferRouterOutputs<AppRouter>;
9850
+ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
9851
+ ctx: import("../trpc.js").Context;
9852
+ meta: object;
9853
+ errorShape: {
9854
+ data: {
9855
+ zodError: import("zod").typeToFlattenedError<any, string> | null;
9856
+ prismaError: import("../utils/prismaErrorHandler.js").PrismaErrorInfo | null;
9857
+ code: import("@trpc/server").TRPC_ERROR_CODE_KEY;
9858
+ httpStatus: number;
9859
+ path?: string;
9860
+ stack?: string;
9861
+ };
9862
+ message: string;
9863
+ code: import("@trpc/server").TRPC_ERROR_CODE_NUMBER;
9864
+ };
9865
+ transformer: false;
9866
+ }, import("@trpc/server").TRPCDecorateCreateRouterOptions<{
9867
+ class: import("@trpc/server").TRPCBuiltRouter<{
9868
+ ctx: import("../trpc.js").Context;
9869
+ meta: object;
9870
+ errorShape: {
9871
+ data: {
9872
+ zodError: import("zod").typeToFlattenedError<any, string> | null;
9873
+ prismaError: import("../utils/prismaErrorHandler.js").PrismaErrorInfo | null;
9874
+ code: import("@trpc/server").TRPC_ERROR_CODE_KEY;
9875
+ httpStatus: number;
9876
+ path?: string;
9877
+ stack?: string;
9878
+ };
9879
+ message: string;
9880
+ code: import("@trpc/server").TRPC_ERROR_CODE_NUMBER;
9881
+ };
9882
+ transformer: false;
9883
+ }, import("@trpc/server").TRPCDecorateCreateRouterOptions<{
9884
+ getAll: import("@trpc/server").TRPCQueryProcedure<{
9885
+ input: void;
9886
+ output: {
9887
+ teacherInClass: {
9888
+ id: string;
9889
+ name: string;
9890
+ section: string;
9891
+ subject: string;
9892
+ dueToday: {
9893
+ type: import(".prisma/client").$Enums.AssignmentType;
9894
+ id: string;
9895
+ submissions: {
9896
+ studentId: string;
9897
+ submitted: boolean | null;
9898
+ returned: boolean | null;
9899
+ }[];
9900
+ title: string;
9901
+ dueDate: Date;
9902
+ }[];
9903
+ assignments: {
9904
+ type: import(".prisma/client").$Enums.AssignmentType;
9905
+ id: string;
9906
+ submissions: {
9907
+ studentId: string;
9908
+ submitted: boolean | null;
9909
+ returned: boolean | null;
9910
+ }[];
9911
+ title: string;
9912
+ dueDate: Date;
9326
9913
  }[];
9327
9914
  members: {
9328
9915
  id: string;
@@ -9528,6 +10115,8 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
9528
10115
  discussionsEnabled: boolean;
9529
10116
  studentsCanCreateDiscussions: boolean;
9530
10117
  studentsCanReply: boolean;
10118
+ treatMissingAsZero: boolean;
10119
+ gradeRoundingMode: import(".prisma/client").$Enums.GradeRoundingMode;
9531
10120
  };
9532
10121
  };
9533
10122
  meta: object;
@@ -9608,6 +10197,8 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
9608
10197
  discussionsEnabled: boolean;
9609
10198
  studentsCanCreateDiscussions: boolean;
9610
10199
  studentsCanReply: boolean;
10200
+ treatMissingAsZero: boolean;
10201
+ gradeRoundingMode: import(".prisma/client").$Enums.GradeRoundingMode;
9611
10202
  };
9612
10203
  meta: object;
9613
10204
  }>;
@@ -9665,6 +10256,8 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
9665
10256
  discussionsEnabled: boolean;
9666
10257
  studentsCanCreateDiscussions: boolean;
9667
10258
  studentsCanReply: boolean;
10259
+ treatMissingAsZero: boolean;
10260
+ gradeRoundingMode: import(".prisma/client").$Enums.GradeRoundingMode;
9668
10261
  };
9669
10262
  user: {
9670
10263
  type: "student" | "teacher";
@@ -9694,6 +10287,8 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
9694
10287
  discussionsEnabled: boolean;
9695
10288
  studentsCanCreateDiscussions: boolean;
9696
10289
  studentsCanReply: boolean;
10290
+ treatMissingAsZero: boolean;
10291
+ gradeRoundingMode: import(".prisma/client").$Enums.GradeRoundingMode;
9697
10292
  };
9698
10293
  removedUserId: string;
9699
10294
  };
@@ -9996,6 +10591,8 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
9996
10591
  discussionsEnabled: boolean;
9997
10592
  studentsCanCreateDiscussions: boolean;
9998
10593
  studentsCanReply: boolean;
10594
+ treatMissingAsZero: boolean;
10595
+ gradeRoundingMode: import(".prisma/client").$Enums.GradeRoundingMode;
9999
10596
  };
10000
10597
  meta: object;
10001
10598
  }>;
@@ -10029,6 +10626,7 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
10029
10626
  markSchemeId: string | null;
10030
10627
  order: number | null;
10031
10628
  gradingBoundaryId: string | null;
10629
+ gradeCategoryId: string | null;
10032
10630
  }[];
10033
10631
  meta: object;
10034
10632
  }>;
@@ -10072,6 +10670,7 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
10072
10670
  markSchemeId: string | null;
10073
10671
  order: number | null;
10074
10672
  gradingBoundaryId: string | null;
10673
+ gradeCategoryId: string | null;
10075
10674
  };
10076
10675
  meta: object;
10077
10676
  }>;
@@ -10115,6 +10714,7 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
10115
10714
  markSchemeId: string | null;
10116
10715
  order: number | null;
10117
10716
  gradingBoundaryId: string | null;
10717
+ gradeCategoryId: string | null;
10118
10718
  };
10119
10719
  meta: object;
10120
10720
  }>;
@@ -10149,6 +10749,7 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
10149
10749
  markSchemeId: string | null;
10150
10750
  order: number | null;
10151
10751
  gradingBoundaryId: string | null;
10752
+ gradeCategoryId: string | null;
10152
10753
  };
10153
10754
  meta: object;
10154
10755
  }>;
@@ -10187,6 +10788,7 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
10187
10788
  markSchemeId: string | null;
10188
10789
  order: number | null;
10189
10790
  gradingBoundaryId: string | null;
10791
+ gradeCategoryId: string | null;
10190
10792
  };
10191
10793
  meta: object;
10192
10794
  }>;
@@ -10338,6 +10940,8 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
10338
10940
  discussionsEnabled: boolean;
10339
10941
  studentsCanCreateDiscussions: boolean;
10340
10942
  studentsCanReply: boolean;
10943
+ treatMissingAsZero: boolean;
10944
+ gradeRoundingMode: import(".prisma/client").$Enums.GradeRoundingMode;
10341
10945
  };
10342
10946
  meta: object;
10343
10947
  }>;
@@ -10782,8 +11386,8 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
10782
11386
  input: {
10783
11387
  [x: string]: unknown;
10784
11388
  classId: string;
10785
- movedId: string;
10786
11389
  position: "end" | "start" | "before" | "after";
11390
+ movedId: string;
10787
11391
  targetId?: string | undefined;
10788
11392
  };
10789
11393
  output: {
@@ -10811,6 +11415,7 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
10811
11415
  markSchemeId: string | null;
10812
11416
  order: number | null;
10813
11417
  gradingBoundaryId: string | null;
11418
+ gradeCategoryId: string | null;
10814
11419
  } | null;
10815
11420
  meta: object;
10816
11421
  }>;
@@ -10855,6 +11460,7 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
10855
11460
  markSchemeId: string | null;
10856
11461
  order: number | null;
10857
11462
  gradingBoundaryId: string | null;
11463
+ gradeCategoryId: string | null;
10858
11464
  } | null;
10859
11465
  meta: object;
10860
11466
  }>;
@@ -10950,6 +11556,7 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
10950
11556
  markSchemeId: string | null;
10951
11557
  order: number | null;
10952
11558
  gradingBoundaryId: string | null;
11559
+ gradeCategoryId: string | null;
10953
11560
  };
10954
11561
  meta: object;
10955
11562
  }>;
@@ -10997,6 +11604,8 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
10997
11604
  discussionsEnabled: boolean;
10998
11605
  studentsCanCreateDiscussions: boolean;
10999
11606
  studentsCanReply: boolean;
11607
+ treatMissingAsZero: boolean;
11608
+ gradeRoundingMode: import(".prisma/client").$Enums.GradeRoundingMode;
11000
11609
  };
11001
11610
  section: {
11002
11611
  id: string;
@@ -11165,6 +11774,7 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
11165
11774
  markSchemeId: string | null;
11166
11775
  order: number | null;
11167
11776
  gradingBoundaryId: string | null;
11777
+ gradeCategoryId: string | null;
11168
11778
  };
11169
11779
  meta: object;
11170
11780
  }>;
@@ -11190,6 +11800,8 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
11190
11800
  discussionsEnabled: boolean;
11191
11801
  studentsCanCreateDiscussions: boolean;
11192
11802
  studentsCanReply: boolean;
11803
+ treatMissingAsZero: boolean;
11804
+ gradeRoundingMode: import(".prisma/client").$Enums.GradeRoundingMode;
11193
11805
  };
11194
11806
  markScheme: {
11195
11807
  id: string;
@@ -11228,6 +11840,7 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
11228
11840
  markSchemeId: string | null;
11229
11841
  order: number | null;
11230
11842
  gradingBoundaryId: string | null;
11843
+ gradeCategoryId: string | null;
11231
11844
  };
11232
11845
  attachments: {
11233
11846
  path: string;
@@ -11333,6 +11946,8 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
11333
11946
  discussionsEnabled: boolean;
11334
11947
  studentsCanCreateDiscussions: boolean;
11335
11948
  studentsCanReply: boolean;
11949
+ treatMissingAsZero: boolean;
11950
+ gradeRoundingMode: import(".prisma/client").$Enums.GradeRoundingMode;
11336
11951
  };
11337
11952
  markScheme: {
11338
11953
  id: string;
@@ -11371,6 +11986,7 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
11371
11986
  markSchemeId: string | null;
11372
11987
  order: number | null;
11373
11988
  gradingBoundaryId: string | null;
11989
+ gradeCategoryId: string | null;
11374
11990
  };
11375
11991
  attachments: {
11376
11992
  path: string;
@@ -11497,6 +12113,8 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
11497
12113
  discussionsEnabled: boolean;
11498
12114
  studentsCanCreateDiscussions: boolean;
11499
12115
  studentsCanReply: boolean;
12116
+ treatMissingAsZero: boolean;
12117
+ gradeRoundingMode: import(".prisma/client").$Enums.GradeRoundingMode;
11500
12118
  };
11501
12119
  markScheme: {
11502
12120
  id: string;
@@ -11531,6 +12149,7 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
11531
12149
  markSchemeId: string | null;
11532
12150
  order: number | null;
11533
12151
  gradingBoundaryId: string | null;
12152
+ gradeCategoryId: string | null;
11534
12153
  };
11535
12154
  attachments: {
11536
12155
  path: string;
@@ -11607,6 +12226,8 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
11607
12226
  discussionsEnabled: boolean;
11608
12227
  studentsCanCreateDiscussions: boolean;
11609
12228
  studentsCanReply: boolean;
12229
+ treatMissingAsZero: boolean;
12230
+ gradeRoundingMode: import(".prisma/client").$Enums.GradeRoundingMode;
11610
12231
  };
11611
12232
  markScheme: {
11612
12233
  id: string;
@@ -11641,6 +12262,7 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
11641
12262
  markSchemeId: string | null;
11642
12263
  order: number | null;
11643
12264
  gradingBoundaryId: string | null;
12265
+ gradeCategoryId: string | null;
11644
12266
  };
11645
12267
  attachments: ({
11646
12268
  thumbnail: {
@@ -11998,6 +12620,8 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
11998
12620
  discussionsEnabled: boolean;
11999
12621
  studentsCanCreateDiscussions: boolean;
12000
12622
  studentsCanReply: boolean;
12623
+ treatMissingAsZero: boolean;
12624
+ gradeRoundingMode: import(".prisma/client").$Enums.GradeRoundingMode;
12001
12625
  };
12002
12626
  markScheme: {
12003
12627
  id: string;
@@ -12032,6 +12656,7 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
12032
12656
  markSchemeId: string | null;
12033
12657
  order: number | null;
12034
12658
  gradingBoundaryId: string | null;
12659
+ gradeCategoryId: string | null;
12035
12660
  };
12036
12661
  attachments: ({
12037
12662
  thumbnail: {
@@ -12237,6 +12862,7 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
12237
12862
  markSchemeId: string | null;
12238
12863
  order: number | null;
12239
12864
  gradingBoundaryId: string | null;
12865
+ gradeCategoryId: string | null;
12240
12866
  };
12241
12867
  };
12242
12868
  meta: object;
@@ -12294,6 +12920,7 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
12294
12920
  markSchemeId: string | null;
12295
12921
  order: number | null;
12296
12922
  gradingBoundaryId: string | null;
12923
+ gradeCategoryId: string | null;
12297
12924
  };
12298
12925
  };
12299
12926
  meta: object;
@@ -12431,6 +13058,7 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
12431
13058
  markSchemeId: string | null;
12432
13059
  order: number | null;
12433
13060
  gradingBoundaryId: string | null;
13061
+ gradeCategoryId: string | null;
12434
13062
  };
12435
13063
  meta: object;
12436
13064
  }>;
@@ -12531,6 +13159,7 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
12531
13159
  markSchemeId: string | null;
12532
13160
  order: number | null;
12533
13161
  gradingBoundaryId: string | null;
13162
+ gradeCategoryId: string | null;
12534
13163
  };
12535
13164
  meta: object;
12536
13165
  }>;
@@ -12632,6 +13261,7 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
12632
13261
  markSchemeId: string | null;
12633
13262
  order: number | null;
12634
13263
  gradingBoundaryId: string | null;
13264
+ gradeCategoryId: string | null;
12635
13265
  };
12636
13266
  meta: object;
12637
13267
  }>;
@@ -12732,6 +13362,7 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
12732
13362
  markSchemeId: string | null;
12733
13363
  order: number | null;
12734
13364
  gradingBoundaryId: string | null;
13365
+ gradeCategoryId: string | null;
12735
13366
  };
12736
13367
  meta: object;
12737
13368
  }>;
@@ -12850,7 +13481,7 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
12850
13481
  createdAt: Date;
12851
13482
  updatedAt: Date;
12852
13483
  color: string | null;
12853
- submissionId: string;
13484
+ submissionId: string | null;
12854
13485
  text: string | null;
12855
13486
  authorId: string;
12856
13487
  fileId: string;
@@ -12880,7 +13511,7 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
12880
13511
  createdAt: Date;
12881
13512
  updatedAt: Date;
12882
13513
  color: string | null;
12883
- submissionId: string;
13514
+ submissionId: string | null;
12884
13515
  text: string | null;
12885
13516
  authorId: string;
12886
13517
  fileId: string;
@@ -13140,8 +13771,8 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
13140
13771
  input: {
13141
13772
  [x: string]: unknown;
13142
13773
  classId: string;
13143
- movedId: string;
13144
13774
  position: "end" | "start" | "before" | "after";
13775
+ movedId: string;
13145
13776
  targetId?: string | undefined;
13146
13777
  };
13147
13778
  output: {
@@ -13386,6 +14017,8 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
13386
14017
  discussionsEnabled: boolean;
13387
14018
  studentsCanCreateDiscussions: boolean;
13388
14019
  studentsCanReply: boolean;
14020
+ treatMissingAsZero: boolean;
14021
+ gradeRoundingMode: import(".prisma/client").$Enums.GradeRoundingMode;
13389
14022
  }) | null;
13390
14023
  assignmentsAttached: {
13391
14024
  type: import(".prisma/client").$Enums.AssignmentType;
@@ -13535,6 +14168,7 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
13535
14168
  markSchemeId: string | null;
13536
14169
  order: number | null;
13537
14170
  gradingBoundaryId: string | null;
14171
+ gradeCategoryId: string | null;
13538
14172
  };
13539
14173
  };
13540
14174
  meta: object;
@@ -13584,6 +14218,7 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
13584
14218
  markSchemeId: string | null;
13585
14219
  order: number | null;
13586
14220
  gradingBoundaryId: string | null;
14221
+ gradeCategoryId: string | null;
13587
14222
  };
13588
14223
  };
13589
14224
  meta: object;
@@ -13780,6 +14415,8 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
13780
14415
  discussionsEnabled: boolean;
13781
14416
  studentsCanCreateDiscussions: boolean;
13782
14417
  studentsCanReply: boolean;
14418
+ treatMissingAsZero: boolean;
14419
+ gradeRoundingMode: import(".prisma/client").$Enums.GradeRoundingMode;
13783
14420
  } | null;
13784
14421
  assignmentsAttached: {
13785
14422
  type: import(".prisma/client").$Enums.AssignmentType;
@@ -13806,6 +14443,7 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
13806
14443
  markSchemeId: string | null;
13807
14444
  order: number | null;
13808
14445
  gradingBoundaryId: string | null;
14446
+ gradeCategoryId: string | null;
13809
14447
  }[];
13810
14448
  } & {
13811
14449
  id: string;
@@ -13832,6 +14470,8 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
13832
14470
  discussionsEnabled: boolean;
13833
14471
  studentsCanCreateDiscussions: boolean;
13834
14472
  studentsCanReply: boolean;
14473
+ treatMissingAsZero: boolean;
14474
+ gradeRoundingMode: import(".prisma/client").$Enums.GradeRoundingMode;
13835
14475
  } | null;
13836
14476
  assignmentsAttached: {
13837
14477
  type: import(".prisma/client").$Enums.AssignmentType;
@@ -13858,6 +14498,7 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
13858
14498
  markSchemeId: string | null;
13859
14499
  order: number | null;
13860
14500
  gradingBoundaryId: string | null;
14501
+ gradeCategoryId: string | null;
13861
14502
  }[];
13862
14503
  } & {
13863
14504
  id: string;
@@ -13994,6 +14635,72 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
13994
14635
  };
13995
14636
  meta: object;
13996
14637
  }>;
14638
+ listAnnotations: import("@trpc/server").TRPCQueryProcedure<{
14639
+ input: {
14640
+ fileId: string;
14641
+ };
14642
+ output: {
14643
+ annotations: ({
14644
+ author: {
14645
+ id: string;
14646
+ username: string;
14647
+ profile: {
14648
+ displayName: string | null;
14649
+ } | null;
14650
+ };
14651
+ } & {
14652
+ type: import(".prisma/client").$Enums.FileAnnotationType;
14653
+ id: string;
14654
+ createdAt: Date;
14655
+ updatedAt: Date;
14656
+ color: string | null;
14657
+ submissionId: string | null;
14658
+ text: string | null;
14659
+ authorId: string;
14660
+ fileId: string;
14661
+ page: number;
14662
+ geometry: import("@prisma/client/runtime/library.js").JsonValue;
14663
+ })[];
14664
+ };
14665
+ meta: object;
14666
+ }>;
14667
+ upsertAnnotation: import("@trpc/server").TRPCMutationProcedure<{
14668
+ input: {
14669
+ type: "HIGHLIGHT" | "INK" | "COMMENT" | "TEXT";
14670
+ fileId: string;
14671
+ page: number;
14672
+ geometry: Record<string, unknown>;
14673
+ id?: string | undefined;
14674
+ color?: string | undefined;
14675
+ text?: string | undefined;
14676
+ };
14677
+ output: {
14678
+ annotation: {
14679
+ type: import(".prisma/client").$Enums.FileAnnotationType;
14680
+ id: string;
14681
+ createdAt: Date;
14682
+ updatedAt: Date;
14683
+ color: string | null;
14684
+ submissionId: string | null;
14685
+ text: string | null;
14686
+ authorId: string;
14687
+ fileId: string;
14688
+ page: number;
14689
+ geometry: import("@prisma/client/runtime/library.js").JsonValue;
14690
+ };
14691
+ };
14692
+ meta: object;
14693
+ }>;
14694
+ deleteAnnotation: import("@trpc/server").TRPCMutationProcedure<{
14695
+ input: {
14696
+ id: string;
14697
+ fileId: string;
14698
+ };
14699
+ output: {
14700
+ success: boolean;
14701
+ };
14702
+ meta: object;
14703
+ }>;
13997
14704
  }>>;
13998
14705
  folder: import("@trpc/server").TRPCBuiltRouter<{
13999
14706
  ctx: import("../trpc.js").Context;
@@ -15279,6 +15986,8 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
15279
15986
  discussionsEnabled: boolean;
15280
15987
  studentsCanCreateDiscussions: boolean;
15281
15988
  studentsCanReply: boolean;
15989
+ treatMissingAsZero: boolean;
15990
+ gradeRoundingMode: import(".prisma/client").$Enums.GradeRoundingMode;
15282
15991
  } | null;
15283
15992
  tags: {
15284
15993
  id: string;
@@ -15515,8 +16224,8 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
15515
16224
  reorderQuestions: import("@trpc/server").TRPCMutationProcedure<{
15516
16225
  input: {
15517
16226
  worksheetId: string;
15518
- movedId: string;
15519
16227
  position: "before" | "after";
16228
+ movedId: string;
15520
16229
  targetId: string;
15521
16230
  };
15522
16231
  output: {
@@ -16681,6 +17390,8 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
16681
17390
  discussionsEnabled: boolean;
16682
17391
  studentsCanCreateDiscussions: boolean;
16683
17392
  studentsCanReply: boolean;
17393
+ treatMissingAsZero: boolean;
17394
+ gradeRoundingMode: import(".prisma/client").$Enums.GradeRoundingMode;
16684
17395
  })[];
16685
17396
  };
16686
17397
  meta: object;
@@ -16732,6 +17443,8 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
16732
17443
  discussionsEnabled: boolean;
16733
17444
  studentsCanCreateDiscussions: boolean;
16734
17445
  studentsCanReply: boolean;
17446
+ treatMissingAsZero: boolean;
17447
+ gradeRoundingMode: import(".prisma/client").$Enums.GradeRoundingMode;
16735
17448
  };
16736
17449
  };
16737
17450
  meta: object;
@@ -18290,6 +19003,26 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
18290
19003
  };
18291
19004
  transformer: false;
18292
19005
  }, import("@trpc/server").TRPCDecorateCreateRouterOptions<{
19006
+ getOverviewMetrics: import("@trpc/server").TRPCQueryProcedure<{
19007
+ input: void;
19008
+ output: {
19009
+ schools: number;
19010
+ users: number;
19011
+ verifiedUsers: number;
19012
+ classes: number;
19013
+ departments: number;
19014
+ runJobs: {
19015
+ byStatus: {
19016
+ status: import(".prisma/client").$Enums.RunJobStatus;
19017
+ count: number;
19018
+ }[];
19019
+ failedLast24h: number;
19020
+ };
19021
+ earlyAccessRequests: number;
19022
+ pendingDevProgramApplications: number;
19023
+ };
19024
+ meta: object;
19025
+ }>;
18293
19026
  listRunJobs: import("@trpc/server").TRPCQueryProcedure<{
18294
19027
  input: {
18295
19028
  type?: "PDF_TO_WORKSHEET" | "GRADE_WORKSHEET" | "AI_LAB_CHAT" | "AI_NEWTON_CHAT" | "STUDENT_PROGRESS_CHAT" | "EMBED_CONTENT" | undefined;
@@ -18343,6 +19076,74 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
18343
19076
  };
18344
19077
  meta: object;
18345
19078
  }>;
19079
+ retryRunJob: import("@trpc/server").TRPCMutationProcedure<{
19080
+ input: {
19081
+ id: string;
19082
+ };
19083
+ output: {
19084
+ runJobId: string;
19085
+ bullJobId: string | null;
19086
+ retriedFrom: string;
19087
+ };
19088
+ meta: object;
19089
+ }>;
19090
+ getSchool: import("@trpc/server").TRPCQueryProcedure<{
19091
+ input: {
19092
+ id: string;
19093
+ };
19094
+ output: {
19095
+ departments: {
19096
+ id: string;
19097
+ name: string;
19098
+ _count: {
19099
+ classes: number;
19100
+ members: number;
19101
+ };
19102
+ color: string | null;
19103
+ }[];
19104
+ _count: {
19105
+ departments: number;
19106
+ memberships: number;
19107
+ classes: number;
19108
+ };
19109
+ memberships: {
19110
+ status: import(".prisma/client").$Enums.SchoolMembershipStatus;
19111
+ user: {
19112
+ id: string;
19113
+ username: string;
19114
+ email: string;
19115
+ verified: boolean;
19116
+ };
19117
+ id: string;
19118
+ createdAt: Date;
19119
+ role: import(".prisma/client").$Enums.SchoolMembershipRole;
19120
+ }[];
19121
+ classes: {
19122
+ department: {
19123
+ id: string;
19124
+ name: string;
19125
+ } | null;
19126
+ section: string;
19127
+ id: string;
19128
+ name: string;
19129
+ _count: {
19130
+ teachers: number;
19131
+ students: number;
19132
+ };
19133
+ color: string | null;
19134
+ subject: string;
19135
+ }[];
19136
+ } & {
19137
+ id: string;
19138
+ createdAt: Date;
19139
+ updatedAt: Date;
19140
+ name: string;
19141
+ description: string | null;
19142
+ logoId: string | null;
19143
+ subdomain: string | null;
19144
+ };
19145
+ meta: object;
19146
+ }>;
18346
19147
  listSchools: import("@trpc/server").TRPCQueryProcedure<{
18347
19148
  input: {
18348
19149
  query?: string | undefined;
@@ -18447,16 +19248,92 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
18447
19248
  pageSize?: number | undefined;
18448
19249
  };
18449
19250
  output: {
18450
- items: {
19251
+ items: {
19252
+ id: string;
19253
+ createdAt: Date;
19254
+ email: string;
19255
+ institutionSize: string;
19256
+ }[];
19257
+ total: number;
19258
+ page: number;
19259
+ pageSize: number;
19260
+ pageCount: number;
19261
+ };
19262
+ meta: object;
19263
+ }>;
19264
+ searchUsers: import("@trpc/server").TRPCQueryProcedure<{
19265
+ input: {
19266
+ query?: string | undefined;
19267
+ page?: number | undefined;
19268
+ pageSize?: number | undefined;
19269
+ };
19270
+ output: {
19271
+ items: {
19272
+ school: {
19273
+ id: string;
19274
+ name: string;
19275
+ } | null;
19276
+ id: string;
19277
+ username: string;
19278
+ email: string;
19279
+ verified: boolean;
19280
+ _count: {
19281
+ teacherIn: number;
19282
+ studentIn: number;
19283
+ sessions: number;
19284
+ };
19285
+ }[];
19286
+ total: number;
19287
+ page: number;
19288
+ pageSize: number;
19289
+ pageCount: number;
19290
+ };
19291
+ meta: object;
19292
+ }>;
19293
+ getUser: import("@trpc/server").TRPCQueryProcedure<{
19294
+ input: {
19295
+ id: string;
19296
+ };
19297
+ output: {
19298
+ school: {
18451
19299
  id: string;
19300
+ name: string;
19301
+ subdomain: string | null;
19302
+ } | null;
19303
+ id: string;
19304
+ username: string;
19305
+ email: string;
19306
+ verified: boolean;
19307
+ termsAcceptedAt: Date | null;
19308
+ termsVersion: string | null;
19309
+ profile: {
19310
+ displayName: string | null;
19311
+ location: string | null;
18452
19312
  createdAt: Date;
18453
- email: string;
18454
- institutionSize: string;
19313
+ } | null;
19314
+ sessions: {
19315
+ type: import(".prisma/client").$Enums.SessionType;
19316
+ id: string;
19317
+ createdAt: Date | null;
19318
+ expiresAt: Date | null;
18455
19319
  }[];
18456
- total: number;
18457
- page: number;
18458
- pageSize: number;
18459
- pageCount: number;
19320
+ schoolMemberships: {
19321
+ status: import(".prisma/client").$Enums.SchoolMembershipStatus;
19322
+ school: {
19323
+ id: string;
19324
+ name: string;
19325
+ };
19326
+ id: string;
19327
+ createdAt: Date;
19328
+ role: import(".prisma/client").$Enums.SchoolMembershipRole;
19329
+ }[];
19330
+ _count: {
19331
+ teacherIn: number;
19332
+ studentIn: number;
19333
+ submissions: number;
19334
+ sessions: number;
19335
+ files: number;
19336
+ };
18460
19337
  };
18461
19338
  meta: object;
18462
19339
  }>;
@@ -18517,5 +19394,302 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
18517
19394
  meta: object;
18518
19395
  }>;
18519
19396
  }>>;
19397
+ gradebook: import("@trpc/server").TRPCBuiltRouter<{
19398
+ ctx: import("../trpc.js").Context;
19399
+ meta: object;
19400
+ errorShape: {
19401
+ data: {
19402
+ zodError: import("zod").typeToFlattenedError<any, string> | null;
19403
+ prismaError: import("../utils/prismaErrorHandler.js").PrismaErrorInfo | null;
19404
+ code: import("@trpc/server").TRPC_ERROR_CODE_KEY;
19405
+ httpStatus: number;
19406
+ path?: string;
19407
+ stack?: string;
19408
+ };
19409
+ message: string;
19410
+ code: import("@trpc/server").TRPC_ERROR_CODE_NUMBER;
19411
+ };
19412
+ transformer: false;
19413
+ }, import("@trpc/server").TRPCDecorateCreateRouterOptions<{
19414
+ listCategories: import("@trpc/server").TRPCQueryProcedure<{
19415
+ input: {
19416
+ [x: string]: unknown;
19417
+ classId: string;
19418
+ };
19419
+ output: {
19420
+ id: string;
19421
+ name: string;
19422
+ classId: string;
19423
+ weight: number;
19424
+ dropLowest: number;
19425
+ position: number;
19426
+ }[];
19427
+ meta: object;
19428
+ }>;
19429
+ createCategory: import("@trpc/server").TRPCMutationProcedure<{
19430
+ input: {
19431
+ [x: string]: unknown;
19432
+ classId: string;
19433
+ name: string;
19434
+ weight: number;
19435
+ dropLowest?: number | undefined;
19436
+ position?: number | undefined;
19437
+ };
19438
+ output: {
19439
+ id: string;
19440
+ name: string;
19441
+ classId: string;
19442
+ weight: number;
19443
+ dropLowest: number;
19444
+ position: number;
19445
+ };
19446
+ meta: object;
19447
+ }>;
19448
+ updateCategory: import("@trpc/server").TRPCMutationProcedure<{
19449
+ input: {
19450
+ [x: string]: unknown;
19451
+ classId: string;
19452
+ categoryId: string;
19453
+ name?: string | undefined;
19454
+ weight?: number | undefined;
19455
+ dropLowest?: number | undefined;
19456
+ position?: number | undefined;
19457
+ };
19458
+ output: {
19459
+ id: string;
19460
+ name: string;
19461
+ classId: string;
19462
+ weight: number;
19463
+ dropLowest: number;
19464
+ position: number;
19465
+ };
19466
+ meta: object;
19467
+ }>;
19468
+ deleteCategory: import("@trpc/server").TRPCMutationProcedure<{
19469
+ input: {
19470
+ [x: string]: unknown;
19471
+ classId: string;
19472
+ categoryId: string;
19473
+ };
19474
+ output: {
19475
+ id: string;
19476
+ name: string;
19477
+ classId: string;
19478
+ weight: number;
19479
+ dropLowest: number;
19480
+ position: number;
19481
+ };
19482
+ meta: object;
19483
+ }>;
19484
+ assignCategory: import("@trpc/server").TRPCMutationProcedure<{
19485
+ input: {
19486
+ [x: string]: unknown;
19487
+ classId: string;
19488
+ assignmentId: string;
19489
+ gradeCategoryId: string | null;
19490
+ };
19491
+ output: {
19492
+ type: import(".prisma/client").$Enums.AssignmentType;
19493
+ id: string;
19494
+ createdAt: Date | null;
19495
+ classId: string;
19496
+ title: string;
19497
+ dueDate: Date;
19498
+ maxGrade: number | null;
19499
+ eventId: string | null;
19500
+ instructions: string;
19501
+ modifiedAt: Date | null;
19502
+ teacherId: string;
19503
+ acceptFiles: boolean;
19504
+ acceptExtendedResponse: boolean;
19505
+ acceptWorksheet: boolean;
19506
+ gradeWithAI: boolean;
19507
+ aiPolicyLevel: number;
19508
+ sectionId: string | null;
19509
+ graded: boolean;
19510
+ weight: number;
19511
+ inProgress: boolean;
19512
+ template: boolean;
19513
+ markSchemeId: string | null;
19514
+ order: number | null;
19515
+ gradingBoundaryId: string | null;
19516
+ gradeCategoryId: string | null;
19517
+ };
19518
+ meta: object;
19519
+ }>;
19520
+ listColumns: import("@trpc/server").TRPCQueryProcedure<{
19521
+ input: {
19522
+ [x: string]: unknown;
19523
+ classId: string;
19524
+ };
19525
+ output: ({
19526
+ entries: {
19527
+ id: string;
19528
+ points: number;
19529
+ studentId: string;
19530
+ note: string | null;
19531
+ }[];
19532
+ } & {
19533
+ id: string;
19534
+ name: string;
19535
+ classId: string;
19536
+ gradeCategoryId: string | null;
19537
+ position: number;
19538
+ maxPoints: number;
19539
+ })[];
19540
+ meta: object;
19541
+ }>;
19542
+ createColumn: import("@trpc/server").TRPCMutationProcedure<{
19543
+ input: {
19544
+ [x: string]: unknown;
19545
+ classId: string;
19546
+ name: string;
19547
+ maxPoints: number;
19548
+ gradeCategoryId?: string | null | undefined;
19549
+ position?: number | undefined;
19550
+ };
19551
+ output: {
19552
+ id: string;
19553
+ name: string;
19554
+ classId: string;
19555
+ gradeCategoryId: string | null;
19556
+ position: number;
19557
+ maxPoints: number;
19558
+ };
19559
+ meta: object;
19560
+ }>;
19561
+ updateColumn: import("@trpc/server").TRPCMutationProcedure<{
19562
+ input: {
19563
+ [x: string]: unknown;
19564
+ classId: string;
19565
+ columnId: string;
19566
+ name?: string | undefined;
19567
+ gradeCategoryId?: string | null | undefined;
19568
+ position?: number | undefined;
19569
+ maxPoints?: number | undefined;
19570
+ };
19571
+ output: {
19572
+ id: string;
19573
+ name: string;
19574
+ classId: string;
19575
+ gradeCategoryId: string | null;
19576
+ position: number;
19577
+ maxPoints: number;
19578
+ };
19579
+ meta: object;
19580
+ }>;
19581
+ deleteColumn: import("@trpc/server").TRPCMutationProcedure<{
19582
+ input: {
19583
+ [x: string]: unknown;
19584
+ classId: string;
19585
+ columnId: string;
19586
+ };
19587
+ output: {
19588
+ id: string;
19589
+ name: string;
19590
+ classId: string;
19591
+ gradeCategoryId: string | null;
19592
+ position: number;
19593
+ maxPoints: number;
19594
+ };
19595
+ meta: object;
19596
+ }>;
19597
+ setEntry: import("@trpc/server").TRPCMutationProcedure<{
19598
+ input: {
19599
+ [x: string]: unknown;
19600
+ classId: string;
19601
+ points: number | null;
19602
+ studentId: string;
19603
+ columnId: string;
19604
+ note?: string | null | undefined;
19605
+ };
19606
+ output: {
19607
+ id: string;
19608
+ points: number;
19609
+ studentId: string;
19610
+ columnId: string;
19611
+ note: string | null;
19612
+ } | null;
19613
+ meta: object;
19614
+ }>;
19615
+ getPolicies: import("@trpc/server").TRPCQueryProcedure<{
19616
+ input: {
19617
+ [x: string]: unknown;
19618
+ classId: string;
19619
+ };
19620
+ output: {
19621
+ id: string;
19622
+ treatMissingAsZero: boolean;
19623
+ gradeRoundingMode: import(".prisma/client").$Enums.GradeRoundingMode;
19624
+ };
19625
+ meta: object;
19626
+ }>;
19627
+ updatePolicies: import("@trpc/server").TRPCMutationProcedure<{
19628
+ input: {
19629
+ [x: string]: unknown;
19630
+ classId: string;
19631
+ treatMissingAsZero?: boolean | undefined;
19632
+ gradeRoundingMode?: "NONE" | "HALF_UP" | "FLOOR" | "CEILING" | undefined;
19633
+ };
19634
+ output: {
19635
+ id: string;
19636
+ treatMissingAsZero: boolean;
19637
+ gradeRoundingMode: import(".prisma/client").$Enums.GradeRoundingMode;
19638
+ };
19639
+ meta: object;
19640
+ }>;
19641
+ getComputed: import("@trpc/server").TRPCQueryProcedure<{
19642
+ input: {
19643
+ [x: string]: unknown;
19644
+ classId: string;
19645
+ };
19646
+ output: {
19647
+ policies: {
19648
+ treatMissingAsZero: boolean;
19649
+ roundingMode: import(".prisma/client").$Enums.GradeRoundingMode;
19650
+ };
19651
+ categories: {
19652
+ id: string;
19653
+ name: string;
19654
+ classId: string;
19655
+ weight: number;
19656
+ dropLowest: number;
19657
+ position: number;
19658
+ }[];
19659
+ assignments: {
19660
+ id: string;
19661
+ title: string;
19662
+ maxGrade: number | null;
19663
+ weight: number;
19664
+ gradeCategoryId: string | null;
19665
+ dueDate: Date;
19666
+ }[];
19667
+ customColumns: {
19668
+ id: string;
19669
+ name: string;
19670
+ maxPoints: number;
19671
+ gradeCategoryId: string | null;
19672
+ position: number;
19673
+ }[];
19674
+ gradingBoundary: {
19675
+ id: string;
19676
+ name: string | null;
19677
+ structured: string;
19678
+ };
19679
+ students: import("../services/gradebook.js").GradebookStudentRow[];
19680
+ };
19681
+ meta: object;
19682
+ }>;
19683
+ exportCsv: import("@trpc/server").TRPCQueryProcedure<{
19684
+ input: {
19685
+ [x: string]: unknown;
19686
+ classId: string;
19687
+ };
19688
+ output: {
19689
+ csv: string;
19690
+ };
19691
+ meta: object;
19692
+ }>;
19693
+ }>>;
18520
19694
  }>>;
18521
19695
  //# sourceMappingURL=_app.d.ts.map