@studious-lms/server 1.0.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 (103) hide show
  1. package/LICENSE.txt +8 -0
  2. package/README.md +143 -0
  3. package/dist/exportType.d.ts +9 -0
  4. package/dist/exportType.d.ts.map +1 -0
  5. package/dist/exportType.js +7 -0
  6. package/dist/index.d.ts +2 -0
  7. package/dist/index.d.ts.map +1 -0
  8. package/dist/index.js +82 -0
  9. package/dist/lib/fileUpload.d.ts +38 -0
  10. package/dist/lib/fileUpload.d.ts.map +1 -0
  11. package/dist/lib/fileUpload.js +136 -0
  12. package/dist/lib/googleCloudStorage.d.ts +20 -0
  13. package/dist/lib/googleCloudStorage.d.ts.map +1 -0
  14. package/dist/lib/googleCloudStorage.js +88 -0
  15. package/dist/lib/prisma.d.ts +8 -0
  16. package/dist/lib/prisma.d.ts.map +1 -0
  17. package/dist/lib/prisma.js +11 -0
  18. package/dist/lib/thumbnailGenerator.d.ts +23 -0
  19. package/dist/lib/thumbnailGenerator.d.ts.map +1 -0
  20. package/dist/lib/thumbnailGenerator.js +180 -0
  21. package/dist/logger.d.ts +26 -0
  22. package/dist/logger.d.ts.map +1 -0
  23. package/dist/logger.js +135 -0
  24. package/dist/middleware/auth.d.ts +7 -0
  25. package/dist/middleware/auth.d.ts.map +1 -0
  26. package/dist/middleware/auth.js +170 -0
  27. package/dist/middleware/logging.d.ts +2 -0
  28. package/dist/middleware/logging.d.ts.map +1 -0
  29. package/dist/middleware/logging.js +51 -0
  30. package/dist/routers/_app.d.ts +4369 -0
  31. package/dist/routers/_app.d.ts.map +1 -0
  32. package/dist/routers/_app.js +29 -0
  33. package/dist/routers/agenda.d.ts +66 -0
  34. package/dist/routers/agenda.d.ts.map +1 -0
  35. package/dist/routers/agenda.js +78 -0
  36. package/dist/routers/announcement.d.ts +79 -0
  37. package/dist/routers/announcement.d.ts.map +1 -0
  38. package/dist/routers/announcement.js +122 -0
  39. package/dist/routers/assignment.d.ts +1051 -0
  40. package/dist/routers/assignment.d.ts.map +1 -0
  41. package/dist/routers/assignment.js +1497 -0
  42. package/dist/routers/attendance.d.ts +99 -0
  43. package/dist/routers/attendance.d.ts.map +1 -0
  44. package/dist/routers/attendance.js +269 -0
  45. package/dist/routers/auth.d.ts +87 -0
  46. package/dist/routers/auth.d.ts.map +1 -0
  47. package/dist/routers/auth.js +255 -0
  48. package/dist/routers/class.d.ts +427 -0
  49. package/dist/routers/class.d.ts.map +1 -0
  50. package/dist/routers/class.js +693 -0
  51. package/dist/routers/event.d.ts +249 -0
  52. package/dist/routers/event.d.ts.map +1 -0
  53. package/dist/routers/event.js +467 -0
  54. package/dist/routers/file.d.ts +27 -0
  55. package/dist/routers/file.d.ts.map +1 -0
  56. package/dist/routers/file.js +88 -0
  57. package/dist/routers/section.d.ts +51 -0
  58. package/dist/routers/section.d.ts.map +1 -0
  59. package/dist/routers/section.js +123 -0
  60. package/dist/routers/user.d.ts +49 -0
  61. package/dist/routers/user.d.ts.map +1 -0
  62. package/dist/routers/user.js +74 -0
  63. package/dist/socket/handlers.d.ts +3 -0
  64. package/dist/socket/handlers.d.ts.map +1 -0
  65. package/dist/socket/handlers.js +130 -0
  66. package/dist/trpc.d.ts +147 -0
  67. package/dist/trpc.d.ts.map +1 -0
  68. package/dist/trpc.js +67 -0
  69. package/dist/types/trpc.d.ts +16 -0
  70. package/dist/types/trpc.d.ts.map +1 -0
  71. package/dist/types/trpc.js +2 -0
  72. package/dist/utils/email.d.ts +3 -0
  73. package/dist/utils/email.d.ts.map +1 -0
  74. package/dist/utils/email.js +16 -0
  75. package/dist/utils/generateInviteCode.d.ts +6 -0
  76. package/dist/utils/generateInviteCode.d.ts.map +1 -0
  77. package/dist/utils/generateInviteCode.js +11 -0
  78. package/dist/utils/logger.d.ts +27 -0
  79. package/dist/utils/logger.d.ts.map +1 -0
  80. package/dist/utils/logger.js +124 -0
  81. package/generated/prisma/client.d.ts +1 -0
  82. package/generated/prisma/client.js +4 -0
  83. package/generated/prisma/default.d.ts +1 -0
  84. package/generated/prisma/default.js +4 -0
  85. package/generated/prisma/edge.d.ts +1 -0
  86. package/generated/prisma/edge.js +389 -0
  87. package/generated/prisma/index-browser.js +375 -0
  88. package/generated/prisma/index.d.ts +34865 -0
  89. package/generated/prisma/index.js +410 -0
  90. package/generated/prisma/libquery_engine-darwin-arm64.dylib.node +0 -0
  91. package/generated/prisma/package.json +140 -0
  92. package/generated/prisma/runtime/edge-esm.js +34 -0
  93. package/generated/prisma/runtime/edge.js +34 -0
  94. package/generated/prisma/runtime/index-browser.d.ts +370 -0
  95. package/generated/prisma/runtime/index-browser.js +16 -0
  96. package/generated/prisma/runtime/library.d.ts +3647 -0
  97. package/generated/prisma/runtime/library.js +146 -0
  98. package/generated/prisma/runtime/react-native.js +83 -0
  99. package/generated/prisma/runtime/wasm.js +35 -0
  100. package/generated/prisma/schema.prisma +304 -0
  101. package/generated/prisma/wasm.d.ts +1 -0
  102. package/generated/prisma/wasm.js +375 -0
  103. package/package.json +46 -0
@@ -0,0 +1,4369 @@
1
+ import type { inferRouterInputs, inferRouterOutputs } from "@trpc/server";
2
+ export declare const appRouter: import("@trpc/server/dist/unstable-core-do-not-import").BuiltRouter<{
3
+ ctx: import("../trpc").Context;
4
+ meta: object;
5
+ errorShape: {
6
+ data: {
7
+ zodError: import("zod").typeToFlattenedError<any, string> | null;
8
+ code: import("@trpc/server/dist/unstable-core-do-not-import").TRPC_ERROR_CODE_KEY;
9
+ httpStatus: number;
10
+ path?: string;
11
+ stack?: string;
12
+ };
13
+ message: string;
14
+ code: import("@trpc/server/dist/unstable-core-do-not-import").TRPC_ERROR_CODE_NUMBER;
15
+ };
16
+ transformer: false;
17
+ }, import("@trpc/server/dist/unstable-core-do-not-import").DecorateCreateRouterOptions<{
18
+ class: import("@trpc/server/dist/unstable-core-do-not-import").BuiltRouter<{
19
+ ctx: import("../trpc").Context;
20
+ meta: object;
21
+ errorShape: {
22
+ data: {
23
+ zodError: import("zod").typeToFlattenedError<any, string> | null;
24
+ code: import("@trpc/server/dist/unstable-core-do-not-import").TRPC_ERROR_CODE_KEY;
25
+ httpStatus: number;
26
+ path?: string;
27
+ stack?: string;
28
+ };
29
+ message: string;
30
+ code: import("@trpc/server/dist/unstable-core-do-not-import").TRPC_ERROR_CODE_NUMBER;
31
+ };
32
+ transformer: false;
33
+ }, import("@trpc/server/dist/unstable-core-do-not-import").DecorateCreateRouterOptions<{
34
+ getAll: import("@trpc/server").TRPCQueryProcedure<{
35
+ input: void;
36
+ output: {
37
+ teacherInClass: {
38
+ id: string;
39
+ name: string;
40
+ section: string;
41
+ subject: string;
42
+ dueToday: {
43
+ id: string;
44
+ title: string;
45
+ }[];
46
+ color: string | null;
47
+ }[];
48
+ studentInClass: {
49
+ id: string;
50
+ name: string;
51
+ section: string;
52
+ subject: string;
53
+ dueToday: {
54
+ id: string;
55
+ title: string;
56
+ }[];
57
+ color: string | null;
58
+ }[];
59
+ adminInClass: {
60
+ id: string;
61
+ name: string;
62
+ section: string;
63
+ subject: string;
64
+ dueToday: {
65
+ id: string;
66
+ title: string;
67
+ }[];
68
+ color: string | null;
69
+ }[];
70
+ };
71
+ }>;
72
+ get: import("@trpc/server").TRPCQueryProcedure<{
73
+ input: {
74
+ classId: string;
75
+ };
76
+ output: {
77
+ class: {
78
+ assignments: {
79
+ late: boolean;
80
+ submitted: boolean;
81
+ returned: boolean;
82
+ type: import(".prisma/client").$Enums.AssignmentType;
83
+ id: string;
84
+ submissions: {
85
+ id: string;
86
+ studentId: string;
87
+ submittedAt: Date | null;
88
+ submitted: boolean | null;
89
+ returned: boolean | null;
90
+ }[];
91
+ section: {
92
+ id: string;
93
+ name: string;
94
+ } | null;
95
+ title: string;
96
+ instructions: string;
97
+ dueDate: Date;
98
+ createdAt: Date | null;
99
+ graded: boolean;
100
+ maxGrade: number | null;
101
+ weight: number;
102
+ markScheme: {
103
+ id: string;
104
+ structured: string;
105
+ } | null;
106
+ gradingBoundary: {
107
+ id: string;
108
+ structured: string;
109
+ } | null;
110
+ }[];
111
+ sections: {
112
+ id: string;
113
+ name: string;
114
+ classId: string;
115
+ }[];
116
+ announcements: {
117
+ id: string;
118
+ teacher: {
119
+ id: string;
120
+ username: string;
121
+ };
122
+ createdAt: Date;
123
+ remarks: string;
124
+ }[];
125
+ students: {
126
+ id: string;
127
+ username: string;
128
+ }[];
129
+ teachers: {
130
+ id: string;
131
+ username: string;
132
+ }[];
133
+ id: string;
134
+ name: string;
135
+ subject: string;
136
+ color: string | null;
137
+ section: string;
138
+ };
139
+ };
140
+ }>;
141
+ update: import("@trpc/server").TRPCMutationProcedure<{
142
+ input: {
143
+ [x: string]: unknown;
144
+ classId: string;
145
+ name?: string | undefined;
146
+ subject?: string | undefined;
147
+ section?: string | undefined;
148
+ };
149
+ output: {
150
+ updatedClass: {
151
+ id: string;
152
+ name: string;
153
+ subject: string;
154
+ section: string;
155
+ };
156
+ };
157
+ }>;
158
+ create: import("@trpc/server").TRPCMutationProcedure<{
159
+ input: {
160
+ name: string;
161
+ subject: string;
162
+ section: string;
163
+ students?: string[] | undefined;
164
+ teachers?: string[] | undefined;
165
+ };
166
+ output: {
167
+ id: string;
168
+ name: string;
169
+ subject: string;
170
+ color: string | null;
171
+ section: string;
172
+ };
173
+ }>;
174
+ delete: import("@trpc/server").TRPCMutationProcedure<{
175
+ input: {
176
+ [x: string]: unknown;
177
+ classId: string;
178
+ id: string;
179
+ };
180
+ output: {
181
+ deletedClass: {
182
+ id: string;
183
+ };
184
+ };
185
+ }>;
186
+ addStudent: import("@trpc/server").TRPCMutationProcedure<{
187
+ input: {
188
+ [x: string]: unknown;
189
+ classId: string;
190
+ studentId: string;
191
+ };
192
+ output: {
193
+ updatedClass: {
194
+ id: string;
195
+ name: string;
196
+ subject: string;
197
+ section: string;
198
+ };
199
+ newStudent: {
200
+ id: string;
201
+ username: string;
202
+ email: string;
203
+ password: string;
204
+ verified: boolean;
205
+ profileId: string | null;
206
+ };
207
+ };
208
+ }>;
209
+ changeRole: import("@trpc/server").TRPCMutationProcedure<{
210
+ input: {
211
+ [x: string]: unknown;
212
+ classId: string;
213
+ type: "teacher" | "student";
214
+ userId: string;
215
+ };
216
+ output: {
217
+ updatedClass: {
218
+ id: string;
219
+ name: string;
220
+ subject: string;
221
+ color: string | null;
222
+ section: string;
223
+ };
224
+ user: {
225
+ type: "teacher" | "student";
226
+ id: string;
227
+ username: string;
228
+ };
229
+ };
230
+ }>;
231
+ removeMember: import("@trpc/server").TRPCMutationProcedure<{
232
+ input: {
233
+ [x: string]: unknown;
234
+ classId: string;
235
+ userId: string;
236
+ };
237
+ output: {
238
+ updatedClass: {
239
+ id: string;
240
+ name: string;
241
+ subject: string;
242
+ color: string | null;
243
+ section: string;
244
+ };
245
+ removedUserId: string;
246
+ };
247
+ }>;
248
+ join: import("@trpc/server").TRPCMutationProcedure<{
249
+ input: {
250
+ classCode: string;
251
+ };
252
+ output: {
253
+ joinedClass: {
254
+ id: string;
255
+ name: string;
256
+ subject: string;
257
+ section: string;
258
+ };
259
+ };
260
+ }>;
261
+ getInviteCode: import("@trpc/server").TRPCQueryProcedure<{
262
+ input: {
263
+ [x: string]: unknown;
264
+ classId: string;
265
+ };
266
+ output: {
267
+ code: string;
268
+ };
269
+ }>;
270
+ createInviteCode: import("@trpc/server").TRPCMutationProcedure<{
271
+ input: {
272
+ [x: string]: unknown;
273
+ classId: string;
274
+ };
275
+ output: {
276
+ code: string;
277
+ };
278
+ }>;
279
+ getGrades: import("@trpc/server").TRPCQueryProcedure<{
280
+ input: {
281
+ [x: string]: unknown;
282
+ classId: string;
283
+ userId: string;
284
+ };
285
+ output: {
286
+ grades: ({
287
+ assignment: {
288
+ id: string;
289
+ title: string;
290
+ maxGrade: number | null;
291
+ weight: number;
292
+ };
293
+ } & {
294
+ id: string;
295
+ studentId: string;
296
+ assignmentId: string;
297
+ gradeReceived: number | null;
298
+ createdAt: Date;
299
+ modifiedAt: Date;
300
+ rubricState: string | null;
301
+ submittedAt: Date | null;
302
+ submitted: boolean | null;
303
+ returned: boolean | null;
304
+ })[];
305
+ };
306
+ }>;
307
+ updateGrade: import("@trpc/server").TRPCMutationProcedure<{
308
+ input: {
309
+ [x: string]: unknown;
310
+ classId: string;
311
+ assignmentId: string;
312
+ submissionId: string;
313
+ gradeReceived: number | null;
314
+ };
315
+ output: {
316
+ assignment: {
317
+ id: string;
318
+ title: string;
319
+ maxGrade: number | null;
320
+ weight: number;
321
+ };
322
+ } & {
323
+ id: string;
324
+ studentId: string;
325
+ assignmentId: string;
326
+ gradeReceived: number | null;
327
+ createdAt: Date;
328
+ modifiedAt: Date;
329
+ rubricState: string | null;
330
+ submittedAt: Date | null;
331
+ submitted: boolean | null;
332
+ returned: boolean | null;
333
+ };
334
+ }>;
335
+ getEvents: import("@trpc/server").TRPCQueryProcedure<{
336
+ input: {
337
+ [x: string]: unknown;
338
+ classId: string;
339
+ };
340
+ output: {
341
+ name: string | null;
342
+ startTime: Date;
343
+ endTime: Date;
344
+ }[];
345
+ }>;
346
+ listMarkSchemes: import("@trpc/server").TRPCQueryProcedure<{
347
+ input: {
348
+ [x: string]: unknown;
349
+ classId: string;
350
+ };
351
+ output: {
352
+ id: string;
353
+ classId: string;
354
+ structured: string;
355
+ }[];
356
+ }>;
357
+ createMarkScheme: import("@trpc/server").TRPCMutationProcedure<{
358
+ input: {
359
+ [x: string]: unknown;
360
+ classId: string;
361
+ structure: string;
362
+ };
363
+ output: {
364
+ id: string;
365
+ classId: string;
366
+ structured: string;
367
+ };
368
+ }>;
369
+ updateMarkScheme: import("@trpc/server").TRPCMutationProcedure<{
370
+ input: {
371
+ [x: string]: unknown;
372
+ classId: string;
373
+ structure: string;
374
+ markSchemeId: string;
375
+ };
376
+ output: {
377
+ id: string;
378
+ classId: string;
379
+ structured: string;
380
+ };
381
+ }>;
382
+ deleteMarkScheme: import("@trpc/server").TRPCMutationProcedure<{
383
+ input: {
384
+ [x: string]: unknown;
385
+ classId: string;
386
+ markSchemeId: string;
387
+ };
388
+ output: {
389
+ id: string;
390
+ classId: string;
391
+ structured: string;
392
+ };
393
+ }>;
394
+ listGradingBoundaries: import("@trpc/server").TRPCQueryProcedure<{
395
+ input: {
396
+ [x: string]: unknown;
397
+ classId: string;
398
+ };
399
+ output: {
400
+ id: string;
401
+ classId: string;
402
+ structured: string;
403
+ }[];
404
+ }>;
405
+ createGradingBoundary: import("@trpc/server").TRPCMutationProcedure<{
406
+ input: {
407
+ [x: string]: unknown;
408
+ classId: string;
409
+ structure: string;
410
+ };
411
+ output: {
412
+ id: string;
413
+ classId: string;
414
+ structured: string;
415
+ };
416
+ }>;
417
+ updateGradingBoundary: import("@trpc/server").TRPCMutationProcedure<{
418
+ input: {
419
+ [x: string]: unknown;
420
+ classId: string;
421
+ structure: string;
422
+ gradingBoundaryId: string;
423
+ };
424
+ output: {
425
+ id: string;
426
+ classId: string;
427
+ structured: string;
428
+ };
429
+ }>;
430
+ deleteGradingBoundary: import("@trpc/server").TRPCMutationProcedure<{
431
+ input: {
432
+ [x: string]: unknown;
433
+ classId: string;
434
+ gradingBoundaryId: string;
435
+ };
436
+ output: {
437
+ id: string;
438
+ classId: string;
439
+ structured: string;
440
+ };
441
+ }>;
442
+ }>>;
443
+ announcement: import("@trpc/server/dist/unstable-core-do-not-import").BuiltRouter<{
444
+ ctx: import("../trpc").Context;
445
+ meta: object;
446
+ errorShape: {
447
+ data: {
448
+ zodError: import("zod").typeToFlattenedError<any, string> | null;
449
+ code: import("@trpc/server/dist/unstable-core-do-not-import").TRPC_ERROR_CODE_KEY;
450
+ httpStatus: number;
451
+ path?: string;
452
+ stack?: string;
453
+ };
454
+ message: string;
455
+ code: import("@trpc/server/dist/unstable-core-do-not-import").TRPC_ERROR_CODE_NUMBER;
456
+ };
457
+ transformer: false;
458
+ }, import("@trpc/server/dist/unstable-core-do-not-import").DecorateCreateRouterOptions<{
459
+ getAll: import("@trpc/server").TRPCQueryProcedure<{
460
+ input: {
461
+ [x: string]: unknown;
462
+ classId: string;
463
+ };
464
+ output: {
465
+ announcements: {
466
+ id: string;
467
+ teacher: {
468
+ id: string;
469
+ username: string;
470
+ };
471
+ createdAt: Date;
472
+ remarks: string;
473
+ }[];
474
+ };
475
+ }>;
476
+ create: import("@trpc/server").TRPCMutationProcedure<{
477
+ input: {
478
+ [x: string]: unknown;
479
+ classId: string;
480
+ remarks: string;
481
+ };
482
+ output: {
483
+ announcement: {
484
+ id: string;
485
+ teacher: {
486
+ id: string;
487
+ username: string;
488
+ };
489
+ createdAt: Date;
490
+ remarks: string;
491
+ };
492
+ };
493
+ }>;
494
+ update: import("@trpc/server").TRPCMutationProcedure<{
495
+ input: {
496
+ id: string;
497
+ data: {
498
+ content: string;
499
+ };
500
+ };
501
+ output: {
502
+ announcement: {
503
+ id: string;
504
+ classId: string;
505
+ createdAt: Date;
506
+ teacherId: string;
507
+ remarks: string;
508
+ };
509
+ };
510
+ }>;
511
+ delete: import("@trpc/server").TRPCMutationProcedure<{
512
+ input: {
513
+ id: string;
514
+ };
515
+ output: {
516
+ success: boolean;
517
+ };
518
+ }>;
519
+ }>>;
520
+ assignment: import("@trpc/server/dist/unstable-core-do-not-import").BuiltRouter<{
521
+ ctx: import("../trpc").Context;
522
+ meta: object;
523
+ errorShape: {
524
+ data: {
525
+ zodError: import("zod").typeToFlattenedError<any, string> | null;
526
+ code: import("@trpc/server/dist/unstable-core-do-not-import").TRPC_ERROR_CODE_KEY;
527
+ httpStatus: number;
528
+ path?: string;
529
+ stack?: string;
530
+ };
531
+ message: string;
532
+ code: import("@trpc/server/dist/unstable-core-do-not-import").TRPC_ERROR_CODE_NUMBER;
533
+ };
534
+ transformer: false;
535
+ }, import("@trpc/server/dist/unstable-core-do-not-import").DecorateCreateRouterOptions<{
536
+ create: import("@trpc/server").TRPCMutationProcedure<{
537
+ input: {
538
+ classId: string;
539
+ title: string;
540
+ instructions: string;
541
+ dueDate: string;
542
+ type?: "HOMEWORK" | "QUIZ" | "TEST" | "PROJECT" | "ESSAY" | "DISCUSSION" | "PRESENTATION" | "LAB" | "OTHER" | undefined;
543
+ files?: {
544
+ type: string;
545
+ name: string;
546
+ data: string;
547
+ size: number;
548
+ }[] | undefined;
549
+ markSchemeId?: string | undefined;
550
+ gradingBoundaryId?: string | undefined;
551
+ sectionId?: string | undefined;
552
+ graded?: boolean | undefined;
553
+ maxGrade?: number | undefined;
554
+ weight?: number | undefined;
555
+ };
556
+ output: {
557
+ type: import(".prisma/client").$Enums.AssignmentType;
558
+ id: string;
559
+ class: {
560
+ id: string;
561
+ name: string;
562
+ };
563
+ section: {
564
+ id: string;
565
+ name: string;
566
+ } | null;
567
+ teacher: {
568
+ id: string;
569
+ username: string;
570
+ };
571
+ title: string;
572
+ instructions: string;
573
+ dueDate: Date;
574
+ graded: boolean;
575
+ maxGrade: number | null;
576
+ weight: number;
577
+ attachments: {
578
+ type: string;
579
+ id: string;
580
+ name: string;
581
+ }[];
582
+ };
583
+ }>;
584
+ update: import("@trpc/server").TRPCMutationProcedure<{
585
+ input: {
586
+ id: string;
587
+ classId: string;
588
+ type?: "HOMEWORK" | "QUIZ" | "TEST" | "PROJECT" | "ESSAY" | "DISCUSSION" | "PRESENTATION" | "LAB" | "OTHER" | undefined;
589
+ files?: {
590
+ type: string;
591
+ name: string;
592
+ data: string;
593
+ size: number;
594
+ }[] | undefined;
595
+ title?: string | undefined;
596
+ instructions?: string | undefined;
597
+ dueDate?: string | undefined;
598
+ sectionId?: string | null | undefined;
599
+ graded?: boolean | undefined;
600
+ maxGrade?: number | undefined;
601
+ weight?: number | undefined;
602
+ removedAttachments?: string[] | undefined;
603
+ };
604
+ output: {
605
+ type: import(".prisma/client").$Enums.AssignmentType;
606
+ id: string;
607
+ submissions: {
608
+ student: {
609
+ id: string;
610
+ username: string;
611
+ };
612
+ }[];
613
+ class: {
614
+ id: string;
615
+ name: string;
616
+ subject: string;
617
+ color: string | null;
618
+ section: string;
619
+ };
620
+ section: {
621
+ id: string;
622
+ name: string;
623
+ classId: string;
624
+ } | null;
625
+ teacher: {
626
+ id: string;
627
+ username: string;
628
+ email: string;
629
+ password: string;
630
+ verified: boolean;
631
+ profileId: string | null;
632
+ };
633
+ title: string;
634
+ instructions: string;
635
+ dueDate: Date;
636
+ createdAt: Date | null;
637
+ graded: boolean;
638
+ maxGrade: number | null;
639
+ weight: number;
640
+ attachments: {
641
+ type: string;
642
+ id: string;
643
+ name: string;
644
+ thumbnail: {
645
+ path: string;
646
+ type: string;
647
+ id: string;
648
+ name: string;
649
+ userId: string | null;
650
+ assignmentId: string | null;
651
+ submissionId: string | null;
652
+ size: number | null;
653
+ uploadedAt: Date | null;
654
+ thumbnailId: string | null;
655
+ annotationId: string | null;
656
+ } | null;
657
+ }[];
658
+ };
659
+ }>;
660
+ delete: import("@trpc/server").TRPCMutationProcedure<{
661
+ input: {
662
+ id: string;
663
+ classId: string;
664
+ };
665
+ output: {
666
+ id: string;
667
+ };
668
+ }>;
669
+ get: import("@trpc/server").TRPCQueryProcedure<{
670
+ input: {
671
+ id: string;
672
+ classId: string;
673
+ };
674
+ output: {
675
+ sections: {
676
+ id: string;
677
+ name: string;
678
+ }[];
679
+ submissions: {
680
+ student: {
681
+ id: string;
682
+ username: string;
683
+ };
684
+ }[];
685
+ class: {
686
+ id: string;
687
+ name: string;
688
+ };
689
+ section: {
690
+ id: string;
691
+ name: string;
692
+ } | null;
693
+ teacher: {
694
+ id: string;
695
+ username: string;
696
+ };
697
+ attachments: {
698
+ path: string;
699
+ type: string;
700
+ id: string;
701
+ name: string;
702
+ size: number | null;
703
+ thumbnailId: string | null;
704
+ }[];
705
+ eventAttached: {
706
+ id: string;
707
+ name: string | null;
708
+ remarks: string | null;
709
+ startTime: Date;
710
+ endTime: Date;
711
+ location: string | null;
712
+ } | null;
713
+ markScheme: {
714
+ id: string;
715
+ structured: string;
716
+ } | null;
717
+ gradingBoundary: {
718
+ id: string;
719
+ structured: string;
720
+ } | null;
721
+ type: import(".prisma/client").$Enums.AssignmentType;
722
+ id: string;
723
+ classId: string;
724
+ markSchemeId: string | null;
725
+ gradingBoundaryId: string | null;
726
+ title: string;
727
+ instructions: string;
728
+ dueDate: Date;
729
+ createdAt: Date | null;
730
+ modifiedAt: Date | null;
731
+ teacherId: string;
732
+ sectionId: string | null;
733
+ graded: boolean;
734
+ maxGrade: number | null;
735
+ weight: number;
736
+ eventId: string | null;
737
+ };
738
+ }>;
739
+ getSubmission: import("@trpc/server").TRPCQueryProcedure<{
740
+ input: {
741
+ [x: string]: unknown;
742
+ classId: string;
743
+ assignmentId: string;
744
+ };
745
+ output: ({
746
+ student: {
747
+ id: string;
748
+ username: string;
749
+ };
750
+ assignment: {
751
+ class: {
752
+ id: string;
753
+ name: string;
754
+ subject: string;
755
+ color: string | null;
756
+ section: string;
757
+ };
758
+ markScheme: {
759
+ id: string;
760
+ structured: string;
761
+ } | null;
762
+ gradingBoundary: {
763
+ id: string;
764
+ structured: string;
765
+ } | null;
766
+ } & {
767
+ type: import(".prisma/client").$Enums.AssignmentType;
768
+ id: string;
769
+ classId: string;
770
+ markSchemeId: string | null;
771
+ gradingBoundaryId: string | null;
772
+ title: string;
773
+ instructions: string;
774
+ dueDate: Date;
775
+ createdAt: Date | null;
776
+ modifiedAt: Date | null;
777
+ teacherId: string;
778
+ sectionId: string | null;
779
+ graded: boolean;
780
+ maxGrade: number | null;
781
+ weight: number;
782
+ eventId: string | null;
783
+ };
784
+ attachments: {
785
+ path: string;
786
+ type: string;
787
+ id: string;
788
+ name: string;
789
+ userId: string | null;
790
+ assignmentId: string | null;
791
+ submissionId: string | null;
792
+ size: number | null;
793
+ uploadedAt: Date | null;
794
+ thumbnailId: string | null;
795
+ annotationId: string | null;
796
+ }[];
797
+ annotations: {
798
+ path: string;
799
+ type: string;
800
+ id: string;
801
+ name: string;
802
+ userId: string | null;
803
+ assignmentId: string | null;
804
+ submissionId: string | null;
805
+ size: number | null;
806
+ uploadedAt: Date | null;
807
+ thumbnailId: string | null;
808
+ annotationId: string | null;
809
+ }[];
810
+ } & {
811
+ id: string;
812
+ studentId: string;
813
+ assignmentId: string;
814
+ gradeReceived: number | null;
815
+ createdAt: Date;
816
+ modifiedAt: Date;
817
+ rubricState: string | null;
818
+ submittedAt: Date | null;
819
+ submitted: boolean | null;
820
+ returned: boolean | null;
821
+ }) | {
822
+ late: boolean;
823
+ student: {
824
+ id: string;
825
+ username: string;
826
+ };
827
+ assignment: {
828
+ class: {
829
+ id: string;
830
+ name: string;
831
+ subject: string;
832
+ color: string | null;
833
+ section: string;
834
+ };
835
+ markScheme: {
836
+ id: string;
837
+ structured: string;
838
+ } | null;
839
+ gradingBoundary: {
840
+ id: string;
841
+ structured: string;
842
+ } | null;
843
+ } & {
844
+ type: import(".prisma/client").$Enums.AssignmentType;
845
+ id: string;
846
+ classId: string;
847
+ markSchemeId: string | null;
848
+ gradingBoundaryId: string | null;
849
+ title: string;
850
+ instructions: string;
851
+ dueDate: Date;
852
+ createdAt: Date | null;
853
+ modifiedAt: Date | null;
854
+ teacherId: string;
855
+ sectionId: string | null;
856
+ graded: boolean;
857
+ maxGrade: number | null;
858
+ weight: number;
859
+ eventId: string | null;
860
+ };
861
+ attachments: {
862
+ path: string;
863
+ type: string;
864
+ id: string;
865
+ name: string;
866
+ userId: string | null;
867
+ assignmentId: string | null;
868
+ submissionId: string | null;
869
+ size: number | null;
870
+ uploadedAt: Date | null;
871
+ thumbnailId: string | null;
872
+ annotationId: string | null;
873
+ }[];
874
+ annotations: {
875
+ path: string;
876
+ type: string;
877
+ id: string;
878
+ name: string;
879
+ userId: string | null;
880
+ assignmentId: string | null;
881
+ submissionId: string | null;
882
+ size: number | null;
883
+ uploadedAt: Date | null;
884
+ thumbnailId: string | null;
885
+ annotationId: string | null;
886
+ }[];
887
+ id: string;
888
+ studentId: string;
889
+ assignmentId: string;
890
+ gradeReceived: number | null;
891
+ createdAt: Date;
892
+ modifiedAt: Date;
893
+ rubricState: string | null;
894
+ submittedAt: Date | null;
895
+ submitted: boolean | null;
896
+ returned: boolean | null;
897
+ };
898
+ }>;
899
+ getSubmissionById: import("@trpc/server").TRPCQueryProcedure<{
900
+ input: {
901
+ [x: string]: unknown;
902
+ classId: string;
903
+ submissionId: string;
904
+ };
905
+ output: {
906
+ late: boolean;
907
+ student: {
908
+ id: string;
909
+ username: string;
910
+ };
911
+ assignment: {
912
+ class: {
913
+ id: string;
914
+ name: string;
915
+ subject: string;
916
+ color: string | null;
917
+ section: string;
918
+ };
919
+ markScheme: {
920
+ id: string;
921
+ structured: string;
922
+ } | null;
923
+ gradingBoundary: {
924
+ id: string;
925
+ structured: string;
926
+ } | null;
927
+ } & {
928
+ type: import(".prisma/client").$Enums.AssignmentType;
929
+ id: string;
930
+ classId: string;
931
+ markSchemeId: string | null;
932
+ gradingBoundaryId: string | null;
933
+ title: string;
934
+ instructions: string;
935
+ dueDate: Date;
936
+ createdAt: Date | null;
937
+ modifiedAt: Date | null;
938
+ teacherId: string;
939
+ sectionId: string | null;
940
+ graded: boolean;
941
+ maxGrade: number | null;
942
+ weight: number;
943
+ eventId: string | null;
944
+ };
945
+ attachments: {
946
+ path: string;
947
+ type: string;
948
+ id: string;
949
+ name: string;
950
+ userId: string | null;
951
+ assignmentId: string | null;
952
+ submissionId: string | null;
953
+ size: number | null;
954
+ uploadedAt: Date | null;
955
+ thumbnailId: string | null;
956
+ annotationId: string | null;
957
+ }[];
958
+ annotations: {
959
+ path: string;
960
+ type: string;
961
+ id: string;
962
+ name: string;
963
+ userId: string | null;
964
+ assignmentId: string | null;
965
+ submissionId: string | null;
966
+ size: number | null;
967
+ uploadedAt: Date | null;
968
+ thumbnailId: string | null;
969
+ annotationId: string | null;
970
+ }[];
971
+ id: string;
972
+ studentId: string;
973
+ assignmentId: string;
974
+ gradeReceived: number | null;
975
+ createdAt: Date;
976
+ modifiedAt: Date;
977
+ rubricState: string | null;
978
+ submittedAt: Date | null;
979
+ submitted: boolean | null;
980
+ returned: boolean | null;
981
+ };
982
+ }>;
983
+ updateSubmission: import("@trpc/server").TRPCMutationProcedure<{
984
+ input: {
985
+ [x: string]: unknown;
986
+ classId: string;
987
+ assignmentId: string;
988
+ submissionId: string;
989
+ removedAttachments?: string[] | undefined;
990
+ submit?: boolean | undefined;
991
+ newAttachments?: {
992
+ type: string;
993
+ name: string;
994
+ data: string;
995
+ size: number;
996
+ }[] | undefined;
997
+ };
998
+ output: {
999
+ student: {
1000
+ id: string;
1001
+ username: string;
1002
+ };
1003
+ assignment: {
1004
+ class: {
1005
+ id: string;
1006
+ name: string;
1007
+ subject: string;
1008
+ color: string | null;
1009
+ section: string;
1010
+ };
1011
+ markScheme: {
1012
+ id: string;
1013
+ structured: string;
1014
+ } | null;
1015
+ gradingBoundary: {
1016
+ id: string;
1017
+ structured: string;
1018
+ } | null;
1019
+ } & {
1020
+ type: import(".prisma/client").$Enums.AssignmentType;
1021
+ id: string;
1022
+ classId: string;
1023
+ markSchemeId: string | null;
1024
+ gradingBoundaryId: string | null;
1025
+ title: string;
1026
+ instructions: string;
1027
+ dueDate: Date;
1028
+ createdAt: Date | null;
1029
+ modifiedAt: Date | null;
1030
+ teacherId: string;
1031
+ sectionId: string | null;
1032
+ graded: boolean;
1033
+ maxGrade: number | null;
1034
+ weight: number;
1035
+ eventId: string | null;
1036
+ };
1037
+ attachments: {
1038
+ path: string;
1039
+ type: string;
1040
+ id: string;
1041
+ name: string;
1042
+ userId: string | null;
1043
+ assignmentId: string | null;
1044
+ submissionId: string | null;
1045
+ size: number | null;
1046
+ uploadedAt: Date | null;
1047
+ thumbnailId: string | null;
1048
+ annotationId: string | null;
1049
+ }[];
1050
+ } & {
1051
+ id: string;
1052
+ studentId: string;
1053
+ assignmentId: string;
1054
+ gradeReceived: number | null;
1055
+ createdAt: Date;
1056
+ modifiedAt: Date;
1057
+ rubricState: string | null;
1058
+ submittedAt: Date | null;
1059
+ submitted: boolean | null;
1060
+ returned: boolean | null;
1061
+ };
1062
+ }>;
1063
+ getSubmissions: import("@trpc/server").TRPCQueryProcedure<{
1064
+ input: {
1065
+ [x: string]: unknown;
1066
+ classId: string;
1067
+ assignmentId: string;
1068
+ };
1069
+ output: {
1070
+ late: boolean;
1071
+ student: {
1072
+ id: string;
1073
+ username: string;
1074
+ };
1075
+ assignment: {
1076
+ class: {
1077
+ id: string;
1078
+ name: string;
1079
+ subject: string;
1080
+ color: string | null;
1081
+ section: string;
1082
+ };
1083
+ markScheme: {
1084
+ id: string;
1085
+ structured: string;
1086
+ } | null;
1087
+ gradingBoundary: {
1088
+ id: string;
1089
+ structured: string;
1090
+ } | null;
1091
+ } & {
1092
+ type: import(".prisma/client").$Enums.AssignmentType;
1093
+ id: string;
1094
+ classId: string;
1095
+ markSchemeId: string | null;
1096
+ gradingBoundaryId: string | null;
1097
+ title: string;
1098
+ instructions: string;
1099
+ dueDate: Date;
1100
+ createdAt: Date | null;
1101
+ modifiedAt: Date | null;
1102
+ teacherId: string;
1103
+ sectionId: string | null;
1104
+ graded: boolean;
1105
+ maxGrade: number | null;
1106
+ weight: number;
1107
+ eventId: string | null;
1108
+ };
1109
+ attachments: ({
1110
+ thumbnail: {
1111
+ path: string;
1112
+ type: string;
1113
+ id: string;
1114
+ name: string;
1115
+ userId: string | null;
1116
+ assignmentId: string | null;
1117
+ submissionId: string | null;
1118
+ size: number | null;
1119
+ uploadedAt: Date | null;
1120
+ thumbnailId: string | null;
1121
+ annotationId: string | null;
1122
+ } | null;
1123
+ } & {
1124
+ path: string;
1125
+ type: string;
1126
+ id: string;
1127
+ name: string;
1128
+ userId: string | null;
1129
+ assignmentId: string | null;
1130
+ submissionId: string | null;
1131
+ size: number | null;
1132
+ uploadedAt: Date | null;
1133
+ thumbnailId: string | null;
1134
+ annotationId: string | null;
1135
+ })[];
1136
+ id: string;
1137
+ studentId: string;
1138
+ assignmentId: string;
1139
+ gradeReceived: number | null;
1140
+ createdAt: Date;
1141
+ modifiedAt: Date;
1142
+ rubricState: string | null;
1143
+ submittedAt: Date | null;
1144
+ submitted: boolean | null;
1145
+ returned: boolean | null;
1146
+ }[];
1147
+ }>;
1148
+ updateSubmissionAsTeacher: import("@trpc/server").TRPCMutationProcedure<{
1149
+ input: {
1150
+ [x: string]: unknown;
1151
+ classId: string;
1152
+ assignmentId: string;
1153
+ submissionId: string;
1154
+ gradeReceived?: number | null | undefined;
1155
+ removedAttachments?: string[] | undefined;
1156
+ newAttachments?: {
1157
+ type: string;
1158
+ name: string;
1159
+ data: string;
1160
+ size: number;
1161
+ }[] | undefined;
1162
+ return?: boolean | undefined;
1163
+ rubricGrades?: {
1164
+ criteriaId: string;
1165
+ selectedLevelId: string;
1166
+ points: number;
1167
+ comments: string;
1168
+ }[] | undefined;
1169
+ };
1170
+ output: {
1171
+ student: {
1172
+ id: string;
1173
+ username: string;
1174
+ };
1175
+ assignment: {
1176
+ class: {
1177
+ id: string;
1178
+ name: string;
1179
+ subject: string;
1180
+ color: string | null;
1181
+ section: string;
1182
+ };
1183
+ markScheme: {
1184
+ id: string;
1185
+ structured: string;
1186
+ } | null;
1187
+ gradingBoundary: {
1188
+ id: string;
1189
+ structured: string;
1190
+ } | null;
1191
+ } & {
1192
+ type: import(".prisma/client").$Enums.AssignmentType;
1193
+ id: string;
1194
+ classId: string;
1195
+ markSchemeId: string | null;
1196
+ gradingBoundaryId: string | null;
1197
+ title: string;
1198
+ instructions: string;
1199
+ dueDate: Date;
1200
+ createdAt: Date | null;
1201
+ modifiedAt: Date | null;
1202
+ teacherId: string;
1203
+ sectionId: string | null;
1204
+ graded: boolean;
1205
+ maxGrade: number | null;
1206
+ weight: number;
1207
+ eventId: string | null;
1208
+ };
1209
+ attachments: {
1210
+ path: string;
1211
+ type: string;
1212
+ id: string;
1213
+ name: string;
1214
+ userId: string | null;
1215
+ assignmentId: string | null;
1216
+ submissionId: string | null;
1217
+ size: number | null;
1218
+ uploadedAt: Date | null;
1219
+ thumbnailId: string | null;
1220
+ annotationId: string | null;
1221
+ }[];
1222
+ } & {
1223
+ id: string;
1224
+ studentId: string;
1225
+ assignmentId: string;
1226
+ gradeReceived: number | null;
1227
+ createdAt: Date;
1228
+ modifiedAt: Date;
1229
+ rubricState: string | null;
1230
+ submittedAt: Date | null;
1231
+ submitted: boolean | null;
1232
+ returned: boolean | null;
1233
+ };
1234
+ }>;
1235
+ attachToEvent: import("@trpc/server").TRPCMutationProcedure<{
1236
+ input: {
1237
+ [x: string]: unknown;
1238
+ classId: string;
1239
+ assignmentId: string;
1240
+ eventId: string;
1241
+ };
1242
+ output: {
1243
+ assignment: {
1244
+ section: {
1245
+ id: string;
1246
+ name: string;
1247
+ } | null;
1248
+ teacher: {
1249
+ id: string;
1250
+ username: string;
1251
+ };
1252
+ attachments: {
1253
+ type: string;
1254
+ id: string;
1255
+ name: string;
1256
+ }[];
1257
+ eventAttached: {
1258
+ id: string;
1259
+ name: string | null;
1260
+ startTime: Date;
1261
+ endTime: Date;
1262
+ } | null;
1263
+ } & {
1264
+ type: import(".prisma/client").$Enums.AssignmentType;
1265
+ id: string;
1266
+ classId: string;
1267
+ markSchemeId: string | null;
1268
+ gradingBoundaryId: string | null;
1269
+ title: string;
1270
+ instructions: string;
1271
+ dueDate: Date;
1272
+ createdAt: Date | null;
1273
+ modifiedAt: Date | null;
1274
+ teacherId: string;
1275
+ sectionId: string | null;
1276
+ graded: boolean;
1277
+ maxGrade: number | null;
1278
+ weight: number;
1279
+ eventId: string | null;
1280
+ };
1281
+ };
1282
+ }>;
1283
+ detachEvent: import("@trpc/server").TRPCMutationProcedure<{
1284
+ input: {
1285
+ [x: string]: unknown;
1286
+ classId: string;
1287
+ assignmentId: string;
1288
+ };
1289
+ output: {
1290
+ assignment: {
1291
+ section: {
1292
+ id: string;
1293
+ name: string;
1294
+ } | null;
1295
+ teacher: {
1296
+ id: string;
1297
+ username: string;
1298
+ };
1299
+ attachments: {
1300
+ type: string;
1301
+ id: string;
1302
+ name: string;
1303
+ }[];
1304
+ eventAttached: {
1305
+ id: string;
1306
+ name: string | null;
1307
+ startTime: Date;
1308
+ endTime: Date;
1309
+ } | null;
1310
+ } & {
1311
+ type: import(".prisma/client").$Enums.AssignmentType;
1312
+ id: string;
1313
+ classId: string;
1314
+ markSchemeId: string | null;
1315
+ gradingBoundaryId: string | null;
1316
+ title: string;
1317
+ instructions: string;
1318
+ dueDate: Date;
1319
+ createdAt: Date | null;
1320
+ modifiedAt: Date | null;
1321
+ teacherId: string;
1322
+ sectionId: string | null;
1323
+ graded: boolean;
1324
+ maxGrade: number | null;
1325
+ weight: number;
1326
+ eventId: string | null;
1327
+ };
1328
+ };
1329
+ }>;
1330
+ getAvailableEvents: import("@trpc/server").TRPCQueryProcedure<{
1331
+ input: {
1332
+ [x: string]: unknown;
1333
+ classId: string;
1334
+ assignmentId: string;
1335
+ };
1336
+ output: {
1337
+ events: {
1338
+ id: string;
1339
+ name: string | null;
1340
+ remarks: string | null;
1341
+ startTime: Date;
1342
+ endTime: Date;
1343
+ location: string | null;
1344
+ }[];
1345
+ };
1346
+ }>;
1347
+ dueToday: import("@trpc/server").TRPCQueryProcedure<{
1348
+ input: void;
1349
+ output: {
1350
+ dueDate: string;
1351
+ type: import(".prisma/client").$Enums.AssignmentType;
1352
+ id: string;
1353
+ class: {
1354
+ id: string;
1355
+ name: string;
1356
+ };
1357
+ title: string;
1358
+ graded: boolean;
1359
+ maxGrade: number | null;
1360
+ }[];
1361
+ }>;
1362
+ attachMarkScheme: import("@trpc/server").TRPCMutationProcedure<{
1363
+ input: {
1364
+ [x: string]: unknown;
1365
+ classId: string;
1366
+ assignmentId: string;
1367
+ markSchemeId: string | null;
1368
+ };
1369
+ output: {
1370
+ section: {
1371
+ id: string;
1372
+ name: string;
1373
+ classId: string;
1374
+ } | null;
1375
+ teacher: {
1376
+ id: string;
1377
+ username: string;
1378
+ email: string;
1379
+ password: string;
1380
+ verified: boolean;
1381
+ profileId: string | null;
1382
+ };
1383
+ attachments: {
1384
+ path: string;
1385
+ type: string;
1386
+ id: string;
1387
+ name: string;
1388
+ userId: string | null;
1389
+ assignmentId: string | null;
1390
+ submissionId: string | null;
1391
+ size: number | null;
1392
+ uploadedAt: Date | null;
1393
+ thumbnailId: string | null;
1394
+ annotationId: string | null;
1395
+ }[];
1396
+ eventAttached: {
1397
+ id: string;
1398
+ name: string | null;
1399
+ color: string | null;
1400
+ classId: string | null;
1401
+ userId: string | null;
1402
+ remarks: string | null;
1403
+ startTime: Date;
1404
+ endTime: Date;
1405
+ location: string | null;
1406
+ } | null;
1407
+ markScheme: {
1408
+ id: string;
1409
+ classId: string;
1410
+ structured: string;
1411
+ } | null;
1412
+ } & {
1413
+ type: import(".prisma/client").$Enums.AssignmentType;
1414
+ id: string;
1415
+ classId: string;
1416
+ markSchemeId: string | null;
1417
+ gradingBoundaryId: string | null;
1418
+ title: string;
1419
+ instructions: string;
1420
+ dueDate: Date;
1421
+ createdAt: Date | null;
1422
+ modifiedAt: Date | null;
1423
+ teacherId: string;
1424
+ sectionId: string | null;
1425
+ graded: boolean;
1426
+ maxGrade: number | null;
1427
+ weight: number;
1428
+ eventId: string | null;
1429
+ };
1430
+ }>;
1431
+ detachMarkScheme: import("@trpc/server").TRPCMutationProcedure<{
1432
+ input: {
1433
+ [x: string]: unknown;
1434
+ classId: string;
1435
+ assignmentId: string;
1436
+ };
1437
+ output: {
1438
+ section: {
1439
+ id: string;
1440
+ name: string;
1441
+ classId: string;
1442
+ } | null;
1443
+ teacher: {
1444
+ id: string;
1445
+ username: string;
1446
+ email: string;
1447
+ password: string;
1448
+ verified: boolean;
1449
+ profileId: string | null;
1450
+ };
1451
+ attachments: {
1452
+ path: string;
1453
+ type: string;
1454
+ id: string;
1455
+ name: string;
1456
+ userId: string | null;
1457
+ assignmentId: string | null;
1458
+ submissionId: string | null;
1459
+ size: number | null;
1460
+ uploadedAt: Date | null;
1461
+ thumbnailId: string | null;
1462
+ annotationId: string | null;
1463
+ }[];
1464
+ eventAttached: {
1465
+ id: string;
1466
+ name: string | null;
1467
+ color: string | null;
1468
+ classId: string | null;
1469
+ userId: string | null;
1470
+ remarks: string | null;
1471
+ startTime: Date;
1472
+ endTime: Date;
1473
+ location: string | null;
1474
+ } | null;
1475
+ markScheme: {
1476
+ id: string;
1477
+ classId: string;
1478
+ structured: string;
1479
+ } | null;
1480
+ } & {
1481
+ type: import(".prisma/client").$Enums.AssignmentType;
1482
+ id: string;
1483
+ classId: string;
1484
+ markSchemeId: string | null;
1485
+ gradingBoundaryId: string | null;
1486
+ title: string;
1487
+ instructions: string;
1488
+ dueDate: Date;
1489
+ createdAt: Date | null;
1490
+ modifiedAt: Date | null;
1491
+ teacherId: string;
1492
+ sectionId: string | null;
1493
+ graded: boolean;
1494
+ maxGrade: number | null;
1495
+ weight: number;
1496
+ eventId: string | null;
1497
+ };
1498
+ }>;
1499
+ attachGradingBoundary: import("@trpc/server").TRPCMutationProcedure<{
1500
+ input: {
1501
+ [x: string]: unknown;
1502
+ classId: string;
1503
+ assignmentId: string;
1504
+ gradingBoundaryId: string | null;
1505
+ };
1506
+ output: {
1507
+ section: {
1508
+ id: string;
1509
+ name: string;
1510
+ classId: string;
1511
+ } | null;
1512
+ teacher: {
1513
+ id: string;
1514
+ username: string;
1515
+ email: string;
1516
+ password: string;
1517
+ verified: boolean;
1518
+ profileId: string | null;
1519
+ };
1520
+ attachments: {
1521
+ path: string;
1522
+ type: string;
1523
+ id: string;
1524
+ name: string;
1525
+ userId: string | null;
1526
+ assignmentId: string | null;
1527
+ submissionId: string | null;
1528
+ size: number | null;
1529
+ uploadedAt: Date | null;
1530
+ thumbnailId: string | null;
1531
+ annotationId: string | null;
1532
+ }[];
1533
+ eventAttached: {
1534
+ id: string;
1535
+ name: string | null;
1536
+ color: string | null;
1537
+ classId: string | null;
1538
+ userId: string | null;
1539
+ remarks: string | null;
1540
+ startTime: Date;
1541
+ endTime: Date;
1542
+ location: string | null;
1543
+ } | null;
1544
+ gradingBoundary: {
1545
+ id: string;
1546
+ classId: string;
1547
+ structured: string;
1548
+ } | null;
1549
+ } & {
1550
+ type: import(".prisma/client").$Enums.AssignmentType;
1551
+ id: string;
1552
+ classId: string;
1553
+ markSchemeId: string | null;
1554
+ gradingBoundaryId: string | null;
1555
+ title: string;
1556
+ instructions: string;
1557
+ dueDate: Date;
1558
+ createdAt: Date | null;
1559
+ modifiedAt: Date | null;
1560
+ teacherId: string;
1561
+ sectionId: string | null;
1562
+ graded: boolean;
1563
+ maxGrade: number | null;
1564
+ weight: number;
1565
+ eventId: string | null;
1566
+ };
1567
+ }>;
1568
+ }>>;
1569
+ user: import("@trpc/server/dist/unstable-core-do-not-import").BuiltRouter<{
1570
+ ctx: import("../trpc").Context;
1571
+ meta: object;
1572
+ errorShape: {
1573
+ data: {
1574
+ zodError: import("zod").typeToFlattenedError<any, string> | null;
1575
+ code: import("@trpc/server/dist/unstable-core-do-not-import").TRPC_ERROR_CODE_KEY;
1576
+ httpStatus: number;
1577
+ path?: string;
1578
+ stack?: string;
1579
+ };
1580
+ message: string;
1581
+ code: import("@trpc/server/dist/unstable-core-do-not-import").TRPC_ERROR_CODE_NUMBER;
1582
+ };
1583
+ transformer: false;
1584
+ }, import("@trpc/server/dist/unstable-core-do-not-import").DecorateCreateRouterOptions<{
1585
+ getProfile: import("@trpc/server").TRPCQueryProcedure<{
1586
+ input: void;
1587
+ output: {
1588
+ id: string;
1589
+ username: string;
1590
+ profile: {
1591
+ id: string;
1592
+ userId: string;
1593
+ } | null;
1594
+ };
1595
+ }>;
1596
+ updateProfile: import("@trpc/server").TRPCMutationProcedure<{
1597
+ input: {
1598
+ profile: Record<string, any>;
1599
+ profilePicture?: {
1600
+ type: string;
1601
+ name: string;
1602
+ data: string;
1603
+ size: number;
1604
+ } | undefined;
1605
+ };
1606
+ output: {
1607
+ id: string;
1608
+ username: string;
1609
+ profile: {
1610
+ id: string;
1611
+ userId: string;
1612
+ } | null;
1613
+ };
1614
+ }>;
1615
+ }>>;
1616
+ section: import("@trpc/server/dist/unstable-core-do-not-import").BuiltRouter<{
1617
+ ctx: import("../trpc").Context;
1618
+ meta: object;
1619
+ errorShape: {
1620
+ data: {
1621
+ zodError: import("zod").typeToFlattenedError<any, string> | null;
1622
+ code: import("@trpc/server/dist/unstable-core-do-not-import").TRPC_ERROR_CODE_KEY;
1623
+ httpStatus: number;
1624
+ path?: string;
1625
+ stack?: string;
1626
+ };
1627
+ message: string;
1628
+ code: import("@trpc/server/dist/unstable-core-do-not-import").TRPC_ERROR_CODE_NUMBER;
1629
+ };
1630
+ transformer: false;
1631
+ }, import("@trpc/server/dist/unstable-core-do-not-import").DecorateCreateRouterOptions<{
1632
+ create: import("@trpc/server").TRPCMutationProcedure<{
1633
+ input: {
1634
+ name: string;
1635
+ classId: string;
1636
+ };
1637
+ output: {
1638
+ id: string;
1639
+ name: string;
1640
+ classId: string;
1641
+ };
1642
+ }>;
1643
+ update: import("@trpc/server").TRPCMutationProcedure<{
1644
+ input: {
1645
+ id: string;
1646
+ name: string;
1647
+ classId: string;
1648
+ };
1649
+ output: {
1650
+ id: string;
1651
+ name: string;
1652
+ classId: string;
1653
+ };
1654
+ }>;
1655
+ delete: import("@trpc/server").TRPCMutationProcedure<{
1656
+ input: {
1657
+ id: string;
1658
+ classId: string;
1659
+ };
1660
+ output: {
1661
+ id: string;
1662
+ };
1663
+ }>;
1664
+ }>>;
1665
+ attendance: import("@trpc/server/dist/unstable-core-do-not-import").BuiltRouter<{
1666
+ ctx: import("../trpc").Context;
1667
+ meta: object;
1668
+ errorShape: {
1669
+ data: {
1670
+ zodError: import("zod").typeToFlattenedError<any, string> | null;
1671
+ code: import("@trpc/server/dist/unstable-core-do-not-import").TRPC_ERROR_CODE_KEY;
1672
+ httpStatus: number;
1673
+ path?: string;
1674
+ stack?: string;
1675
+ };
1676
+ message: string;
1677
+ code: import("@trpc/server/dist/unstable-core-do-not-import").TRPC_ERROR_CODE_NUMBER;
1678
+ };
1679
+ transformer: false;
1680
+ }, import("@trpc/server/dist/unstable-core-do-not-import").DecorateCreateRouterOptions<{
1681
+ get: import("@trpc/server").TRPCQueryProcedure<{
1682
+ input: {
1683
+ classId: string;
1684
+ eventId?: string | undefined;
1685
+ };
1686
+ output: ({
1687
+ event: {
1688
+ id: string;
1689
+ name: string | null;
1690
+ color: string | null;
1691
+ startTime: Date;
1692
+ endTime: Date;
1693
+ location: string | null;
1694
+ } | null;
1695
+ late: {
1696
+ id: string;
1697
+ username: string;
1698
+ }[];
1699
+ present: {
1700
+ id: string;
1701
+ username: string;
1702
+ }[];
1703
+ absent: {
1704
+ id: string;
1705
+ username: string;
1706
+ }[];
1707
+ } & {
1708
+ id: string;
1709
+ classId: string;
1710
+ date: Date;
1711
+ eventId: string | null;
1712
+ })[];
1713
+ }>;
1714
+ update: import("@trpc/server").TRPCMutationProcedure<{
1715
+ input: {
1716
+ attendance: {
1717
+ late: {
1718
+ id: string;
1719
+ username: string;
1720
+ }[];
1721
+ present: {
1722
+ id: string;
1723
+ username: string;
1724
+ }[];
1725
+ absent: {
1726
+ id: string;
1727
+ username: string;
1728
+ }[];
1729
+ eventId?: string | undefined;
1730
+ };
1731
+ classId: string;
1732
+ eventId?: string | undefined;
1733
+ };
1734
+ output: {
1735
+ event: {
1736
+ id: string;
1737
+ name: string | null;
1738
+ startTime: Date;
1739
+ endTime: Date;
1740
+ location: string | null;
1741
+ } | null;
1742
+ late: {
1743
+ id: string;
1744
+ username: string;
1745
+ }[];
1746
+ present: {
1747
+ id: string;
1748
+ username: string;
1749
+ }[];
1750
+ absent: {
1751
+ id: string;
1752
+ username: string;
1753
+ }[];
1754
+ } & {
1755
+ id: string;
1756
+ classId: string;
1757
+ date: Date;
1758
+ eventId: string | null;
1759
+ };
1760
+ }>;
1761
+ }>>;
1762
+ event: import("@trpc/server/dist/unstable-core-do-not-import").BuiltRouter<{
1763
+ ctx: import("../trpc").Context;
1764
+ meta: object;
1765
+ errorShape: {
1766
+ data: {
1767
+ zodError: import("zod").typeToFlattenedError<any, string> | null;
1768
+ code: import("@trpc/server/dist/unstable-core-do-not-import").TRPC_ERROR_CODE_KEY;
1769
+ httpStatus: number;
1770
+ path?: string;
1771
+ stack?: string;
1772
+ };
1773
+ message: string;
1774
+ code: import("@trpc/server/dist/unstable-core-do-not-import").TRPC_ERROR_CODE_NUMBER;
1775
+ };
1776
+ transformer: false;
1777
+ }, import("@trpc/server/dist/unstable-core-do-not-import").DecorateCreateRouterOptions<{
1778
+ get: import("@trpc/server").TRPCQueryProcedure<{
1779
+ input: {
1780
+ id: string;
1781
+ };
1782
+ output: {
1783
+ event: {
1784
+ user: {
1785
+ id: string;
1786
+ username: string;
1787
+ email: string;
1788
+ password: string;
1789
+ verified: boolean;
1790
+ profileId: string | null;
1791
+ } | null;
1792
+ class: {
1793
+ id: string;
1794
+ name: string;
1795
+ subject: string;
1796
+ color: string | null;
1797
+ section: string;
1798
+ } | null;
1799
+ assignmentsAttached: {
1800
+ type: import(".prisma/client").$Enums.AssignmentType;
1801
+ id: string;
1802
+ section: {
1803
+ id: string;
1804
+ name: string;
1805
+ } | null;
1806
+ teacher: {
1807
+ id: string;
1808
+ username: string;
1809
+ };
1810
+ title: string;
1811
+ instructions: string;
1812
+ dueDate: Date;
1813
+ graded: boolean;
1814
+ maxGrade: number | null;
1815
+ weight: number;
1816
+ attachments: {
1817
+ type: string;
1818
+ id: string;
1819
+ name: string;
1820
+ }[];
1821
+ }[];
1822
+ } & {
1823
+ id: string;
1824
+ name: string | null;
1825
+ color: string | null;
1826
+ classId: string | null;
1827
+ userId: string | null;
1828
+ remarks: string | null;
1829
+ startTime: Date;
1830
+ endTime: Date;
1831
+ location: string | null;
1832
+ };
1833
+ };
1834
+ }>;
1835
+ create: import("@trpc/server").TRPCMutationProcedure<{
1836
+ input: {
1837
+ startTime: string;
1838
+ endTime: string;
1839
+ name?: string | undefined;
1840
+ color?: string | undefined;
1841
+ classId?: string | undefined;
1842
+ remarks?: string | undefined;
1843
+ location?: string | undefined;
1844
+ };
1845
+ output: {
1846
+ event: {
1847
+ id: string;
1848
+ name: string | null;
1849
+ class: {
1850
+ id: string;
1851
+ name: string;
1852
+ } | null;
1853
+ color: string | null;
1854
+ classId: string | null;
1855
+ userId: string | null;
1856
+ remarks: string | null;
1857
+ startTime: Date;
1858
+ endTime: Date;
1859
+ location: string | null;
1860
+ };
1861
+ };
1862
+ }>;
1863
+ update: import("@trpc/server").TRPCMutationProcedure<{
1864
+ input: {
1865
+ id: string;
1866
+ data: {
1867
+ startTime: string;
1868
+ endTime: string;
1869
+ name?: string | undefined;
1870
+ color?: string | undefined;
1871
+ classId?: string | undefined;
1872
+ remarks?: string | undefined;
1873
+ location?: string | undefined;
1874
+ };
1875
+ };
1876
+ output: {
1877
+ event: {
1878
+ id: string;
1879
+ name: string | null;
1880
+ color: string | null;
1881
+ classId: string | null;
1882
+ userId: string | null;
1883
+ remarks: string | null;
1884
+ startTime: Date;
1885
+ endTime: Date;
1886
+ location: string | null;
1887
+ };
1888
+ };
1889
+ }>;
1890
+ delete: import("@trpc/server").TRPCMutationProcedure<{
1891
+ input: {
1892
+ id: string;
1893
+ };
1894
+ output: {
1895
+ success: boolean;
1896
+ };
1897
+ }>;
1898
+ attachAssignment: import("@trpc/server").TRPCMutationProcedure<{
1899
+ input: {
1900
+ assignmentId: string;
1901
+ eventId: string;
1902
+ };
1903
+ output: {
1904
+ assignment: {
1905
+ section: {
1906
+ id: string;
1907
+ name: string;
1908
+ } | null;
1909
+ teacher: {
1910
+ id: string;
1911
+ username: string;
1912
+ };
1913
+ attachments: {
1914
+ type: string;
1915
+ id: string;
1916
+ name: string;
1917
+ }[];
1918
+ } & {
1919
+ type: import(".prisma/client").$Enums.AssignmentType;
1920
+ id: string;
1921
+ classId: string;
1922
+ markSchemeId: string | null;
1923
+ gradingBoundaryId: string | null;
1924
+ title: string;
1925
+ instructions: string;
1926
+ dueDate: Date;
1927
+ createdAt: Date | null;
1928
+ modifiedAt: Date | null;
1929
+ teacherId: string;
1930
+ sectionId: string | null;
1931
+ graded: boolean;
1932
+ maxGrade: number | null;
1933
+ weight: number;
1934
+ eventId: string | null;
1935
+ };
1936
+ };
1937
+ }>;
1938
+ detachAssignment: import("@trpc/server").TRPCMutationProcedure<{
1939
+ input: {
1940
+ assignmentId: string;
1941
+ eventId: string;
1942
+ };
1943
+ output: {
1944
+ assignment: {
1945
+ section: {
1946
+ id: string;
1947
+ name: string;
1948
+ } | null;
1949
+ teacher: {
1950
+ id: string;
1951
+ username: string;
1952
+ };
1953
+ attachments: {
1954
+ type: string;
1955
+ id: string;
1956
+ name: string;
1957
+ }[];
1958
+ } & {
1959
+ type: import(".prisma/client").$Enums.AssignmentType;
1960
+ id: string;
1961
+ classId: string;
1962
+ markSchemeId: string | null;
1963
+ gradingBoundaryId: string | null;
1964
+ title: string;
1965
+ instructions: string;
1966
+ dueDate: Date;
1967
+ createdAt: Date | null;
1968
+ modifiedAt: Date | null;
1969
+ teacherId: string;
1970
+ sectionId: string | null;
1971
+ graded: boolean;
1972
+ maxGrade: number | null;
1973
+ weight: number;
1974
+ eventId: string | null;
1975
+ };
1976
+ };
1977
+ }>;
1978
+ getAvailableAssignments: import("@trpc/server").TRPCQueryProcedure<{
1979
+ input: {
1980
+ eventId: string;
1981
+ };
1982
+ output: {
1983
+ assignments: {
1984
+ type: import(".prisma/client").$Enums.AssignmentType;
1985
+ id: string;
1986
+ section: {
1987
+ id: string;
1988
+ name: string;
1989
+ } | null;
1990
+ teacher: {
1991
+ id: string;
1992
+ username: string;
1993
+ };
1994
+ title: string;
1995
+ instructions: string;
1996
+ dueDate: Date;
1997
+ graded: boolean;
1998
+ maxGrade: number | null;
1999
+ weight: number;
2000
+ attachments: {
2001
+ type: string;
2002
+ id: string;
2003
+ name: string;
2004
+ }[];
2005
+ }[];
2006
+ };
2007
+ }>;
2008
+ }>>;
2009
+ auth: import("@trpc/server/dist/unstable-core-do-not-import").BuiltRouter<{
2010
+ ctx: import("../trpc").Context;
2011
+ meta: object;
2012
+ errorShape: {
2013
+ data: {
2014
+ zodError: import("zod").typeToFlattenedError<any, string> | null;
2015
+ code: import("@trpc/server/dist/unstable-core-do-not-import").TRPC_ERROR_CODE_KEY;
2016
+ httpStatus: number;
2017
+ path?: string;
2018
+ stack?: string;
2019
+ };
2020
+ message: string;
2021
+ code: import("@trpc/server/dist/unstable-core-do-not-import").TRPC_ERROR_CODE_NUMBER;
2022
+ };
2023
+ transformer: false;
2024
+ }, import("@trpc/server/dist/unstable-core-do-not-import").DecorateCreateRouterOptions<{
2025
+ register: import("@trpc/server").TRPCMutationProcedure<{
2026
+ input: {
2027
+ username: string;
2028
+ email: string;
2029
+ password: string;
2030
+ confirmPassword: string;
2031
+ };
2032
+ output: {
2033
+ user: {
2034
+ id: string;
2035
+ username: string;
2036
+ };
2037
+ };
2038
+ }>;
2039
+ login: import("@trpc/server").TRPCMutationProcedure<{
2040
+ input: {
2041
+ username: string;
2042
+ password: string;
2043
+ };
2044
+ output: {
2045
+ verified: boolean;
2046
+ user: {
2047
+ email: string;
2048
+ id?: undefined;
2049
+ username?: undefined;
2050
+ };
2051
+ token?: undefined;
2052
+ } | {
2053
+ token: string;
2054
+ user: {
2055
+ id: string;
2056
+ username: string;
2057
+ email?: undefined;
2058
+ };
2059
+ verified?: undefined;
2060
+ };
2061
+ }>;
2062
+ logout: import("@trpc/server").TRPCMutationProcedure<{
2063
+ input: void;
2064
+ output: {
2065
+ success: boolean;
2066
+ };
2067
+ }>;
2068
+ check: import("@trpc/server").TRPCQueryProcedure<{
2069
+ input: void;
2070
+ output: {
2071
+ user: {
2072
+ id: string;
2073
+ username: string;
2074
+ };
2075
+ };
2076
+ }>;
2077
+ resendVerificationEmail: import("@trpc/server").TRPCMutationProcedure<{
2078
+ input: {
2079
+ email: string;
2080
+ };
2081
+ output: {
2082
+ success: boolean;
2083
+ };
2084
+ }>;
2085
+ verify: import("@trpc/server").TRPCMutationProcedure<{
2086
+ input: {
2087
+ token: string;
2088
+ };
2089
+ output: {
2090
+ success: boolean;
2091
+ };
2092
+ }>;
2093
+ }>>;
2094
+ agenda: import("@trpc/server/dist/unstable-core-do-not-import").BuiltRouter<{
2095
+ ctx: import("../trpc").Context;
2096
+ meta: object;
2097
+ errorShape: {
2098
+ data: {
2099
+ zodError: import("zod").typeToFlattenedError<any, string> | null;
2100
+ code: import("@trpc/server/dist/unstable-core-do-not-import").TRPC_ERROR_CODE_KEY;
2101
+ httpStatus: number;
2102
+ path?: string;
2103
+ stack?: string;
2104
+ };
2105
+ message: string;
2106
+ code: import("@trpc/server/dist/unstable-core-do-not-import").TRPC_ERROR_CODE_NUMBER;
2107
+ };
2108
+ transformer: false;
2109
+ }, import("@trpc/server/dist/unstable-core-do-not-import").DecorateCreateRouterOptions<{
2110
+ get: import("@trpc/server").TRPCQueryProcedure<{
2111
+ input: {
2112
+ weekStart: string;
2113
+ };
2114
+ output: {
2115
+ events: {
2116
+ personal: ({
2117
+ class: {
2118
+ id: string;
2119
+ name: string;
2120
+ subject: string;
2121
+ color: string | null;
2122
+ section: string;
2123
+ } | null;
2124
+ } & {
2125
+ id: string;
2126
+ name: string | null;
2127
+ color: string | null;
2128
+ classId: string | null;
2129
+ userId: string | null;
2130
+ remarks: string | null;
2131
+ startTime: Date;
2132
+ endTime: Date;
2133
+ location: string | null;
2134
+ })[];
2135
+ class: ({
2136
+ class: {
2137
+ id: string;
2138
+ name: string;
2139
+ subject: string;
2140
+ color: string | null;
2141
+ section: string;
2142
+ } | null;
2143
+ } & {
2144
+ id: string;
2145
+ name: string | null;
2146
+ color: string | null;
2147
+ classId: string | null;
2148
+ userId: string | null;
2149
+ remarks: string | null;
2150
+ startTime: Date;
2151
+ endTime: Date;
2152
+ location: string | null;
2153
+ })[];
2154
+ };
2155
+ };
2156
+ }>;
2157
+ }>>;
2158
+ file: import("@trpc/server/dist/unstable-core-do-not-import").BuiltRouter<{
2159
+ ctx: import("../trpc").Context;
2160
+ meta: object;
2161
+ errorShape: {
2162
+ data: {
2163
+ zodError: import("zod").typeToFlattenedError<any, string> | null;
2164
+ code: import("@trpc/server/dist/unstable-core-do-not-import").TRPC_ERROR_CODE_KEY;
2165
+ httpStatus: number;
2166
+ path?: string;
2167
+ stack?: string;
2168
+ };
2169
+ message: string;
2170
+ code: import("@trpc/server/dist/unstable-core-do-not-import").TRPC_ERROR_CODE_NUMBER;
2171
+ };
2172
+ transformer: false;
2173
+ }, import("@trpc/server/dist/unstable-core-do-not-import").DecorateCreateRouterOptions<{
2174
+ getSignedUrl: import("@trpc/server").TRPCMutationProcedure<{
2175
+ input: {
2176
+ fileId: string;
2177
+ };
2178
+ output: {
2179
+ signedUrl: string;
2180
+ };
2181
+ }>;
2182
+ }>>;
2183
+ }>>;
2184
+ export type AppRouter = typeof appRouter;
2185
+ export type RouterInputs = inferRouterInputs<AppRouter>;
2186
+ export type RouterOutputs = inferRouterOutputs<AppRouter>;
2187
+ export declare const createCaller: import("@trpc/server/dist/unstable-core-do-not-import").RouterCaller<{
2188
+ ctx: import("../trpc").Context;
2189
+ meta: object;
2190
+ errorShape: {
2191
+ data: {
2192
+ zodError: import("zod").typeToFlattenedError<any, string> | null;
2193
+ code: import("@trpc/server/dist/unstable-core-do-not-import").TRPC_ERROR_CODE_KEY;
2194
+ httpStatus: number;
2195
+ path?: string;
2196
+ stack?: string;
2197
+ };
2198
+ message: string;
2199
+ code: import("@trpc/server/dist/unstable-core-do-not-import").TRPC_ERROR_CODE_NUMBER;
2200
+ };
2201
+ transformer: false;
2202
+ }, import("@trpc/server/dist/unstable-core-do-not-import").DecorateCreateRouterOptions<{
2203
+ class: import("@trpc/server/dist/unstable-core-do-not-import").BuiltRouter<{
2204
+ ctx: import("../trpc").Context;
2205
+ meta: object;
2206
+ errorShape: {
2207
+ data: {
2208
+ zodError: import("zod").typeToFlattenedError<any, string> | null;
2209
+ code: import("@trpc/server/dist/unstable-core-do-not-import").TRPC_ERROR_CODE_KEY;
2210
+ httpStatus: number;
2211
+ path?: string;
2212
+ stack?: string;
2213
+ };
2214
+ message: string;
2215
+ code: import("@trpc/server/dist/unstable-core-do-not-import").TRPC_ERROR_CODE_NUMBER;
2216
+ };
2217
+ transformer: false;
2218
+ }, import("@trpc/server/dist/unstable-core-do-not-import").DecorateCreateRouterOptions<{
2219
+ getAll: import("@trpc/server").TRPCQueryProcedure<{
2220
+ input: void;
2221
+ output: {
2222
+ teacherInClass: {
2223
+ id: string;
2224
+ name: string;
2225
+ section: string;
2226
+ subject: string;
2227
+ dueToday: {
2228
+ id: string;
2229
+ title: string;
2230
+ }[];
2231
+ color: string | null;
2232
+ }[];
2233
+ studentInClass: {
2234
+ id: string;
2235
+ name: string;
2236
+ section: string;
2237
+ subject: string;
2238
+ dueToday: {
2239
+ id: string;
2240
+ title: string;
2241
+ }[];
2242
+ color: string | null;
2243
+ }[];
2244
+ adminInClass: {
2245
+ id: string;
2246
+ name: string;
2247
+ section: string;
2248
+ subject: string;
2249
+ dueToday: {
2250
+ id: string;
2251
+ title: string;
2252
+ }[];
2253
+ color: string | null;
2254
+ }[];
2255
+ };
2256
+ }>;
2257
+ get: import("@trpc/server").TRPCQueryProcedure<{
2258
+ input: {
2259
+ classId: string;
2260
+ };
2261
+ output: {
2262
+ class: {
2263
+ assignments: {
2264
+ late: boolean;
2265
+ submitted: boolean;
2266
+ returned: boolean;
2267
+ type: import(".prisma/client").$Enums.AssignmentType;
2268
+ id: string;
2269
+ submissions: {
2270
+ id: string;
2271
+ studentId: string;
2272
+ submittedAt: Date | null;
2273
+ submitted: boolean | null;
2274
+ returned: boolean | null;
2275
+ }[];
2276
+ section: {
2277
+ id: string;
2278
+ name: string;
2279
+ } | null;
2280
+ title: string;
2281
+ instructions: string;
2282
+ dueDate: Date;
2283
+ createdAt: Date | null;
2284
+ graded: boolean;
2285
+ maxGrade: number | null;
2286
+ weight: number;
2287
+ markScheme: {
2288
+ id: string;
2289
+ structured: string;
2290
+ } | null;
2291
+ gradingBoundary: {
2292
+ id: string;
2293
+ structured: string;
2294
+ } | null;
2295
+ }[];
2296
+ sections: {
2297
+ id: string;
2298
+ name: string;
2299
+ classId: string;
2300
+ }[];
2301
+ announcements: {
2302
+ id: string;
2303
+ teacher: {
2304
+ id: string;
2305
+ username: string;
2306
+ };
2307
+ createdAt: Date;
2308
+ remarks: string;
2309
+ }[];
2310
+ students: {
2311
+ id: string;
2312
+ username: string;
2313
+ }[];
2314
+ teachers: {
2315
+ id: string;
2316
+ username: string;
2317
+ }[];
2318
+ id: string;
2319
+ name: string;
2320
+ subject: string;
2321
+ color: string | null;
2322
+ section: string;
2323
+ };
2324
+ };
2325
+ }>;
2326
+ update: import("@trpc/server").TRPCMutationProcedure<{
2327
+ input: {
2328
+ [x: string]: unknown;
2329
+ classId: string;
2330
+ name?: string | undefined;
2331
+ subject?: string | undefined;
2332
+ section?: string | undefined;
2333
+ };
2334
+ output: {
2335
+ updatedClass: {
2336
+ id: string;
2337
+ name: string;
2338
+ subject: string;
2339
+ section: string;
2340
+ };
2341
+ };
2342
+ }>;
2343
+ create: import("@trpc/server").TRPCMutationProcedure<{
2344
+ input: {
2345
+ name: string;
2346
+ subject: string;
2347
+ section: string;
2348
+ students?: string[] | undefined;
2349
+ teachers?: string[] | undefined;
2350
+ };
2351
+ output: {
2352
+ id: string;
2353
+ name: string;
2354
+ subject: string;
2355
+ color: string | null;
2356
+ section: string;
2357
+ };
2358
+ }>;
2359
+ delete: import("@trpc/server").TRPCMutationProcedure<{
2360
+ input: {
2361
+ [x: string]: unknown;
2362
+ classId: string;
2363
+ id: string;
2364
+ };
2365
+ output: {
2366
+ deletedClass: {
2367
+ id: string;
2368
+ };
2369
+ };
2370
+ }>;
2371
+ addStudent: import("@trpc/server").TRPCMutationProcedure<{
2372
+ input: {
2373
+ [x: string]: unknown;
2374
+ classId: string;
2375
+ studentId: string;
2376
+ };
2377
+ output: {
2378
+ updatedClass: {
2379
+ id: string;
2380
+ name: string;
2381
+ subject: string;
2382
+ section: string;
2383
+ };
2384
+ newStudent: {
2385
+ id: string;
2386
+ username: string;
2387
+ email: string;
2388
+ password: string;
2389
+ verified: boolean;
2390
+ profileId: string | null;
2391
+ };
2392
+ };
2393
+ }>;
2394
+ changeRole: import("@trpc/server").TRPCMutationProcedure<{
2395
+ input: {
2396
+ [x: string]: unknown;
2397
+ classId: string;
2398
+ type: "teacher" | "student";
2399
+ userId: string;
2400
+ };
2401
+ output: {
2402
+ updatedClass: {
2403
+ id: string;
2404
+ name: string;
2405
+ subject: string;
2406
+ color: string | null;
2407
+ section: string;
2408
+ };
2409
+ user: {
2410
+ type: "teacher" | "student";
2411
+ id: string;
2412
+ username: string;
2413
+ };
2414
+ };
2415
+ }>;
2416
+ removeMember: import("@trpc/server").TRPCMutationProcedure<{
2417
+ input: {
2418
+ [x: string]: unknown;
2419
+ classId: string;
2420
+ userId: string;
2421
+ };
2422
+ output: {
2423
+ updatedClass: {
2424
+ id: string;
2425
+ name: string;
2426
+ subject: string;
2427
+ color: string | null;
2428
+ section: string;
2429
+ };
2430
+ removedUserId: string;
2431
+ };
2432
+ }>;
2433
+ join: import("@trpc/server").TRPCMutationProcedure<{
2434
+ input: {
2435
+ classCode: string;
2436
+ };
2437
+ output: {
2438
+ joinedClass: {
2439
+ id: string;
2440
+ name: string;
2441
+ subject: string;
2442
+ section: string;
2443
+ };
2444
+ };
2445
+ }>;
2446
+ getInviteCode: import("@trpc/server").TRPCQueryProcedure<{
2447
+ input: {
2448
+ [x: string]: unknown;
2449
+ classId: string;
2450
+ };
2451
+ output: {
2452
+ code: string;
2453
+ };
2454
+ }>;
2455
+ createInviteCode: import("@trpc/server").TRPCMutationProcedure<{
2456
+ input: {
2457
+ [x: string]: unknown;
2458
+ classId: string;
2459
+ };
2460
+ output: {
2461
+ code: string;
2462
+ };
2463
+ }>;
2464
+ getGrades: import("@trpc/server").TRPCQueryProcedure<{
2465
+ input: {
2466
+ [x: string]: unknown;
2467
+ classId: string;
2468
+ userId: string;
2469
+ };
2470
+ output: {
2471
+ grades: ({
2472
+ assignment: {
2473
+ id: string;
2474
+ title: string;
2475
+ maxGrade: number | null;
2476
+ weight: number;
2477
+ };
2478
+ } & {
2479
+ id: string;
2480
+ studentId: string;
2481
+ assignmentId: string;
2482
+ gradeReceived: number | null;
2483
+ createdAt: Date;
2484
+ modifiedAt: Date;
2485
+ rubricState: string | null;
2486
+ submittedAt: Date | null;
2487
+ submitted: boolean | null;
2488
+ returned: boolean | null;
2489
+ })[];
2490
+ };
2491
+ }>;
2492
+ updateGrade: import("@trpc/server").TRPCMutationProcedure<{
2493
+ input: {
2494
+ [x: string]: unknown;
2495
+ classId: string;
2496
+ assignmentId: string;
2497
+ submissionId: string;
2498
+ gradeReceived: number | null;
2499
+ };
2500
+ output: {
2501
+ assignment: {
2502
+ id: string;
2503
+ title: string;
2504
+ maxGrade: number | null;
2505
+ weight: number;
2506
+ };
2507
+ } & {
2508
+ id: string;
2509
+ studentId: string;
2510
+ assignmentId: string;
2511
+ gradeReceived: number | null;
2512
+ createdAt: Date;
2513
+ modifiedAt: Date;
2514
+ rubricState: string | null;
2515
+ submittedAt: Date | null;
2516
+ submitted: boolean | null;
2517
+ returned: boolean | null;
2518
+ };
2519
+ }>;
2520
+ getEvents: import("@trpc/server").TRPCQueryProcedure<{
2521
+ input: {
2522
+ [x: string]: unknown;
2523
+ classId: string;
2524
+ };
2525
+ output: {
2526
+ name: string | null;
2527
+ startTime: Date;
2528
+ endTime: Date;
2529
+ }[];
2530
+ }>;
2531
+ listMarkSchemes: import("@trpc/server").TRPCQueryProcedure<{
2532
+ input: {
2533
+ [x: string]: unknown;
2534
+ classId: string;
2535
+ };
2536
+ output: {
2537
+ id: string;
2538
+ classId: string;
2539
+ structured: string;
2540
+ }[];
2541
+ }>;
2542
+ createMarkScheme: import("@trpc/server").TRPCMutationProcedure<{
2543
+ input: {
2544
+ [x: string]: unknown;
2545
+ classId: string;
2546
+ structure: string;
2547
+ };
2548
+ output: {
2549
+ id: string;
2550
+ classId: string;
2551
+ structured: string;
2552
+ };
2553
+ }>;
2554
+ updateMarkScheme: import("@trpc/server").TRPCMutationProcedure<{
2555
+ input: {
2556
+ [x: string]: unknown;
2557
+ classId: string;
2558
+ structure: string;
2559
+ markSchemeId: string;
2560
+ };
2561
+ output: {
2562
+ id: string;
2563
+ classId: string;
2564
+ structured: string;
2565
+ };
2566
+ }>;
2567
+ deleteMarkScheme: import("@trpc/server").TRPCMutationProcedure<{
2568
+ input: {
2569
+ [x: string]: unknown;
2570
+ classId: string;
2571
+ markSchemeId: string;
2572
+ };
2573
+ output: {
2574
+ id: string;
2575
+ classId: string;
2576
+ structured: string;
2577
+ };
2578
+ }>;
2579
+ listGradingBoundaries: import("@trpc/server").TRPCQueryProcedure<{
2580
+ input: {
2581
+ [x: string]: unknown;
2582
+ classId: string;
2583
+ };
2584
+ output: {
2585
+ id: string;
2586
+ classId: string;
2587
+ structured: string;
2588
+ }[];
2589
+ }>;
2590
+ createGradingBoundary: import("@trpc/server").TRPCMutationProcedure<{
2591
+ input: {
2592
+ [x: string]: unknown;
2593
+ classId: string;
2594
+ structure: string;
2595
+ };
2596
+ output: {
2597
+ id: string;
2598
+ classId: string;
2599
+ structured: string;
2600
+ };
2601
+ }>;
2602
+ updateGradingBoundary: import("@trpc/server").TRPCMutationProcedure<{
2603
+ input: {
2604
+ [x: string]: unknown;
2605
+ classId: string;
2606
+ structure: string;
2607
+ gradingBoundaryId: string;
2608
+ };
2609
+ output: {
2610
+ id: string;
2611
+ classId: string;
2612
+ structured: string;
2613
+ };
2614
+ }>;
2615
+ deleteGradingBoundary: import("@trpc/server").TRPCMutationProcedure<{
2616
+ input: {
2617
+ [x: string]: unknown;
2618
+ classId: string;
2619
+ gradingBoundaryId: string;
2620
+ };
2621
+ output: {
2622
+ id: string;
2623
+ classId: string;
2624
+ structured: string;
2625
+ };
2626
+ }>;
2627
+ }>>;
2628
+ announcement: import("@trpc/server/dist/unstable-core-do-not-import").BuiltRouter<{
2629
+ ctx: import("../trpc").Context;
2630
+ meta: object;
2631
+ errorShape: {
2632
+ data: {
2633
+ zodError: import("zod").typeToFlattenedError<any, string> | null;
2634
+ code: import("@trpc/server/dist/unstable-core-do-not-import").TRPC_ERROR_CODE_KEY;
2635
+ httpStatus: number;
2636
+ path?: string;
2637
+ stack?: string;
2638
+ };
2639
+ message: string;
2640
+ code: import("@trpc/server/dist/unstable-core-do-not-import").TRPC_ERROR_CODE_NUMBER;
2641
+ };
2642
+ transformer: false;
2643
+ }, import("@trpc/server/dist/unstable-core-do-not-import").DecorateCreateRouterOptions<{
2644
+ getAll: import("@trpc/server").TRPCQueryProcedure<{
2645
+ input: {
2646
+ [x: string]: unknown;
2647
+ classId: string;
2648
+ };
2649
+ output: {
2650
+ announcements: {
2651
+ id: string;
2652
+ teacher: {
2653
+ id: string;
2654
+ username: string;
2655
+ };
2656
+ createdAt: Date;
2657
+ remarks: string;
2658
+ }[];
2659
+ };
2660
+ }>;
2661
+ create: import("@trpc/server").TRPCMutationProcedure<{
2662
+ input: {
2663
+ [x: string]: unknown;
2664
+ classId: string;
2665
+ remarks: string;
2666
+ };
2667
+ output: {
2668
+ announcement: {
2669
+ id: string;
2670
+ teacher: {
2671
+ id: string;
2672
+ username: string;
2673
+ };
2674
+ createdAt: Date;
2675
+ remarks: string;
2676
+ };
2677
+ };
2678
+ }>;
2679
+ update: import("@trpc/server").TRPCMutationProcedure<{
2680
+ input: {
2681
+ id: string;
2682
+ data: {
2683
+ content: string;
2684
+ };
2685
+ };
2686
+ output: {
2687
+ announcement: {
2688
+ id: string;
2689
+ classId: string;
2690
+ createdAt: Date;
2691
+ teacherId: string;
2692
+ remarks: string;
2693
+ };
2694
+ };
2695
+ }>;
2696
+ delete: import("@trpc/server").TRPCMutationProcedure<{
2697
+ input: {
2698
+ id: string;
2699
+ };
2700
+ output: {
2701
+ success: boolean;
2702
+ };
2703
+ }>;
2704
+ }>>;
2705
+ assignment: import("@trpc/server/dist/unstable-core-do-not-import").BuiltRouter<{
2706
+ ctx: import("../trpc").Context;
2707
+ meta: object;
2708
+ errorShape: {
2709
+ data: {
2710
+ zodError: import("zod").typeToFlattenedError<any, string> | null;
2711
+ code: import("@trpc/server/dist/unstable-core-do-not-import").TRPC_ERROR_CODE_KEY;
2712
+ httpStatus: number;
2713
+ path?: string;
2714
+ stack?: string;
2715
+ };
2716
+ message: string;
2717
+ code: import("@trpc/server/dist/unstable-core-do-not-import").TRPC_ERROR_CODE_NUMBER;
2718
+ };
2719
+ transformer: false;
2720
+ }, import("@trpc/server/dist/unstable-core-do-not-import").DecorateCreateRouterOptions<{
2721
+ create: import("@trpc/server").TRPCMutationProcedure<{
2722
+ input: {
2723
+ classId: string;
2724
+ title: string;
2725
+ instructions: string;
2726
+ dueDate: string;
2727
+ type?: "HOMEWORK" | "QUIZ" | "TEST" | "PROJECT" | "ESSAY" | "DISCUSSION" | "PRESENTATION" | "LAB" | "OTHER" | undefined;
2728
+ files?: {
2729
+ type: string;
2730
+ name: string;
2731
+ data: string;
2732
+ size: number;
2733
+ }[] | undefined;
2734
+ markSchemeId?: string | undefined;
2735
+ gradingBoundaryId?: string | undefined;
2736
+ sectionId?: string | undefined;
2737
+ graded?: boolean | undefined;
2738
+ maxGrade?: number | undefined;
2739
+ weight?: number | undefined;
2740
+ };
2741
+ output: {
2742
+ type: import(".prisma/client").$Enums.AssignmentType;
2743
+ id: string;
2744
+ class: {
2745
+ id: string;
2746
+ name: string;
2747
+ };
2748
+ section: {
2749
+ id: string;
2750
+ name: string;
2751
+ } | null;
2752
+ teacher: {
2753
+ id: string;
2754
+ username: string;
2755
+ };
2756
+ title: string;
2757
+ instructions: string;
2758
+ dueDate: Date;
2759
+ graded: boolean;
2760
+ maxGrade: number | null;
2761
+ weight: number;
2762
+ attachments: {
2763
+ type: string;
2764
+ id: string;
2765
+ name: string;
2766
+ }[];
2767
+ };
2768
+ }>;
2769
+ update: import("@trpc/server").TRPCMutationProcedure<{
2770
+ input: {
2771
+ id: string;
2772
+ classId: string;
2773
+ type?: "HOMEWORK" | "QUIZ" | "TEST" | "PROJECT" | "ESSAY" | "DISCUSSION" | "PRESENTATION" | "LAB" | "OTHER" | undefined;
2774
+ files?: {
2775
+ type: string;
2776
+ name: string;
2777
+ data: string;
2778
+ size: number;
2779
+ }[] | undefined;
2780
+ title?: string | undefined;
2781
+ instructions?: string | undefined;
2782
+ dueDate?: string | undefined;
2783
+ sectionId?: string | null | undefined;
2784
+ graded?: boolean | undefined;
2785
+ maxGrade?: number | undefined;
2786
+ weight?: number | undefined;
2787
+ removedAttachments?: string[] | undefined;
2788
+ };
2789
+ output: {
2790
+ type: import(".prisma/client").$Enums.AssignmentType;
2791
+ id: string;
2792
+ submissions: {
2793
+ student: {
2794
+ id: string;
2795
+ username: string;
2796
+ };
2797
+ }[];
2798
+ class: {
2799
+ id: string;
2800
+ name: string;
2801
+ subject: string;
2802
+ color: string | null;
2803
+ section: string;
2804
+ };
2805
+ section: {
2806
+ id: string;
2807
+ name: string;
2808
+ classId: string;
2809
+ } | null;
2810
+ teacher: {
2811
+ id: string;
2812
+ username: string;
2813
+ email: string;
2814
+ password: string;
2815
+ verified: boolean;
2816
+ profileId: string | null;
2817
+ };
2818
+ title: string;
2819
+ instructions: string;
2820
+ dueDate: Date;
2821
+ createdAt: Date | null;
2822
+ graded: boolean;
2823
+ maxGrade: number | null;
2824
+ weight: number;
2825
+ attachments: {
2826
+ type: string;
2827
+ id: string;
2828
+ name: string;
2829
+ thumbnail: {
2830
+ path: string;
2831
+ type: string;
2832
+ id: string;
2833
+ name: string;
2834
+ userId: string | null;
2835
+ assignmentId: string | null;
2836
+ submissionId: string | null;
2837
+ size: number | null;
2838
+ uploadedAt: Date | null;
2839
+ thumbnailId: string | null;
2840
+ annotationId: string | null;
2841
+ } | null;
2842
+ }[];
2843
+ };
2844
+ }>;
2845
+ delete: import("@trpc/server").TRPCMutationProcedure<{
2846
+ input: {
2847
+ id: string;
2848
+ classId: string;
2849
+ };
2850
+ output: {
2851
+ id: string;
2852
+ };
2853
+ }>;
2854
+ get: import("@trpc/server").TRPCQueryProcedure<{
2855
+ input: {
2856
+ id: string;
2857
+ classId: string;
2858
+ };
2859
+ output: {
2860
+ sections: {
2861
+ id: string;
2862
+ name: string;
2863
+ }[];
2864
+ submissions: {
2865
+ student: {
2866
+ id: string;
2867
+ username: string;
2868
+ };
2869
+ }[];
2870
+ class: {
2871
+ id: string;
2872
+ name: string;
2873
+ };
2874
+ section: {
2875
+ id: string;
2876
+ name: string;
2877
+ } | null;
2878
+ teacher: {
2879
+ id: string;
2880
+ username: string;
2881
+ };
2882
+ attachments: {
2883
+ path: string;
2884
+ type: string;
2885
+ id: string;
2886
+ name: string;
2887
+ size: number | null;
2888
+ thumbnailId: string | null;
2889
+ }[];
2890
+ eventAttached: {
2891
+ id: string;
2892
+ name: string | null;
2893
+ remarks: string | null;
2894
+ startTime: Date;
2895
+ endTime: Date;
2896
+ location: string | null;
2897
+ } | null;
2898
+ markScheme: {
2899
+ id: string;
2900
+ structured: string;
2901
+ } | null;
2902
+ gradingBoundary: {
2903
+ id: string;
2904
+ structured: string;
2905
+ } | null;
2906
+ type: import(".prisma/client").$Enums.AssignmentType;
2907
+ id: string;
2908
+ classId: string;
2909
+ markSchemeId: string | null;
2910
+ gradingBoundaryId: string | null;
2911
+ title: string;
2912
+ instructions: string;
2913
+ dueDate: Date;
2914
+ createdAt: Date | null;
2915
+ modifiedAt: Date | null;
2916
+ teacherId: string;
2917
+ sectionId: string | null;
2918
+ graded: boolean;
2919
+ maxGrade: number | null;
2920
+ weight: number;
2921
+ eventId: string | null;
2922
+ };
2923
+ }>;
2924
+ getSubmission: import("@trpc/server").TRPCQueryProcedure<{
2925
+ input: {
2926
+ [x: string]: unknown;
2927
+ classId: string;
2928
+ assignmentId: string;
2929
+ };
2930
+ output: ({
2931
+ student: {
2932
+ id: string;
2933
+ username: string;
2934
+ };
2935
+ assignment: {
2936
+ class: {
2937
+ id: string;
2938
+ name: string;
2939
+ subject: string;
2940
+ color: string | null;
2941
+ section: string;
2942
+ };
2943
+ markScheme: {
2944
+ id: string;
2945
+ structured: string;
2946
+ } | null;
2947
+ gradingBoundary: {
2948
+ id: string;
2949
+ structured: string;
2950
+ } | null;
2951
+ } & {
2952
+ type: import(".prisma/client").$Enums.AssignmentType;
2953
+ id: string;
2954
+ classId: string;
2955
+ markSchemeId: string | null;
2956
+ gradingBoundaryId: string | null;
2957
+ title: string;
2958
+ instructions: string;
2959
+ dueDate: Date;
2960
+ createdAt: Date | null;
2961
+ modifiedAt: Date | null;
2962
+ teacherId: string;
2963
+ sectionId: string | null;
2964
+ graded: boolean;
2965
+ maxGrade: number | null;
2966
+ weight: number;
2967
+ eventId: string | null;
2968
+ };
2969
+ attachments: {
2970
+ path: string;
2971
+ type: string;
2972
+ id: string;
2973
+ name: string;
2974
+ userId: string | null;
2975
+ assignmentId: string | null;
2976
+ submissionId: string | null;
2977
+ size: number | null;
2978
+ uploadedAt: Date | null;
2979
+ thumbnailId: string | null;
2980
+ annotationId: string | null;
2981
+ }[];
2982
+ annotations: {
2983
+ path: string;
2984
+ type: string;
2985
+ id: string;
2986
+ name: string;
2987
+ userId: string | null;
2988
+ assignmentId: string | null;
2989
+ submissionId: string | null;
2990
+ size: number | null;
2991
+ uploadedAt: Date | null;
2992
+ thumbnailId: string | null;
2993
+ annotationId: string | null;
2994
+ }[];
2995
+ } & {
2996
+ id: string;
2997
+ studentId: string;
2998
+ assignmentId: string;
2999
+ gradeReceived: number | null;
3000
+ createdAt: Date;
3001
+ modifiedAt: Date;
3002
+ rubricState: string | null;
3003
+ submittedAt: Date | null;
3004
+ submitted: boolean | null;
3005
+ returned: boolean | null;
3006
+ }) | {
3007
+ late: boolean;
3008
+ student: {
3009
+ id: string;
3010
+ username: string;
3011
+ };
3012
+ assignment: {
3013
+ class: {
3014
+ id: string;
3015
+ name: string;
3016
+ subject: string;
3017
+ color: string | null;
3018
+ section: string;
3019
+ };
3020
+ markScheme: {
3021
+ id: string;
3022
+ structured: string;
3023
+ } | null;
3024
+ gradingBoundary: {
3025
+ id: string;
3026
+ structured: string;
3027
+ } | null;
3028
+ } & {
3029
+ type: import(".prisma/client").$Enums.AssignmentType;
3030
+ id: string;
3031
+ classId: string;
3032
+ markSchemeId: string | null;
3033
+ gradingBoundaryId: string | null;
3034
+ title: string;
3035
+ instructions: string;
3036
+ dueDate: Date;
3037
+ createdAt: Date | null;
3038
+ modifiedAt: Date | null;
3039
+ teacherId: string;
3040
+ sectionId: string | null;
3041
+ graded: boolean;
3042
+ maxGrade: number | null;
3043
+ weight: number;
3044
+ eventId: string | null;
3045
+ };
3046
+ attachments: {
3047
+ path: string;
3048
+ type: string;
3049
+ id: string;
3050
+ name: string;
3051
+ userId: string | null;
3052
+ assignmentId: string | null;
3053
+ submissionId: string | null;
3054
+ size: number | null;
3055
+ uploadedAt: Date | null;
3056
+ thumbnailId: string | null;
3057
+ annotationId: string | null;
3058
+ }[];
3059
+ annotations: {
3060
+ path: string;
3061
+ type: string;
3062
+ id: string;
3063
+ name: string;
3064
+ userId: string | null;
3065
+ assignmentId: string | null;
3066
+ submissionId: string | null;
3067
+ size: number | null;
3068
+ uploadedAt: Date | null;
3069
+ thumbnailId: string | null;
3070
+ annotationId: string | null;
3071
+ }[];
3072
+ id: string;
3073
+ studentId: string;
3074
+ assignmentId: string;
3075
+ gradeReceived: number | null;
3076
+ createdAt: Date;
3077
+ modifiedAt: Date;
3078
+ rubricState: string | null;
3079
+ submittedAt: Date | null;
3080
+ submitted: boolean | null;
3081
+ returned: boolean | null;
3082
+ };
3083
+ }>;
3084
+ getSubmissionById: import("@trpc/server").TRPCQueryProcedure<{
3085
+ input: {
3086
+ [x: string]: unknown;
3087
+ classId: string;
3088
+ submissionId: string;
3089
+ };
3090
+ output: {
3091
+ late: boolean;
3092
+ student: {
3093
+ id: string;
3094
+ username: string;
3095
+ };
3096
+ assignment: {
3097
+ class: {
3098
+ id: string;
3099
+ name: string;
3100
+ subject: string;
3101
+ color: string | null;
3102
+ section: string;
3103
+ };
3104
+ markScheme: {
3105
+ id: string;
3106
+ structured: string;
3107
+ } | null;
3108
+ gradingBoundary: {
3109
+ id: string;
3110
+ structured: string;
3111
+ } | null;
3112
+ } & {
3113
+ type: import(".prisma/client").$Enums.AssignmentType;
3114
+ id: string;
3115
+ classId: string;
3116
+ markSchemeId: string | null;
3117
+ gradingBoundaryId: string | null;
3118
+ title: string;
3119
+ instructions: string;
3120
+ dueDate: Date;
3121
+ createdAt: Date | null;
3122
+ modifiedAt: Date | null;
3123
+ teacherId: string;
3124
+ sectionId: string | null;
3125
+ graded: boolean;
3126
+ maxGrade: number | null;
3127
+ weight: number;
3128
+ eventId: string | null;
3129
+ };
3130
+ attachments: {
3131
+ path: string;
3132
+ type: string;
3133
+ id: string;
3134
+ name: string;
3135
+ userId: string | null;
3136
+ assignmentId: string | null;
3137
+ submissionId: string | null;
3138
+ size: number | null;
3139
+ uploadedAt: Date | null;
3140
+ thumbnailId: string | null;
3141
+ annotationId: string | null;
3142
+ }[];
3143
+ annotations: {
3144
+ path: string;
3145
+ type: string;
3146
+ id: string;
3147
+ name: string;
3148
+ userId: string | null;
3149
+ assignmentId: string | null;
3150
+ submissionId: string | null;
3151
+ size: number | null;
3152
+ uploadedAt: Date | null;
3153
+ thumbnailId: string | null;
3154
+ annotationId: string | null;
3155
+ }[];
3156
+ id: string;
3157
+ studentId: string;
3158
+ assignmentId: string;
3159
+ gradeReceived: number | null;
3160
+ createdAt: Date;
3161
+ modifiedAt: Date;
3162
+ rubricState: string | null;
3163
+ submittedAt: Date | null;
3164
+ submitted: boolean | null;
3165
+ returned: boolean | null;
3166
+ };
3167
+ }>;
3168
+ updateSubmission: import("@trpc/server").TRPCMutationProcedure<{
3169
+ input: {
3170
+ [x: string]: unknown;
3171
+ classId: string;
3172
+ assignmentId: string;
3173
+ submissionId: string;
3174
+ removedAttachments?: string[] | undefined;
3175
+ submit?: boolean | undefined;
3176
+ newAttachments?: {
3177
+ type: string;
3178
+ name: string;
3179
+ data: string;
3180
+ size: number;
3181
+ }[] | undefined;
3182
+ };
3183
+ output: {
3184
+ student: {
3185
+ id: string;
3186
+ username: string;
3187
+ };
3188
+ assignment: {
3189
+ class: {
3190
+ id: string;
3191
+ name: string;
3192
+ subject: string;
3193
+ color: string | null;
3194
+ section: string;
3195
+ };
3196
+ markScheme: {
3197
+ id: string;
3198
+ structured: string;
3199
+ } | null;
3200
+ gradingBoundary: {
3201
+ id: string;
3202
+ structured: string;
3203
+ } | null;
3204
+ } & {
3205
+ type: import(".prisma/client").$Enums.AssignmentType;
3206
+ id: string;
3207
+ classId: string;
3208
+ markSchemeId: string | null;
3209
+ gradingBoundaryId: string | null;
3210
+ title: string;
3211
+ instructions: string;
3212
+ dueDate: Date;
3213
+ createdAt: Date | null;
3214
+ modifiedAt: Date | null;
3215
+ teacherId: string;
3216
+ sectionId: string | null;
3217
+ graded: boolean;
3218
+ maxGrade: number | null;
3219
+ weight: number;
3220
+ eventId: string | null;
3221
+ };
3222
+ attachments: {
3223
+ path: string;
3224
+ type: string;
3225
+ id: string;
3226
+ name: string;
3227
+ userId: string | null;
3228
+ assignmentId: string | null;
3229
+ submissionId: string | null;
3230
+ size: number | null;
3231
+ uploadedAt: Date | null;
3232
+ thumbnailId: string | null;
3233
+ annotationId: string | null;
3234
+ }[];
3235
+ } & {
3236
+ id: string;
3237
+ studentId: string;
3238
+ assignmentId: string;
3239
+ gradeReceived: number | null;
3240
+ createdAt: Date;
3241
+ modifiedAt: Date;
3242
+ rubricState: string | null;
3243
+ submittedAt: Date | null;
3244
+ submitted: boolean | null;
3245
+ returned: boolean | null;
3246
+ };
3247
+ }>;
3248
+ getSubmissions: import("@trpc/server").TRPCQueryProcedure<{
3249
+ input: {
3250
+ [x: string]: unknown;
3251
+ classId: string;
3252
+ assignmentId: string;
3253
+ };
3254
+ output: {
3255
+ late: boolean;
3256
+ student: {
3257
+ id: string;
3258
+ username: string;
3259
+ };
3260
+ assignment: {
3261
+ class: {
3262
+ id: string;
3263
+ name: string;
3264
+ subject: string;
3265
+ color: string | null;
3266
+ section: string;
3267
+ };
3268
+ markScheme: {
3269
+ id: string;
3270
+ structured: string;
3271
+ } | null;
3272
+ gradingBoundary: {
3273
+ id: string;
3274
+ structured: string;
3275
+ } | null;
3276
+ } & {
3277
+ type: import(".prisma/client").$Enums.AssignmentType;
3278
+ id: string;
3279
+ classId: string;
3280
+ markSchemeId: string | null;
3281
+ gradingBoundaryId: string | null;
3282
+ title: string;
3283
+ instructions: string;
3284
+ dueDate: Date;
3285
+ createdAt: Date | null;
3286
+ modifiedAt: Date | null;
3287
+ teacherId: string;
3288
+ sectionId: string | null;
3289
+ graded: boolean;
3290
+ maxGrade: number | null;
3291
+ weight: number;
3292
+ eventId: string | null;
3293
+ };
3294
+ attachments: ({
3295
+ thumbnail: {
3296
+ path: string;
3297
+ type: string;
3298
+ id: string;
3299
+ name: string;
3300
+ userId: string | null;
3301
+ assignmentId: string | null;
3302
+ submissionId: string | null;
3303
+ size: number | null;
3304
+ uploadedAt: Date | null;
3305
+ thumbnailId: string | null;
3306
+ annotationId: string | null;
3307
+ } | null;
3308
+ } & {
3309
+ path: string;
3310
+ type: string;
3311
+ id: string;
3312
+ name: string;
3313
+ userId: string | null;
3314
+ assignmentId: string | null;
3315
+ submissionId: string | null;
3316
+ size: number | null;
3317
+ uploadedAt: Date | null;
3318
+ thumbnailId: string | null;
3319
+ annotationId: string | null;
3320
+ })[];
3321
+ id: string;
3322
+ studentId: string;
3323
+ assignmentId: string;
3324
+ gradeReceived: number | null;
3325
+ createdAt: Date;
3326
+ modifiedAt: Date;
3327
+ rubricState: string | null;
3328
+ submittedAt: Date | null;
3329
+ submitted: boolean | null;
3330
+ returned: boolean | null;
3331
+ }[];
3332
+ }>;
3333
+ updateSubmissionAsTeacher: import("@trpc/server").TRPCMutationProcedure<{
3334
+ input: {
3335
+ [x: string]: unknown;
3336
+ classId: string;
3337
+ assignmentId: string;
3338
+ submissionId: string;
3339
+ gradeReceived?: number | null | undefined;
3340
+ removedAttachments?: string[] | undefined;
3341
+ newAttachments?: {
3342
+ type: string;
3343
+ name: string;
3344
+ data: string;
3345
+ size: number;
3346
+ }[] | undefined;
3347
+ return?: boolean | undefined;
3348
+ rubricGrades?: {
3349
+ criteriaId: string;
3350
+ selectedLevelId: string;
3351
+ points: number;
3352
+ comments: string;
3353
+ }[] | undefined;
3354
+ };
3355
+ output: {
3356
+ student: {
3357
+ id: string;
3358
+ username: string;
3359
+ };
3360
+ assignment: {
3361
+ class: {
3362
+ id: string;
3363
+ name: string;
3364
+ subject: string;
3365
+ color: string | null;
3366
+ section: string;
3367
+ };
3368
+ markScheme: {
3369
+ id: string;
3370
+ structured: string;
3371
+ } | null;
3372
+ gradingBoundary: {
3373
+ id: string;
3374
+ structured: string;
3375
+ } | null;
3376
+ } & {
3377
+ type: import(".prisma/client").$Enums.AssignmentType;
3378
+ id: string;
3379
+ classId: string;
3380
+ markSchemeId: string | null;
3381
+ gradingBoundaryId: string | null;
3382
+ title: string;
3383
+ instructions: string;
3384
+ dueDate: Date;
3385
+ createdAt: Date | null;
3386
+ modifiedAt: Date | null;
3387
+ teacherId: string;
3388
+ sectionId: string | null;
3389
+ graded: boolean;
3390
+ maxGrade: number | null;
3391
+ weight: number;
3392
+ eventId: string | null;
3393
+ };
3394
+ attachments: {
3395
+ path: string;
3396
+ type: string;
3397
+ id: string;
3398
+ name: string;
3399
+ userId: string | null;
3400
+ assignmentId: string | null;
3401
+ submissionId: string | null;
3402
+ size: number | null;
3403
+ uploadedAt: Date | null;
3404
+ thumbnailId: string | null;
3405
+ annotationId: string | null;
3406
+ }[];
3407
+ } & {
3408
+ id: string;
3409
+ studentId: string;
3410
+ assignmentId: string;
3411
+ gradeReceived: number | null;
3412
+ createdAt: Date;
3413
+ modifiedAt: Date;
3414
+ rubricState: string | null;
3415
+ submittedAt: Date | null;
3416
+ submitted: boolean | null;
3417
+ returned: boolean | null;
3418
+ };
3419
+ }>;
3420
+ attachToEvent: import("@trpc/server").TRPCMutationProcedure<{
3421
+ input: {
3422
+ [x: string]: unknown;
3423
+ classId: string;
3424
+ assignmentId: string;
3425
+ eventId: string;
3426
+ };
3427
+ output: {
3428
+ assignment: {
3429
+ section: {
3430
+ id: string;
3431
+ name: string;
3432
+ } | null;
3433
+ teacher: {
3434
+ id: string;
3435
+ username: string;
3436
+ };
3437
+ attachments: {
3438
+ type: string;
3439
+ id: string;
3440
+ name: string;
3441
+ }[];
3442
+ eventAttached: {
3443
+ id: string;
3444
+ name: string | null;
3445
+ startTime: Date;
3446
+ endTime: Date;
3447
+ } | null;
3448
+ } & {
3449
+ type: import(".prisma/client").$Enums.AssignmentType;
3450
+ id: string;
3451
+ classId: string;
3452
+ markSchemeId: string | null;
3453
+ gradingBoundaryId: string | null;
3454
+ title: string;
3455
+ instructions: string;
3456
+ dueDate: Date;
3457
+ createdAt: Date | null;
3458
+ modifiedAt: Date | null;
3459
+ teacherId: string;
3460
+ sectionId: string | null;
3461
+ graded: boolean;
3462
+ maxGrade: number | null;
3463
+ weight: number;
3464
+ eventId: string | null;
3465
+ };
3466
+ };
3467
+ }>;
3468
+ detachEvent: import("@trpc/server").TRPCMutationProcedure<{
3469
+ input: {
3470
+ [x: string]: unknown;
3471
+ classId: string;
3472
+ assignmentId: string;
3473
+ };
3474
+ output: {
3475
+ assignment: {
3476
+ section: {
3477
+ id: string;
3478
+ name: string;
3479
+ } | null;
3480
+ teacher: {
3481
+ id: string;
3482
+ username: string;
3483
+ };
3484
+ attachments: {
3485
+ type: string;
3486
+ id: string;
3487
+ name: string;
3488
+ }[];
3489
+ eventAttached: {
3490
+ id: string;
3491
+ name: string | null;
3492
+ startTime: Date;
3493
+ endTime: Date;
3494
+ } | null;
3495
+ } & {
3496
+ type: import(".prisma/client").$Enums.AssignmentType;
3497
+ id: string;
3498
+ classId: string;
3499
+ markSchemeId: string | null;
3500
+ gradingBoundaryId: string | null;
3501
+ title: string;
3502
+ instructions: string;
3503
+ dueDate: Date;
3504
+ createdAt: Date | null;
3505
+ modifiedAt: Date | null;
3506
+ teacherId: string;
3507
+ sectionId: string | null;
3508
+ graded: boolean;
3509
+ maxGrade: number | null;
3510
+ weight: number;
3511
+ eventId: string | null;
3512
+ };
3513
+ };
3514
+ }>;
3515
+ getAvailableEvents: import("@trpc/server").TRPCQueryProcedure<{
3516
+ input: {
3517
+ [x: string]: unknown;
3518
+ classId: string;
3519
+ assignmentId: string;
3520
+ };
3521
+ output: {
3522
+ events: {
3523
+ id: string;
3524
+ name: string | null;
3525
+ remarks: string | null;
3526
+ startTime: Date;
3527
+ endTime: Date;
3528
+ location: string | null;
3529
+ }[];
3530
+ };
3531
+ }>;
3532
+ dueToday: import("@trpc/server").TRPCQueryProcedure<{
3533
+ input: void;
3534
+ output: {
3535
+ dueDate: string;
3536
+ type: import(".prisma/client").$Enums.AssignmentType;
3537
+ id: string;
3538
+ class: {
3539
+ id: string;
3540
+ name: string;
3541
+ };
3542
+ title: string;
3543
+ graded: boolean;
3544
+ maxGrade: number | null;
3545
+ }[];
3546
+ }>;
3547
+ attachMarkScheme: import("@trpc/server").TRPCMutationProcedure<{
3548
+ input: {
3549
+ [x: string]: unknown;
3550
+ classId: string;
3551
+ assignmentId: string;
3552
+ markSchemeId: string | null;
3553
+ };
3554
+ output: {
3555
+ section: {
3556
+ id: string;
3557
+ name: string;
3558
+ classId: string;
3559
+ } | null;
3560
+ teacher: {
3561
+ id: string;
3562
+ username: string;
3563
+ email: string;
3564
+ password: string;
3565
+ verified: boolean;
3566
+ profileId: string | null;
3567
+ };
3568
+ attachments: {
3569
+ path: string;
3570
+ type: string;
3571
+ id: string;
3572
+ name: string;
3573
+ userId: string | null;
3574
+ assignmentId: string | null;
3575
+ submissionId: string | null;
3576
+ size: number | null;
3577
+ uploadedAt: Date | null;
3578
+ thumbnailId: string | null;
3579
+ annotationId: string | null;
3580
+ }[];
3581
+ eventAttached: {
3582
+ id: string;
3583
+ name: string | null;
3584
+ color: string | null;
3585
+ classId: string | null;
3586
+ userId: string | null;
3587
+ remarks: string | null;
3588
+ startTime: Date;
3589
+ endTime: Date;
3590
+ location: string | null;
3591
+ } | null;
3592
+ markScheme: {
3593
+ id: string;
3594
+ classId: string;
3595
+ structured: string;
3596
+ } | null;
3597
+ } & {
3598
+ type: import(".prisma/client").$Enums.AssignmentType;
3599
+ id: string;
3600
+ classId: string;
3601
+ markSchemeId: string | null;
3602
+ gradingBoundaryId: string | null;
3603
+ title: string;
3604
+ instructions: string;
3605
+ dueDate: Date;
3606
+ createdAt: Date | null;
3607
+ modifiedAt: Date | null;
3608
+ teacherId: string;
3609
+ sectionId: string | null;
3610
+ graded: boolean;
3611
+ maxGrade: number | null;
3612
+ weight: number;
3613
+ eventId: string | null;
3614
+ };
3615
+ }>;
3616
+ detachMarkScheme: import("@trpc/server").TRPCMutationProcedure<{
3617
+ input: {
3618
+ [x: string]: unknown;
3619
+ classId: string;
3620
+ assignmentId: string;
3621
+ };
3622
+ output: {
3623
+ section: {
3624
+ id: string;
3625
+ name: string;
3626
+ classId: string;
3627
+ } | null;
3628
+ teacher: {
3629
+ id: string;
3630
+ username: string;
3631
+ email: string;
3632
+ password: string;
3633
+ verified: boolean;
3634
+ profileId: string | null;
3635
+ };
3636
+ attachments: {
3637
+ path: string;
3638
+ type: string;
3639
+ id: string;
3640
+ name: string;
3641
+ userId: string | null;
3642
+ assignmentId: string | null;
3643
+ submissionId: string | null;
3644
+ size: number | null;
3645
+ uploadedAt: Date | null;
3646
+ thumbnailId: string | null;
3647
+ annotationId: string | null;
3648
+ }[];
3649
+ eventAttached: {
3650
+ id: string;
3651
+ name: string | null;
3652
+ color: string | null;
3653
+ classId: string | null;
3654
+ userId: string | null;
3655
+ remarks: string | null;
3656
+ startTime: Date;
3657
+ endTime: Date;
3658
+ location: string | null;
3659
+ } | null;
3660
+ markScheme: {
3661
+ id: string;
3662
+ classId: string;
3663
+ structured: string;
3664
+ } | null;
3665
+ } & {
3666
+ type: import(".prisma/client").$Enums.AssignmentType;
3667
+ id: string;
3668
+ classId: string;
3669
+ markSchemeId: string | null;
3670
+ gradingBoundaryId: string | null;
3671
+ title: string;
3672
+ instructions: string;
3673
+ dueDate: Date;
3674
+ createdAt: Date | null;
3675
+ modifiedAt: Date | null;
3676
+ teacherId: string;
3677
+ sectionId: string | null;
3678
+ graded: boolean;
3679
+ maxGrade: number | null;
3680
+ weight: number;
3681
+ eventId: string | null;
3682
+ };
3683
+ }>;
3684
+ attachGradingBoundary: import("@trpc/server").TRPCMutationProcedure<{
3685
+ input: {
3686
+ [x: string]: unknown;
3687
+ classId: string;
3688
+ assignmentId: string;
3689
+ gradingBoundaryId: string | null;
3690
+ };
3691
+ output: {
3692
+ section: {
3693
+ id: string;
3694
+ name: string;
3695
+ classId: string;
3696
+ } | null;
3697
+ teacher: {
3698
+ id: string;
3699
+ username: string;
3700
+ email: string;
3701
+ password: string;
3702
+ verified: boolean;
3703
+ profileId: string | null;
3704
+ };
3705
+ attachments: {
3706
+ path: string;
3707
+ type: string;
3708
+ id: string;
3709
+ name: string;
3710
+ userId: string | null;
3711
+ assignmentId: string | null;
3712
+ submissionId: string | null;
3713
+ size: number | null;
3714
+ uploadedAt: Date | null;
3715
+ thumbnailId: string | null;
3716
+ annotationId: string | null;
3717
+ }[];
3718
+ eventAttached: {
3719
+ id: string;
3720
+ name: string | null;
3721
+ color: string | null;
3722
+ classId: string | null;
3723
+ userId: string | null;
3724
+ remarks: string | null;
3725
+ startTime: Date;
3726
+ endTime: Date;
3727
+ location: string | null;
3728
+ } | null;
3729
+ gradingBoundary: {
3730
+ id: string;
3731
+ classId: string;
3732
+ structured: string;
3733
+ } | null;
3734
+ } & {
3735
+ type: import(".prisma/client").$Enums.AssignmentType;
3736
+ id: string;
3737
+ classId: string;
3738
+ markSchemeId: string | null;
3739
+ gradingBoundaryId: string | null;
3740
+ title: string;
3741
+ instructions: string;
3742
+ dueDate: Date;
3743
+ createdAt: Date | null;
3744
+ modifiedAt: Date | null;
3745
+ teacherId: string;
3746
+ sectionId: string | null;
3747
+ graded: boolean;
3748
+ maxGrade: number | null;
3749
+ weight: number;
3750
+ eventId: string | null;
3751
+ };
3752
+ }>;
3753
+ }>>;
3754
+ user: import("@trpc/server/dist/unstable-core-do-not-import").BuiltRouter<{
3755
+ ctx: import("../trpc").Context;
3756
+ meta: object;
3757
+ errorShape: {
3758
+ data: {
3759
+ zodError: import("zod").typeToFlattenedError<any, string> | null;
3760
+ code: import("@trpc/server/dist/unstable-core-do-not-import").TRPC_ERROR_CODE_KEY;
3761
+ httpStatus: number;
3762
+ path?: string;
3763
+ stack?: string;
3764
+ };
3765
+ message: string;
3766
+ code: import("@trpc/server/dist/unstable-core-do-not-import").TRPC_ERROR_CODE_NUMBER;
3767
+ };
3768
+ transformer: false;
3769
+ }, import("@trpc/server/dist/unstable-core-do-not-import").DecorateCreateRouterOptions<{
3770
+ getProfile: import("@trpc/server").TRPCQueryProcedure<{
3771
+ input: void;
3772
+ output: {
3773
+ id: string;
3774
+ username: string;
3775
+ profile: {
3776
+ id: string;
3777
+ userId: string;
3778
+ } | null;
3779
+ };
3780
+ }>;
3781
+ updateProfile: import("@trpc/server").TRPCMutationProcedure<{
3782
+ input: {
3783
+ profile: Record<string, any>;
3784
+ profilePicture?: {
3785
+ type: string;
3786
+ name: string;
3787
+ data: string;
3788
+ size: number;
3789
+ } | undefined;
3790
+ };
3791
+ output: {
3792
+ id: string;
3793
+ username: string;
3794
+ profile: {
3795
+ id: string;
3796
+ userId: string;
3797
+ } | null;
3798
+ };
3799
+ }>;
3800
+ }>>;
3801
+ section: import("@trpc/server/dist/unstable-core-do-not-import").BuiltRouter<{
3802
+ ctx: import("../trpc").Context;
3803
+ meta: object;
3804
+ errorShape: {
3805
+ data: {
3806
+ zodError: import("zod").typeToFlattenedError<any, string> | null;
3807
+ code: import("@trpc/server/dist/unstable-core-do-not-import").TRPC_ERROR_CODE_KEY;
3808
+ httpStatus: number;
3809
+ path?: string;
3810
+ stack?: string;
3811
+ };
3812
+ message: string;
3813
+ code: import("@trpc/server/dist/unstable-core-do-not-import").TRPC_ERROR_CODE_NUMBER;
3814
+ };
3815
+ transformer: false;
3816
+ }, import("@trpc/server/dist/unstable-core-do-not-import").DecorateCreateRouterOptions<{
3817
+ create: import("@trpc/server").TRPCMutationProcedure<{
3818
+ input: {
3819
+ name: string;
3820
+ classId: string;
3821
+ };
3822
+ output: {
3823
+ id: string;
3824
+ name: string;
3825
+ classId: string;
3826
+ };
3827
+ }>;
3828
+ update: import("@trpc/server").TRPCMutationProcedure<{
3829
+ input: {
3830
+ id: string;
3831
+ name: string;
3832
+ classId: string;
3833
+ };
3834
+ output: {
3835
+ id: string;
3836
+ name: string;
3837
+ classId: string;
3838
+ };
3839
+ }>;
3840
+ delete: import("@trpc/server").TRPCMutationProcedure<{
3841
+ input: {
3842
+ id: string;
3843
+ classId: string;
3844
+ };
3845
+ output: {
3846
+ id: string;
3847
+ };
3848
+ }>;
3849
+ }>>;
3850
+ attendance: import("@trpc/server/dist/unstable-core-do-not-import").BuiltRouter<{
3851
+ ctx: import("../trpc").Context;
3852
+ meta: object;
3853
+ errorShape: {
3854
+ data: {
3855
+ zodError: import("zod").typeToFlattenedError<any, string> | null;
3856
+ code: import("@trpc/server/dist/unstable-core-do-not-import").TRPC_ERROR_CODE_KEY;
3857
+ httpStatus: number;
3858
+ path?: string;
3859
+ stack?: string;
3860
+ };
3861
+ message: string;
3862
+ code: import("@trpc/server/dist/unstable-core-do-not-import").TRPC_ERROR_CODE_NUMBER;
3863
+ };
3864
+ transformer: false;
3865
+ }, import("@trpc/server/dist/unstable-core-do-not-import").DecorateCreateRouterOptions<{
3866
+ get: import("@trpc/server").TRPCQueryProcedure<{
3867
+ input: {
3868
+ classId: string;
3869
+ eventId?: string | undefined;
3870
+ };
3871
+ output: ({
3872
+ event: {
3873
+ id: string;
3874
+ name: string | null;
3875
+ color: string | null;
3876
+ startTime: Date;
3877
+ endTime: Date;
3878
+ location: string | null;
3879
+ } | null;
3880
+ late: {
3881
+ id: string;
3882
+ username: string;
3883
+ }[];
3884
+ present: {
3885
+ id: string;
3886
+ username: string;
3887
+ }[];
3888
+ absent: {
3889
+ id: string;
3890
+ username: string;
3891
+ }[];
3892
+ } & {
3893
+ id: string;
3894
+ classId: string;
3895
+ date: Date;
3896
+ eventId: string | null;
3897
+ })[];
3898
+ }>;
3899
+ update: import("@trpc/server").TRPCMutationProcedure<{
3900
+ input: {
3901
+ attendance: {
3902
+ late: {
3903
+ id: string;
3904
+ username: string;
3905
+ }[];
3906
+ present: {
3907
+ id: string;
3908
+ username: string;
3909
+ }[];
3910
+ absent: {
3911
+ id: string;
3912
+ username: string;
3913
+ }[];
3914
+ eventId?: string | undefined;
3915
+ };
3916
+ classId: string;
3917
+ eventId?: string | undefined;
3918
+ };
3919
+ output: {
3920
+ event: {
3921
+ id: string;
3922
+ name: string | null;
3923
+ startTime: Date;
3924
+ endTime: Date;
3925
+ location: string | null;
3926
+ } | null;
3927
+ late: {
3928
+ id: string;
3929
+ username: string;
3930
+ }[];
3931
+ present: {
3932
+ id: string;
3933
+ username: string;
3934
+ }[];
3935
+ absent: {
3936
+ id: string;
3937
+ username: string;
3938
+ }[];
3939
+ } & {
3940
+ id: string;
3941
+ classId: string;
3942
+ date: Date;
3943
+ eventId: string | null;
3944
+ };
3945
+ }>;
3946
+ }>>;
3947
+ event: import("@trpc/server/dist/unstable-core-do-not-import").BuiltRouter<{
3948
+ ctx: import("../trpc").Context;
3949
+ meta: object;
3950
+ errorShape: {
3951
+ data: {
3952
+ zodError: import("zod").typeToFlattenedError<any, string> | null;
3953
+ code: import("@trpc/server/dist/unstable-core-do-not-import").TRPC_ERROR_CODE_KEY;
3954
+ httpStatus: number;
3955
+ path?: string;
3956
+ stack?: string;
3957
+ };
3958
+ message: string;
3959
+ code: import("@trpc/server/dist/unstable-core-do-not-import").TRPC_ERROR_CODE_NUMBER;
3960
+ };
3961
+ transformer: false;
3962
+ }, import("@trpc/server/dist/unstable-core-do-not-import").DecorateCreateRouterOptions<{
3963
+ get: import("@trpc/server").TRPCQueryProcedure<{
3964
+ input: {
3965
+ id: string;
3966
+ };
3967
+ output: {
3968
+ event: {
3969
+ user: {
3970
+ id: string;
3971
+ username: string;
3972
+ email: string;
3973
+ password: string;
3974
+ verified: boolean;
3975
+ profileId: string | null;
3976
+ } | null;
3977
+ class: {
3978
+ id: string;
3979
+ name: string;
3980
+ subject: string;
3981
+ color: string | null;
3982
+ section: string;
3983
+ } | null;
3984
+ assignmentsAttached: {
3985
+ type: import(".prisma/client").$Enums.AssignmentType;
3986
+ id: string;
3987
+ section: {
3988
+ id: string;
3989
+ name: string;
3990
+ } | null;
3991
+ teacher: {
3992
+ id: string;
3993
+ username: string;
3994
+ };
3995
+ title: string;
3996
+ instructions: string;
3997
+ dueDate: Date;
3998
+ graded: boolean;
3999
+ maxGrade: number | null;
4000
+ weight: number;
4001
+ attachments: {
4002
+ type: string;
4003
+ id: string;
4004
+ name: string;
4005
+ }[];
4006
+ }[];
4007
+ } & {
4008
+ id: string;
4009
+ name: string | null;
4010
+ color: string | null;
4011
+ classId: string | null;
4012
+ userId: string | null;
4013
+ remarks: string | null;
4014
+ startTime: Date;
4015
+ endTime: Date;
4016
+ location: string | null;
4017
+ };
4018
+ };
4019
+ }>;
4020
+ create: import("@trpc/server").TRPCMutationProcedure<{
4021
+ input: {
4022
+ startTime: string;
4023
+ endTime: string;
4024
+ name?: string | undefined;
4025
+ color?: string | undefined;
4026
+ classId?: string | undefined;
4027
+ remarks?: string | undefined;
4028
+ location?: string | undefined;
4029
+ };
4030
+ output: {
4031
+ event: {
4032
+ id: string;
4033
+ name: string | null;
4034
+ class: {
4035
+ id: string;
4036
+ name: string;
4037
+ } | null;
4038
+ color: string | null;
4039
+ classId: string | null;
4040
+ userId: string | null;
4041
+ remarks: string | null;
4042
+ startTime: Date;
4043
+ endTime: Date;
4044
+ location: string | null;
4045
+ };
4046
+ };
4047
+ }>;
4048
+ update: import("@trpc/server").TRPCMutationProcedure<{
4049
+ input: {
4050
+ id: string;
4051
+ data: {
4052
+ startTime: string;
4053
+ endTime: string;
4054
+ name?: string | undefined;
4055
+ color?: string | undefined;
4056
+ classId?: string | undefined;
4057
+ remarks?: string | undefined;
4058
+ location?: string | undefined;
4059
+ };
4060
+ };
4061
+ output: {
4062
+ event: {
4063
+ id: string;
4064
+ name: string | null;
4065
+ color: string | null;
4066
+ classId: string | null;
4067
+ userId: string | null;
4068
+ remarks: string | null;
4069
+ startTime: Date;
4070
+ endTime: Date;
4071
+ location: string | null;
4072
+ };
4073
+ };
4074
+ }>;
4075
+ delete: import("@trpc/server").TRPCMutationProcedure<{
4076
+ input: {
4077
+ id: string;
4078
+ };
4079
+ output: {
4080
+ success: boolean;
4081
+ };
4082
+ }>;
4083
+ attachAssignment: import("@trpc/server").TRPCMutationProcedure<{
4084
+ input: {
4085
+ assignmentId: string;
4086
+ eventId: string;
4087
+ };
4088
+ output: {
4089
+ assignment: {
4090
+ section: {
4091
+ id: string;
4092
+ name: string;
4093
+ } | null;
4094
+ teacher: {
4095
+ id: string;
4096
+ username: string;
4097
+ };
4098
+ attachments: {
4099
+ type: string;
4100
+ id: string;
4101
+ name: string;
4102
+ }[];
4103
+ } & {
4104
+ type: import(".prisma/client").$Enums.AssignmentType;
4105
+ id: string;
4106
+ classId: string;
4107
+ markSchemeId: string | null;
4108
+ gradingBoundaryId: string | null;
4109
+ title: string;
4110
+ instructions: string;
4111
+ dueDate: Date;
4112
+ createdAt: Date | null;
4113
+ modifiedAt: Date | null;
4114
+ teacherId: string;
4115
+ sectionId: string | null;
4116
+ graded: boolean;
4117
+ maxGrade: number | null;
4118
+ weight: number;
4119
+ eventId: string | null;
4120
+ };
4121
+ };
4122
+ }>;
4123
+ detachAssignment: import("@trpc/server").TRPCMutationProcedure<{
4124
+ input: {
4125
+ assignmentId: string;
4126
+ eventId: string;
4127
+ };
4128
+ output: {
4129
+ assignment: {
4130
+ section: {
4131
+ id: string;
4132
+ name: string;
4133
+ } | null;
4134
+ teacher: {
4135
+ id: string;
4136
+ username: string;
4137
+ };
4138
+ attachments: {
4139
+ type: string;
4140
+ id: string;
4141
+ name: string;
4142
+ }[];
4143
+ } & {
4144
+ type: import(".prisma/client").$Enums.AssignmentType;
4145
+ id: string;
4146
+ classId: string;
4147
+ markSchemeId: string | null;
4148
+ gradingBoundaryId: string | null;
4149
+ title: string;
4150
+ instructions: string;
4151
+ dueDate: Date;
4152
+ createdAt: Date | null;
4153
+ modifiedAt: Date | null;
4154
+ teacherId: string;
4155
+ sectionId: string | null;
4156
+ graded: boolean;
4157
+ maxGrade: number | null;
4158
+ weight: number;
4159
+ eventId: string | null;
4160
+ };
4161
+ };
4162
+ }>;
4163
+ getAvailableAssignments: import("@trpc/server").TRPCQueryProcedure<{
4164
+ input: {
4165
+ eventId: string;
4166
+ };
4167
+ output: {
4168
+ assignments: {
4169
+ type: import(".prisma/client").$Enums.AssignmentType;
4170
+ id: string;
4171
+ section: {
4172
+ id: string;
4173
+ name: string;
4174
+ } | null;
4175
+ teacher: {
4176
+ id: string;
4177
+ username: string;
4178
+ };
4179
+ title: string;
4180
+ instructions: string;
4181
+ dueDate: Date;
4182
+ graded: boolean;
4183
+ maxGrade: number | null;
4184
+ weight: number;
4185
+ attachments: {
4186
+ type: string;
4187
+ id: string;
4188
+ name: string;
4189
+ }[];
4190
+ }[];
4191
+ };
4192
+ }>;
4193
+ }>>;
4194
+ auth: import("@trpc/server/dist/unstable-core-do-not-import").BuiltRouter<{
4195
+ ctx: import("../trpc").Context;
4196
+ meta: object;
4197
+ errorShape: {
4198
+ data: {
4199
+ zodError: import("zod").typeToFlattenedError<any, string> | null;
4200
+ code: import("@trpc/server/dist/unstable-core-do-not-import").TRPC_ERROR_CODE_KEY;
4201
+ httpStatus: number;
4202
+ path?: string;
4203
+ stack?: string;
4204
+ };
4205
+ message: string;
4206
+ code: import("@trpc/server/dist/unstable-core-do-not-import").TRPC_ERROR_CODE_NUMBER;
4207
+ };
4208
+ transformer: false;
4209
+ }, import("@trpc/server/dist/unstable-core-do-not-import").DecorateCreateRouterOptions<{
4210
+ register: import("@trpc/server").TRPCMutationProcedure<{
4211
+ input: {
4212
+ username: string;
4213
+ email: string;
4214
+ password: string;
4215
+ confirmPassword: string;
4216
+ };
4217
+ output: {
4218
+ user: {
4219
+ id: string;
4220
+ username: string;
4221
+ };
4222
+ };
4223
+ }>;
4224
+ login: import("@trpc/server").TRPCMutationProcedure<{
4225
+ input: {
4226
+ username: string;
4227
+ password: string;
4228
+ };
4229
+ output: {
4230
+ verified: boolean;
4231
+ user: {
4232
+ email: string;
4233
+ id?: undefined;
4234
+ username?: undefined;
4235
+ };
4236
+ token?: undefined;
4237
+ } | {
4238
+ token: string;
4239
+ user: {
4240
+ id: string;
4241
+ username: string;
4242
+ email?: undefined;
4243
+ };
4244
+ verified?: undefined;
4245
+ };
4246
+ }>;
4247
+ logout: import("@trpc/server").TRPCMutationProcedure<{
4248
+ input: void;
4249
+ output: {
4250
+ success: boolean;
4251
+ };
4252
+ }>;
4253
+ check: import("@trpc/server").TRPCQueryProcedure<{
4254
+ input: void;
4255
+ output: {
4256
+ user: {
4257
+ id: string;
4258
+ username: string;
4259
+ };
4260
+ };
4261
+ }>;
4262
+ resendVerificationEmail: import("@trpc/server").TRPCMutationProcedure<{
4263
+ input: {
4264
+ email: string;
4265
+ };
4266
+ output: {
4267
+ success: boolean;
4268
+ };
4269
+ }>;
4270
+ verify: import("@trpc/server").TRPCMutationProcedure<{
4271
+ input: {
4272
+ token: string;
4273
+ };
4274
+ output: {
4275
+ success: boolean;
4276
+ };
4277
+ }>;
4278
+ }>>;
4279
+ agenda: import("@trpc/server/dist/unstable-core-do-not-import").BuiltRouter<{
4280
+ ctx: import("../trpc").Context;
4281
+ meta: object;
4282
+ errorShape: {
4283
+ data: {
4284
+ zodError: import("zod").typeToFlattenedError<any, string> | null;
4285
+ code: import("@trpc/server/dist/unstable-core-do-not-import").TRPC_ERROR_CODE_KEY;
4286
+ httpStatus: number;
4287
+ path?: string;
4288
+ stack?: string;
4289
+ };
4290
+ message: string;
4291
+ code: import("@trpc/server/dist/unstable-core-do-not-import").TRPC_ERROR_CODE_NUMBER;
4292
+ };
4293
+ transformer: false;
4294
+ }, import("@trpc/server/dist/unstable-core-do-not-import").DecorateCreateRouterOptions<{
4295
+ get: import("@trpc/server").TRPCQueryProcedure<{
4296
+ input: {
4297
+ weekStart: string;
4298
+ };
4299
+ output: {
4300
+ events: {
4301
+ personal: ({
4302
+ class: {
4303
+ id: string;
4304
+ name: string;
4305
+ subject: string;
4306
+ color: string | null;
4307
+ section: string;
4308
+ } | null;
4309
+ } & {
4310
+ id: string;
4311
+ name: string | null;
4312
+ color: string | null;
4313
+ classId: string | null;
4314
+ userId: string | null;
4315
+ remarks: string | null;
4316
+ startTime: Date;
4317
+ endTime: Date;
4318
+ location: string | null;
4319
+ })[];
4320
+ class: ({
4321
+ class: {
4322
+ id: string;
4323
+ name: string;
4324
+ subject: string;
4325
+ color: string | null;
4326
+ section: string;
4327
+ } | null;
4328
+ } & {
4329
+ id: string;
4330
+ name: string | null;
4331
+ color: string | null;
4332
+ classId: string | null;
4333
+ userId: string | null;
4334
+ remarks: string | null;
4335
+ startTime: Date;
4336
+ endTime: Date;
4337
+ location: string | null;
4338
+ })[];
4339
+ };
4340
+ };
4341
+ }>;
4342
+ }>>;
4343
+ file: import("@trpc/server/dist/unstable-core-do-not-import").BuiltRouter<{
4344
+ ctx: import("../trpc").Context;
4345
+ meta: object;
4346
+ errorShape: {
4347
+ data: {
4348
+ zodError: import("zod").typeToFlattenedError<any, string> | null;
4349
+ code: import("@trpc/server/dist/unstable-core-do-not-import").TRPC_ERROR_CODE_KEY;
4350
+ httpStatus: number;
4351
+ path?: string;
4352
+ stack?: string;
4353
+ };
4354
+ message: string;
4355
+ code: import("@trpc/server/dist/unstable-core-do-not-import").TRPC_ERROR_CODE_NUMBER;
4356
+ };
4357
+ transformer: false;
4358
+ }, import("@trpc/server/dist/unstable-core-do-not-import").DecorateCreateRouterOptions<{
4359
+ getSignedUrl: import("@trpc/server").TRPCMutationProcedure<{
4360
+ input: {
4361
+ fileId: string;
4362
+ };
4363
+ output: {
4364
+ signedUrl: string;
4365
+ };
4366
+ }>;
4367
+ }>>;
4368
+ }>>;
4369
+ //# sourceMappingURL=_app.d.ts.map