@studious-lms/server 1.1.24 → 1.2.6

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 (485) hide show
  1. package/.coderabbit.yaml +9 -0
  2. package/.env.example +53 -0
  3. package/.env.test.example +37 -0
  4. package/README.md +34 -7
  5. package/dist/exportType.d.ts.map +1 -1
  6. package/dist/exportType.js +4 -0
  7. package/dist/exportType.js.map +1 -0
  8. package/dist/index.d.ts +1 -1
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +212 -51
  11. package/dist/index.js.map +1 -0
  12. package/dist/instrument.d.ts +2 -0
  13. package/dist/instrument.d.ts.map +1 -0
  14. package/dist/instrument.js +18 -0
  15. package/dist/instrument.js.map +1 -0
  16. package/dist/lib/config/env.d.ts +190 -0
  17. package/dist/lib/config/env.d.ts.map +1 -0
  18. package/dist/lib/config/env.js +121 -0
  19. package/dist/lib/config/env.js.map +1 -0
  20. package/dist/lib/fileUpload.d.ts +2 -2
  21. package/dist/lib/fileUpload.d.ts.map +1 -1
  22. package/dist/lib/fileUpload.js +82 -15
  23. package/dist/lib/fileUpload.js.map +1 -0
  24. package/dist/lib/googleCloudStorage.d.ts +13 -0
  25. package/dist/lib/googleCloudStorage.d.ts.map +1 -1
  26. package/dist/lib/googleCloudStorage.js +45 -6
  27. package/dist/lib/googleCloudStorage.js.map +1 -0
  28. package/dist/lib/jsonConversion.d.ts.map +1 -1
  29. package/dist/lib/jsonConversion.js +16 -14
  30. package/dist/lib/jsonConversion.js.map +1 -0
  31. package/dist/lib/jsonStyles.d.ts.map +1 -1
  32. package/dist/lib/jsonStyles.js +4 -0
  33. package/dist/lib/jsonStyles.js.map +1 -0
  34. package/dist/lib/notificationHandler.d.ts +25 -0
  35. package/dist/lib/notificationHandler.d.ts.map +1 -0
  36. package/dist/lib/notificationHandler.js +32 -0
  37. package/dist/lib/notificationHandler.js.map +1 -0
  38. package/dist/lib/prisma.d.ts +2 -2
  39. package/dist/lib/prisma.d.ts.map +1 -1
  40. package/dist/lib/prisma.js +24 -1
  41. package/dist/lib/prisma.js.map +1 -0
  42. package/dist/lib/pusher.d.ts +4 -1
  43. package/dist/lib/pusher.d.ts.map +1 -1
  44. package/dist/lib/pusher.js +14 -6
  45. package/dist/lib/pusher.js.map +1 -0
  46. package/dist/lib/redis.d.ts +5 -0
  47. package/dist/lib/redis.d.ts.map +1 -0
  48. package/dist/lib/redis.js +53 -0
  49. package/dist/lib/redis.js.map +1 -0
  50. package/dist/lib/thumbnailGenerator.d.ts +0 -21
  51. package/dist/lib/thumbnailGenerator.d.ts.map +1 -1
  52. package/dist/lib/thumbnailGenerator.js +159 -158
  53. package/dist/lib/thumbnailGenerator.js.map +1 -0
  54. package/dist/middleware/auth.d.ts.map +1 -1
  55. package/dist/middleware/auth.js +41 -93
  56. package/dist/middleware/auth.js.map +1 -0
  57. package/dist/middleware/logging.d.ts.map +1 -1
  58. package/dist/middleware/logging.js +4 -0
  59. package/dist/middleware/logging.js.map +1 -0
  60. package/dist/middleware/security.d.ts +5 -0
  61. package/dist/middleware/security.d.ts.map +1 -0
  62. package/dist/middleware/security.js +77 -0
  63. package/dist/middleware/security.js.map +1 -0
  64. package/dist/models/agenda.d.ts +97 -0
  65. package/dist/models/agenda.d.ts.map +1 -0
  66. package/dist/models/agenda.js +40 -0
  67. package/dist/models/agenda.js.map +1 -0
  68. package/dist/models/announcement.d.ts +223 -0
  69. package/dist/models/announcement.d.ts.map +1 -0
  70. package/dist/models/announcement.js +120 -0
  71. package/dist/models/announcement.js.map +1 -0
  72. package/dist/models/assignment.d.ts +1292 -0
  73. package/dist/models/assignment.d.ts.map +1 -0
  74. package/dist/models/assignment.js +309 -0
  75. package/dist/models/assignment.js.map +1 -0
  76. package/dist/models/attendance.d.ts +180 -0
  77. package/dist/models/attendance.d.ts.map +1 -0
  78. package/dist/models/attendance.js +188 -0
  79. package/dist/models/attendance.js.map +1 -0
  80. package/dist/models/auth.d.ts +153 -0
  81. package/dist/models/auth.d.ts.map +1 -0
  82. package/dist/models/auth.js +217 -0
  83. package/dist/models/auth.js.map +1 -0
  84. package/dist/models/class.d.ts +439 -0
  85. package/dist/models/class.d.ts.map +1 -0
  86. package/dist/models/class.js +546 -0
  87. package/dist/models/class.js.map +1 -0
  88. package/dist/models/comment.d.ts +171 -0
  89. package/dist/models/comment.d.ts.map +1 -0
  90. package/dist/models/comment.js +138 -0
  91. package/dist/models/comment.js.map +1 -0
  92. package/dist/models/conversation.d.ts +164 -0
  93. package/dist/models/conversation.d.ts.map +1 -0
  94. package/dist/models/conversation.js +175 -0
  95. package/dist/models/conversation.js.map +1 -0
  96. package/dist/models/event.d.ts +295 -0
  97. package/dist/models/event.d.ts.map +1 -0
  98. package/dist/models/event.js +145 -0
  99. package/dist/models/event.js.map +1 -0
  100. package/dist/models/file.d.ts +536 -0
  101. package/dist/models/file.d.ts.map +1 -0
  102. package/dist/models/file.js +126 -0
  103. package/dist/models/file.js.map +1 -0
  104. package/dist/models/folder.d.ts +295 -0
  105. package/dist/models/folder.d.ts.map +1 -0
  106. package/dist/models/folder.js +202 -0
  107. package/dist/models/folder.js.map +1 -0
  108. package/dist/models/labChat.d.ts +243 -0
  109. package/dist/models/labChat.d.ts.map +1 -0
  110. package/dist/models/labChat.js +204 -0
  111. package/dist/models/labChat.js.map +1 -0
  112. package/dist/models/marketing.d.ts +72 -0
  113. package/dist/models/marketing.d.ts.map +1 -0
  114. package/dist/models/marketing.js +26 -0
  115. package/dist/models/marketing.js.map +1 -0
  116. package/dist/models/message.d.ts +100 -0
  117. package/dist/models/message.d.ts.map +1 -0
  118. package/dist/models/message.js +131 -0
  119. package/dist/models/message.js.map +1 -0
  120. package/dist/models/newtonChat.d.ts +72 -0
  121. package/dist/models/newtonChat.d.ts.map +1 -0
  122. package/dist/models/newtonChat.js +61 -0
  123. package/dist/models/newtonChat.js.map +1 -0
  124. package/dist/models/notification.d.ts +65 -0
  125. package/dist/models/notification.d.ts.map +1 -0
  126. package/dist/models/notification.js +46 -0
  127. package/dist/models/notification.js.map +1 -0
  128. package/dist/models/section.d.ts +102 -0
  129. package/dist/models/section.d.ts.map +1 -0
  130. package/dist/models/section.js +83 -0
  131. package/dist/models/section.js.map +1 -0
  132. package/dist/models/user.d.ts +39 -0
  133. package/dist/models/user.d.ts.map +1 -0
  134. package/dist/models/user.js +38 -0
  135. package/dist/models/user.js.map +1 -0
  136. package/dist/models/worksheet.d.ts +460 -0
  137. package/dist/models/worksheet.d.ts.map +1 -0
  138. package/dist/models/worksheet.js +200 -0
  139. package/dist/models/worksheet.js.map +1 -0
  140. package/dist/pipelines/aiLabChat.d.ts +21 -0
  141. package/dist/pipelines/aiLabChat.d.ts.map +1 -0
  142. package/dist/pipelines/aiLabChat.js +460 -0
  143. package/dist/pipelines/aiLabChat.js.map +1 -0
  144. package/dist/pipelines/aiNewtonChat.d.ts +30 -0
  145. package/dist/pipelines/aiNewtonChat.d.ts.map +1 -0
  146. package/dist/pipelines/aiNewtonChat.js +289 -0
  147. package/dist/pipelines/aiNewtonChat.js.map +1 -0
  148. package/dist/pipelines/gradeWorksheet.d.ts +30 -0
  149. package/dist/pipelines/gradeWorksheet.d.ts.map +1 -0
  150. package/dist/pipelines/gradeWorksheet.js +252 -0
  151. package/dist/pipelines/gradeWorksheet.js.map +1 -0
  152. package/dist/routers/_app.d.ts +6403 -3741
  153. package/dist/routers/_app.d.ts.map +1 -1
  154. package/dist/routers/_app.js +10 -0
  155. package/dist/routers/_app.js.map +1 -0
  156. package/dist/routers/agenda.d.ts +58 -6
  157. package/dist/routers/agenda.d.ts.map +1 -1
  158. package/dist/routers/agenda.js +6 -58
  159. package/dist/routers/agenda.js.map +1 -0
  160. package/dist/routers/announcement.d.ts +325 -6
  161. package/dist/routers/announcement.d.ts.map +1 -1
  162. package/dist/routers/announcement.js +547 -57
  163. package/dist/routers/announcement.js.map +1 -0
  164. package/dist/routers/assignment.d.ts +431 -318
  165. package/dist/routers/assignment.d.ts.map +1 -1
  166. package/dist/routers/assignment.js +104 -1559
  167. package/dist/routers/assignment.js.map +1 -0
  168. package/dist/routers/attendance.d.ts +20 -9
  169. package/dist/routers/attendance.d.ts.map +1 -1
  170. package/dist/routers/attendance.js +10 -263
  171. package/dist/routers/attendance.js.map +1 -0
  172. package/dist/routers/auth.d.ts +21 -1
  173. package/dist/routers/auth.d.ts.map +1 -1
  174. package/dist/routers/auth.js +37 -241
  175. package/dist/routers/auth.js.map +1 -0
  176. package/dist/routers/class.d.ts +198 -68
  177. package/dist/routers/class.d.ts.map +1 -1
  178. package/dist/routers/class.js +88 -909
  179. package/dist/routers/class.js.map +1 -0
  180. package/dist/routers/comment.d.ts +153 -0
  181. package/dist/routers/comment.d.ts.map +1 -0
  182. package/dist/routers/comment.js +58 -0
  183. package/dist/routers/comment.js.map +1 -0
  184. package/dist/routers/conversation.d.ts +73 -3
  185. package/dist/routers/conversation.d.ts.map +1 -1
  186. package/dist/routers/conversation.js +23 -265
  187. package/dist/routers/conversation.js.map +1 -0
  188. package/dist/routers/event.d.ts +46 -37
  189. package/dist/routers/event.d.ts.map +1 -1
  190. package/dist/routers/event.js +15 -431
  191. package/dist/routers/event.js.map +1 -0
  192. package/dist/routers/file.d.ts +4 -2
  193. package/dist/routers/file.d.ts.map +1 -1
  194. package/dist/routers/file.js +11 -295
  195. package/dist/routers/file.js.map +1 -0
  196. package/dist/routers/folder.d.ts +21 -14
  197. package/dist/routers/folder.d.ts.map +1 -1
  198. package/dist/routers/folder.js +36 -743
  199. package/dist/routers/folder.js.map +1 -0
  200. package/dist/routers/labChat.d.ts +12 -9
  201. package/dist/routers/labChat.d.ts.map +1 -1
  202. package/dist/routers/labChat.js +21 -877
  203. package/dist/routers/labChat.js.map +1 -0
  204. package/dist/routers/marketing.d.ts +2 -2
  205. package/dist/routers/marketing.d.ts.map +1 -1
  206. package/dist/routers/marketing.js +9 -54
  207. package/dist/routers/marketing.js.map +1 -0
  208. package/dist/routers/message.d.ts +2 -1
  209. package/dist/routers/message.d.ts.map +1 -1
  210. package/dist/routers/message.js +29 -519
  211. package/dist/routers/message.js.map +1 -0
  212. package/dist/routers/newtonChat.d.ts +55 -0
  213. package/dist/routers/newtonChat.d.ts.map +1 -0
  214. package/dist/routers/newtonChat.js +22 -0
  215. package/dist/routers/newtonChat.js.map +1 -0
  216. package/dist/routers/notifications.d.ts +8 -8
  217. package/dist/routers/notifications.d.ts.map +1 -1
  218. package/dist/routers/notifications.js +20 -81
  219. package/dist/routers/notifications.js.map +1 -0
  220. package/dist/routers/section.d.ts +37 -6
  221. package/dist/routers/section.d.ts.map +1 -1
  222. package/dist/routers/section.js +26 -167
  223. package/dist/routers/section.js.map +1 -0
  224. package/dist/routers/user.d.ts +1 -1
  225. package/dist/routers/user.d.ts.map +1 -1
  226. package/dist/routers/user.js +34 -204
  227. package/dist/routers/user.js.map +1 -0
  228. package/dist/routers/worksheet.d.ts +362 -0
  229. package/dist/routers/worksheet.d.ts.map +1 -0
  230. package/dist/routers/worksheet.js +153 -0
  231. package/dist/routers/worksheet.js.map +1 -0
  232. package/dist/seedDatabase.d.ts +2 -3
  233. package/dist/seedDatabase.d.ts.map +1 -1
  234. package/dist/seedDatabase.js +311 -289
  235. package/dist/seedDatabase.js.map +1 -0
  236. package/dist/server/pipelines/aiLabChat.d.ts +21 -0
  237. package/dist/server/pipelines/aiLabChat.d.ts.map +1 -0
  238. package/dist/server/pipelines/aiLabChat.js +456 -0
  239. package/dist/server/pipelines/aiLabChat.js.map +1 -0
  240. package/dist/server/pipelines/aiNewtonChat.d.ts +30 -0
  241. package/dist/server/pipelines/aiNewtonChat.d.ts.map +1 -0
  242. package/dist/server/pipelines/aiNewtonChat.js +285 -0
  243. package/dist/server/pipelines/aiNewtonChat.js.map +1 -0
  244. package/dist/server/pipelines/gradeWorksheet.d.ts +30 -0
  245. package/dist/server/pipelines/gradeWorksheet.d.ts.map +1 -0
  246. package/dist/server/pipelines/gradeWorksheet.js +248 -0
  247. package/dist/server/pipelines/gradeWorksheet.js.map +1 -0
  248. package/dist/services/agenda.d.ts +100 -0
  249. package/dist/services/agenda.d.ts.map +1 -0
  250. package/dist/services/agenda.js +21 -0
  251. package/dist/services/agenda.js.map +1 -0
  252. package/dist/services/announcement.d.ts +135 -0
  253. package/dist/services/announcement.d.ts.map +1 -0
  254. package/dist/services/announcement.js +223 -0
  255. package/dist/services/announcement.js.map +1 -0
  256. package/dist/services/assignment.d.ts +1462 -0
  257. package/dist/services/assignment.d.ts.map +1 -0
  258. package/dist/services/assignment.js +898 -0
  259. package/dist/services/assignment.js.map +1 -0
  260. package/dist/services/attendance.d.ts +93 -0
  261. package/dist/services/attendance.d.ts.map +1 -0
  262. package/dist/services/attendance.js +61 -0
  263. package/dist/services/attendance.js.map +1 -0
  264. package/dist/services/auth.d.ts +68 -0
  265. package/dist/services/auth.d.ts.map +1 -0
  266. package/dist/services/auth.js +218 -0
  267. package/dist/services/auth.js.map +1 -0
  268. package/dist/services/class.d.ts +621 -0
  269. package/dist/services/class.d.ts.map +1 -0
  270. package/dist/services/class.js +474 -0
  271. package/dist/services/class.js.map +1 -0
  272. package/dist/services/comment.d.ts +100 -0
  273. package/dist/services/comment.d.ts.map +1 -0
  274. package/dist/services/comment.js +83 -0
  275. package/dist/services/comment.js.map +1 -0
  276. package/dist/services/conversation.d.ts +159 -0
  277. package/dist/services/conversation.d.ts.map +1 -0
  278. package/dist/services/conversation.js +138 -0
  279. package/dist/services/conversation.js.map +1 -0
  280. package/dist/services/event.d.ts +216 -0
  281. package/dist/services/event.d.ts.map +1 -0
  282. package/dist/services/event.js +168 -0
  283. package/dist/services/event.js.map +1 -0
  284. package/dist/services/file.d.ts +74 -0
  285. package/dist/services/file.d.ts.map +1 -0
  286. package/dist/services/file.js +133 -0
  287. package/dist/services/file.js.map +1 -0
  288. package/dist/services/folder.d.ts +239 -0
  289. package/dist/services/folder.d.ts.map +1 -0
  290. package/dist/services/folder.js +248 -0
  291. package/dist/services/folder.js.map +1 -0
  292. package/dist/services/labChat.d.ts +165 -0
  293. package/dist/services/labChat.d.ts.map +1 -0
  294. package/dist/services/labChat.js +289 -0
  295. package/dist/services/labChat.js.map +1 -0
  296. package/dist/services/marketing.d.ts +50 -0
  297. package/dist/services/marketing.d.ts.map +1 -0
  298. package/dist/services/marketing.js +32 -0
  299. package/dist/services/marketing.js.map +1 -0
  300. package/dist/services/message.d.ts +95 -0
  301. package/dist/services/message.d.ts.map +1 -0
  302. package/dist/services/message.js +350 -0
  303. package/dist/services/message.js.map +1 -0
  304. package/dist/services/newtonChat.d.ts +22 -0
  305. package/dist/services/newtonChat.d.ts.map +1 -0
  306. package/dist/services/newtonChat.js +174 -0
  307. package/dist/services/newtonChat.js.map +1 -0
  308. package/dist/services/notification.d.ts +65 -0
  309. package/dist/services/notification.d.ts.map +1 -0
  310. package/dist/services/notification.js +33 -0
  311. package/dist/services/notification.js.map +1 -0
  312. package/dist/services/section.d.ts +53 -0
  313. package/dist/services/section.d.ts.map +1 -0
  314. package/dist/services/section.js +199 -0
  315. package/dist/services/section.js.map +1 -0
  316. package/dist/services/user.d.ts +48 -0
  317. package/dist/services/user.d.ts.map +1 -0
  318. package/dist/services/user.js +141 -0
  319. package/dist/services/user.js.map +1 -0
  320. package/dist/services/worksheet.d.ts +239 -0
  321. package/dist/services/worksheet.d.ts.map +1 -0
  322. package/dist/services/worksheet.js +235 -0
  323. package/dist/services/worksheet.js.map +1 -0
  324. package/dist/socket/handlers.d.ts.map +1 -1
  325. package/dist/socket/handlers.js +4 -0
  326. package/dist/socket/handlers.js.map +1 -0
  327. package/dist/trpc.d.ts.map +1 -1
  328. package/dist/trpc.js +4 -0
  329. package/dist/trpc.js.map +1 -0
  330. package/dist/types/trpc.d.ts.map +1 -1
  331. package/dist/types/trpc.js +4 -0
  332. package/dist/types/trpc.js.map +1 -0
  333. package/dist/utils/aiUser.d.ts +1 -3
  334. package/dist/utils/aiUser.d.ts.map +1 -1
  335. package/dist/utils/aiUser.js +8 -3
  336. package/dist/utils/aiUser.js.map +1 -0
  337. package/dist/utils/email.d.ts +12 -1
  338. package/dist/utils/email.d.ts.map +1 -1
  339. package/dist/utils/email.js +26 -4
  340. package/dist/utils/email.js.map +1 -0
  341. package/dist/utils/generateInviteCode.d.ts +1 -2
  342. package/dist/utils/generateInviteCode.d.ts.map +1 -1
  343. package/dist/utils/generateInviteCode.js +5 -2
  344. package/dist/utils/generateInviteCode.js.map +1 -0
  345. package/dist/utils/inference.d.ts +8 -0
  346. package/dist/utils/inference.d.ts.map +1 -1
  347. package/dist/utils/inference.js +78 -10
  348. package/dist/utils/inference.js.map +1 -0
  349. package/dist/utils/logger.d.ts +4 -0
  350. package/dist/utils/logger.d.ts.map +1 -1
  351. package/dist/utils/logger.js +35 -3
  352. package/dist/utils/logger.js.map +1 -0
  353. package/dist/utils/prismaErrorHandler.d.ts.map +1 -1
  354. package/dist/utils/prismaErrorHandler.js +7 -0
  355. package/dist/utils/prismaErrorHandler.js.map +1 -0
  356. package/dist/utils/prismaWrapper.d.ts +1 -0
  357. package/dist/utils/prismaWrapper.d.ts.map +1 -1
  358. package/dist/utils/prismaWrapper.js +8 -0
  359. package/dist/utils/prismaWrapper.js.map +1 -0
  360. package/docker-compose.yml +19 -0
  361. package/package.json +21 -4
  362. package/prisma/migrations/20251109122857_annuoncements_comments/migration.sql +30 -0
  363. package/prisma/migrations/20251109135555_reactions_announcements_comments/migration.sql +35 -0
  364. package/prisma/schema.prisma +180 -12
  365. package/scripts/test-pre-push.ts +14 -0
  366. package/src/index.ts +247 -52
  367. package/src/instrument.ts +15 -0
  368. package/src/lib/config/env.ts +132 -0
  369. package/src/lib/fileUpload.ts +81 -16
  370. package/src/lib/googleCloudStorage.ts +42 -6
  371. package/src/lib/jsonConversion.ts +12 -14
  372. package/src/lib/prisma.ts +23 -2
  373. package/src/lib/pusher.ts +11 -6
  374. package/src/lib/redis.ts +56 -0
  375. package/src/lib/thumbnailGenerator.ts +170 -168
  376. package/src/middleware/auth.ts +86 -137
  377. package/src/middleware/security.ts +80 -0
  378. package/src/models/agenda.ts +46 -0
  379. package/src/models/announcement.ts +134 -0
  380. package/src/models/assignment.ts +322 -0
  381. package/src/models/attendance.ts +208 -0
  382. package/src/models/auth.ts +247 -0
  383. package/src/models/class.ts +598 -0
  384. package/src/models/comment.ts +152 -0
  385. package/src/models/conversation.ts +200 -0
  386. package/src/models/event.ts +177 -0
  387. package/src/models/file.ts +129 -0
  388. package/src/models/folder.ts +225 -0
  389. package/src/models/labChat.ts +213 -0
  390. package/src/models/marketing.ts +45 -0
  391. package/src/models/message.ts +153 -0
  392. package/src/models/newtonChat.ts +70 -0
  393. package/src/models/notification.ts +54 -0
  394. package/src/models/section.ts +98 -0
  395. package/src/models/user.ts +47 -0
  396. package/src/models/worksheet.ts +294 -0
  397. package/src/pipelines/aiLabChat.ts +511 -0
  398. package/src/pipelines/aiNewtonChat.ts +347 -0
  399. package/src/pipelines/gradeWorksheet.ts +286 -0
  400. package/src/routers/_app.ts +6 -0
  401. package/src/routers/agenda.ts +3 -61
  402. package/src/routers/announcement.ts +622 -57
  403. package/src/routers/assignment.ts +157 -1688
  404. package/src/routers/attendance.ts +16 -277
  405. package/src/routers/auth.ts +79 -313
  406. package/src/routers/class.ts +265 -1038
  407. package/src/routers/comment.ts +76 -0
  408. package/src/routers/conversation.ts +53 -284
  409. package/src/routers/event.ts +50 -481
  410. package/src/routers/file.ts +45 -341
  411. package/src/routers/folder.ts +107 -836
  412. package/src/routers/labChat.ts +29 -960
  413. package/src/routers/marketing.ts +35 -77
  414. package/src/routers/message.ts +45 -571
  415. package/src/routers/newtonChat.ts +36 -0
  416. package/src/routers/notifications.ts +32 -82
  417. package/src/routers/section.ts +58 -200
  418. package/src/routers/user.ts +49 -226
  419. package/src/routers/worksheet.ts +252 -0
  420. package/src/seedDatabase.ts +330 -290
  421. package/src/services/agenda.ts +21 -0
  422. package/src/services/announcement.ts +290 -0
  423. package/src/services/assignment.ts +1198 -0
  424. package/src/services/attendance.ts +85 -0
  425. package/src/services/auth.ts +277 -0
  426. package/src/services/class.ts +622 -0
  427. package/src/services/comment.ts +106 -0
  428. package/src/services/conversation.ts +213 -0
  429. package/src/services/event.ts +231 -0
  430. package/src/services/file.ts +167 -0
  431. package/src/services/folder.ts +316 -0
  432. package/src/services/labChat.ts +352 -0
  433. package/src/services/marketing.ts +57 -0
  434. package/src/services/message.ts +461 -0
  435. package/src/services/newtonChat.ts +222 -0
  436. package/src/services/notification.ts +50 -0
  437. package/src/services/section.ts +283 -0
  438. package/src/services/user.ts +172 -0
  439. package/src/services/worksheet.ts +358 -0
  440. package/src/trpc.ts +4 -0
  441. package/src/utils/aiUser.ts +4 -3
  442. package/src/utils/email.ts +33 -4
  443. package/src/utils/generateInviteCode.ts +1 -3
  444. package/src/utils/inference.ts +89 -10
  445. package/src/utils/logger.ts +33 -3
  446. package/src/utils/prismaErrorHandler.ts +3 -0
  447. package/src/utils/prismaWrapper.ts +4 -0
  448. package/tests/globalSetup.ts +62 -0
  449. package/tests/helpers.ts +22 -0
  450. package/tests/middleware/security.test.ts +42 -0
  451. package/tests/routers/agenda.test.ts +138 -0
  452. package/tests/routers/announcement.test.ts +490 -0
  453. package/tests/routers/assignment.test.ts +837 -0
  454. package/tests/routers/attendance.test.ts +160 -0
  455. package/tests/routers/auth.test.ts +171 -0
  456. package/tests/{class.test.ts → routers/class.test.ts} +163 -92
  457. package/tests/routers/comment.test.ts +126 -0
  458. package/tests/routers/conversation.test.ts +145 -0
  459. package/tests/routers/event.test.ts +289 -0
  460. package/tests/routers/folder.test.ts +178 -0
  461. package/tests/routers/labChat.test.ts +115 -0
  462. package/tests/routers/marketing.test.ts +59 -0
  463. package/tests/routers/message.test.ts +123 -0
  464. package/tests/routers/notification.test.ts +69 -0
  465. package/tests/routers/section.test.ts +208 -0
  466. package/tests/server/rateLimit.test.ts +73 -0
  467. package/tests/setup.ts +39 -65
  468. package/tests/user.test.ts +136 -0
  469. package/tests/utils/aiUser.test.ts +22 -0
  470. package/tests/utils/generateInviteCode.test.ts +24 -0
  471. package/tests/utils/logger.test.ts +74 -0
  472. package/tests/utils/prismaErrorHandler.test.ts +101 -0
  473. package/tests/utils/prismaWrapper.test.ts +82 -0
  474. package/tests/worksheet.test.ts +181 -0
  475. package/tsconfig.json +9 -2
  476. package/vitest.config.ts +30 -1
  477. package/vitest.unit.config.ts +21 -0
  478. package/API_SPECIFICATION.md +0 -1597
  479. package/BASE64_REMOVAL_SUMMARY.md +0 -164
  480. package/CHAT_API_SPEC.md +0 -579
  481. package/LAB_CHAT_API_SPEC.md +0 -518
  482. package/dist/routers/school.d.ts +0 -208
  483. package/dist/routers/school.d.ts.map +0 -1
  484. package/dist/routers/school.js +0 -481
  485. package/tests/auth.test.ts +0 -25
@@ -17,34 +17,49 @@ export declare const assignmentRouter: import("@trpc/server").TRPCBuiltRouter<{
17
17
  };
18
18
  transformer: false;
19
19
  }, import("@trpc/server").TRPCDecorateCreateRouterOptions<{
20
- order: import("@trpc/server").TRPCMutationProcedure<{
20
+ reorder: import("@trpc/server").TRPCMutationProcedure<{
21
21
  input: {
22
22
  [x: string]: unknown;
23
23
  classId: string;
24
- id: string;
25
- order: number;
24
+ movedId: string;
25
+ position: "end" | "start" | "before" | "after";
26
+ targetId?: string | undefined;
26
27
  };
27
28
  output: {
28
29
  type: import(".prisma/client").$Enums.AssignmentType;
29
30
  id: string;
31
+ createdAt: Date | null;
32
+ classId: string;
30
33
  title: string;
31
34
  dueDate: Date;
32
35
  maxGrade: number | null;
33
- classId: string;
34
36
  eventId: string | null;
35
- markSchemeId: string | null;
36
- gradingBoundaryId: string | null;
37
37
  instructions: string;
38
- weight: number;
39
- graded: boolean;
40
- sectionId: string | null;
41
- template: boolean;
42
- createdAt: Date | null;
43
38
  modifiedAt: Date | null;
44
39
  teacherId: string;
40
+ acceptFiles: boolean;
41
+ acceptExtendedResponse: boolean;
42
+ acceptWorksheet: boolean;
43
+ gradeWithAI: boolean;
44
+ aiPolicyLevel: number;
45
+ sectionId: string | null;
46
+ graded: boolean;
47
+ weight: number;
45
48
  inProgress: boolean;
49
+ template: boolean;
50
+ markSchemeId: string | null;
46
51
  order: number | null;
52
+ gradingBoundaryId: string | null;
53
+ } | null;
54
+ meta: object;
55
+ }>;
56
+ exists: import("@trpc/server").TRPCQueryProcedure<{
57
+ input: {
58
+ [x: string]: unknown;
59
+ classId: string;
60
+ id: string;
47
61
  };
62
+ output: boolean;
48
63
  meta: object;
49
64
  }>;
50
65
  move: import("@trpc/server").TRPCMutationProcedure<{
@@ -52,51 +67,65 @@ export declare const assignmentRouter: import("@trpc/server").TRPCBuiltRouter<{
52
67
  [x: string]: unknown;
53
68
  classId: string;
54
69
  id: string;
55
- targetSectionId: string;
70
+ targetSectionId?: string | null | undefined;
56
71
  };
57
72
  output: {
58
73
  type: import(".prisma/client").$Enums.AssignmentType;
59
74
  id: string;
75
+ createdAt: Date | null;
76
+ classId: string;
60
77
  title: string;
61
78
  dueDate: Date;
62
79
  maxGrade: number | null;
63
- classId: string;
64
80
  eventId: string | null;
65
- markSchemeId: string | null;
66
- gradingBoundaryId: string | null;
67
81
  instructions: string;
68
- weight: number;
69
- graded: boolean;
70
- sectionId: string | null;
71
- template: boolean;
72
- createdAt: Date | null;
73
82
  modifiedAt: Date | null;
74
83
  teacherId: string;
84
+ acceptFiles: boolean;
85
+ acceptExtendedResponse: boolean;
86
+ acceptWorksheet: boolean;
87
+ gradeWithAI: boolean;
88
+ aiPolicyLevel: number;
89
+ sectionId: string | null;
90
+ graded: boolean;
91
+ weight: number;
75
92
  inProgress: boolean;
93
+ template: boolean;
94
+ markSchemeId: string | null;
76
95
  order: number | null;
77
- };
96
+ gradingBoundaryId: string | null;
97
+ } | null;
78
98
  meta: object;
79
99
  }>;
80
100
  create: import("@trpc/server").TRPCMutationProcedure<{
81
101
  input: {
102
+ [x: string]: unknown;
103
+ classId: string;
82
104
  title: string;
83
105
  dueDate: string;
84
- classId: string;
85
106
  instructions: string;
86
- type?: "LAB" | "HOMEWORK" | "QUIZ" | "TEST" | "PROJECT" | "ESSAY" | "DISCUSSION" | "PRESENTATION" | "OTHER" | undefined;
107
+ type?: "HOMEWORK" | "QUIZ" | "TEST" | "PROJECT" | "ESSAY" | "DISCUSSION" | "PRESENTATION" | "LAB" | "OTHER" | undefined;
108
+ id?: string | undefined;
87
109
  files?: {
88
110
  type: string;
89
111
  name: string;
90
112
  size: number;
91
113
  }[] | undefined;
92
114
  maxGrade?: number | undefined;
93
- markSchemeId?: string | undefined;
94
- gradingBoundaryId?: string | undefined;
95
- weight?: number | undefined;
96
- graded?: boolean | undefined;
115
+ acceptFiles?: boolean | undefined;
116
+ acceptExtendedResponse?: boolean | undefined;
117
+ acceptWorksheet?: boolean | undefined;
118
+ gradeWithAI?: boolean | undefined;
119
+ aiPolicyLevel?: number | undefined;
97
120
  sectionId?: string | undefined;
121
+ graded?: boolean | undefined;
122
+ weight?: number | undefined;
98
123
  inProgress?: boolean | undefined;
124
+ markSchemeId?: string | undefined;
125
+ gradingBoundaryId?: string | undefined;
99
126
  existingFileIds?: string[] | undefined;
127
+ worksheetIds?: string[] | undefined;
128
+ studentIds?: string[] | undefined;
100
129
  };
101
130
  output: {
102
131
  type: import(".prisma/client").$Enums.AssignmentType;
@@ -112,13 +141,13 @@ export declare const assignmentRouter: import("@trpc/server").TRPCBuiltRouter<{
112
141
  title: string;
113
142
  dueDate: Date;
114
143
  maxGrade: number | null;
144
+ instructions: string;
145
+ graded: boolean;
146
+ weight: number;
115
147
  teacher: {
116
148
  id: string;
117
149
  username: string;
118
150
  };
119
- instructions: string;
120
- weight: number;
121
- graded: boolean;
122
151
  attachments: {
123
152
  type: string;
124
153
  id: string;
@@ -129,9 +158,10 @@ export declare const assignmentRouter: import("@trpc/server").TRPCBuiltRouter<{
129
158
  }>;
130
159
  update: import("@trpc/server").TRPCMutationProcedure<{
131
160
  input: {
132
- id: string;
161
+ [x: string]: unknown;
133
162
  classId: string;
134
- type?: "LAB" | "HOMEWORK" | "QUIZ" | "TEST" | "PROJECT" | "ESSAY" | "DISCUSSION" | "PRESENTATION" | "OTHER" | undefined;
163
+ id: string;
164
+ type?: "HOMEWORK" | "QUIZ" | "TEST" | "PROJECT" | "ESSAY" | "DISCUSSION" | "PRESENTATION" | "LAB" | "OTHER" | undefined;
135
165
  files?: {
136
166
  type: string;
137
167
  name: string;
@@ -141,12 +171,19 @@ export declare const assignmentRouter: import("@trpc/server").TRPCBuiltRouter<{
141
171
  dueDate?: string | undefined;
142
172
  maxGrade?: number | undefined;
143
173
  instructions?: string | undefined;
144
- weight?: number | undefined;
145
- graded?: boolean | undefined;
174
+ acceptFiles?: boolean | undefined;
175
+ acceptExtendedResponse?: boolean | undefined;
176
+ acceptWorksheet?: boolean | undefined;
177
+ gradeWithAI?: boolean | undefined;
178
+ aiPolicyLevel?: number | undefined;
146
179
  sectionId?: string | null | undefined;
180
+ graded?: boolean | undefined;
181
+ weight?: number | undefined;
147
182
  inProgress?: boolean | undefined;
148
183
  existingFileIds?: string[] | undefined;
149
184
  removedAttachments?: string[] | undefined;
185
+ worksheetIds?: string[] | undefined;
186
+ studentIds?: string[] | undefined;
150
187
  };
151
188
  output: {
152
189
  type: import(".prisma/client").$Enums.AssignmentType;
@@ -157,6 +194,7 @@ export declare const assignmentRouter: import("@trpc/server").TRPCBuiltRouter<{
157
194
  username: string;
158
195
  };
159
196
  }[];
197
+ createdAt: Date | null;
160
198
  class: {
161
199
  id: string;
162
200
  schoolId: string | null;
@@ -168,14 +206,18 @@ export declare const assignmentRouter: import("@trpc/server").TRPCBuiltRouter<{
168
206
  };
169
207
  section: {
170
208
  id: string;
209
+ classId: string;
171
210
  name: string;
172
211
  color: string | null;
173
- classId: string;
174
212
  order: number | null;
175
213
  } | null;
176
214
  title: string;
177
215
  dueDate: Date;
178
216
  maxGrade: number | null;
217
+ instructions: string;
218
+ graded: boolean;
219
+ weight: number;
220
+ markSchemeId: string | null;
179
221
  teacher: {
180
222
  id: string;
181
223
  username: string;
@@ -183,13 +225,8 @@ export declare const assignmentRouter: import("@trpc/server").TRPCBuiltRouter<{
183
225
  password: string;
184
226
  verified: boolean;
185
227
  role: import(".prisma/client").$Enums.UserRole;
186
- profileId: string | null;
187
228
  schoolId: string | null;
188
229
  };
189
- instructions: string;
190
- weight: number;
191
- graded: boolean;
192
- createdAt: Date | null;
193
230
  attachments: {
194
231
  path: string;
195
232
  type: string;
@@ -201,12 +238,12 @@ export declare const assignmentRouter: import("@trpc/server").TRPCBuiltRouter<{
201
238
  path: string;
202
239
  type: string;
203
240
  id: string;
241
+ userId: string | null;
204
242
  name: string;
205
243
  size: number | null;
206
244
  uploadedAt: Date | null;
207
245
  assignmentId: string | null;
208
246
  submissionId: string | null;
209
- userId: string | null;
210
247
  thumbnailId: string | null;
211
248
  annotationId: string | null;
212
249
  uploadStatus: import(".prisma/client").$Enums.UploadStatus;
@@ -222,6 +259,7 @@ export declare const assignmentRouter: import("@trpc/server").TRPCBuiltRouter<{
222
259
  folderId: string | null;
223
260
  conversationId: string | null;
224
261
  messageId: string | null;
262
+ announcementId: string | null;
225
263
  schoolDevelopementProgramId: string | null;
226
264
  } | null;
227
265
  thumbnailId: string | null;
@@ -241,8 +279,9 @@ export declare const assignmentRouter: import("@trpc/server").TRPCBuiltRouter<{
241
279
  }>;
242
280
  get: import("@trpc/server").TRPCQueryProcedure<{
243
281
  input: {
244
- id: string;
282
+ [x: string]: unknown;
245
283
  classId: string;
284
+ id: string;
246
285
  };
247
286
  output: {
248
287
  sections: {
@@ -263,6 +302,10 @@ export declare const assignmentRouter: import("@trpc/server").TRPCBuiltRouter<{
263
302
  id: string;
264
303
  name: string;
265
304
  } | null;
305
+ worksheets: {
306
+ id: string;
307
+ name: string;
308
+ }[];
266
309
  teacher: {
267
310
  id: string;
268
311
  username: string;
@@ -278,8 +321,9 @@ export declare const assignmentRouter: import("@trpc/server").TRPCBuiltRouter<{
278
321
  }[];
279
322
  eventAttached: {
280
323
  id: string;
281
- name: string | null;
282
324
  location: string | null;
325
+ name: string | null;
326
+ color: string | null;
283
327
  startTime: Date;
284
328
  endTime: Date;
285
329
  remarks: string | null;
@@ -294,23 +338,28 @@ export declare const assignmentRouter: import("@trpc/server").TRPCBuiltRouter<{
294
338
  } | null;
295
339
  type: import(".prisma/client").$Enums.AssignmentType;
296
340
  id: string;
341
+ createdAt: Date | null;
342
+ classId: string;
297
343
  title: string;
298
344
  dueDate: Date;
299
345
  maxGrade: number | null;
300
- classId: string;
301
346
  eventId: string | null;
302
- markSchemeId: string | null;
303
- gradingBoundaryId: string | null;
304
347
  instructions: string;
305
- weight: number;
306
- graded: boolean;
307
- sectionId: string | null;
308
- template: boolean;
309
- createdAt: Date | null;
310
348
  modifiedAt: Date | null;
311
349
  teacherId: string;
350
+ acceptFiles: boolean;
351
+ acceptExtendedResponse: boolean;
352
+ acceptWorksheet: boolean;
353
+ gradeWithAI: boolean;
354
+ aiPolicyLevel: number;
355
+ sectionId: string | null;
356
+ graded: boolean;
357
+ weight: number;
312
358
  inProgress: boolean;
359
+ template: boolean;
360
+ markSchemeId: string | null;
313
361
  order: number | null;
362
+ gradingBoundaryId: string | null;
314
363
  };
315
364
  meta: object;
316
365
  }>;
@@ -320,7 +369,8 @@ export declare const assignmentRouter: import("@trpc/server").TRPCBuiltRouter<{
320
369
  classId: string;
321
370
  assignmentId: string;
322
371
  };
323
- output: ({
372
+ output: {
373
+ late: boolean;
324
374
  assignment: {
325
375
  class: {
326
376
  id: string;
@@ -331,6 +381,10 @@ export declare const assignmentRouter: import("@trpc/server").TRPCBuiltRouter<{
331
381
  section: string;
332
382
  syllabus: string | null;
333
383
  };
384
+ worksheets: {
385
+ id: string;
386
+ name: string;
387
+ }[];
334
388
  markScheme: {
335
389
  id: string;
336
390
  structured: string;
@@ -342,65 +396,39 @@ export declare const assignmentRouter: import("@trpc/server").TRPCBuiltRouter<{
342
396
  } & {
343
397
  type: import(".prisma/client").$Enums.AssignmentType;
344
398
  id: string;
399
+ createdAt: Date | null;
400
+ classId: string;
345
401
  title: string;
346
402
  dueDate: Date;
347
403
  maxGrade: number | null;
348
- classId: string;
349
404
  eventId: string | null;
350
- markSchemeId: string | null;
351
- gradingBoundaryId: string | null;
352
405
  instructions: string;
353
- weight: number;
354
- graded: boolean;
355
- sectionId: string | null;
356
- template: boolean;
357
- createdAt: Date | null;
358
406
  modifiedAt: Date | null;
359
407
  teacherId: string;
408
+ acceptFiles: boolean;
409
+ acceptExtendedResponse: boolean;
410
+ acceptWorksheet: boolean;
411
+ gradeWithAI: boolean;
412
+ aiPolicyLevel: number;
413
+ sectionId: string | null;
414
+ graded: boolean;
415
+ weight: number;
360
416
  inProgress: boolean;
417
+ template: boolean;
418
+ markSchemeId: string | null;
361
419
  order: number | null;
362
- };
363
- student: {
364
- id: string;
365
- username: string;
420
+ gradingBoundaryId: string | null;
366
421
  };
367
422
  attachments: {
368
423
  path: string;
369
424
  type: string;
370
425
  id: string;
371
- name: string;
372
- size: number | null;
373
- uploadedAt: Date | null;
374
- assignmentId: string | null;
375
- submissionId: string | null;
376
426
  userId: string | null;
377
- thumbnailId: string | null;
378
- annotationId: string | null;
379
- uploadStatus: import(".prisma/client").$Enums.UploadStatus;
380
- uploadUrl: string | null;
381
- uploadExpiresAt: Date | null;
382
- uploadSessionId: string | null;
383
- uploadProgress: number | null;
384
- uploadError: string | null;
385
- uploadRetryCount: number;
386
- isOrphaned: boolean;
387
- cleanupAt: Date | null;
388
- classDraftId: string | null;
389
- folderId: string | null;
390
- conversationId: string | null;
391
- messageId: string | null;
392
- schoolDevelopementProgramId: string | null;
393
- }[];
394
- annotations: {
395
- path: string;
396
- type: string;
397
- id: string;
398
427
  name: string;
399
428
  size: number | null;
400
429
  uploadedAt: Date | null;
401
430
  assignmentId: string | null;
402
431
  submissionId: string | null;
403
- userId: string | null;
404
432
  thumbnailId: string | null;
405
433
  annotationId: string | null;
406
434
  uploadStatus: import(".prisma/client").$Enums.UploadStatus;
@@ -416,102 +444,23 @@ export declare const assignmentRouter: import("@trpc/server").TRPCBuiltRouter<{
416
444
  folderId: string | null;
417
445
  conversationId: string | null;
418
446
  messageId: string | null;
447
+ announcementId: string | null;
419
448
  schoolDevelopementProgramId: string | null;
420
449
  }[];
421
- } & {
422
- id: string;
423
- assignmentId: string;
424
- studentId: string;
425
- gradeReceived: number | null;
426
- createdAt: Date;
427
- modifiedAt: Date;
428
- rubricState: string | null;
429
- teacherComments: string | null;
430
- submittedAt: Date | null;
431
- submitted: boolean | null;
432
- returned: boolean | null;
433
- }) | {
434
- late: boolean;
435
- assignment: {
436
- class: {
437
- id: string;
438
- schoolId: string | null;
439
- name: string;
440
- subject: string;
441
- color: string | null;
442
- section: string;
443
- syllabus: string | null;
444
- };
445
- markScheme: {
446
- id: string;
447
- structured: string;
448
- } | null;
449
- gradingBoundary: {
450
- id: string;
451
- structured: string;
452
- } | null;
453
- } & {
454
- type: import(".prisma/client").$Enums.AssignmentType;
455
- id: string;
456
- title: string;
457
- dueDate: Date;
458
- maxGrade: number | null;
459
- classId: string;
460
- eventId: string | null;
461
- markSchemeId: string | null;
462
- gradingBoundaryId: string | null;
463
- instructions: string;
464
- weight: number;
465
- graded: boolean;
466
- sectionId: string | null;
467
- template: boolean;
468
- createdAt: Date | null;
469
- modifiedAt: Date | null;
470
- teacherId: string;
471
- inProgress: boolean;
472
- order: number | null;
473
- };
474
450
  student: {
475
451
  id: string;
476
452
  username: string;
477
453
  };
478
- attachments: {
479
- path: string;
480
- type: string;
481
- id: string;
482
- name: string;
483
- size: number | null;
484
- uploadedAt: Date | null;
485
- assignmentId: string | null;
486
- submissionId: string | null;
487
- userId: string | null;
488
- thumbnailId: string | null;
489
- annotationId: string | null;
490
- uploadStatus: import(".prisma/client").$Enums.UploadStatus;
491
- uploadUrl: string | null;
492
- uploadExpiresAt: Date | null;
493
- uploadSessionId: string | null;
494
- uploadProgress: number | null;
495
- uploadError: string | null;
496
- uploadRetryCount: number;
497
- isOrphaned: boolean;
498
- cleanupAt: Date | null;
499
- classDraftId: string | null;
500
- folderId: string | null;
501
- conversationId: string | null;
502
- messageId: string | null;
503
- schoolDevelopementProgramId: string | null;
504
- }[];
505
454
  annotations: {
506
455
  path: string;
507
456
  type: string;
508
457
  id: string;
458
+ userId: string | null;
509
459
  name: string;
510
460
  size: number | null;
511
461
  uploadedAt: Date | null;
512
462
  assignmentId: string | null;
513
463
  submissionId: string | null;
514
- userId: string | null;
515
464
  thumbnailId: string | null;
516
465
  annotationId: string | null;
517
466
  uploadStatus: import(".prisma/client").$Enums.UploadStatus;
@@ -527,14 +476,16 @@ export declare const assignmentRouter: import("@trpc/server").TRPCBuiltRouter<{
527
476
  folderId: string | null;
528
477
  conversationId: string | null;
529
478
  messageId: string | null;
479
+ announcementId: string | null;
530
480
  schoolDevelopementProgramId: string | null;
531
481
  }[];
532
482
  id: string;
483
+ createdAt: Date;
533
484
  assignmentId: string;
485
+ modifiedAt: Date;
534
486
  studentId: string;
487
+ extendedResponse: string | null;
535
488
  gradeReceived: number | null;
536
- createdAt: Date;
537
- modifiedAt: Date;
538
489
  rubricState: string | null;
539
490
  teacherComments: string | null;
540
491
  submittedAt: Date | null;
@@ -561,6 +512,10 @@ export declare const assignmentRouter: import("@trpc/server").TRPCBuiltRouter<{
561
512
  section: string;
562
513
  syllabus: string | null;
563
514
  };
515
+ worksheets: {
516
+ id: string;
517
+ name: string;
518
+ }[];
564
519
  markScheme: {
565
520
  id: string;
566
521
  structured: string;
@@ -572,42 +527,39 @@ export declare const assignmentRouter: import("@trpc/server").TRPCBuiltRouter<{
572
527
  } & {
573
528
  type: import(".prisma/client").$Enums.AssignmentType;
574
529
  id: string;
530
+ createdAt: Date | null;
531
+ classId: string;
575
532
  title: string;
576
533
  dueDate: Date;
577
534
  maxGrade: number | null;
578
- classId: string;
579
535
  eventId: string | null;
580
- markSchemeId: string | null;
581
- gradingBoundaryId: string | null;
582
536
  instructions: string;
583
- weight: number;
584
- graded: boolean;
585
- sectionId: string | null;
586
- template: boolean;
587
- createdAt: Date | null;
588
537
  modifiedAt: Date | null;
589
538
  teacherId: string;
539
+ acceptFiles: boolean;
540
+ acceptExtendedResponse: boolean;
541
+ acceptWorksheet: boolean;
542
+ gradeWithAI: boolean;
543
+ aiPolicyLevel: number;
544
+ sectionId: string | null;
545
+ graded: boolean;
546
+ weight: number;
590
547
  inProgress: boolean;
548
+ template: boolean;
549
+ markSchemeId: string | null;
591
550
  order: number | null;
592
- };
593
- student: {
594
- id: string;
595
- username: string;
596
- profile: {
597
- displayName: string | null;
598
- profilePicture: string | null;
599
- } | null;
551
+ gradingBoundaryId: string | null;
600
552
  };
601
553
  attachments: {
602
554
  path: string;
603
555
  type: string;
604
556
  id: string;
557
+ userId: string | null;
605
558
  name: string;
606
559
  size: number | null;
607
560
  uploadedAt: Date | null;
608
561
  assignmentId: string | null;
609
562
  submissionId: string | null;
610
- userId: string | null;
611
563
  thumbnailId: string | null;
612
564
  annotationId: string | null;
613
565
  uploadStatus: import(".prisma/client").$Enums.UploadStatus;
@@ -623,18 +575,35 @@ export declare const assignmentRouter: import("@trpc/server").TRPCBuiltRouter<{
623
575
  folderId: string | null;
624
576
  conversationId: string | null;
625
577
  messageId: string | null;
578
+ announcementId: string | null;
626
579
  schoolDevelopementProgramId: string | null;
627
580
  }[];
581
+ student: {
582
+ id: string;
583
+ username: string;
584
+ profile: {
585
+ id: string;
586
+ userId: string;
587
+ displayName: string | null;
588
+ bio: string | null;
589
+ location: string | null;
590
+ website: string | null;
591
+ profilePicture: string | null;
592
+ profilePictureThumbnail: string | null;
593
+ createdAt: Date;
594
+ updatedAt: Date;
595
+ } | null;
596
+ };
628
597
  annotations: {
629
598
  path: string;
630
599
  type: string;
631
600
  id: string;
601
+ userId: string | null;
632
602
  name: string;
633
603
  size: number | null;
634
604
  uploadedAt: Date | null;
635
605
  assignmentId: string | null;
636
606
  submissionId: string | null;
637
- userId: string | null;
638
607
  thumbnailId: string | null;
639
608
  annotationId: string | null;
640
609
  uploadStatus: import(".prisma/client").$Enums.UploadStatus;
@@ -650,14 +619,16 @@ export declare const assignmentRouter: import("@trpc/server").TRPCBuiltRouter<{
650
619
  folderId: string | null;
651
620
  conversationId: string | null;
652
621
  messageId: string | null;
622
+ announcementId: string | null;
653
623
  schoolDevelopementProgramId: string | null;
654
624
  }[];
655
625
  id: string;
626
+ createdAt: Date;
656
627
  assignmentId: string;
628
+ modifiedAt: Date;
657
629
  studentId: string;
630
+ extendedResponse: string | null;
658
631
  gradeReceived: number | null;
659
- createdAt: Date;
660
- modifiedAt: Date;
661
632
  rubricState: string | null;
662
633
  teacherComments: string | null;
663
634
  submittedAt: Date | null;
@@ -672,6 +643,7 @@ export declare const assignmentRouter: import("@trpc/server").TRPCBuiltRouter<{
672
643
  classId: string;
673
644
  assignmentId: string;
674
645
  submissionId: string;
646
+ extendedResponse?: string | undefined;
675
647
  existingFileIds?: string[] | undefined;
676
648
  removedAttachments?: string[] | undefined;
677
649
  submit?: boolean | undefined;
@@ -703,38 +675,39 @@ export declare const assignmentRouter: import("@trpc/server").TRPCBuiltRouter<{
703
675
  } & {
704
676
  type: import(".prisma/client").$Enums.AssignmentType;
705
677
  id: string;
678
+ createdAt: Date | null;
679
+ classId: string;
706
680
  title: string;
707
681
  dueDate: Date;
708
682
  maxGrade: number | null;
709
- classId: string;
710
683
  eventId: string | null;
711
- markSchemeId: string | null;
712
- gradingBoundaryId: string | null;
713
684
  instructions: string;
714
- weight: number;
715
- graded: boolean;
716
- sectionId: string | null;
717
- template: boolean;
718
- createdAt: Date | null;
719
685
  modifiedAt: Date | null;
720
686
  teacherId: string;
687
+ acceptFiles: boolean;
688
+ acceptExtendedResponse: boolean;
689
+ acceptWorksheet: boolean;
690
+ gradeWithAI: boolean;
691
+ aiPolicyLevel: number;
692
+ sectionId: string | null;
693
+ graded: boolean;
694
+ weight: number;
721
695
  inProgress: boolean;
696
+ template: boolean;
697
+ markSchemeId: string | null;
722
698
  order: number | null;
723
- };
724
- student: {
725
- id: string;
726
- username: string;
699
+ gradingBoundaryId: string | null;
727
700
  };
728
701
  attachments: {
729
702
  path: string;
730
703
  type: string;
731
704
  id: string;
705
+ userId: string | null;
732
706
  name: string;
733
707
  size: number | null;
734
708
  uploadedAt: Date | null;
735
709
  assignmentId: string | null;
736
710
  submissionId: string | null;
737
- userId: string | null;
738
711
  thumbnailId: string | null;
739
712
  annotationId: string | null;
740
713
  uploadStatus: import(".prisma/client").$Enums.UploadStatus;
@@ -750,15 +723,21 @@ export declare const assignmentRouter: import("@trpc/server").TRPCBuiltRouter<{
750
723
  folderId: string | null;
751
724
  conversationId: string | null;
752
725
  messageId: string | null;
726
+ announcementId: string | null;
753
727
  schoolDevelopementProgramId: string | null;
754
728
  }[];
729
+ student: {
730
+ id: string;
731
+ username: string;
732
+ };
755
733
  } & {
756
734
  id: string;
735
+ createdAt: Date;
757
736
  assignmentId: string;
737
+ modifiedAt: Date;
758
738
  studentId: string;
739
+ extendedResponse: string | null;
759
740
  gradeReceived: number | null;
760
- createdAt: Date;
761
- modifiedAt: Date;
762
741
  rubricState: string | null;
763
742
  teacherComments: string | null;
764
743
  submittedAt: Date | null;
@@ -796,44 +775,40 @@ export declare const assignmentRouter: import("@trpc/server").TRPCBuiltRouter<{
796
775
  } & {
797
776
  type: import(".prisma/client").$Enums.AssignmentType;
798
777
  id: string;
778
+ createdAt: Date | null;
779
+ classId: string;
799
780
  title: string;
800
781
  dueDate: Date;
801
782
  maxGrade: number | null;
802
- classId: string;
803
783
  eventId: string | null;
804
- markSchemeId: string | null;
805
- gradingBoundaryId: string | null;
806
784
  instructions: string;
807
- weight: number;
808
- graded: boolean;
809
- sectionId: string | null;
810
- template: boolean;
811
- createdAt: Date | null;
812
785
  modifiedAt: Date | null;
813
786
  teacherId: string;
787
+ acceptFiles: boolean;
788
+ acceptExtendedResponse: boolean;
789
+ acceptWorksheet: boolean;
790
+ gradeWithAI: boolean;
791
+ aiPolicyLevel: number;
792
+ sectionId: string | null;
793
+ graded: boolean;
794
+ weight: number;
814
795
  inProgress: boolean;
796
+ template: boolean;
797
+ markSchemeId: string | null;
815
798
  order: number | null;
816
- };
817
- student: {
818
- id: string;
819
- username: string;
820
- profile: {
821
- displayName: string | null;
822
- profilePicture: string | null;
823
- profilePictureThumbnail: string | null;
824
- } | null;
799
+ gradingBoundaryId: string | null;
825
800
  };
826
801
  attachments: ({
827
802
  thumbnail: {
828
803
  path: string;
829
804
  type: string;
830
805
  id: string;
806
+ userId: string | null;
831
807
  name: string;
832
808
  size: number | null;
833
809
  uploadedAt: Date | null;
834
810
  assignmentId: string | null;
835
811
  submissionId: string | null;
836
- userId: string | null;
837
812
  thumbnailId: string | null;
838
813
  annotationId: string | null;
839
814
  uploadStatus: import(".prisma/client").$Enums.UploadStatus;
@@ -849,18 +824,19 @@ export declare const assignmentRouter: import("@trpc/server").TRPCBuiltRouter<{
849
824
  folderId: string | null;
850
825
  conversationId: string | null;
851
826
  messageId: string | null;
827
+ announcementId: string | null;
852
828
  schoolDevelopementProgramId: string | null;
853
829
  } | null;
854
830
  } & {
855
831
  path: string;
856
832
  type: string;
857
833
  id: string;
834
+ userId: string | null;
858
835
  name: string;
859
836
  size: number | null;
860
837
  uploadedAt: Date | null;
861
838
  assignmentId: string | null;
862
839
  submissionId: string | null;
863
- userId: string | null;
864
840
  thumbnailId: string | null;
865
841
  annotationId: string | null;
866
842
  uploadStatus: import(".prisma/client").$Enums.UploadStatus;
@@ -876,14 +852,25 @@ export declare const assignmentRouter: import("@trpc/server").TRPCBuiltRouter<{
876
852
  folderId: string | null;
877
853
  conversationId: string | null;
878
854
  messageId: string | null;
855
+ announcementId: string | null;
879
856
  schoolDevelopementProgramId: string | null;
880
857
  })[];
858
+ student: {
859
+ id: string;
860
+ username: string;
861
+ profile: {
862
+ displayName: string | null;
863
+ profilePicture: string | null;
864
+ profilePictureThumbnail: string | null;
865
+ } | null;
866
+ };
881
867
  id: string;
868
+ createdAt: Date;
882
869
  assignmentId: string;
870
+ modifiedAt: Date;
883
871
  studentId: string;
872
+ extendedResponse: string | null;
884
873
  gradeReceived: number | null;
885
- createdAt: Date;
886
- modifiedAt: Date;
887
874
  rubricState: string | null;
888
875
  teacherComments: string | null;
889
876
  submittedAt: Date | null;
@@ -909,10 +896,10 @@ export declare const assignmentRouter: import("@trpc/server").TRPCBuiltRouter<{
909
896
  }[] | undefined;
910
897
  return?: boolean | undefined;
911
898
  rubricGrades?: {
899
+ comments: string;
900
+ points: number;
912
901
  criteriaId: string;
913
902
  selectedLevelId: string;
914
- points: number;
915
- comments: string;
916
903
  }[] | undefined;
917
904
  };
918
905
  output: {
@@ -937,24 +924,86 @@ export declare const assignmentRouter: import("@trpc/server").TRPCBuiltRouter<{
937
924
  } & {
938
925
  type: import(".prisma/client").$Enums.AssignmentType;
939
926
  id: string;
927
+ createdAt: Date | null;
928
+ classId: string;
940
929
  title: string;
941
930
  dueDate: Date;
942
931
  maxGrade: number | null;
943
- classId: string;
944
932
  eventId: string | null;
945
- markSchemeId: string | null;
946
- gradingBoundaryId: string | null;
947
933
  instructions: string;
948
- weight: number;
949
- graded: boolean;
950
- sectionId: string | null;
951
- template: boolean;
952
- createdAt: Date | null;
953
934
  modifiedAt: Date | null;
954
935
  teacherId: string;
936
+ acceptFiles: boolean;
937
+ acceptExtendedResponse: boolean;
938
+ acceptWorksheet: boolean;
939
+ gradeWithAI: boolean;
940
+ aiPolicyLevel: number;
941
+ sectionId: string | null;
942
+ graded: boolean;
943
+ weight: number;
955
944
  inProgress: boolean;
945
+ template: boolean;
946
+ markSchemeId: string | null;
956
947
  order: number | null;
948
+ gradingBoundaryId: string | null;
957
949
  };
950
+ attachments: ({
951
+ thumbnail: {
952
+ path: string;
953
+ type: string;
954
+ id: string;
955
+ userId: string | null;
956
+ name: string;
957
+ size: number | null;
958
+ uploadedAt: Date | null;
959
+ assignmentId: string | null;
960
+ submissionId: string | null;
961
+ thumbnailId: string | null;
962
+ annotationId: string | null;
963
+ uploadStatus: import(".prisma/client").$Enums.UploadStatus;
964
+ uploadUrl: string | null;
965
+ uploadExpiresAt: Date | null;
966
+ uploadSessionId: string | null;
967
+ uploadProgress: number | null;
968
+ uploadError: string | null;
969
+ uploadRetryCount: number;
970
+ isOrphaned: boolean;
971
+ cleanupAt: Date | null;
972
+ classDraftId: string | null;
973
+ folderId: string | null;
974
+ conversationId: string | null;
975
+ messageId: string | null;
976
+ announcementId: string | null;
977
+ schoolDevelopementProgramId: string | null;
978
+ } | null;
979
+ } & {
980
+ path: string;
981
+ type: string;
982
+ id: string;
983
+ userId: string | null;
984
+ name: string;
985
+ size: number | null;
986
+ uploadedAt: Date | null;
987
+ assignmentId: string | null;
988
+ submissionId: string | null;
989
+ thumbnailId: string | null;
990
+ annotationId: string | null;
991
+ uploadStatus: import(".prisma/client").$Enums.UploadStatus;
992
+ uploadUrl: string | null;
993
+ uploadExpiresAt: Date | null;
994
+ uploadSessionId: string | null;
995
+ uploadProgress: number | null;
996
+ uploadError: string | null;
997
+ uploadRetryCount: number;
998
+ isOrphaned: boolean;
999
+ cleanupAt: Date | null;
1000
+ classDraftId: string | null;
1001
+ folderId: string | null;
1002
+ conversationId: string | null;
1003
+ messageId: string | null;
1004
+ announcementId: string | null;
1005
+ schoolDevelopementProgramId: string | null;
1006
+ })[];
958
1007
  student: {
959
1008
  id: string;
960
1009
  username: string;
@@ -964,16 +1013,45 @@ export declare const assignmentRouter: import("@trpc/server").TRPCBuiltRouter<{
964
1013
  profilePictureThumbnail: string | null;
965
1014
  } | null;
966
1015
  };
967
- attachments: {
1016
+ annotations: ({
1017
+ thumbnail: {
1018
+ path: string;
1019
+ type: string;
1020
+ id: string;
1021
+ userId: string | null;
1022
+ name: string;
1023
+ size: number | null;
1024
+ uploadedAt: Date | null;
1025
+ assignmentId: string | null;
1026
+ submissionId: string | null;
1027
+ thumbnailId: string | null;
1028
+ annotationId: string | null;
1029
+ uploadStatus: import(".prisma/client").$Enums.UploadStatus;
1030
+ uploadUrl: string | null;
1031
+ uploadExpiresAt: Date | null;
1032
+ uploadSessionId: string | null;
1033
+ uploadProgress: number | null;
1034
+ uploadError: string | null;
1035
+ uploadRetryCount: number;
1036
+ isOrphaned: boolean;
1037
+ cleanupAt: Date | null;
1038
+ classDraftId: string | null;
1039
+ folderId: string | null;
1040
+ conversationId: string | null;
1041
+ messageId: string | null;
1042
+ announcementId: string | null;
1043
+ schoolDevelopementProgramId: string | null;
1044
+ } | null;
1045
+ } & {
968
1046
  path: string;
969
1047
  type: string;
970
1048
  id: string;
1049
+ userId: string | null;
971
1050
  name: string;
972
1051
  size: number | null;
973
1052
  uploadedAt: Date | null;
974
1053
  assignmentId: string | null;
975
1054
  submissionId: string | null;
976
- userId: string | null;
977
1055
  thumbnailId: string | null;
978
1056
  annotationId: string | null;
979
1057
  uploadStatus: import(".prisma/client").$Enums.UploadStatus;
@@ -989,15 +1067,17 @@ export declare const assignmentRouter: import("@trpc/server").TRPCBuiltRouter<{
989
1067
  folderId: string | null;
990
1068
  conversationId: string | null;
991
1069
  messageId: string | null;
1070
+ announcementId: string | null;
992
1071
  schoolDevelopementProgramId: string | null;
993
- }[];
1072
+ })[];
994
1073
  } & {
995
1074
  id: string;
1075
+ createdAt: Date;
996
1076
  assignmentId: string;
1077
+ modifiedAt: Date;
997
1078
  studentId: string;
1079
+ extendedResponse: string | null;
998
1080
  gradeReceived: number | null;
999
- createdAt: Date;
1000
- modifiedAt: Date;
1001
1081
  rubricState: string | null;
1002
1082
  teacherComments: string | null;
1003
1083
  submittedAt: Date | null;
@@ -1031,29 +1111,35 @@ export declare const assignmentRouter: import("@trpc/server").TRPCBuiltRouter<{
1031
1111
  eventAttached: {
1032
1112
  id: string;
1033
1113
  name: string | null;
1114
+ color: string | null;
1034
1115
  startTime: Date;
1035
1116
  endTime: Date;
1036
1117
  } | null;
1037
1118
  } & {
1038
1119
  type: import(".prisma/client").$Enums.AssignmentType;
1039
1120
  id: string;
1121
+ createdAt: Date | null;
1122
+ classId: string;
1040
1123
  title: string;
1041
1124
  dueDate: Date;
1042
1125
  maxGrade: number | null;
1043
- classId: string;
1044
1126
  eventId: string | null;
1045
- markSchemeId: string | null;
1046
- gradingBoundaryId: string | null;
1047
1127
  instructions: string;
1048
- weight: number;
1049
- graded: boolean;
1050
- sectionId: string | null;
1051
- template: boolean;
1052
- createdAt: Date | null;
1053
1128
  modifiedAt: Date | null;
1054
1129
  teacherId: string;
1130
+ acceptFiles: boolean;
1131
+ acceptExtendedResponse: boolean;
1132
+ acceptWorksheet: boolean;
1133
+ gradeWithAI: boolean;
1134
+ aiPolicyLevel: number;
1135
+ sectionId: string | null;
1136
+ graded: boolean;
1137
+ weight: number;
1055
1138
  inProgress: boolean;
1139
+ template: boolean;
1140
+ markSchemeId: string | null;
1056
1141
  order: number | null;
1142
+ gradingBoundaryId: string | null;
1057
1143
  };
1058
1144
  };
1059
1145
  meta: object;
@@ -1082,29 +1168,35 @@ export declare const assignmentRouter: import("@trpc/server").TRPCBuiltRouter<{
1082
1168
  eventAttached: {
1083
1169
  id: string;
1084
1170
  name: string | null;
1171
+ color: string | null;
1085
1172
  startTime: Date;
1086
1173
  endTime: Date;
1087
1174
  } | null;
1088
1175
  } & {
1089
1176
  type: import(".prisma/client").$Enums.AssignmentType;
1090
1177
  id: string;
1178
+ createdAt: Date | null;
1179
+ classId: string;
1091
1180
  title: string;
1092
1181
  dueDate: Date;
1093
1182
  maxGrade: number | null;
1094
- classId: string;
1095
1183
  eventId: string | null;
1096
- markSchemeId: string | null;
1097
- gradingBoundaryId: string | null;
1098
1184
  instructions: string;
1099
- weight: number;
1100
- graded: boolean;
1101
- sectionId: string | null;
1102
- template: boolean;
1103
- createdAt: Date | null;
1104
1185
  modifiedAt: Date | null;
1105
1186
  teacherId: string;
1187
+ acceptFiles: boolean;
1188
+ acceptExtendedResponse: boolean;
1189
+ acceptWorksheet: boolean;
1190
+ gradeWithAI: boolean;
1191
+ aiPolicyLevel: number;
1192
+ sectionId: string | null;
1193
+ graded: boolean;
1194
+ weight: number;
1106
1195
  inProgress: boolean;
1196
+ template: boolean;
1197
+ markSchemeId: string | null;
1107
1198
  order: number | null;
1199
+ gradingBoundaryId: string | null;
1108
1200
  };
1109
1201
  };
1110
1202
  meta: object;
@@ -1118,8 +1210,9 @@ export declare const assignmentRouter: import("@trpc/server").TRPCBuiltRouter<{
1118
1210
  output: {
1119
1211
  events: {
1120
1212
  id: string;
1121
- name: string | null;
1122
1213
  location: string | null;
1214
+ name: string | null;
1215
+ color: string | null;
1123
1216
  startTime: Date;
1124
1217
  endTime: Date;
1125
1218
  remarks: string | null;
@@ -1153,9 +1246,9 @@ export declare const assignmentRouter: import("@trpc/server").TRPCBuiltRouter<{
1153
1246
  output: {
1154
1247
  section: {
1155
1248
  id: string;
1249
+ classId: string;
1156
1250
  name: string;
1157
1251
  color: string | null;
1158
- classId: string;
1159
1252
  order: number | null;
1160
1253
  } | null;
1161
1254
  teacher: {
@@ -1165,19 +1258,18 @@ export declare const assignmentRouter: import("@trpc/server").TRPCBuiltRouter<{
1165
1258
  password: string;
1166
1259
  verified: boolean;
1167
1260
  role: import(".prisma/client").$Enums.UserRole;
1168
- profileId: string | null;
1169
1261
  schoolId: string | null;
1170
1262
  };
1171
1263
  attachments: {
1172
1264
  path: string;
1173
1265
  type: string;
1174
1266
  id: string;
1267
+ userId: string | null;
1175
1268
  name: string;
1176
1269
  size: number | null;
1177
1270
  uploadedAt: Date | null;
1178
1271
  assignmentId: string | null;
1179
1272
  submissionId: string | null;
1180
- userId: string | null;
1181
1273
  thumbnailId: string | null;
1182
1274
  annotationId: string | null;
1183
1275
  uploadStatus: import(".prisma/client").$Enums.UploadStatus;
@@ -1193,18 +1285,19 @@ export declare const assignmentRouter: import("@trpc/server").TRPCBuiltRouter<{
1193
1285
  folderId: string | null;
1194
1286
  conversationId: string | null;
1195
1287
  messageId: string | null;
1288
+ announcementId: string | null;
1196
1289
  schoolDevelopementProgramId: string | null;
1197
1290
  }[];
1198
1291
  eventAttached: {
1199
1292
  id: string;
1293
+ userId: string | null;
1294
+ location: string | null;
1295
+ classId: string | null;
1200
1296
  name: string | null;
1201
1297
  color: string | null;
1202
- location: string | null;
1203
1298
  startTime: Date;
1204
1299
  endTime: Date;
1205
1300
  remarks: string | null;
1206
- classId: string | null;
1207
- userId: string | null;
1208
1301
  } | null;
1209
1302
  markScheme: {
1210
1303
  id: string;
@@ -1214,23 +1307,28 @@ export declare const assignmentRouter: import("@trpc/server").TRPCBuiltRouter<{
1214
1307
  } & {
1215
1308
  type: import(".prisma/client").$Enums.AssignmentType;
1216
1309
  id: string;
1310
+ createdAt: Date | null;
1311
+ classId: string;
1217
1312
  title: string;
1218
1313
  dueDate: Date;
1219
1314
  maxGrade: number | null;
1220
- classId: string;
1221
1315
  eventId: string | null;
1222
- markSchemeId: string | null;
1223
- gradingBoundaryId: string | null;
1224
1316
  instructions: string;
1225
- weight: number;
1226
- graded: boolean;
1227
- sectionId: string | null;
1228
- template: boolean;
1229
- createdAt: Date | null;
1230
1317
  modifiedAt: Date | null;
1231
1318
  teacherId: string;
1319
+ acceptFiles: boolean;
1320
+ acceptExtendedResponse: boolean;
1321
+ acceptWorksheet: boolean;
1322
+ gradeWithAI: boolean;
1323
+ aiPolicyLevel: number;
1324
+ sectionId: string | null;
1325
+ graded: boolean;
1326
+ weight: number;
1232
1327
  inProgress: boolean;
1328
+ template: boolean;
1329
+ markSchemeId: string | null;
1233
1330
  order: number | null;
1331
+ gradingBoundaryId: string | null;
1234
1332
  };
1235
1333
  meta: object;
1236
1334
  }>;
@@ -1243,9 +1341,9 @@ export declare const assignmentRouter: import("@trpc/server").TRPCBuiltRouter<{
1243
1341
  output: {
1244
1342
  section: {
1245
1343
  id: string;
1344
+ classId: string;
1246
1345
  name: string;
1247
1346
  color: string | null;
1248
- classId: string;
1249
1347
  order: number | null;
1250
1348
  } | null;
1251
1349
  teacher: {
@@ -1255,19 +1353,18 @@ export declare const assignmentRouter: import("@trpc/server").TRPCBuiltRouter<{
1255
1353
  password: string;
1256
1354
  verified: boolean;
1257
1355
  role: import(".prisma/client").$Enums.UserRole;
1258
- profileId: string | null;
1259
1356
  schoolId: string | null;
1260
1357
  };
1261
1358
  attachments: {
1262
1359
  path: string;
1263
1360
  type: string;
1264
1361
  id: string;
1362
+ userId: string | null;
1265
1363
  name: string;
1266
1364
  size: number | null;
1267
1365
  uploadedAt: Date | null;
1268
1366
  assignmentId: string | null;
1269
1367
  submissionId: string | null;
1270
- userId: string | null;
1271
1368
  thumbnailId: string | null;
1272
1369
  annotationId: string | null;
1273
1370
  uploadStatus: import(".prisma/client").$Enums.UploadStatus;
@@ -1283,18 +1380,19 @@ export declare const assignmentRouter: import("@trpc/server").TRPCBuiltRouter<{
1283
1380
  folderId: string | null;
1284
1381
  conversationId: string | null;
1285
1382
  messageId: string | null;
1383
+ announcementId: string | null;
1286
1384
  schoolDevelopementProgramId: string | null;
1287
1385
  }[];
1288
1386
  eventAttached: {
1289
1387
  id: string;
1388
+ userId: string | null;
1389
+ location: string | null;
1390
+ classId: string | null;
1290
1391
  name: string | null;
1291
1392
  color: string | null;
1292
- location: string | null;
1293
1393
  startTime: Date;
1294
1394
  endTime: Date;
1295
1395
  remarks: string | null;
1296
- classId: string | null;
1297
- userId: string | null;
1298
1396
  } | null;
1299
1397
  markScheme: {
1300
1398
  id: string;
@@ -1304,23 +1402,28 @@ export declare const assignmentRouter: import("@trpc/server").TRPCBuiltRouter<{
1304
1402
  } & {
1305
1403
  type: import(".prisma/client").$Enums.AssignmentType;
1306
1404
  id: string;
1405
+ createdAt: Date | null;
1406
+ classId: string;
1307
1407
  title: string;
1308
1408
  dueDate: Date;
1309
1409
  maxGrade: number | null;
1310
- classId: string;
1311
1410
  eventId: string | null;
1312
- markSchemeId: string | null;
1313
- gradingBoundaryId: string | null;
1314
1411
  instructions: string;
1315
- weight: number;
1316
- graded: boolean;
1317
- sectionId: string | null;
1318
- template: boolean;
1319
- createdAt: Date | null;
1320
1412
  modifiedAt: Date | null;
1321
1413
  teacherId: string;
1414
+ acceptFiles: boolean;
1415
+ acceptExtendedResponse: boolean;
1416
+ acceptWorksheet: boolean;
1417
+ gradeWithAI: boolean;
1418
+ aiPolicyLevel: number;
1419
+ sectionId: string | null;
1420
+ graded: boolean;
1421
+ weight: number;
1322
1422
  inProgress: boolean;
1423
+ template: boolean;
1424
+ markSchemeId: string | null;
1323
1425
  order: number | null;
1426
+ gradingBoundaryId: string | null;
1324
1427
  };
1325
1428
  meta: object;
1326
1429
  }>;
@@ -1334,9 +1437,9 @@ export declare const assignmentRouter: import("@trpc/server").TRPCBuiltRouter<{
1334
1437
  output: {
1335
1438
  section: {
1336
1439
  id: string;
1440
+ classId: string;
1337
1441
  name: string;
1338
1442
  color: string | null;
1339
- classId: string;
1340
1443
  order: number | null;
1341
1444
  } | null;
1342
1445
  teacher: {
@@ -1346,19 +1449,18 @@ export declare const assignmentRouter: import("@trpc/server").TRPCBuiltRouter<{
1346
1449
  password: string;
1347
1450
  verified: boolean;
1348
1451
  role: import(".prisma/client").$Enums.UserRole;
1349
- profileId: string | null;
1350
1452
  schoolId: string | null;
1351
1453
  };
1352
1454
  attachments: {
1353
1455
  path: string;
1354
1456
  type: string;
1355
1457
  id: string;
1458
+ userId: string | null;
1356
1459
  name: string;
1357
1460
  size: number | null;
1358
1461
  uploadedAt: Date | null;
1359
1462
  assignmentId: string | null;
1360
1463
  submissionId: string | null;
1361
- userId: string | null;
1362
1464
  thumbnailId: string | null;
1363
1465
  annotationId: string | null;
1364
1466
  uploadStatus: import(".prisma/client").$Enums.UploadStatus;
@@ -1374,18 +1476,19 @@ export declare const assignmentRouter: import("@trpc/server").TRPCBuiltRouter<{
1374
1476
  folderId: string | null;
1375
1477
  conversationId: string | null;
1376
1478
  messageId: string | null;
1479
+ announcementId: string | null;
1377
1480
  schoolDevelopementProgramId: string | null;
1378
1481
  }[];
1379
1482
  eventAttached: {
1380
1483
  id: string;
1484
+ userId: string | null;
1485
+ location: string | null;
1486
+ classId: string | null;
1381
1487
  name: string | null;
1382
1488
  color: string | null;
1383
- location: string | null;
1384
1489
  startTime: Date;
1385
1490
  endTime: Date;
1386
1491
  remarks: string | null;
1387
- classId: string | null;
1388
- userId: string | null;
1389
1492
  } | null;
1390
1493
  gradingBoundary: {
1391
1494
  id: string;
@@ -1395,23 +1498,28 @@ export declare const assignmentRouter: import("@trpc/server").TRPCBuiltRouter<{
1395
1498
  } & {
1396
1499
  type: import(".prisma/client").$Enums.AssignmentType;
1397
1500
  id: string;
1501
+ createdAt: Date | null;
1502
+ classId: string;
1398
1503
  title: string;
1399
1504
  dueDate: Date;
1400
1505
  maxGrade: number | null;
1401
- classId: string;
1402
1506
  eventId: string | null;
1403
- markSchemeId: string | null;
1404
- gradingBoundaryId: string | null;
1405
1507
  instructions: string;
1406
- weight: number;
1407
- graded: boolean;
1408
- sectionId: string | null;
1409
- template: boolean;
1410
- createdAt: Date | null;
1411
1508
  modifiedAt: Date | null;
1412
1509
  teacherId: string;
1510
+ acceptFiles: boolean;
1511
+ acceptExtendedResponse: boolean;
1512
+ acceptWorksheet: boolean;
1513
+ gradeWithAI: boolean;
1514
+ aiPolicyLevel: number;
1515
+ sectionId: string | null;
1516
+ graded: boolean;
1517
+ weight: number;
1413
1518
  inProgress: boolean;
1519
+ template: boolean;
1520
+ markSchemeId: string | null;
1414
1521
  order: number | null;
1522
+ gradingBoundaryId: string | null;
1415
1523
  };
1416
1524
  meta: object;
1417
1525
  }>;
@@ -1424,9 +1532,9 @@ export declare const assignmentRouter: import("@trpc/server").TRPCBuiltRouter<{
1424
1532
  output: {
1425
1533
  section: {
1426
1534
  id: string;
1535
+ classId: string;
1427
1536
  name: string;
1428
1537
  color: string | null;
1429
- classId: string;
1430
1538
  order: number | null;
1431
1539
  } | null;
1432
1540
  teacher: {
@@ -1436,19 +1544,18 @@ export declare const assignmentRouter: import("@trpc/server").TRPCBuiltRouter<{
1436
1544
  password: string;
1437
1545
  verified: boolean;
1438
1546
  role: import(".prisma/client").$Enums.UserRole;
1439
- profileId: string | null;
1440
1547
  schoolId: string | null;
1441
1548
  };
1442
1549
  attachments: {
1443
1550
  path: string;
1444
1551
  type: string;
1445
1552
  id: string;
1553
+ userId: string | null;
1446
1554
  name: string;
1447
1555
  size: number | null;
1448
1556
  uploadedAt: Date | null;
1449
1557
  assignmentId: string | null;
1450
1558
  submissionId: string | null;
1451
- userId: string | null;
1452
1559
  thumbnailId: string | null;
1453
1560
  annotationId: string | null;
1454
1561
  uploadStatus: import(".prisma/client").$Enums.UploadStatus;
@@ -1464,18 +1571,19 @@ export declare const assignmentRouter: import("@trpc/server").TRPCBuiltRouter<{
1464
1571
  folderId: string | null;
1465
1572
  conversationId: string | null;
1466
1573
  messageId: string | null;
1574
+ announcementId: string | null;
1467
1575
  schoolDevelopementProgramId: string | null;
1468
1576
  }[];
1469
1577
  eventAttached: {
1470
1578
  id: string;
1579
+ userId: string | null;
1580
+ location: string | null;
1581
+ classId: string | null;
1471
1582
  name: string | null;
1472
1583
  color: string | null;
1473
- location: string | null;
1474
1584
  startTime: Date;
1475
1585
  endTime: Date;
1476
1586
  remarks: string | null;
1477
- classId: string | null;
1478
- userId: string | null;
1479
1587
  } | null;
1480
1588
  gradingBoundary: {
1481
1589
  id: string;
@@ -1485,23 +1593,28 @@ export declare const assignmentRouter: import("@trpc/server").TRPCBuiltRouter<{
1485
1593
  } & {
1486
1594
  type: import(".prisma/client").$Enums.AssignmentType;
1487
1595
  id: string;
1596
+ createdAt: Date | null;
1597
+ classId: string;
1488
1598
  title: string;
1489
1599
  dueDate: Date;
1490
1600
  maxGrade: number | null;
1491
- classId: string;
1492
1601
  eventId: string | null;
1493
- markSchemeId: string | null;
1494
- gradingBoundaryId: string | null;
1495
1602
  instructions: string;
1496
- weight: number;
1497
- graded: boolean;
1498
- sectionId: string | null;
1499
- template: boolean;
1500
- createdAt: Date | null;
1501
1603
  modifiedAt: Date | null;
1502
1604
  teacherId: string;
1605
+ acceptFiles: boolean;
1606
+ acceptExtendedResponse: boolean;
1607
+ acceptWorksheet: boolean;
1608
+ gradeWithAI: boolean;
1609
+ aiPolicyLevel: number;
1610
+ sectionId: string | null;
1611
+ graded: boolean;
1612
+ weight: number;
1503
1613
  inProgress: boolean;
1614
+ template: boolean;
1615
+ markSchemeId: string | null;
1504
1616
  order: number | null;
1617
+ gradingBoundaryId: string | null;
1505
1618
  };
1506
1619
  meta: object;
1507
1620
  }>;