@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,1051 @@
1
+ import { z } from "zod";
2
+ export declare const assignmentRouter: import("@trpc/server/dist/unstable-core-do-not-import").BuiltRouter<{
3
+ ctx: import("../trpc").Context;
4
+ meta: object;
5
+ errorShape: {
6
+ data: {
7
+ zodError: z.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
+ create: import("@trpc/server").TRPCMutationProcedure<{
19
+ input: {
20
+ classId: string;
21
+ title: string;
22
+ instructions: string;
23
+ dueDate: string;
24
+ type?: "HOMEWORK" | "QUIZ" | "TEST" | "PROJECT" | "ESSAY" | "DISCUSSION" | "PRESENTATION" | "LAB" | "OTHER" | undefined;
25
+ files?: {
26
+ type: string;
27
+ name: string;
28
+ data: string;
29
+ size: number;
30
+ }[] | undefined;
31
+ markSchemeId?: string | undefined;
32
+ gradingBoundaryId?: string | undefined;
33
+ sectionId?: string | undefined;
34
+ graded?: boolean | undefined;
35
+ maxGrade?: number | undefined;
36
+ weight?: number | undefined;
37
+ };
38
+ output: {
39
+ type: import(".prisma/client").$Enums.AssignmentType;
40
+ id: string;
41
+ class: {
42
+ id: string;
43
+ name: string;
44
+ };
45
+ section: {
46
+ id: string;
47
+ name: string;
48
+ } | null;
49
+ teacher: {
50
+ id: string;
51
+ username: string;
52
+ };
53
+ title: string;
54
+ instructions: string;
55
+ dueDate: Date;
56
+ graded: boolean;
57
+ maxGrade: number | null;
58
+ weight: number;
59
+ attachments: {
60
+ type: string;
61
+ id: string;
62
+ name: string;
63
+ }[];
64
+ };
65
+ }>;
66
+ update: import("@trpc/server").TRPCMutationProcedure<{
67
+ input: {
68
+ id: string;
69
+ classId: string;
70
+ type?: "HOMEWORK" | "QUIZ" | "TEST" | "PROJECT" | "ESSAY" | "DISCUSSION" | "PRESENTATION" | "LAB" | "OTHER" | undefined;
71
+ files?: {
72
+ type: string;
73
+ name: string;
74
+ data: string;
75
+ size: number;
76
+ }[] | undefined;
77
+ title?: string | undefined;
78
+ instructions?: string | undefined;
79
+ dueDate?: string | undefined;
80
+ sectionId?: string | null | undefined;
81
+ graded?: boolean | undefined;
82
+ maxGrade?: number | undefined;
83
+ weight?: number | undefined;
84
+ removedAttachments?: string[] | undefined;
85
+ };
86
+ output: {
87
+ type: import(".prisma/client").$Enums.AssignmentType;
88
+ id: string;
89
+ submissions: {
90
+ student: {
91
+ id: string;
92
+ username: string;
93
+ };
94
+ }[];
95
+ class: {
96
+ id: string;
97
+ name: string;
98
+ subject: string;
99
+ color: string | null;
100
+ section: string;
101
+ };
102
+ section: {
103
+ id: string;
104
+ name: string;
105
+ classId: string;
106
+ } | null;
107
+ teacher: {
108
+ id: string;
109
+ username: string;
110
+ email: string;
111
+ password: string;
112
+ verified: boolean;
113
+ profileId: string | null;
114
+ };
115
+ title: string;
116
+ instructions: string;
117
+ dueDate: Date;
118
+ createdAt: Date | null;
119
+ graded: boolean;
120
+ maxGrade: number | null;
121
+ weight: number;
122
+ attachments: {
123
+ type: string;
124
+ id: string;
125
+ name: string;
126
+ thumbnail: {
127
+ path: string;
128
+ type: string;
129
+ id: string;
130
+ name: string;
131
+ userId: string | null;
132
+ assignmentId: string | null;
133
+ submissionId: string | null;
134
+ size: number | null;
135
+ uploadedAt: Date | null;
136
+ thumbnailId: string | null;
137
+ annotationId: string | null;
138
+ } | null;
139
+ }[];
140
+ };
141
+ }>;
142
+ delete: import("@trpc/server").TRPCMutationProcedure<{
143
+ input: {
144
+ id: string;
145
+ classId: string;
146
+ };
147
+ output: {
148
+ id: string;
149
+ };
150
+ }>;
151
+ get: import("@trpc/server").TRPCQueryProcedure<{
152
+ input: {
153
+ id: string;
154
+ classId: string;
155
+ };
156
+ output: {
157
+ sections: {
158
+ id: string;
159
+ name: string;
160
+ }[];
161
+ submissions: {
162
+ student: {
163
+ id: string;
164
+ username: string;
165
+ };
166
+ }[];
167
+ class: {
168
+ id: string;
169
+ name: string;
170
+ };
171
+ section: {
172
+ id: string;
173
+ name: string;
174
+ } | null;
175
+ teacher: {
176
+ id: string;
177
+ username: string;
178
+ };
179
+ attachments: {
180
+ path: string;
181
+ type: string;
182
+ id: string;
183
+ name: string;
184
+ size: number | null;
185
+ thumbnailId: string | null;
186
+ }[];
187
+ eventAttached: {
188
+ id: string;
189
+ name: string | null;
190
+ remarks: string | null;
191
+ startTime: Date;
192
+ endTime: Date;
193
+ location: string | null;
194
+ } | null;
195
+ markScheme: {
196
+ id: string;
197
+ structured: string;
198
+ } | null;
199
+ gradingBoundary: {
200
+ id: string;
201
+ structured: string;
202
+ } | null;
203
+ type: import(".prisma/client").$Enums.AssignmentType;
204
+ id: string;
205
+ classId: string;
206
+ markSchemeId: string | null;
207
+ gradingBoundaryId: string | null;
208
+ title: string;
209
+ instructions: string;
210
+ dueDate: Date;
211
+ createdAt: Date | null;
212
+ modifiedAt: Date | null;
213
+ teacherId: string;
214
+ sectionId: string | null;
215
+ graded: boolean;
216
+ maxGrade: number | null;
217
+ weight: number;
218
+ eventId: string | null;
219
+ };
220
+ }>;
221
+ getSubmission: import("@trpc/server").TRPCQueryProcedure<{
222
+ input: {
223
+ [x: string]: unknown;
224
+ classId: string;
225
+ assignmentId: string;
226
+ };
227
+ output: ({
228
+ student: {
229
+ id: string;
230
+ username: string;
231
+ };
232
+ assignment: {
233
+ class: {
234
+ id: string;
235
+ name: string;
236
+ subject: string;
237
+ color: string | null;
238
+ section: string;
239
+ };
240
+ markScheme: {
241
+ id: string;
242
+ structured: string;
243
+ } | null;
244
+ gradingBoundary: {
245
+ id: string;
246
+ structured: string;
247
+ } | null;
248
+ } & {
249
+ type: import(".prisma/client").$Enums.AssignmentType;
250
+ id: string;
251
+ classId: string;
252
+ markSchemeId: string | null;
253
+ gradingBoundaryId: string | null;
254
+ title: string;
255
+ instructions: string;
256
+ dueDate: Date;
257
+ createdAt: Date | null;
258
+ modifiedAt: Date | null;
259
+ teacherId: string;
260
+ sectionId: string | null;
261
+ graded: boolean;
262
+ maxGrade: number | null;
263
+ weight: number;
264
+ eventId: string | null;
265
+ };
266
+ attachments: {
267
+ path: string;
268
+ type: string;
269
+ id: string;
270
+ name: string;
271
+ userId: string | null;
272
+ assignmentId: string | null;
273
+ submissionId: string | null;
274
+ size: number | null;
275
+ uploadedAt: Date | null;
276
+ thumbnailId: string | null;
277
+ annotationId: string | null;
278
+ }[];
279
+ annotations: {
280
+ path: string;
281
+ type: string;
282
+ id: string;
283
+ name: string;
284
+ userId: string | null;
285
+ assignmentId: string | null;
286
+ submissionId: string | null;
287
+ size: number | null;
288
+ uploadedAt: Date | null;
289
+ thumbnailId: string | null;
290
+ annotationId: string | null;
291
+ }[];
292
+ } & {
293
+ id: string;
294
+ studentId: string;
295
+ assignmentId: string;
296
+ gradeReceived: number | null;
297
+ createdAt: Date;
298
+ modifiedAt: Date;
299
+ rubricState: string | null;
300
+ submittedAt: Date | null;
301
+ submitted: boolean | null;
302
+ returned: boolean | null;
303
+ }) | {
304
+ late: boolean;
305
+ student: {
306
+ id: string;
307
+ username: string;
308
+ };
309
+ assignment: {
310
+ class: {
311
+ id: string;
312
+ name: string;
313
+ subject: string;
314
+ color: string | null;
315
+ section: string;
316
+ };
317
+ markScheme: {
318
+ id: string;
319
+ structured: string;
320
+ } | null;
321
+ gradingBoundary: {
322
+ id: string;
323
+ structured: string;
324
+ } | null;
325
+ } & {
326
+ type: import(".prisma/client").$Enums.AssignmentType;
327
+ id: string;
328
+ classId: string;
329
+ markSchemeId: string | null;
330
+ gradingBoundaryId: string | null;
331
+ title: string;
332
+ instructions: string;
333
+ dueDate: Date;
334
+ createdAt: Date | null;
335
+ modifiedAt: Date | null;
336
+ teacherId: string;
337
+ sectionId: string | null;
338
+ graded: boolean;
339
+ maxGrade: number | null;
340
+ weight: number;
341
+ eventId: string | null;
342
+ };
343
+ attachments: {
344
+ path: string;
345
+ type: string;
346
+ id: string;
347
+ name: string;
348
+ userId: string | null;
349
+ assignmentId: string | null;
350
+ submissionId: string | null;
351
+ size: number | null;
352
+ uploadedAt: Date | null;
353
+ thumbnailId: string | null;
354
+ annotationId: string | null;
355
+ }[];
356
+ annotations: {
357
+ path: string;
358
+ type: string;
359
+ id: string;
360
+ name: string;
361
+ userId: string | null;
362
+ assignmentId: string | null;
363
+ submissionId: string | null;
364
+ size: number | null;
365
+ uploadedAt: Date | null;
366
+ thumbnailId: string | null;
367
+ annotationId: string | null;
368
+ }[];
369
+ id: string;
370
+ studentId: string;
371
+ assignmentId: string;
372
+ gradeReceived: number | null;
373
+ createdAt: Date;
374
+ modifiedAt: Date;
375
+ rubricState: string | null;
376
+ submittedAt: Date | null;
377
+ submitted: boolean | null;
378
+ returned: boolean | null;
379
+ };
380
+ }>;
381
+ getSubmissionById: import("@trpc/server").TRPCQueryProcedure<{
382
+ input: {
383
+ [x: string]: unknown;
384
+ classId: string;
385
+ submissionId: string;
386
+ };
387
+ output: {
388
+ late: boolean;
389
+ student: {
390
+ id: string;
391
+ username: string;
392
+ };
393
+ assignment: {
394
+ class: {
395
+ id: string;
396
+ name: string;
397
+ subject: string;
398
+ color: string | null;
399
+ section: string;
400
+ };
401
+ markScheme: {
402
+ id: string;
403
+ structured: string;
404
+ } | null;
405
+ gradingBoundary: {
406
+ id: string;
407
+ structured: string;
408
+ } | null;
409
+ } & {
410
+ type: import(".prisma/client").$Enums.AssignmentType;
411
+ id: string;
412
+ classId: string;
413
+ markSchemeId: string | null;
414
+ gradingBoundaryId: string | null;
415
+ title: string;
416
+ instructions: string;
417
+ dueDate: Date;
418
+ createdAt: Date | null;
419
+ modifiedAt: Date | null;
420
+ teacherId: string;
421
+ sectionId: string | null;
422
+ graded: boolean;
423
+ maxGrade: number | null;
424
+ weight: number;
425
+ eventId: string | null;
426
+ };
427
+ attachments: {
428
+ path: string;
429
+ type: string;
430
+ id: string;
431
+ name: string;
432
+ userId: string | null;
433
+ assignmentId: string | null;
434
+ submissionId: string | null;
435
+ size: number | null;
436
+ uploadedAt: Date | null;
437
+ thumbnailId: string | null;
438
+ annotationId: string | null;
439
+ }[];
440
+ annotations: {
441
+ path: string;
442
+ type: string;
443
+ id: string;
444
+ name: string;
445
+ userId: string | null;
446
+ assignmentId: string | null;
447
+ submissionId: string | null;
448
+ size: number | null;
449
+ uploadedAt: Date | null;
450
+ thumbnailId: string | null;
451
+ annotationId: string | null;
452
+ }[];
453
+ id: string;
454
+ studentId: string;
455
+ assignmentId: string;
456
+ gradeReceived: number | null;
457
+ createdAt: Date;
458
+ modifiedAt: Date;
459
+ rubricState: string | null;
460
+ submittedAt: Date | null;
461
+ submitted: boolean | null;
462
+ returned: boolean | null;
463
+ };
464
+ }>;
465
+ updateSubmission: import("@trpc/server").TRPCMutationProcedure<{
466
+ input: {
467
+ [x: string]: unknown;
468
+ classId: string;
469
+ assignmentId: string;
470
+ submissionId: string;
471
+ removedAttachments?: string[] | undefined;
472
+ submit?: boolean | undefined;
473
+ newAttachments?: {
474
+ type: string;
475
+ name: string;
476
+ data: string;
477
+ size: number;
478
+ }[] | undefined;
479
+ };
480
+ output: {
481
+ student: {
482
+ id: string;
483
+ username: string;
484
+ };
485
+ assignment: {
486
+ class: {
487
+ id: string;
488
+ name: string;
489
+ subject: string;
490
+ color: string | null;
491
+ section: string;
492
+ };
493
+ markScheme: {
494
+ id: string;
495
+ structured: string;
496
+ } | null;
497
+ gradingBoundary: {
498
+ id: string;
499
+ structured: string;
500
+ } | null;
501
+ } & {
502
+ type: import(".prisma/client").$Enums.AssignmentType;
503
+ id: string;
504
+ classId: string;
505
+ markSchemeId: string | null;
506
+ gradingBoundaryId: string | null;
507
+ title: string;
508
+ instructions: string;
509
+ dueDate: Date;
510
+ createdAt: Date | null;
511
+ modifiedAt: Date | null;
512
+ teacherId: string;
513
+ sectionId: string | null;
514
+ graded: boolean;
515
+ maxGrade: number | null;
516
+ weight: number;
517
+ eventId: string | null;
518
+ };
519
+ attachments: {
520
+ path: string;
521
+ type: string;
522
+ id: string;
523
+ name: string;
524
+ userId: string | null;
525
+ assignmentId: string | null;
526
+ submissionId: string | null;
527
+ size: number | null;
528
+ uploadedAt: Date | null;
529
+ thumbnailId: string | null;
530
+ annotationId: string | null;
531
+ }[];
532
+ } & {
533
+ id: string;
534
+ studentId: string;
535
+ assignmentId: string;
536
+ gradeReceived: number | null;
537
+ createdAt: Date;
538
+ modifiedAt: Date;
539
+ rubricState: string | null;
540
+ submittedAt: Date | null;
541
+ submitted: boolean | null;
542
+ returned: boolean | null;
543
+ };
544
+ }>;
545
+ getSubmissions: import("@trpc/server").TRPCQueryProcedure<{
546
+ input: {
547
+ [x: string]: unknown;
548
+ classId: string;
549
+ assignmentId: string;
550
+ };
551
+ output: {
552
+ late: boolean;
553
+ student: {
554
+ id: string;
555
+ username: string;
556
+ };
557
+ assignment: {
558
+ class: {
559
+ id: string;
560
+ name: string;
561
+ subject: string;
562
+ color: string | null;
563
+ section: string;
564
+ };
565
+ markScheme: {
566
+ id: string;
567
+ structured: string;
568
+ } | null;
569
+ gradingBoundary: {
570
+ id: string;
571
+ structured: string;
572
+ } | null;
573
+ } & {
574
+ type: import(".prisma/client").$Enums.AssignmentType;
575
+ id: string;
576
+ classId: string;
577
+ markSchemeId: string | null;
578
+ gradingBoundaryId: string | null;
579
+ title: string;
580
+ instructions: string;
581
+ dueDate: Date;
582
+ createdAt: Date | null;
583
+ modifiedAt: Date | null;
584
+ teacherId: string;
585
+ sectionId: string | null;
586
+ graded: boolean;
587
+ maxGrade: number | null;
588
+ weight: number;
589
+ eventId: string | null;
590
+ };
591
+ attachments: ({
592
+ thumbnail: {
593
+ path: string;
594
+ type: string;
595
+ id: string;
596
+ name: string;
597
+ userId: string | null;
598
+ assignmentId: string | null;
599
+ submissionId: string | null;
600
+ size: number | null;
601
+ uploadedAt: Date | null;
602
+ thumbnailId: string | null;
603
+ annotationId: string | null;
604
+ } | null;
605
+ } & {
606
+ path: string;
607
+ type: string;
608
+ id: string;
609
+ name: string;
610
+ userId: string | null;
611
+ assignmentId: string | null;
612
+ submissionId: string | null;
613
+ size: number | null;
614
+ uploadedAt: Date | null;
615
+ thumbnailId: string | null;
616
+ annotationId: string | null;
617
+ })[];
618
+ id: string;
619
+ studentId: string;
620
+ assignmentId: string;
621
+ gradeReceived: number | null;
622
+ createdAt: Date;
623
+ modifiedAt: Date;
624
+ rubricState: string | null;
625
+ submittedAt: Date | null;
626
+ submitted: boolean | null;
627
+ returned: boolean | null;
628
+ }[];
629
+ }>;
630
+ updateSubmissionAsTeacher: import("@trpc/server").TRPCMutationProcedure<{
631
+ input: {
632
+ [x: string]: unknown;
633
+ classId: string;
634
+ assignmentId: string;
635
+ submissionId: string;
636
+ gradeReceived?: number | null | undefined;
637
+ removedAttachments?: string[] | undefined;
638
+ newAttachments?: {
639
+ type: string;
640
+ name: string;
641
+ data: string;
642
+ size: number;
643
+ }[] | undefined;
644
+ return?: boolean | undefined;
645
+ rubricGrades?: {
646
+ criteriaId: string;
647
+ selectedLevelId: string;
648
+ points: number;
649
+ comments: string;
650
+ }[] | undefined;
651
+ };
652
+ output: {
653
+ student: {
654
+ id: string;
655
+ username: string;
656
+ };
657
+ assignment: {
658
+ class: {
659
+ id: string;
660
+ name: string;
661
+ subject: string;
662
+ color: string | null;
663
+ section: string;
664
+ };
665
+ markScheme: {
666
+ id: string;
667
+ structured: string;
668
+ } | null;
669
+ gradingBoundary: {
670
+ id: string;
671
+ structured: string;
672
+ } | null;
673
+ } & {
674
+ type: import(".prisma/client").$Enums.AssignmentType;
675
+ id: string;
676
+ classId: string;
677
+ markSchemeId: string | null;
678
+ gradingBoundaryId: string | null;
679
+ title: string;
680
+ instructions: string;
681
+ dueDate: Date;
682
+ createdAt: Date | null;
683
+ modifiedAt: Date | null;
684
+ teacherId: string;
685
+ sectionId: string | null;
686
+ graded: boolean;
687
+ maxGrade: number | null;
688
+ weight: number;
689
+ eventId: string | null;
690
+ };
691
+ attachments: {
692
+ path: string;
693
+ type: string;
694
+ id: string;
695
+ name: string;
696
+ userId: string | null;
697
+ assignmentId: string | null;
698
+ submissionId: string | null;
699
+ size: number | null;
700
+ uploadedAt: Date | null;
701
+ thumbnailId: string | null;
702
+ annotationId: string | null;
703
+ }[];
704
+ } & {
705
+ id: string;
706
+ studentId: string;
707
+ assignmentId: string;
708
+ gradeReceived: number | null;
709
+ createdAt: Date;
710
+ modifiedAt: Date;
711
+ rubricState: string | null;
712
+ submittedAt: Date | null;
713
+ submitted: boolean | null;
714
+ returned: boolean | null;
715
+ };
716
+ }>;
717
+ attachToEvent: import("@trpc/server").TRPCMutationProcedure<{
718
+ input: {
719
+ [x: string]: unknown;
720
+ classId: string;
721
+ assignmentId: string;
722
+ eventId: string;
723
+ };
724
+ output: {
725
+ assignment: {
726
+ section: {
727
+ id: string;
728
+ name: string;
729
+ } | null;
730
+ teacher: {
731
+ id: string;
732
+ username: string;
733
+ };
734
+ attachments: {
735
+ type: string;
736
+ id: string;
737
+ name: string;
738
+ }[];
739
+ eventAttached: {
740
+ id: string;
741
+ name: string | null;
742
+ startTime: Date;
743
+ endTime: Date;
744
+ } | null;
745
+ } & {
746
+ type: import(".prisma/client").$Enums.AssignmentType;
747
+ id: string;
748
+ classId: string;
749
+ markSchemeId: string | null;
750
+ gradingBoundaryId: string | null;
751
+ title: string;
752
+ instructions: string;
753
+ dueDate: Date;
754
+ createdAt: Date | null;
755
+ modifiedAt: Date | null;
756
+ teacherId: string;
757
+ sectionId: string | null;
758
+ graded: boolean;
759
+ maxGrade: number | null;
760
+ weight: number;
761
+ eventId: string | null;
762
+ };
763
+ };
764
+ }>;
765
+ detachEvent: import("@trpc/server").TRPCMutationProcedure<{
766
+ input: {
767
+ [x: string]: unknown;
768
+ classId: string;
769
+ assignmentId: string;
770
+ };
771
+ output: {
772
+ assignment: {
773
+ section: {
774
+ id: string;
775
+ name: string;
776
+ } | null;
777
+ teacher: {
778
+ id: string;
779
+ username: string;
780
+ };
781
+ attachments: {
782
+ type: string;
783
+ id: string;
784
+ name: string;
785
+ }[];
786
+ eventAttached: {
787
+ id: string;
788
+ name: string | null;
789
+ startTime: Date;
790
+ endTime: Date;
791
+ } | null;
792
+ } & {
793
+ type: import(".prisma/client").$Enums.AssignmentType;
794
+ id: string;
795
+ classId: string;
796
+ markSchemeId: string | null;
797
+ gradingBoundaryId: string | null;
798
+ title: string;
799
+ instructions: string;
800
+ dueDate: Date;
801
+ createdAt: Date | null;
802
+ modifiedAt: Date | null;
803
+ teacherId: string;
804
+ sectionId: string | null;
805
+ graded: boolean;
806
+ maxGrade: number | null;
807
+ weight: number;
808
+ eventId: string | null;
809
+ };
810
+ };
811
+ }>;
812
+ getAvailableEvents: import("@trpc/server").TRPCQueryProcedure<{
813
+ input: {
814
+ [x: string]: unknown;
815
+ classId: string;
816
+ assignmentId: string;
817
+ };
818
+ output: {
819
+ events: {
820
+ id: string;
821
+ name: string | null;
822
+ remarks: string | null;
823
+ startTime: Date;
824
+ endTime: Date;
825
+ location: string | null;
826
+ }[];
827
+ };
828
+ }>;
829
+ dueToday: import("@trpc/server").TRPCQueryProcedure<{
830
+ input: void;
831
+ output: {
832
+ dueDate: string;
833
+ type: import(".prisma/client").$Enums.AssignmentType;
834
+ id: string;
835
+ class: {
836
+ id: string;
837
+ name: string;
838
+ };
839
+ title: string;
840
+ graded: boolean;
841
+ maxGrade: number | null;
842
+ }[];
843
+ }>;
844
+ attachMarkScheme: import("@trpc/server").TRPCMutationProcedure<{
845
+ input: {
846
+ [x: string]: unknown;
847
+ classId: string;
848
+ assignmentId: string;
849
+ markSchemeId: string | null;
850
+ };
851
+ output: {
852
+ section: {
853
+ id: string;
854
+ name: string;
855
+ classId: string;
856
+ } | null;
857
+ teacher: {
858
+ id: string;
859
+ username: string;
860
+ email: string;
861
+ password: string;
862
+ verified: boolean;
863
+ profileId: string | null;
864
+ };
865
+ attachments: {
866
+ path: string;
867
+ type: string;
868
+ id: string;
869
+ name: string;
870
+ userId: string | null;
871
+ assignmentId: string | null;
872
+ submissionId: string | null;
873
+ size: number | null;
874
+ uploadedAt: Date | null;
875
+ thumbnailId: string | null;
876
+ annotationId: string | null;
877
+ }[];
878
+ eventAttached: {
879
+ id: string;
880
+ name: string | null;
881
+ color: string | null;
882
+ classId: string | null;
883
+ userId: string | null;
884
+ remarks: string | null;
885
+ startTime: Date;
886
+ endTime: Date;
887
+ location: string | null;
888
+ } | null;
889
+ markScheme: {
890
+ id: string;
891
+ classId: string;
892
+ structured: string;
893
+ } | null;
894
+ } & {
895
+ type: import(".prisma/client").$Enums.AssignmentType;
896
+ id: string;
897
+ classId: string;
898
+ markSchemeId: string | null;
899
+ gradingBoundaryId: string | null;
900
+ title: string;
901
+ instructions: string;
902
+ dueDate: Date;
903
+ createdAt: Date | null;
904
+ modifiedAt: Date | null;
905
+ teacherId: string;
906
+ sectionId: string | null;
907
+ graded: boolean;
908
+ maxGrade: number | null;
909
+ weight: number;
910
+ eventId: string | null;
911
+ };
912
+ }>;
913
+ detachMarkScheme: import("@trpc/server").TRPCMutationProcedure<{
914
+ input: {
915
+ [x: string]: unknown;
916
+ classId: string;
917
+ assignmentId: string;
918
+ };
919
+ output: {
920
+ section: {
921
+ id: string;
922
+ name: string;
923
+ classId: string;
924
+ } | null;
925
+ teacher: {
926
+ id: string;
927
+ username: string;
928
+ email: string;
929
+ password: string;
930
+ verified: boolean;
931
+ profileId: string | null;
932
+ };
933
+ attachments: {
934
+ path: string;
935
+ type: string;
936
+ id: string;
937
+ name: string;
938
+ userId: string | null;
939
+ assignmentId: string | null;
940
+ submissionId: string | null;
941
+ size: number | null;
942
+ uploadedAt: Date | null;
943
+ thumbnailId: string | null;
944
+ annotationId: string | null;
945
+ }[];
946
+ eventAttached: {
947
+ id: string;
948
+ name: string | null;
949
+ color: string | null;
950
+ classId: string | null;
951
+ userId: string | null;
952
+ remarks: string | null;
953
+ startTime: Date;
954
+ endTime: Date;
955
+ location: string | null;
956
+ } | null;
957
+ markScheme: {
958
+ id: string;
959
+ classId: string;
960
+ structured: string;
961
+ } | null;
962
+ } & {
963
+ type: import(".prisma/client").$Enums.AssignmentType;
964
+ id: string;
965
+ classId: string;
966
+ markSchemeId: string | null;
967
+ gradingBoundaryId: string | null;
968
+ title: string;
969
+ instructions: string;
970
+ dueDate: Date;
971
+ createdAt: Date | null;
972
+ modifiedAt: Date | null;
973
+ teacherId: string;
974
+ sectionId: string | null;
975
+ graded: boolean;
976
+ maxGrade: number | null;
977
+ weight: number;
978
+ eventId: string | null;
979
+ };
980
+ }>;
981
+ attachGradingBoundary: import("@trpc/server").TRPCMutationProcedure<{
982
+ input: {
983
+ [x: string]: unknown;
984
+ classId: string;
985
+ assignmentId: string;
986
+ gradingBoundaryId: string | null;
987
+ };
988
+ output: {
989
+ section: {
990
+ id: string;
991
+ name: string;
992
+ classId: string;
993
+ } | null;
994
+ teacher: {
995
+ id: string;
996
+ username: string;
997
+ email: string;
998
+ password: string;
999
+ verified: boolean;
1000
+ profileId: string | null;
1001
+ };
1002
+ attachments: {
1003
+ path: string;
1004
+ type: string;
1005
+ id: string;
1006
+ name: string;
1007
+ userId: string | null;
1008
+ assignmentId: string | null;
1009
+ submissionId: string | null;
1010
+ size: number | null;
1011
+ uploadedAt: Date | null;
1012
+ thumbnailId: string | null;
1013
+ annotationId: string | null;
1014
+ }[];
1015
+ eventAttached: {
1016
+ id: string;
1017
+ name: string | null;
1018
+ color: string | null;
1019
+ classId: string | null;
1020
+ userId: string | null;
1021
+ remarks: string | null;
1022
+ startTime: Date;
1023
+ endTime: Date;
1024
+ location: string | null;
1025
+ } | null;
1026
+ gradingBoundary: {
1027
+ id: string;
1028
+ classId: string;
1029
+ structured: string;
1030
+ } | null;
1031
+ } & {
1032
+ type: import(".prisma/client").$Enums.AssignmentType;
1033
+ id: string;
1034
+ classId: string;
1035
+ markSchemeId: string | null;
1036
+ gradingBoundaryId: string | null;
1037
+ title: string;
1038
+ instructions: string;
1039
+ dueDate: Date;
1040
+ createdAt: Date | null;
1041
+ modifiedAt: Date | null;
1042
+ teacherId: string;
1043
+ sectionId: string | null;
1044
+ graded: boolean;
1045
+ maxGrade: number | null;
1046
+ weight: number;
1047
+ eventId: string | null;
1048
+ };
1049
+ }>;
1050
+ }>>;
1051
+ //# sourceMappingURL=assignment.d.ts.map