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