@studious-lms/server 1.13.0 → 1.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (375) hide show
  1. package/.dockerignore +28 -0
  2. package/.env.example +5 -0
  3. package/.github/workflows/deploy.yml +123 -0
  4. package/Dockerfile +54 -0
  5. package/dist/index.js +5 -2
  6. package/dist/index.js.map +1 -1
  7. package/dist/instrument.js +3 -3
  8. package/dist/instrument.js.map +1 -1
  9. package/dist/lib/config/cors.d.ts.map +1 -1
  10. package/dist/lib/config/cors.js +31 -11
  11. package/dist/lib/config/cors.js.map +1 -1
  12. package/dist/lib/config/env.d.ts +17 -0
  13. package/dist/lib/config/env.d.ts.map +1 -1
  14. package/dist/lib/config/env.js +8 -2
  15. package/dist/lib/config/env.js.map +1 -1
  16. package/dist/lib/googleCloudStorage.d.ts +10 -0
  17. package/dist/lib/googleCloudStorage.d.ts.map +1 -1
  18. package/dist/lib/googleCloudStorage.js +22 -2
  19. package/dist/lib/googleCloudStorage.js.map +1 -1
  20. package/dist/lib/inferDocumentFormat.d.ts +10 -0
  21. package/dist/lib/inferDocumentFormat.d.ts.map +1 -0
  22. package/dist/lib/inferDocumentFormat.js +48 -0
  23. package/dist/lib/inferDocumentFormat.js.map +1 -0
  24. package/dist/lib/legal.d.ts +3 -0
  25. package/dist/lib/legal.d.ts.map +1 -0
  26. package/dist/lib/legal.js +6 -0
  27. package/dist/lib/legal.js.map +1 -0
  28. package/dist/lib/prisma.d.ts +104 -5
  29. package/dist/lib/prisma.d.ts.map +1 -1
  30. package/dist/lib/prisma.js +33 -2
  31. package/dist/lib/prisma.js.map +1 -1
  32. package/dist/models/agenda.d.ts +20 -20
  33. package/dist/models/announcement.d.ts +211 -101
  34. package/dist/models/announcement.d.ts.map +1 -1
  35. package/dist/models/assignment.d.ts +560 -362
  36. package/dist/models/assignment.d.ts.map +1 -1
  37. package/dist/models/attendance.d.ts +197 -71
  38. package/dist/models/attendance.d.ts.map +1 -1
  39. package/dist/models/auth.d.ts +356 -114
  40. package/dist/models/auth.d.ts.map +1 -1
  41. package/dist/models/auth.js +4 -2
  42. package/dist/models/auth.js.map +1 -1
  43. package/dist/models/class.d.ts +327 -201
  44. package/dist/models/class.d.ts.map +1 -1
  45. package/dist/models/class.js +2 -2
  46. package/dist/models/class.js.map +1 -1
  47. package/dist/models/cloudStorage.d.ts +146 -56
  48. package/dist/models/cloudStorage.d.ts.map +1 -1
  49. package/dist/models/comment.d.ts +262 -110
  50. package/dist/models/comment.d.ts.map +1 -1
  51. package/dist/models/conversation.d.ts +206 -80
  52. package/dist/models/conversation.d.ts.map +1 -1
  53. package/dist/models/department.d.ts +196 -70
  54. package/dist/models/department.d.ts.map +1 -1
  55. package/dist/models/event.d.ts +305 -141
  56. package/dist/models/event.d.ts.map +1 -1
  57. package/dist/models/file.d.ts +422 -272
  58. package/dist/models/file.d.ts.map +1 -1
  59. package/dist/models/folder.d.ts +433 -181
  60. package/dist/models/folder.d.ts.map +1 -1
  61. package/dist/models/labChat.d.ts +205 -79
  62. package/dist/models/labChat.d.ts.map +1 -1
  63. package/dist/models/marketing.d.ts +79 -38
  64. package/dist/models/marketing.d.ts.map +1 -1
  65. package/dist/models/marketing.js +12 -4
  66. package/dist/models/marketing.js.map +1 -1
  67. package/dist/models/message.d.ts +97 -43
  68. package/dist/models/message.d.ts.map +1 -1
  69. package/dist/models/newtonChat.d.ts +84 -30
  70. package/dist/models/newtonChat.d.ts.map +1 -1
  71. package/dist/models/notification.d.ts +57 -21
  72. package/dist/models/notification.d.ts.map +1 -1
  73. package/dist/models/school.d.ts +349 -133
  74. package/dist/models/school.d.ts.map +1 -1
  75. package/dist/models/section.d.ts +216 -72
  76. package/dist/models/section.d.ts.map +1 -1
  77. package/dist/models/tag.d.ts +156 -48
  78. package/dist/models/tag.d.ts.map +1 -1
  79. package/dist/models/user.d.ts +82 -28
  80. package/dist/models/user.d.ts.map +1 -1
  81. package/dist/models/worksheet.d.ts +1032 -423
  82. package/dist/models/worksheet.d.ts.map +1 -1
  83. package/dist/models/worksheet.js +8 -2
  84. package/dist/models/worksheet.js.map +1 -1
  85. package/dist/pipelines/aiLabChat.d.ts +7 -9
  86. package/dist/pipelines/aiLabChat.d.ts.map +1 -1
  87. package/dist/pipelines/aiLabChat.js +194 -125
  88. package/dist/pipelines/aiLabChat.js.map +1 -1
  89. package/dist/pipelines/aiLabChatContract.d.ts +233 -389
  90. package/dist/pipelines/aiLabChatContract.d.ts.map +1 -1
  91. package/dist/pipelines/aiLabChatContract.js +54 -70
  92. package/dist/pipelines/aiLabChatContract.js.map +1 -1
  93. package/dist/pipelines/aiNewtonChat.d.ts.map +1 -1
  94. package/dist/pipelines/aiNewtonChat.js +41 -41
  95. package/dist/pipelines/aiNewtonChat.js.map +1 -1
  96. package/dist/pipelines/gradeWorksheet.d.ts +8 -8
  97. package/dist/pipelines/labChatPrompt.d.ts +18 -11
  98. package/dist/pipelines/labChatPrompt.d.ts.map +1 -1
  99. package/dist/pipelines/labChatPrompt.js +93 -75
  100. package/dist/pipelines/labChatPrompt.js.map +1 -1
  101. package/dist/pipelines/pdfToWorksheet.d.ts +1 -1
  102. package/dist/routers/_app.d.ts +2601 -2151
  103. package/dist/routers/_app.d.ts.map +1 -1
  104. package/dist/routers/_app.js +4 -2
  105. package/dist/routers/_app.js.map +1 -1
  106. package/dist/routers/admin.d.ts +13 -13
  107. package/dist/routers/agenda.d.ts +18 -18
  108. package/dist/routers/announcement.d.ts +60 -60
  109. package/dist/routers/assignment.d.ts +393 -383
  110. package/dist/routers/assignment.d.ts.map +1 -1
  111. package/dist/routers/attendance.d.ts +10 -10
  112. package/dist/routers/auth.d.ts +4 -2
  113. package/dist/routers/auth.d.ts.map +1 -1
  114. package/dist/routers/auth.js +15 -2
  115. package/dist/routers/auth.js.map +1 -1
  116. package/dist/routers/class.d.ts +157 -153
  117. package/dist/routers/class.d.ts.map +1 -1
  118. package/dist/routers/comment.d.ts +18 -18
  119. package/dist/routers/conversation.d.ts +11 -11
  120. package/dist/routers/department.d.ts +34 -34
  121. package/dist/routers/discussion.d.ts +68 -56
  122. package/dist/routers/discussion.d.ts.map +1 -1
  123. package/dist/routers/discussion.js +6 -2
  124. package/dist/routers/discussion.js.map +1 -1
  125. package/dist/routers/embedding.d.ts +73 -0
  126. package/dist/routers/embedding.d.ts.map +1 -0
  127. package/dist/routers/embedding.js +151 -0
  128. package/dist/routers/embedding.js.map +1 -0
  129. package/dist/routers/event.d.ts +57 -55
  130. package/dist/routers/event.d.ts.map +1 -1
  131. package/dist/routers/file.d.ts +14 -14
  132. package/dist/routers/folder.d.ts +38 -38
  133. package/dist/routers/labChat.d.ts +16 -16
  134. package/dist/routers/marketing.d.ts +1 -14
  135. package/dist/routers/marketing.d.ts.map +1 -1
  136. package/dist/routers/message.d.ts +13 -13
  137. package/dist/routers/newtonChat.d.ts +4 -4
  138. package/dist/routers/notifications.d.ts +5 -5
  139. package/dist/routers/permissions.d.ts +14 -14
  140. package/dist/routers/school.d.ts +59 -55
  141. package/dist/routers/school.d.ts.map +1 -1
  142. package/dist/routers/search.d.ts +22 -1
  143. package/dist/routers/search.d.ts.map +1 -1
  144. package/dist/routers/search.js +9 -3
  145. package/dist/routers/search.js.map +1 -1
  146. package/dist/routers/section.d.ts +4 -4
  147. package/dist/routers/studentProgress.d.ts +1 -1
  148. package/dist/routers/tag.d.ts +7 -7
  149. package/dist/routers/user.d.ts +99 -10
  150. package/dist/routers/user.d.ts.map +1 -1
  151. package/dist/routers/user.js +19 -2
  152. package/dist/routers/user.js.map +1 -1
  153. package/dist/routers/worksheet.d.ts +93 -55
  154. package/dist/routers/worksheet.d.ts.map +1 -1
  155. package/dist/routers/worksheet.js +26 -2
  156. package/dist/routers/worksheet.js.map +1 -1
  157. package/dist/routes/aiStream.d.ts +2 -0
  158. package/dist/routes/aiStream.d.ts.map +1 -0
  159. package/dist/routes/aiStream.js +726 -0
  160. package/dist/routes/aiStream.js.map +1 -0
  161. package/dist/seedDatabase.d.ts +3 -1
  162. package/dist/seedDatabase.d.ts.map +1 -1
  163. package/dist/seedDatabase.js +6 -6
  164. package/dist/seedDatabase.js.map +1 -1
  165. package/dist/services/adminInstitution.d.ts +8 -8
  166. package/dist/services/adminRunJob.d.ts +4 -4
  167. package/dist/services/agenda.d.ts +18 -18
  168. package/dist/services/aiChatStream.d.ts +88 -0
  169. package/dist/services/aiChatStream.d.ts.map +1 -0
  170. package/dist/services/aiChatStream.js +254 -0
  171. package/dist/services/aiChatStream.js.map +1 -0
  172. package/dist/services/aiModifierTools.d.ts +16 -0
  173. package/dist/services/aiModifierTools.d.ts.map +1 -0
  174. package/dist/services/aiModifierTools.js +274 -0
  175. package/dist/services/aiModifierTools.js.map +1 -0
  176. package/dist/services/aiProposalTools.d.ts +32 -0
  177. package/dist/services/aiProposalTools.d.ts.map +1 -0
  178. package/dist/services/aiProposalTools.js +207 -0
  179. package/dist/services/aiProposalTools.js.map +1 -0
  180. package/dist/services/aiStream.d.ts +22 -0
  181. package/dist/services/aiStream.d.ts.map +1 -0
  182. package/dist/services/aiStream.js +142 -0
  183. package/dist/services/aiStream.js.map +1 -0
  184. package/dist/services/aiTools.d.ts +16 -0
  185. package/dist/services/aiTools.d.ts.map +1 -0
  186. package/dist/services/aiTools.js +271 -0
  187. package/dist/services/aiTools.js.map +1 -0
  188. package/dist/services/announcement.d.ts +42 -42
  189. package/dist/services/announcement.d.ts.map +1 -1
  190. package/dist/services/announcement.js +7 -2
  191. package/dist/services/announcement.js.map +1 -1
  192. package/dist/services/assignment.d.ts +355 -345
  193. package/dist/services/assignment.d.ts.map +1 -1
  194. package/dist/services/assignment.js +30 -9
  195. package/dist/services/assignment.js.map +1 -1
  196. package/dist/services/attendance.d.ts +10 -10
  197. package/dist/services/auth.d.ts +4 -2
  198. package/dist/services/auth.d.ts.map +1 -1
  199. package/dist/services/auth.js +13 -4
  200. package/dist/services/auth.js.map +1 -1
  201. package/dist/services/class.d.ts +146 -142
  202. package/dist/services/class.d.ts.map +1 -1
  203. package/dist/services/class.js +24 -4
  204. package/dist/services/class.js.map +1 -1
  205. package/dist/services/comment.d.ts +18 -18
  206. package/dist/services/conversation.d.ts +11 -11
  207. package/dist/services/department.d.ts +33 -33
  208. package/dist/services/discussion.d.ts +58 -58
  209. package/dist/services/discussion.d.ts.map +1 -1
  210. package/dist/services/discussion.js +15 -8
  211. package/dist/services/discussion.js.map +1 -1
  212. package/dist/services/discussionSummary.d.ts +21 -0
  213. package/dist/services/discussionSummary.d.ts.map +1 -0
  214. package/dist/services/discussionSummary.js +179 -0
  215. package/dist/services/discussionSummary.js.map +1 -0
  216. package/dist/services/embedding.d.ts +85 -0
  217. package/dist/services/embedding.d.ts.map +1 -0
  218. package/dist/services/embedding.js +372 -0
  219. package/dist/services/embedding.js.map +1 -0
  220. package/dist/services/event.d.ts +55 -53
  221. package/dist/services/event.d.ts.map +1 -1
  222. package/dist/services/file.d.ts +28 -28
  223. package/dist/services/folder.d.ts +36 -36
  224. package/dist/services/folder.d.ts.map +1 -1
  225. package/dist/services/folder.js +32 -2
  226. package/dist/services/folder.js.map +1 -1
  227. package/dist/services/labChat.d.ts +16 -16
  228. package/dist/services/marketing.d.ts +2 -15
  229. package/dist/services/marketing.d.ts.map +1 -1
  230. package/dist/services/marketing.js +5 -5
  231. package/dist/services/marketing.js.map +1 -1
  232. package/dist/services/message.d.ts +11 -11
  233. package/dist/services/message.d.ts.map +1 -1
  234. package/dist/services/message.js +2 -2
  235. package/dist/services/message.js.map +1 -1
  236. package/dist/services/newtonChat.d.ts +4 -4
  237. package/dist/services/notification.d.ts +5 -5
  238. package/dist/services/notification.d.ts.map +1 -1
  239. package/dist/services/openaiDocumentGen.d.ts +37 -0
  240. package/dist/services/openaiDocumentGen.d.ts.map +1 -0
  241. package/dist/services/openaiDocumentGen.js +262 -0
  242. package/dist/services/openaiDocumentGen.js.map +1 -0
  243. package/dist/services/permissions.d.ts +14 -14
  244. package/dist/services/school.d.ts +54 -50
  245. package/dist/services/school.d.ts.map +1 -1
  246. package/dist/services/search.d.ts +13 -1
  247. package/dist/services/search.d.ts.map +1 -1
  248. package/dist/services/search.js +145 -2
  249. package/dist/services/search.js.map +1 -1
  250. package/dist/services/section.d.ts +3 -3
  251. package/dist/services/tag.d.ts +4 -4
  252. package/dist/services/user.d.ts +4 -4
  253. package/dist/services/user.d.ts.map +1 -1
  254. package/dist/services/user.js +10 -15
  255. package/dist/services/user.js.map +1 -1
  256. package/dist/services/userPrivacy.d.ts +86 -0
  257. package/dist/services/userPrivacy.d.ts.map +1 -0
  258. package/dist/services/userPrivacy.js +184 -0
  259. package/dist/services/userPrivacy.js.map +1 -0
  260. package/dist/services/worksheet.d.ts +86 -57
  261. package/dist/services/worksheet.d.ts.map +1 -1
  262. package/dist/services/worksheet.js +57 -5
  263. package/dist/services/worksheet.js.map +1 -1
  264. package/dist/utils/email.d.ts.map +1 -1
  265. package/dist/utils/email.js +7 -3
  266. package/dist/utils/email.js.map +1 -1
  267. package/dist/utils/streamBroadcast.d.ts +11 -0
  268. package/dist/utils/streamBroadcast.d.ts.map +1 -0
  269. package/dist/utils/streamBroadcast.js +32 -0
  270. package/dist/utils/streamBroadcast.js.map +1 -0
  271. package/dist/workers/connection.d.ts +15 -0
  272. package/dist/workers/connection.d.ts.map +1 -1
  273. package/dist/workers/connection.js +20 -2
  274. package/dist/workers/connection.js.map +1 -1
  275. package/dist/workers/index.js +4 -2
  276. package/dist/workers/index.js.map +1 -1
  277. package/dist/workers/processors/createRunJobWorker.d.ts.map +1 -1
  278. package/dist/workers/processors/createRunJobWorker.js +31 -8
  279. package/dist/workers/processors/createRunJobWorker.js.map +1 -1
  280. package/dist/workers/processors/embedContent.d.ts +8 -0
  281. package/dist/workers/processors/embedContent.d.ts.map +1 -0
  282. package/dist/workers/processors/embedContent.js +67 -0
  283. package/dist/workers/processors/embedContent.js.map +1 -0
  284. package/dist/workers/queues.d.ts +6 -0
  285. package/dist/workers/queues.d.ts.map +1 -1
  286. package/dist/workers/queues.js +5 -3
  287. package/dist/workers/queues.js.map +1 -1
  288. package/package.json +5 -1
  289. package/prisma/migrations/20260609215135_init/migration.sql +1412 -0
  290. package/prisma/migrations/20260610130000_add_worksheet_tags/migration.sql +13 -0
  291. package/prisma/migrations/20260610140000_expand_embedding_source_types/migration.sql +4 -0
  292. package/prisma/migrations/20260611120000_add_user_terms_acceptance/migration.sql +3 -0
  293. package/prisma/schema.prisma +44 -7
  294. package/src/index.ts +4 -0
  295. package/src/instrument.ts +1 -1
  296. package/src/lib/config/cors.ts +32 -9
  297. package/src/lib/config/env.ts +6 -0
  298. package/src/lib/googleCloudStorage.ts +21 -0
  299. package/src/lib/inferDocumentFormat.ts +58 -0
  300. package/src/lib/legal.ts +2 -0
  301. package/src/lib/prisma.ts +40 -1
  302. package/src/models/auth.ts +4 -0
  303. package/src/models/class.ts +3 -2
  304. package/src/models/marketing.ts +10 -2
  305. package/src/models/worksheet.ts +5 -2
  306. package/src/pipelines/aiLabChat.ts +245 -146
  307. package/src/pipelines/aiLabChatContract.ts +59 -69
  308. package/src/pipelines/aiNewtonChat.ts +46 -43
  309. package/src/pipelines/labChatPrompt.ts +115 -90
  310. package/src/routers/_app.ts +2 -0
  311. package/src/routers/auth.ts +13 -0
  312. package/src/routers/discussion.ts +7 -0
  313. package/src/routers/embedding.ts +164 -0
  314. package/src/routers/search.ts +10 -1
  315. package/src/routers/user.ts +26 -0
  316. package/src/routers/worksheet.ts +27 -0
  317. package/src/routes/aiStream.ts +827 -0
  318. package/src/seedDatabase.ts +4 -4
  319. package/src/services/aiChatStream.ts +341 -0
  320. package/src/services/aiModifierTools.ts +341 -0
  321. package/src/services/aiProposalTools.ts +274 -0
  322. package/src/services/aiStream.ts +175 -0
  323. package/src/services/aiTools.ts +290 -0
  324. package/src/services/announcement.ts +7 -0
  325. package/src/services/assignment.ts +31 -7
  326. package/src/services/auth.ts +14 -2
  327. package/src/services/class.ts +27 -2
  328. package/src/services/discussion.ts +22 -8
  329. package/src/services/discussionSummary.ts +226 -0
  330. package/src/services/embedding.ts +446 -0
  331. package/src/services/folder.ts +31 -0
  332. package/src/services/marketing.ts +3 -3
  333. package/src/services/message.ts +2 -2
  334. package/src/services/openaiDocumentGen.ts +319 -0
  335. package/src/services/search.ts +163 -1
  336. package/src/services/user.ts +9 -17
  337. package/src/services/userPrivacy.ts +196 -0
  338. package/src/services/worksheet.ts +77 -3
  339. package/src/utils/email.ts +5 -1
  340. package/src/utils/streamBroadcast.ts +48 -0
  341. package/src/workers/connection.ts +19 -0
  342. package/src/workers/index.ts +2 -0
  343. package/src/workers/processors/createRunJobWorker.ts +32 -6
  344. package/src/workers/processors/embedContent.ts +86 -0
  345. package/src/workers/queues.ts +5 -1
  346. package/tests/helpers/registerInput.ts +20 -0
  347. package/tests/integration/globalSetup.ts +10 -18
  348. package/tests/integration/routers/auth.test.ts +13 -18
  349. package/tests/unit/lib/inferDocumentFormat.test.ts +33 -0
  350. package/tests/unit/pipelines/aiLabChatContract.test.ts +38 -21
  351. package/tests/unit/pipelines/labChatPrompt.test.ts +23 -36
  352. package/tests/unit/services/aiChatStream.test.ts +92 -0
  353. package/tests/unit/services/openaiDocumentGen.test.ts +65 -0
  354. package/prisma/migrations/20250807062924_init/migration.sql +0 -436
  355. package/prisma/migrations/20250919063704_init2/migration.sql +0 -24
  356. package/prisma/migrations/20250920143543_add_profile_fields/migration.sql +0 -15
  357. package/prisma/migrations/20250922165147_add_chat_models/migration.sql +0 -68
  358. package/prisma/migrations/20250922165314_add_chat_roles/migration.sql +0 -5
  359. package/prisma/migrations/20250922171242_refactor_notification_system/migration.sql +0 -20
  360. package/prisma/migrations/20250922172208_add_mentions_system/migration.sql +0 -21
  361. package/prisma/migrations/20250925072732_add_lab_chat_system/migration.sql +0 -25
  362. package/prisma/migrations/20251020151505_add_upload_tracking_fields/migration.sql +0 -57
  363. package/prisma/migrations/20251109122857_annuoncements_comments/migration.sql +0 -30
  364. package/prisma/migrations/20251109135555_reactions_announcements_comments/migration.sql +0 -35
  365. package/prisma/migrations/20260410124000_add_submission_recommendation_state/migration.sql +0 -14
  366. package/prisma/migrations/20260415103500_add_session_type/migration.sql +0 -33
  367. package/prisma/migrations/20260415133000_add_ai_usage_logs/migration.sql +0 -19
  368. package/prisma/migrations/20260417083000_add_conversation_member_hidden_at/migration.sql +0 -2
  369. package/prisma/migrations/20260502230500_assignment_submission_comments/migration.sql +0 -60
  370. package/prisma/migrations/20260504071500_school_memberships/migration.sql +0 -81
  371. package/prisma/migrations/20260506162500_consolidate_run_job_and_unify_job_status/migration.sql +0 -166
  372. package/prisma/migrations/20260509220000_institution_overhaul/migration.sql +0 -184
  373. package/prisma/migrations/20260510170000_add_folder_permissions/migration.sql +0 -93
  374. package/prisma/migrations/20260510183000_add_discussions/migration.sql +0 -151
  375. /package/.github/workflows/{npm.yml → npm-publish.yml} +0 -0
@@ -1,17 +1,38 @@
1
- /**
2
- * Worksheet model – worksheets, questions, submissions, student progress, grading.
3
- */
4
- import type { Prisma } from "@prisma/client";
1
+ import type { AppTransactionClient } from "../lib/prisma.js";
5
2
  import type { WorksheetQuestionType, JobStatus } from "@prisma/client";
6
3
  /** @returns Worksheet with questions and class. */
7
- export declare function findWorksheetById(id: string): Prisma.Prisma__WorksheetClient<({
4
+ export declare function findWorksheetById(id: string): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
5
+ result: {
6
+ userProfile: {
7
+ profilePicture: () => {
8
+ needs: {
9
+ profilePicture: true;
10
+ };
11
+ compute(profile: {
12
+ profilePicture: string | null;
13
+ }): string | null;
14
+ };
15
+ profilePictureThumbnail: () => {
16
+ needs: {
17
+ profilePictureThumbnail: true;
18
+ };
19
+ compute(profile: {
20
+ profilePictureThumbnail: string | null;
21
+ }): string | null;
22
+ };
23
+ };
24
+ };
25
+ model: {};
26
+ query: {};
27
+ client: {};
28
+ }, {}>, "Worksheet", "findUnique", null> & import("@prisma/client/runtime/library.js").PrismaPromise<({
8
29
  class: {
9
- name: string;
30
+ section: string;
10
31
  id: string;
32
+ name: string;
11
33
  schoolId: string | null;
12
- subject: string;
13
34
  color: string | null;
14
- section: string;
35
+ subject: string;
15
36
  syllabus: string | null;
16
37
  departmentId: string | null;
17
38
  discussionsEnabled: boolean;
@@ -20,285 +41,441 @@ export declare function findWorksheetById(id: string): Prisma.Prisma__WorksheetC
20
41
  } | null;
21
42
  questions: {
22
43
  type: import(".prisma/client").$Enums.WorksheetQuestionType;
23
- options: Prisma.JsonValue | null;
44
+ options: import("@prisma/client/runtime/library.js").JsonValue | null;
45
+ markScheme: import("@prisma/client/runtime/library.js").JsonValue | null;
24
46
  id: string;
25
47
  createdAt: Date;
26
48
  updatedAt: Date;
27
- order: number | null;
28
49
  points: number;
29
- worksheetId: string;
30
- markScheme: Prisma.JsonValue | null;
31
50
  question: string;
51
+ worksheetId: string;
52
+ order: number | null;
32
53
  answer: string;
33
54
  }[];
34
55
  } & {
35
56
  status: import(".prisma/client").$Enums.JobStatus | null;
36
- name: string;
37
57
  id: string;
38
58
  createdAt: Date;
39
59
  updatedAt: Date;
60
+ name: string;
40
61
  classId: string;
41
62
  runJobId: string | null;
42
63
  sourceUrl: string | null;
43
- }) | null, null, import("@prisma/client/runtime/library.js").DefaultArgs, {
44
- datasources: {
45
- db: {
46
- url: string;
64
+ }) | null>;
65
+ /** @returns Worksheet by ID (minimal). */
66
+ export declare function findWorksheetByIdMinimal(id: string): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
67
+ result: {
68
+ userProfile: {
69
+ profilePicture: () => {
70
+ needs: {
71
+ profilePicture: true;
72
+ };
73
+ compute(profile: {
74
+ profilePicture: string | null;
75
+ }): string | null;
76
+ };
77
+ profilePictureThumbnail: () => {
78
+ needs: {
79
+ profilePictureThumbnail: true;
80
+ };
81
+ compute(profile: {
82
+ profilePictureThumbnail: string | null;
83
+ }): string | null;
84
+ };
47
85
  };
48
86
  };
49
- }>;
50
- /** @returns Worksheet by ID (minimal). */
51
- export declare function findWorksheetByIdMinimal(id: string): Prisma.Prisma__WorksheetClient<{
87
+ model: {};
88
+ query: {};
89
+ client: {};
90
+ }, {}>, "Worksheet", "findUnique", null> & import("@prisma/client/runtime/library.js").PrismaPromise<{
52
91
  status: import(".prisma/client").$Enums.JobStatus | null;
53
- name: string;
54
92
  id: string;
55
93
  createdAt: Date;
56
94
  updatedAt: Date;
95
+ name: string;
57
96
  classId: string;
58
97
  runJobId: string | null;
59
98
  sourceUrl: string | null;
60
- } | null, null, import("@prisma/client/runtime/library.js").DefaultArgs, {
61
- datasources: {
62
- db: {
63
- url: string;
99
+ } | null>;
100
+ /** @returns Worksheet by ID for an authorized class member. */
101
+ export declare function findWorksheetByIdForClassMember(id: string, userId: string): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
102
+ result: {
103
+ userProfile: {
104
+ profilePicture: () => {
105
+ needs: {
106
+ profilePicture: true;
107
+ };
108
+ compute(profile: {
109
+ profilePicture: string | null;
110
+ }): string | null;
111
+ };
112
+ profilePictureThumbnail: () => {
113
+ needs: {
114
+ profilePictureThumbnail: true;
115
+ };
116
+ compute(profile: {
117
+ profilePictureThumbnail: string | null;
118
+ }): string | null;
119
+ };
64
120
  };
65
121
  };
66
- }>;
67
- /** @returns Worksheet by ID for an authorized class member. */
68
- export declare function findWorksheetByIdForClassMember(id: string, userId: string): Prisma.Prisma__WorksheetClient<({
122
+ model: {};
123
+ query: {};
124
+ client: {};
125
+ }, {}>, "Worksheet", "findFirst", null> & import("@prisma/client/runtime/library.js").PrismaPromise<({
69
126
  class: {
70
- name: string;
127
+ section: string;
71
128
  id: string;
129
+ name: string;
72
130
  schoolId: string | null;
73
- subject: string;
74
131
  color: string | null;
75
- section: string;
132
+ subject: string;
76
133
  syllabus: string | null;
77
134
  departmentId: string | null;
78
135
  discussionsEnabled: boolean;
79
136
  studentsCanCreateDiscussions: boolean;
80
137
  studentsCanReply: boolean;
81
138
  } | null;
139
+ tags: {
140
+ id: string;
141
+ name: string;
142
+ color: string;
143
+ classId: string;
144
+ }[];
82
145
  questions: {
83
146
  type: import(".prisma/client").$Enums.WorksheetQuestionType;
84
- options: Prisma.JsonValue | null;
147
+ options: import("@prisma/client/runtime/library.js").JsonValue | null;
148
+ markScheme: import("@prisma/client/runtime/library.js").JsonValue | null;
85
149
  id: string;
86
150
  createdAt: Date;
87
151
  updatedAt: Date;
88
- order: number | null;
89
152
  points: number;
90
- worksheetId: string;
91
- markScheme: Prisma.JsonValue | null;
92
153
  question: string;
154
+ worksheetId: string;
155
+ order: number | null;
93
156
  answer: string;
94
157
  }[];
95
158
  } & {
96
159
  status: import(".prisma/client").$Enums.JobStatus | null;
97
- name: string;
98
160
  id: string;
99
161
  createdAt: Date;
100
162
  updatedAt: Date;
163
+ name: string;
101
164
  classId: string;
102
165
  runJobId: string | null;
103
166
  sourceUrl: string | null;
104
- }) | null, null, import("@prisma/client/runtime/library.js").DefaultArgs, {
105
- datasources: {
106
- db: {
107
- url: string;
167
+ }) | null>;
168
+ /** @returns Worksheet by ID for an authorized teacher. */
169
+ export declare function findWorksheetByIdForTeacher(id: string, userId: string): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
170
+ result: {
171
+ userProfile: {
172
+ profilePicture: () => {
173
+ needs: {
174
+ profilePicture: true;
175
+ };
176
+ compute(profile: {
177
+ profilePicture: string | null;
178
+ }): string | null;
179
+ };
180
+ profilePictureThumbnail: () => {
181
+ needs: {
182
+ profilePictureThumbnail: true;
183
+ };
184
+ compute(profile: {
185
+ profilePictureThumbnail: string | null;
186
+ }): string | null;
187
+ };
108
188
  };
109
189
  };
110
- }>;
111
- /** @returns Worksheet by ID for an authorized teacher. */
112
- export declare function findWorksheetByIdForTeacher(id: string, userId: string): Prisma.Prisma__WorksheetClient<({
190
+ model: {};
191
+ query: {};
192
+ client: {};
193
+ }, {}>, "Worksheet", "findFirst", null> & import("@prisma/client/runtime/library.js").PrismaPromise<({
113
194
  class: {
114
- name: string;
195
+ section: string;
115
196
  id: string;
197
+ name: string;
116
198
  schoolId: string | null;
117
- subject: string;
118
199
  color: string | null;
119
- section: string;
200
+ subject: string;
120
201
  syllabus: string | null;
121
202
  departmentId: string | null;
122
203
  discussionsEnabled: boolean;
123
204
  studentsCanCreateDiscussions: boolean;
124
205
  studentsCanReply: boolean;
125
206
  } | null;
207
+ tags: {
208
+ id: string;
209
+ name: string;
210
+ color: string;
211
+ classId: string;
212
+ }[];
126
213
  questions: {
127
214
  type: import(".prisma/client").$Enums.WorksheetQuestionType;
128
- options: Prisma.JsonValue | null;
215
+ options: import("@prisma/client/runtime/library.js").JsonValue | null;
216
+ markScheme: import("@prisma/client/runtime/library.js").JsonValue | null;
129
217
  id: string;
130
218
  createdAt: Date;
131
219
  updatedAt: Date;
132
- order: number | null;
133
220
  points: number;
134
- worksheetId: string;
135
- markScheme: Prisma.JsonValue | null;
136
221
  question: string;
222
+ worksheetId: string;
223
+ order: number | null;
137
224
  answer: string;
138
225
  }[];
139
226
  } & {
140
227
  status: import(".prisma/client").$Enums.JobStatus | null;
141
- name: string;
142
228
  id: string;
143
229
  createdAt: Date;
144
230
  updatedAt: Date;
231
+ name: string;
145
232
  classId: string;
146
233
  runJobId: string | null;
147
234
  sourceUrl: string | null;
148
- }) | null, null, import("@prisma/client/runtime/library.js").DefaultArgs, {
149
- datasources: {
150
- db: {
151
- url: string;
152
- };
153
- };
154
- }>;
235
+ }) | null>;
155
236
  /** @returns Worksheets for a class. */
156
- export declare function findWorksheetsByClassId(classId: string): Prisma.PrismaPromise<({
237
+ export declare function findWorksheetsByClassId(classId: string): import("@prisma/client/runtime/library.js").PrismaPromise<({
238
+ tags: {
239
+ id: string;
240
+ name: string;
241
+ color: string;
242
+ classId: string;
243
+ }[];
157
244
  questions: {
158
245
  id: string;
159
246
  }[];
160
247
  } & {
161
248
  status: import(".prisma/client").$Enums.JobStatus | null;
162
- name: string;
163
249
  id: string;
164
250
  createdAt: Date;
165
251
  updatedAt: Date;
252
+ name: string;
166
253
  classId: string;
167
254
  runJobId: string | null;
168
255
  sourceUrl: string | null;
169
256
  })[]>;
170
257
  /** @returns Worksheet question by ID for an authorized teacher. */
171
- export declare function findWorksheetQuestionByIdForTeacher(id: string, userId: string): Prisma.Prisma__WorksheetQuestionClient<{
258
+ export declare function findWorksheetQuestionByIdForTeacher(id: string, userId: string): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
259
+ result: {
260
+ userProfile: {
261
+ profilePicture: () => {
262
+ needs: {
263
+ profilePicture: true;
264
+ };
265
+ compute(profile: {
266
+ profilePicture: string | null;
267
+ }): string | null;
268
+ };
269
+ profilePictureThumbnail: () => {
270
+ needs: {
271
+ profilePictureThumbnail: true;
272
+ };
273
+ compute(profile: {
274
+ profilePictureThumbnail: string | null;
275
+ }): string | null;
276
+ };
277
+ };
278
+ };
279
+ model: {};
280
+ query: {};
281
+ client: {};
282
+ }, {}>, "WorksheetQuestion", "findFirst", null> & import("@prisma/client/runtime/library.js").PrismaPromise<{
172
283
  type: import(".prisma/client").$Enums.WorksheetQuestionType;
173
- options: Prisma.JsonValue | null;
284
+ options: import("@prisma/client/runtime/library.js").JsonValue | null;
285
+ markScheme: import("@prisma/client/runtime/library.js").JsonValue | null;
174
286
  id: string;
175
287
  createdAt: Date;
176
288
  updatedAt: Date;
177
- order: number | null;
178
289
  points: number;
179
- worksheetId: string;
180
- markScheme: Prisma.JsonValue | null;
181
290
  question: string;
291
+ worksheetId: string;
292
+ order: number | null;
182
293
  answer: string;
183
- } | null, null, import("@prisma/client/runtime/library.js").DefaultArgs, {
184
- datasources: {
185
- db: {
186
- url: string;
294
+ } | null>;
295
+ /** @returns Worksheet question scoped to a worksheet. */
296
+ export declare function findWorksheetQuestionByIdInWorksheet(id: string, worksheetId: string): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
297
+ result: {
298
+ userProfile: {
299
+ profilePicture: () => {
300
+ needs: {
301
+ profilePicture: true;
302
+ };
303
+ compute(profile: {
304
+ profilePicture: string | null;
305
+ }): string | null;
306
+ };
307
+ profilePictureThumbnail: () => {
308
+ needs: {
309
+ profilePictureThumbnail: true;
310
+ };
311
+ compute(profile: {
312
+ profilePictureThumbnail: string | null;
313
+ }): string | null;
314
+ };
187
315
  };
188
316
  };
189
- }>;
190
- /** @returns Worksheet question scoped to a worksheet. */
191
- export declare function findWorksheetQuestionByIdInWorksheet(id: string, worksheetId: string): Prisma.Prisma__WorksheetQuestionClient<{
317
+ model: {};
318
+ query: {};
319
+ client: {};
320
+ }, {}>, "WorksheetQuestion", "findFirst", null> & import("@prisma/client/runtime/library.js").PrismaPromise<{
192
321
  type: import(".prisma/client").$Enums.WorksheetQuestionType;
193
- options: Prisma.JsonValue | null;
322
+ options: import("@prisma/client/runtime/library.js").JsonValue | null;
323
+ markScheme: import("@prisma/client/runtime/library.js").JsonValue | null;
194
324
  id: string;
195
325
  createdAt: Date;
196
326
  updatedAt: Date;
197
- order: number | null;
198
327
  points: number;
199
- worksheetId: string;
200
- markScheme: Prisma.JsonValue | null;
201
328
  question: string;
329
+ worksheetId: string;
330
+ order: number | null;
202
331
  answer: string;
203
- } | null, null, import("@prisma/client/runtime/library.js").DefaultArgs, {
204
- datasources: {
205
- db: {
206
- url: string;
207
- };
208
- };
209
- }>;
332
+ } | null>;
210
333
  /** Create a worksheet. */
211
334
  export declare function createWorksheet(data: {
212
335
  classId: string;
213
336
  name: string;
214
- }): Prisma.Prisma__WorksheetClient<{
337
+ }): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
338
+ result: {
339
+ userProfile: {
340
+ profilePicture: () => {
341
+ needs: {
342
+ profilePicture: true;
343
+ };
344
+ compute(profile: {
345
+ profilePicture: string | null;
346
+ }): string | null;
347
+ };
348
+ profilePictureThumbnail: () => {
349
+ needs: {
350
+ profilePictureThumbnail: true;
351
+ };
352
+ compute(profile: {
353
+ profilePictureThumbnail: string | null;
354
+ }): string | null;
355
+ };
356
+ };
357
+ };
358
+ model: {};
359
+ query: {};
360
+ client: {};
361
+ }, {}>, "Worksheet", "create", never> & import("@prisma/client/runtime/library.js").PrismaPromise<{
215
362
  status: import(".prisma/client").$Enums.JobStatus | null;
216
- name: string;
217
363
  id: string;
218
364
  createdAt: Date;
219
365
  updatedAt: Date;
366
+ name: string;
220
367
  classId: string;
221
368
  runJobId: string | null;
222
369
  sourceUrl: string | null;
223
- }, never, import("@prisma/client/runtime/library.js").DefaultArgs, {
224
- datasources: {
225
- db: {
226
- url: string;
227
- };
228
- };
229
370
  }>;
230
371
  /** Update worksheet name. */
231
372
  export declare function updateWorksheet(id: string, data: {
232
373
  name?: string;
233
- }): Prisma.Prisma__WorksheetClient<{
374
+ }): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
375
+ result: {
376
+ userProfile: {
377
+ profilePicture: () => {
378
+ needs: {
379
+ profilePicture: true;
380
+ };
381
+ compute(profile: {
382
+ profilePicture: string | null;
383
+ }): string | null;
384
+ };
385
+ profilePictureThumbnail: () => {
386
+ needs: {
387
+ profilePictureThumbnail: true;
388
+ };
389
+ compute(profile: {
390
+ profilePictureThumbnail: string | null;
391
+ }): string | null;
392
+ };
393
+ };
394
+ };
395
+ model: {};
396
+ query: {};
397
+ client: {};
398
+ }, {}>, "Worksheet", "update", never> & import("@prisma/client/runtime/library.js").PrismaPromise<{
234
399
  status: import(".prisma/client").$Enums.JobStatus | null;
235
- name: string;
236
400
  id: string;
237
401
  createdAt: Date;
238
402
  updatedAt: Date;
403
+ name: string;
239
404
  classId: string;
240
405
  runJobId: string | null;
241
406
  sourceUrl: string | null;
242
- }, never, import("@prisma/client/runtime/library.js").DefaultArgs, {
243
- datasources: {
244
- db: {
245
- url: string;
246
- };
247
- };
248
407
  }>;
249
408
  /** Delete a worksheet. */
250
- export declare function deleteWorksheet(id: string): Prisma.Prisma__WorksheetClient<{
409
+ export declare function deleteWorksheet(id: string): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
410
+ result: {
411
+ userProfile: {
412
+ profilePicture: () => {
413
+ needs: {
414
+ profilePicture: true;
415
+ };
416
+ compute(profile: {
417
+ profilePicture: string | null;
418
+ }): string | null;
419
+ };
420
+ profilePictureThumbnail: () => {
421
+ needs: {
422
+ profilePictureThumbnail: true;
423
+ };
424
+ compute(profile: {
425
+ profilePictureThumbnail: string | null;
426
+ }): string | null;
427
+ };
428
+ };
429
+ };
430
+ model: {};
431
+ query: {};
432
+ client: {};
433
+ }, {}>, "Worksheet", "delete", never> & import("@prisma/client/runtime/library.js").PrismaPromise<{
251
434
  status: import(".prisma/client").$Enums.JobStatus | null;
252
- name: string;
253
435
  id: string;
254
436
  createdAt: Date;
255
437
  updatedAt: Date;
438
+ name: string;
256
439
  classId: string;
257
440
  runJobId: string | null;
258
441
  sourceUrl: string | null;
259
- }, never, import("@prisma/client/runtime/library.js").DefaultArgs, {
260
- datasources: {
261
- db: {
262
- url: string;
263
- };
264
- };
265
442
  }>;
266
443
  /**
267
444
  * Clone a worksheet and its questions into another class with a new name.
268
445
  * Does not copy student responses or assignment links.
269
446
  */
270
- export declare function duplicateWorksheetWithClient(tx: Prisma.TransactionClient, sourceWorksheetId: string, targetClassId: string, name: string): Promise<{
447
+ export declare function duplicateWorksheetWithClient(tx: AppTransactionClient, sourceWorksheetId: string, targetClassId: string, name: string): Promise<{
271
448
  status: import(".prisma/client").$Enums.JobStatus | null;
272
- name: string;
273
449
  id: string;
274
450
  createdAt: Date;
275
451
  updatedAt: Date;
452
+ name: string;
276
453
  classId: string;
277
454
  runJobId: string | null;
278
455
  sourceUrl: string | null;
279
456
  } | null>;
280
457
  export declare function duplicateWorksheet(sourceWorksheetId: string, targetClassId: string, name: string): Promise<{
281
458
  status: import(".prisma/client").$Enums.JobStatus | null;
282
- name: string;
283
459
  id: string;
284
460
  createdAt: Date;
285
461
  updatedAt: Date;
462
+ name: string;
286
463
  classId: string;
287
464
  runJobId: string | null;
288
465
  sourceUrl: string | null;
289
466
  } | null>;
290
467
  /** @returns Questions for a worksheet. */
291
- export declare function findQuestionsByWorksheetId(worksheetId: string): Prisma.PrismaPromise<{
468
+ export declare function findQuestionsByWorksheetId(worksheetId: string): import("@prisma/client/runtime/library.js").PrismaPromise<{
292
469
  type: import(".prisma/client").$Enums.WorksheetQuestionType;
293
- options: Prisma.JsonValue | null;
470
+ options: import("@prisma/client/runtime/library.js").JsonValue | null;
471
+ markScheme: import("@prisma/client/runtime/library.js").JsonValue | null;
294
472
  id: string;
295
473
  createdAt: Date;
296
474
  updatedAt: Date;
297
- order: number | null;
298
475
  points: number;
299
- worksheetId: string;
300
- markScheme: Prisma.JsonValue | null;
301
476
  question: string;
477
+ worksheetId: string;
478
+ order: number | null;
302
479
  answer: string;
303
480
  }[]>;
304
481
  /** Create a worksheet question. */
@@ -311,44 +488,80 @@ export declare function createWorksheetQuestion(data: {
311
488
  options?: object;
312
489
  markScheme?: object;
313
490
  order?: number;
314
- }): Prisma.Prisma__WorksheetQuestionClient<{
491
+ }): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
492
+ result: {
493
+ userProfile: {
494
+ profilePicture: () => {
495
+ needs: {
496
+ profilePicture: true;
497
+ };
498
+ compute(profile: {
499
+ profilePicture: string | null;
500
+ }): string | null;
501
+ };
502
+ profilePictureThumbnail: () => {
503
+ needs: {
504
+ profilePictureThumbnail: true;
505
+ };
506
+ compute(profile: {
507
+ profilePictureThumbnail: string | null;
508
+ }): string | null;
509
+ };
510
+ };
511
+ };
512
+ model: {};
513
+ query: {};
514
+ client: {};
515
+ }, {}>, "WorksheetQuestion", "create", never> & import("@prisma/client/runtime/library.js").PrismaPromise<{
315
516
  type: import(".prisma/client").$Enums.WorksheetQuestionType;
316
- options: Prisma.JsonValue | null;
517
+ options: import("@prisma/client/runtime/library.js").JsonValue | null;
518
+ markScheme: import("@prisma/client/runtime/library.js").JsonValue | null;
317
519
  id: string;
318
520
  createdAt: Date;
319
521
  updatedAt: Date;
320
- order: number | null;
321
522
  points: number;
322
- worksheetId: string;
323
- markScheme: Prisma.JsonValue | null;
324
523
  question: string;
524
+ worksheetId: string;
525
+ order: number | null;
325
526
  answer: string;
326
- }, never, import("@prisma/client/runtime/library.js").DefaultArgs, {
327
- datasources: {
328
- db: {
329
- url: string;
330
- };
331
- };
332
527
  }>;
333
528
  /** Update question order. */
334
- export declare function updateWorksheetQuestionOrder(id: string, order: number): Prisma.Prisma__WorksheetQuestionClient<{
529
+ export declare function updateWorksheetQuestionOrder(id: string, order: number): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
530
+ result: {
531
+ userProfile: {
532
+ profilePicture: () => {
533
+ needs: {
534
+ profilePicture: true;
535
+ };
536
+ compute(profile: {
537
+ profilePicture: string | null;
538
+ }): string | null;
539
+ };
540
+ profilePictureThumbnail: () => {
541
+ needs: {
542
+ profilePictureThumbnail: true;
543
+ };
544
+ compute(profile: {
545
+ profilePictureThumbnail: string | null;
546
+ }): string | null;
547
+ };
548
+ };
549
+ };
550
+ model: {};
551
+ query: {};
552
+ client: {};
553
+ }, {}>, "WorksheetQuestion", "update", never> & import("@prisma/client/runtime/library.js").PrismaPromise<{
335
554
  type: import(".prisma/client").$Enums.WorksheetQuestionType;
336
- options: Prisma.JsonValue | null;
555
+ options: import("@prisma/client/runtime/library.js").JsonValue | null;
556
+ markScheme: import("@prisma/client/runtime/library.js").JsonValue | null;
337
557
  id: string;
338
558
  createdAt: Date;
339
559
  updatedAt: Date;
340
- order: number | null;
341
560
  points: number;
342
- worksheetId: string;
343
- markScheme: Prisma.JsonValue | null;
344
561
  question: string;
562
+ worksheetId: string;
563
+ order: number | null;
345
564
  answer: string;
346
- }, never, import("@prisma/client/runtime/library.js").DefaultArgs, {
347
- datasources: {
348
- db: {
349
- url: string;
350
- };
351
- };
352
565
  }>;
353
566
  /** Update a worksheet question. */
354
567
  export declare function updateWorksheetQuestion(id: string, data: {
@@ -358,52 +571,112 @@ export declare function updateWorksheetQuestion(id: string, data: {
358
571
  options?: object;
359
572
  markScheme?: object;
360
573
  type?: WorksheetQuestionType;
361
- }): Prisma.Prisma__WorksheetQuestionClient<{
574
+ }): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
575
+ result: {
576
+ userProfile: {
577
+ profilePicture: () => {
578
+ needs: {
579
+ profilePicture: true;
580
+ };
581
+ compute(profile: {
582
+ profilePicture: string | null;
583
+ }): string | null;
584
+ };
585
+ profilePictureThumbnail: () => {
586
+ needs: {
587
+ profilePictureThumbnail: true;
588
+ };
589
+ compute(profile: {
590
+ profilePictureThumbnail: string | null;
591
+ }): string | null;
592
+ };
593
+ };
594
+ };
595
+ model: {};
596
+ query: {};
597
+ client: {};
598
+ }, {}>, "WorksheetQuestion", "update", never> & import("@prisma/client/runtime/library.js").PrismaPromise<{
362
599
  type: import(".prisma/client").$Enums.WorksheetQuestionType;
363
- options: Prisma.JsonValue | null;
600
+ options: import("@prisma/client/runtime/library.js").JsonValue | null;
601
+ markScheme: import("@prisma/client/runtime/library.js").JsonValue | null;
364
602
  id: string;
365
603
  createdAt: Date;
366
604
  updatedAt: Date;
367
- order: number | null;
368
605
  points: number;
369
- worksheetId: string;
370
- markScheme: Prisma.JsonValue | null;
371
606
  question: string;
607
+ worksheetId: string;
608
+ order: number | null;
372
609
  answer: string;
373
- }, never, import("@prisma/client/runtime/library.js").DefaultArgs, {
374
- datasources: {
375
- db: {
376
- url: string;
377
- };
378
- };
379
610
  }>;
380
611
  /** Delete a worksheet question. */
381
- export declare function deleteWorksheetQuestion(id: string): Prisma.Prisma__WorksheetQuestionClient<{
612
+ export declare function deleteWorksheetQuestion(id: string): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
613
+ result: {
614
+ userProfile: {
615
+ profilePicture: () => {
616
+ needs: {
617
+ profilePicture: true;
618
+ };
619
+ compute(profile: {
620
+ profilePicture: string | null;
621
+ }): string | null;
622
+ };
623
+ profilePictureThumbnail: () => {
624
+ needs: {
625
+ profilePictureThumbnail: true;
626
+ };
627
+ compute(profile: {
628
+ profilePictureThumbnail: string | null;
629
+ }): string | null;
630
+ };
631
+ };
632
+ };
633
+ model: {};
634
+ query: {};
635
+ client: {};
636
+ }, {}>, "WorksheetQuestion", "delete", never> & import("@prisma/client/runtime/library.js").PrismaPromise<{
382
637
  type: import(".prisma/client").$Enums.WorksheetQuestionType;
383
- options: Prisma.JsonValue | null;
638
+ options: import("@prisma/client/runtime/library.js").JsonValue | null;
639
+ markScheme: import("@prisma/client/runtime/library.js").JsonValue | null;
384
640
  id: string;
385
641
  createdAt: Date;
386
642
  updatedAt: Date;
387
- order: number | null;
388
643
  points: number;
389
- worksheetId: string;
390
- markScheme: Prisma.JsonValue | null;
391
644
  question: string;
645
+ worksheetId: string;
646
+ order: number | null;
392
647
  answer: string;
393
- }, never, import("@prisma/client/runtime/library.js").DefaultArgs, {
394
- datasources: {
395
- db: {
396
- url: string;
397
- };
398
- };
399
648
  }>;
400
649
  /** @returns Submission by ID. */
401
- export declare function findSubmissionById(id: string): Prisma.Prisma__SubmissionClient<{
650
+ export declare function findSubmissionById(id: string): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
651
+ result: {
652
+ userProfile: {
653
+ profilePicture: () => {
654
+ needs: {
655
+ profilePicture: true;
656
+ };
657
+ compute(profile: {
658
+ profilePicture: string | null;
659
+ }): string | null;
660
+ };
661
+ profilePictureThumbnail: () => {
662
+ needs: {
663
+ profilePictureThumbnail: true;
664
+ };
665
+ compute(profile: {
666
+ profilePictureThumbnail: string | null;
667
+ }): string | null;
668
+ };
669
+ };
670
+ };
671
+ model: {};
672
+ query: {};
673
+ client: {};
674
+ }, {}>, "Submission", "findUnique", null> & import("@prisma/client/runtime/library.js").PrismaPromise<{
402
675
  id: string;
403
676
  createdAt: Date;
404
677
  assignmentId: string;
405
- modifiedAt: Date;
406
678
  studentId: string;
679
+ modifiedAt: Date;
407
680
  extendedResponse: string | null;
408
681
  gradeReceived: number | null;
409
682
  recommendationState: import(".prisma/client").$Enums.SubmissionRecommendationState;
@@ -414,26 +687,62 @@ export declare function findSubmissionById(id: string): Prisma.Prisma__Submissio
414
687
  submittedAt: Date | null;
415
688
  submitted: boolean | null;
416
689
  returned: boolean | null;
417
- } | null, null, import("@prisma/client/runtime/library.js").DefaultArgs, {
418
- datasources: {
419
- db: {
420
- url: string;
690
+ } | null>;
691
+ /** @returns Submission if requester is the owning student or a class teacher for the worksheet. */
692
+ export declare function findSubmissionByIdForWorksheetAccess(id: string, worksheetId: string, worksheetClassId: string, userId: string): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
693
+ result: {
694
+ userProfile: {
695
+ profilePicture: () => {
696
+ needs: {
697
+ profilePicture: true;
698
+ };
699
+ compute(profile: {
700
+ profilePicture: string | null;
701
+ }): string | null;
702
+ };
703
+ profilePictureThumbnail: () => {
704
+ needs: {
705
+ profilePictureThumbnail: true;
706
+ };
707
+ compute(profile: {
708
+ profilePictureThumbnail: string | null;
709
+ }): string | null;
710
+ };
421
711
  };
422
712
  };
423
- }>;
424
- /** @returns Submission if requester is the owning student or a class teacher for the worksheet. */
425
- export declare function findSubmissionByIdForWorksheetAccess(id: string, worksheetId: string, worksheetClassId: string, userId: string): Prisma.Prisma__SubmissionClient<{
713
+ model: {};
714
+ query: {};
715
+ client: {};
716
+ }, {}>, "Submission", "findFirst", null> & import("@prisma/client/runtime/library.js").PrismaPromise<{
426
717
  id: string;
427
718
  studentId: string;
428
- } | null, null, import("@prisma/client/runtime/library.js").DefaultArgs, {
429
- datasources: {
430
- db: {
431
- url: string;
719
+ } | null>;
720
+ /** @returns Worksheet response for submission and worksheet. */
721
+ export declare function findWorksheetResponseBySubmissionAndWorksheet(submissionId: string, worksheetId: string): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
722
+ result: {
723
+ userProfile: {
724
+ profilePicture: () => {
725
+ needs: {
726
+ profilePicture: true;
727
+ };
728
+ compute(profile: {
729
+ profilePicture: string | null;
730
+ }): string | null;
731
+ };
732
+ profilePictureThumbnail: () => {
733
+ needs: {
734
+ profilePictureThumbnail: true;
735
+ };
736
+ compute(profile: {
737
+ profilePictureThumbnail: string | null;
738
+ }): string | null;
739
+ };
432
740
  };
433
741
  };
434
- }>;
435
- /** @returns Worksheet response for submission and worksheet. */
436
- export declare function findWorksheetResponseBySubmissionAndWorksheet(submissionId: string, worksheetId: string): Prisma.Prisma__StudentWorksheetResponseClient<({
742
+ model: {};
743
+ query: {};
744
+ client: {};
745
+ }, {}>, "StudentWorksheetResponse", "findFirst", null> & import("@prisma/client/runtime/library.js").PrismaPromise<({
437
746
  responses: ({
438
747
  comments: {
439
748
  id: string;
@@ -444,15 +753,15 @@ export declare function findWorksheetResponseBySubmissionAndWorksheet(submission
444
753
  id: string;
445
754
  createdAt: Date;
446
755
  updatedAt: Date | null;
447
- studentId: string;
448
- questionId: string;
756
+ feedback: string | null;
757
+ runJobId: string | null;
449
758
  response: string;
450
759
  isCorrect: boolean;
451
- markschemeState: Prisma.JsonValue | null;
760
+ markschemeState: import("@prisma/client/runtime/library.js").JsonValue | null;
452
761
  points: number;
453
- feedback: string | null;
762
+ studentId: string;
763
+ questionId: string;
454
764
  studentWorksheetResponseId: string | null;
455
- runJobId: string | null;
456
765
  })[];
457
766
  } & {
458
767
  id: string;
@@ -460,16 +769,10 @@ export declare function findWorksheetResponseBySubmissionAndWorksheet(submission
460
769
  updatedAt: Date;
461
770
  submissionId: string | null;
462
771
  studentId: string;
772
+ worksheetId: string;
463
773
  submittedAt: Date | null;
464
774
  submitted: boolean;
465
- worksheetId: string;
466
- }) | null, null, import("@prisma/client/runtime/library.js").DefaultArgs, {
467
- datasources: {
468
- db: {
469
- url: string;
470
- };
471
- };
472
- }>;
775
+ }) | null>;
473
776
  /** Get or create worksheet response for student. */
474
777
  export declare function findOrCreateWorksheetResponse(submissionId: string, worksheetId: string, studentId: string): Promise<{
475
778
  responses: ({
@@ -482,15 +785,15 @@ export declare function findOrCreateWorksheetResponse(submissionId: string, work
482
785
  id: string;
483
786
  createdAt: Date;
484
787
  updatedAt: Date | null;
485
- studentId: string;
486
- questionId: string;
788
+ feedback: string | null;
789
+ runJobId: string | null;
487
790
  response: string;
488
791
  isCorrect: boolean;
489
- markschemeState: Prisma.JsonValue | null;
792
+ markschemeState: import("@prisma/client/runtime/library.js").JsonValue | null;
490
793
  points: number;
491
- feedback: string | null;
794
+ studentId: string;
795
+ questionId: string;
492
796
  studentWorksheetResponseId: string | null;
493
- runJobId: string | null;
494
797
  })[];
495
798
  } & {
496
799
  id: string;
@@ -498,16 +801,40 @@ export declare function findOrCreateWorksheetResponse(submissionId: string, work
498
801
  updatedAt: Date;
499
802
  submissionId: string | null;
500
803
  studentId: string;
804
+ worksheetId: string;
501
805
  submittedAt: Date | null;
502
806
  submitted: boolean;
503
- worksheetId: string;
504
807
  }>;
505
808
  /** Create a worksheet response. */
506
809
  export declare function createWorksheetResponse(data: {
507
810
  worksheetId: string;
508
811
  submissionId: string;
509
812
  studentId: string;
510
- }): Prisma.Prisma__StudentWorksheetResponseClient<{
813
+ }): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
814
+ result: {
815
+ userProfile: {
816
+ profilePicture: () => {
817
+ needs: {
818
+ profilePicture: true;
819
+ };
820
+ compute(profile: {
821
+ profilePicture: string | null;
822
+ }): string | null;
823
+ };
824
+ profilePictureThumbnail: () => {
825
+ needs: {
826
+ profilePictureThumbnail: true;
827
+ };
828
+ compute(profile: {
829
+ profilePictureThumbnail: string | null;
830
+ }): string | null;
831
+ };
832
+ };
833
+ };
834
+ model: {};
835
+ query: {};
836
+ client: {};
837
+ }, {}>, "StudentWorksheetResponse", "create", never> & import("@prisma/client/runtime/library.js").PrismaPromise<{
511
838
  responses: ({
512
839
  comments: {
513
840
  id: string;
@@ -518,15 +845,15 @@ export declare function createWorksheetResponse(data: {
518
845
  id: string;
519
846
  createdAt: Date;
520
847
  updatedAt: Date | null;
521
- studentId: string;
522
- questionId: string;
848
+ feedback: string | null;
849
+ runJobId: string | null;
523
850
  response: string;
524
851
  isCorrect: boolean;
525
- markschemeState: Prisma.JsonValue | null;
852
+ markschemeState: import("@prisma/client/runtime/library.js").JsonValue | null;
526
853
  points: number;
527
- feedback: string | null;
854
+ studentId: string;
855
+ questionId: string;
528
856
  studentWorksheetResponseId: string | null;
529
- runJobId: string | null;
530
857
  })[];
531
858
  } & {
532
859
  id: string;
@@ -534,32 +861,50 @@ export declare function createWorksheetResponse(data: {
534
861
  updatedAt: Date;
535
862
  submissionId: string | null;
536
863
  studentId: string;
864
+ worksheetId: string;
537
865
  submittedAt: Date | null;
538
866
  submitted: boolean;
539
- worksheetId: string;
540
- }, never, import("@prisma/client/runtime/library.js").DefaultArgs, {
541
- datasources: {
542
- db: {
543
- url: string;
544
- };
545
- };
546
867
  }>;
547
868
  /** @returns Worksheet response by ID. */
548
- export declare function findWorksheetResponseById(id: string): Prisma.Prisma__StudentWorksheetResponseClient<({
869
+ export declare function findWorksheetResponseById(id: string): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
870
+ result: {
871
+ userProfile: {
872
+ profilePicture: () => {
873
+ needs: {
874
+ profilePicture: true;
875
+ };
876
+ compute(profile: {
877
+ profilePicture: string | null;
878
+ }): string | null;
879
+ };
880
+ profilePictureThumbnail: () => {
881
+ needs: {
882
+ profilePictureThumbnail: true;
883
+ };
884
+ compute(profile: {
885
+ profilePictureThumbnail: string | null;
886
+ }): string | null;
887
+ };
888
+ };
889
+ };
890
+ model: {};
891
+ query: {};
892
+ client: {};
893
+ }, {}>, "StudentWorksheetResponse", "findUnique", null> & import("@prisma/client/runtime/library.js").PrismaPromise<({
549
894
  responses: {
550
895
  status: import(".prisma/client").$Enums.JobStatus | null;
551
896
  id: string;
552
897
  createdAt: Date;
553
898
  updatedAt: Date | null;
554
- studentId: string;
555
- questionId: string;
899
+ feedback: string | null;
900
+ runJobId: string | null;
556
901
  response: string;
557
902
  isCorrect: boolean;
558
- markschemeState: Prisma.JsonValue | null;
903
+ markschemeState: import("@prisma/client/runtime/library.js").JsonValue | null;
559
904
  points: number;
560
- feedback: string | null;
905
+ studentId: string;
906
+ questionId: string;
561
907
  studentWorksheetResponseId: string | null;
562
- runJobId: string | null;
563
908
  }[];
564
909
  } & {
565
910
  id: string;
@@ -567,24 +912,42 @@ export declare function findWorksheetResponseById(id: string): Prisma.Prisma__St
567
912
  updatedAt: Date;
568
913
  submissionId: string | null;
569
914
  studentId: string;
915
+ worksheetId: string;
570
916
  submittedAt: Date | null;
571
917
  submitted: boolean;
572
- worksheetId: string;
573
- }) | null, null, import("@prisma/client/runtime/library.js").DefaultArgs, {
574
- datasources: {
575
- db: {
576
- url: string;
918
+ }) | null>;
919
+ /** @returns Worksheet response if requester is the owning student. */
920
+ export declare function findWorksheetResponseByIdForStudent(id: string, userId: string): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
921
+ result: {
922
+ userProfile: {
923
+ profilePicture: () => {
924
+ needs: {
925
+ profilePicture: true;
926
+ };
927
+ compute(profile: {
928
+ profilePicture: string | null;
929
+ }): string | null;
930
+ };
931
+ profilePictureThumbnail: () => {
932
+ needs: {
933
+ profilePictureThumbnail: true;
934
+ };
935
+ compute(profile: {
936
+ profilePictureThumbnail: string | null;
937
+ }): string | null;
938
+ };
577
939
  };
578
940
  };
579
- }>;
580
- /** @returns Worksheet response if requester is the owning student. */
581
- export declare function findWorksheetResponseByIdForStudent(id: string, userId: string): Prisma.Prisma__StudentWorksheetResponseClient<({
941
+ model: {};
942
+ query: {};
943
+ client: {};
944
+ }, {}>, "StudentWorksheetResponse", "findFirst", null> & import("@prisma/client/runtime/library.js").PrismaPromise<({
582
945
  worksheet: {
583
946
  status: import(".prisma/client").$Enums.JobStatus | null;
584
- name: string;
585
947
  id: string;
586
948
  createdAt: Date;
587
949
  updatedAt: Date;
950
+ name: string;
588
951
  classId: string;
589
952
  runJobId: string | null;
590
953
  sourceUrl: string | null;
@@ -594,15 +957,15 @@ export declare function findWorksheetResponseByIdForStudent(id: string, userId:
594
957
  id: string;
595
958
  createdAt: Date;
596
959
  updatedAt: Date | null;
597
- studentId: string;
598
- questionId: string;
960
+ feedback: string | null;
961
+ runJobId: string | null;
599
962
  response: string;
600
963
  isCorrect: boolean;
601
- markschemeState: Prisma.JsonValue | null;
964
+ markschemeState: import("@prisma/client/runtime/library.js").JsonValue | null;
602
965
  points: number;
603
- feedback: string | null;
966
+ studentId: string;
967
+ questionId: string;
604
968
  studentWorksheetResponseId: string | null;
605
- runJobId: string | null;
606
969
  }[];
607
970
  } & {
608
971
  id: string;
@@ -610,24 +973,42 @@ export declare function findWorksheetResponseByIdForStudent(id: string, userId:
610
973
  updatedAt: Date;
611
974
  submissionId: string | null;
612
975
  studentId: string;
976
+ worksheetId: string;
613
977
  submittedAt: Date | null;
614
978
  submitted: boolean;
615
- worksheetId: string;
616
- }) | null, null, import("@prisma/client/runtime/library.js").DefaultArgs, {
617
- datasources: {
618
- db: {
619
- url: string;
979
+ }) | null>;
980
+ /** @returns Worksheet response if requester is a class teacher. */
981
+ export declare function findWorksheetResponseByIdForTeacher(id: string, userId: string): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
982
+ result: {
983
+ userProfile: {
984
+ profilePicture: () => {
985
+ needs: {
986
+ profilePicture: true;
987
+ };
988
+ compute(profile: {
989
+ profilePicture: string | null;
990
+ }): string | null;
991
+ };
992
+ profilePictureThumbnail: () => {
993
+ needs: {
994
+ profilePictureThumbnail: true;
995
+ };
996
+ compute(profile: {
997
+ profilePictureThumbnail: string | null;
998
+ }): string | null;
999
+ };
620
1000
  };
621
1001
  };
622
- }>;
623
- /** @returns Worksheet response if requester is a class teacher. */
624
- export declare function findWorksheetResponseByIdForTeacher(id: string, userId: string): Prisma.Prisma__StudentWorksheetResponseClient<({
1002
+ model: {};
1003
+ query: {};
1004
+ client: {};
1005
+ }, {}>, "StudentWorksheetResponse", "findFirst", null> & import("@prisma/client/runtime/library.js").PrismaPromise<({
625
1006
  worksheet: {
626
1007
  status: import(".prisma/client").$Enums.JobStatus | null;
627
- name: string;
628
1008
  id: string;
629
1009
  createdAt: Date;
630
1010
  updatedAt: Date;
1011
+ name: string;
631
1012
  classId: string;
632
1013
  runJobId: string | null;
633
1014
  sourceUrl: string | null;
@@ -637,15 +1018,15 @@ export declare function findWorksheetResponseByIdForTeacher(id: string, userId:
637
1018
  id: string;
638
1019
  createdAt: Date;
639
1020
  updatedAt: Date | null;
640
- studentId: string;
641
- questionId: string;
1021
+ feedback: string | null;
1022
+ runJobId: string | null;
642
1023
  response: string;
643
1024
  isCorrect: boolean;
644
- markschemeState: Prisma.JsonValue | null;
1025
+ markschemeState: import("@prisma/client/runtime/library.js").JsonValue | null;
645
1026
  points: number;
646
- feedback: string | null;
1027
+ studentId: string;
1028
+ questionId: string;
647
1029
  studentWorksheetResponseId: string | null;
648
- runJobId: string | null;
649
1030
  }[];
650
1031
  } & {
651
1032
  id: string;
@@ -653,32 +1034,50 @@ export declare function findWorksheetResponseByIdForTeacher(id: string, userId:
653
1034
  updatedAt: Date;
654
1035
  submissionId: string | null;
655
1036
  studentId: string;
1037
+ worksheetId: string;
656
1038
  submittedAt: Date | null;
657
1039
  submitted: boolean;
658
- worksheetId: string;
659
- }) | null, null, import("@prisma/client/runtime/library.js").DefaultArgs, {
660
- datasources: {
661
- db: {
662
- url: string;
1040
+ }) | null>;
1041
+ /** @returns Worksheet response with question responses. */
1042
+ export declare function findWorksheetResponseWithResponses(id: string, questionId?: string): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
1043
+ result: {
1044
+ userProfile: {
1045
+ profilePicture: () => {
1046
+ needs: {
1047
+ profilePicture: true;
1048
+ };
1049
+ compute(profile: {
1050
+ profilePicture: string | null;
1051
+ }): string | null;
1052
+ };
1053
+ profilePictureThumbnail: () => {
1054
+ needs: {
1055
+ profilePictureThumbnail: true;
1056
+ };
1057
+ compute(profile: {
1058
+ profilePictureThumbnail: string | null;
1059
+ }): string | null;
1060
+ };
663
1061
  };
664
1062
  };
665
- }>;
666
- /** @returns Worksheet response with question responses. */
667
- export declare function findWorksheetResponseWithResponses(id: string, questionId?: string): Prisma.Prisma__StudentWorksheetResponseClient<({
1063
+ model: {};
1064
+ query: {};
1065
+ client: {};
1066
+ }, {}>, "StudentWorksheetResponse", "findUnique", null> & import("@prisma/client/runtime/library.js").PrismaPromise<({
668
1067
  responses: {
669
1068
  status: import(".prisma/client").$Enums.JobStatus | null;
670
1069
  id: string;
671
1070
  createdAt: Date;
672
1071
  updatedAt: Date | null;
673
- studentId: string;
674
- questionId: string;
1072
+ feedback: string | null;
1073
+ runJobId: string | null;
675
1074
  response: string;
676
1075
  isCorrect: boolean;
677
- markschemeState: Prisma.JsonValue | null;
1076
+ markschemeState: import("@prisma/client/runtime/library.js").JsonValue | null;
678
1077
  points: number;
679
- feedback: string | null;
1078
+ studentId: string;
1079
+ questionId: string;
680
1080
  studentWorksheetResponseId: string | null;
681
- runJobId: string | null;
682
1081
  }[];
683
1082
  } & {
684
1083
  id: string;
@@ -686,24 +1085,42 @@ export declare function findWorksheetResponseWithResponses(id: string, questionI
686
1085
  updatedAt: Date;
687
1086
  submissionId: string | null;
688
1087
  studentId: string;
1088
+ worksheetId: string;
689
1089
  submittedAt: Date | null;
690
1090
  submitted: boolean;
691
- worksheetId: string;
692
- }) | null, null, import("@prisma/client/runtime/library.js").DefaultArgs, {
693
- datasources: {
694
- db: {
695
- url: string;
1091
+ }) | null>;
1092
+ /** @returns Worksheet response with scoped responses if requester is the owning student. */
1093
+ export declare function findWorksheetResponseWithResponsesForStudent(id: string, userId: string, questionId?: string): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
1094
+ result: {
1095
+ userProfile: {
1096
+ profilePicture: () => {
1097
+ needs: {
1098
+ profilePicture: true;
1099
+ };
1100
+ compute(profile: {
1101
+ profilePicture: string | null;
1102
+ }): string | null;
1103
+ };
1104
+ profilePictureThumbnail: () => {
1105
+ needs: {
1106
+ profilePictureThumbnail: true;
1107
+ };
1108
+ compute(profile: {
1109
+ profilePictureThumbnail: string | null;
1110
+ }): string | null;
1111
+ };
696
1112
  };
697
1113
  };
698
- }>;
699
- /** @returns Worksheet response with scoped responses if requester is the owning student. */
700
- export declare function findWorksheetResponseWithResponsesForStudent(id: string, userId: string, questionId?: string): Prisma.Prisma__StudentWorksheetResponseClient<({
1114
+ model: {};
1115
+ query: {};
1116
+ client: {};
1117
+ }, {}>, "StudentWorksheetResponse", "findFirst", null> & import("@prisma/client/runtime/library.js").PrismaPromise<({
701
1118
  worksheet: {
702
1119
  status: import(".prisma/client").$Enums.JobStatus | null;
703
- name: string;
704
1120
  id: string;
705
1121
  createdAt: Date;
706
1122
  updatedAt: Date;
1123
+ name: string;
707
1124
  classId: string;
708
1125
  runJobId: string | null;
709
1126
  sourceUrl: string | null;
@@ -713,15 +1130,15 @@ export declare function findWorksheetResponseWithResponsesForStudent(id: string,
713
1130
  id: string;
714
1131
  createdAt: Date;
715
1132
  updatedAt: Date | null;
716
- studentId: string;
717
- questionId: string;
1133
+ feedback: string | null;
1134
+ runJobId: string | null;
718
1135
  response: string;
719
1136
  isCorrect: boolean;
720
- markschemeState: Prisma.JsonValue | null;
1137
+ markschemeState: import("@prisma/client/runtime/library.js").JsonValue | null;
721
1138
  points: number;
722
- feedback: string | null;
1139
+ studentId: string;
1140
+ questionId: string;
723
1141
  studentWorksheetResponseId: string | null;
724
- runJobId: string | null;
725
1142
  }[];
726
1143
  } & {
727
1144
  id: string;
@@ -729,24 +1146,42 @@ export declare function findWorksheetResponseWithResponsesForStudent(id: string,
729
1146
  updatedAt: Date;
730
1147
  submissionId: string | null;
731
1148
  studentId: string;
1149
+ worksheetId: string;
732
1150
  submittedAt: Date | null;
733
1151
  submitted: boolean;
734
- worksheetId: string;
735
- }) | null, null, import("@prisma/client/runtime/library.js").DefaultArgs, {
736
- datasources: {
737
- db: {
738
- url: string;
1152
+ }) | null>;
1153
+ /** @returns Worksheet response with scoped responses if requester is a class teacher. */
1154
+ export declare function findWorksheetResponseWithResponsesForTeacher(id: string, userId: string, questionId?: string): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
1155
+ result: {
1156
+ userProfile: {
1157
+ profilePicture: () => {
1158
+ needs: {
1159
+ profilePicture: true;
1160
+ };
1161
+ compute(profile: {
1162
+ profilePicture: string | null;
1163
+ }): string | null;
1164
+ };
1165
+ profilePictureThumbnail: () => {
1166
+ needs: {
1167
+ profilePictureThumbnail: true;
1168
+ };
1169
+ compute(profile: {
1170
+ profilePictureThumbnail: string | null;
1171
+ }): string | null;
1172
+ };
739
1173
  };
740
1174
  };
741
- }>;
742
- /** @returns Worksheet response with scoped responses if requester is a class teacher. */
743
- export declare function findWorksheetResponseWithResponsesForTeacher(id: string, userId: string, questionId?: string): Prisma.Prisma__StudentWorksheetResponseClient<({
1175
+ model: {};
1176
+ query: {};
1177
+ client: {};
1178
+ }, {}>, "StudentWorksheetResponse", "findFirst", null> & import("@prisma/client/runtime/library.js").PrismaPromise<({
744
1179
  worksheet: {
745
1180
  status: import(".prisma/client").$Enums.JobStatus | null;
746
- name: string;
747
1181
  id: string;
748
1182
  createdAt: Date;
749
1183
  updatedAt: Date;
1184
+ name: string;
750
1185
  classId: string;
751
1186
  runJobId: string | null;
752
1187
  sourceUrl: string | null;
@@ -756,15 +1191,15 @@ export declare function findWorksheetResponseWithResponsesForTeacher(id: string,
756
1191
  id: string;
757
1192
  createdAt: Date;
758
1193
  updatedAt: Date | null;
759
- studentId: string;
760
- questionId: string;
1194
+ feedback: string | null;
1195
+ runJobId: string | null;
761
1196
  response: string;
762
1197
  isCorrect: boolean;
763
- markschemeState: Prisma.JsonValue | null;
1198
+ markschemeState: import("@prisma/client/runtime/library.js").JsonValue | null;
764
1199
  points: number;
765
- feedback: string | null;
1200
+ studentId: string;
1201
+ questionId: string;
766
1202
  studentWorksheetResponseId: string | null;
767
- runJobId: string | null;
768
1203
  }[];
769
1204
  } & {
770
1205
  id: string;
@@ -772,59 +1207,95 @@ export declare function findWorksheetResponseWithResponsesForTeacher(id: string,
772
1207
  updatedAt: Date;
773
1208
  submissionId: string | null;
774
1209
  studentId: string;
1210
+ worksheetId: string;
775
1211
  submittedAt: Date | null;
776
1212
  submitted: boolean;
777
- worksheetId: string;
778
- }) | null, null, import("@prisma/client/runtime/library.js").DefaultArgs, {
779
- datasources: {
780
- db: {
781
- url: string;
1213
+ }) | null>;
1214
+ /** @returns Worksheet question by ID. */
1215
+ export declare function findWorksheetQuestionById(id: string): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
1216
+ result: {
1217
+ userProfile: {
1218
+ profilePicture: () => {
1219
+ needs: {
1220
+ profilePicture: true;
1221
+ };
1222
+ compute(profile: {
1223
+ profilePicture: string | null;
1224
+ }): string | null;
1225
+ };
1226
+ profilePictureThumbnail: () => {
1227
+ needs: {
1228
+ profilePictureThumbnail: true;
1229
+ };
1230
+ compute(profile: {
1231
+ profilePictureThumbnail: string | null;
1232
+ }): string | null;
1233
+ };
782
1234
  };
783
1235
  };
784
- }>;
785
- /** @returns Worksheet question by ID. */
786
- export declare function findWorksheetQuestionById(id: string): Prisma.Prisma__WorksheetQuestionClient<{
1236
+ model: {};
1237
+ query: {};
1238
+ client: {};
1239
+ }, {}>, "WorksheetQuestion", "findUnique", null> & import("@prisma/client/runtime/library.js").PrismaPromise<{
787
1240
  type: import(".prisma/client").$Enums.WorksheetQuestionType;
788
- options: Prisma.JsonValue | null;
1241
+ options: import("@prisma/client/runtime/library.js").JsonValue | null;
1242
+ markScheme: import("@prisma/client/runtime/library.js").JsonValue | null;
789
1243
  id: string;
790
1244
  createdAt: Date;
791
1245
  updatedAt: Date;
792
- order: number | null;
793
1246
  points: number;
794
- worksheetId: string;
795
- markScheme: Prisma.JsonValue | null;
796
1247
  question: string;
1248
+ worksheetId: string;
1249
+ order: number | null;
797
1250
  answer: string;
798
- } | null, null, import("@prisma/client/runtime/library.js").DefaultArgs, {
799
- datasources: {
800
- db: {
801
- url: string;
1251
+ } | null>;
1252
+ /** @returns Student question progress if requester is a class teacher. */
1253
+ export declare function findStudentQuestionProgressByIdForTeacher(id: string, userId: string): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
1254
+ result: {
1255
+ userProfile: {
1256
+ profilePicture: () => {
1257
+ needs: {
1258
+ profilePicture: true;
1259
+ };
1260
+ compute(profile: {
1261
+ profilePicture: string | null;
1262
+ }): string | null;
1263
+ };
1264
+ profilePictureThumbnail: () => {
1265
+ needs: {
1266
+ profilePictureThumbnail: true;
1267
+ };
1268
+ compute(profile: {
1269
+ profilePictureThumbnail: string | null;
1270
+ }): string | null;
1271
+ };
802
1272
  };
803
1273
  };
804
- }>;
805
- /** @returns Student question progress if requester is a class teacher. */
806
- export declare function findStudentQuestionProgressByIdForTeacher(id: string, userId: string): Prisma.Prisma__StudentQuestionProgressClient<({
1274
+ model: {};
1275
+ query: {};
1276
+ client: {};
1277
+ }, {}>, "StudentQuestionProgress", "findFirst", null> & import("@prisma/client/runtime/library.js").PrismaPromise<({
807
1278
  studentWorksheetResponse: {
808
1279
  id: string;
809
1280
  createdAt: Date;
810
1281
  updatedAt: Date;
811
1282
  submissionId: string | null;
812
1283
  studentId: string;
1284
+ worksheetId: string;
813
1285
  submittedAt: Date | null;
814
1286
  submitted: boolean;
815
- worksheetId: string;
816
1287
  } | null;
817
1288
  question: {
818
1289
  type: import(".prisma/client").$Enums.WorksheetQuestionType;
819
- options: Prisma.JsonValue | null;
1290
+ options: import("@prisma/client/runtime/library.js").JsonValue | null;
1291
+ markScheme: import("@prisma/client/runtime/library.js").JsonValue | null;
820
1292
  id: string;
821
1293
  createdAt: Date;
822
1294
  updatedAt: Date;
823
- order: number | null;
824
1295
  points: number;
825
- worksheetId: string;
826
- markScheme: Prisma.JsonValue | null;
827
1296
  question: string;
1297
+ worksheetId: string;
1298
+ order: number | null;
828
1299
  answer: string;
829
1300
  };
830
1301
  } & {
@@ -832,45 +1303,63 @@ export declare function findStudentQuestionProgressByIdForTeacher(id: string, us
832
1303
  id: string;
833
1304
  createdAt: Date;
834
1305
  updatedAt: Date | null;
835
- studentId: string;
836
- questionId: string;
1306
+ feedback: string | null;
1307
+ runJobId: string | null;
837
1308
  response: string;
838
1309
  isCorrect: boolean;
839
- markschemeState: Prisma.JsonValue | null;
1310
+ markschemeState: import("@prisma/client/runtime/library.js").JsonValue | null;
840
1311
  points: number;
841
- feedback: string | null;
1312
+ studentId: string;
1313
+ questionId: string;
842
1314
  studentWorksheetResponseId: string | null;
843
- runJobId: string | null;
844
- }) | null, null, import("@prisma/client/runtime/library.js").DefaultArgs, {
845
- datasources: {
846
- db: {
847
- url: string;
1315
+ }) | null>;
1316
+ /** @returns Student question progress by id and worksheet response if requester is a class teacher. */
1317
+ export declare function findStudentQuestionProgressByIdForTeacherAndResponse(id: string, studentWorksheetResponseId: string, userId: string): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
1318
+ result: {
1319
+ userProfile: {
1320
+ profilePicture: () => {
1321
+ needs: {
1322
+ profilePicture: true;
1323
+ };
1324
+ compute(profile: {
1325
+ profilePicture: string | null;
1326
+ }): string | null;
1327
+ };
1328
+ profilePictureThumbnail: () => {
1329
+ needs: {
1330
+ profilePictureThumbnail: true;
1331
+ };
1332
+ compute(profile: {
1333
+ profilePictureThumbnail: string | null;
1334
+ }): string | null;
1335
+ };
848
1336
  };
849
1337
  };
850
- }>;
851
- /** @returns Student question progress by id and worksheet response if requester is a class teacher. */
852
- export declare function findStudentQuestionProgressByIdForTeacherAndResponse(id: string, studentWorksheetResponseId: string, userId: string): Prisma.Prisma__StudentQuestionProgressClient<({
1338
+ model: {};
1339
+ query: {};
1340
+ client: {};
1341
+ }, {}>, "StudentQuestionProgress", "findFirst", null> & import("@prisma/client/runtime/library.js").PrismaPromise<({
853
1342
  studentWorksheetResponse: {
854
1343
  id: string;
855
1344
  createdAt: Date;
856
1345
  updatedAt: Date;
857
1346
  submissionId: string | null;
858
1347
  studentId: string;
1348
+ worksheetId: string;
859
1349
  submittedAt: Date | null;
860
1350
  submitted: boolean;
861
- worksheetId: string;
862
1351
  } | null;
863
1352
  question: {
864
1353
  type: import(".prisma/client").$Enums.WorksheetQuestionType;
865
- options: Prisma.JsonValue | null;
1354
+ options: import("@prisma/client/runtime/library.js").JsonValue | null;
1355
+ markScheme: import("@prisma/client/runtime/library.js").JsonValue | null;
866
1356
  id: string;
867
1357
  createdAt: Date;
868
1358
  updatedAt: Date;
869
- order: number | null;
870
1359
  points: number;
871
- worksheetId: string;
872
- markScheme: Prisma.JsonValue | null;
873
1360
  question: string;
1361
+ worksheetId: string;
1362
+ order: number | null;
874
1363
  answer: string;
875
1364
  };
876
1365
  } & {
@@ -878,48 +1367,66 @@ export declare function findStudentQuestionProgressByIdForTeacherAndResponse(id:
878
1367
  id: string;
879
1368
  createdAt: Date;
880
1369
  updatedAt: Date | null;
881
- studentId: string;
882
- questionId: string;
1370
+ feedback: string | null;
1371
+ runJobId: string | null;
883
1372
  response: string;
884
1373
  isCorrect: boolean;
885
- markschemeState: Prisma.JsonValue | null;
1374
+ markschemeState: import("@prisma/client/runtime/library.js").JsonValue | null;
886
1375
  points: number;
887
- feedback: string | null;
1376
+ studentId: string;
1377
+ questionId: string;
888
1378
  studentWorksheetResponseId: string | null;
889
- runJobId: string | null;
890
- }) | null, null, import("@prisma/client/runtime/library.js").DefaultArgs, {
891
- datasources: {
892
- db: {
893
- url: string;
894
- };
895
- };
896
- }>;
1379
+ }) | null>;
897
1380
  /**
898
1381
  * @returns Student question progress if requester is the answering student (class member) or a
899
1382
  * class teacher / school admin for that worksheet.
900
1383
  */
901
- export declare function findStudentQuestionProgressByIdForStudentOrTeacher(id: string, userId: string): Prisma.Prisma__StudentQuestionProgressClient<({
1384
+ export declare function findStudentQuestionProgressByIdForStudentOrTeacher(id: string, userId: string): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
1385
+ result: {
1386
+ userProfile: {
1387
+ profilePicture: () => {
1388
+ needs: {
1389
+ profilePicture: true;
1390
+ };
1391
+ compute(profile: {
1392
+ profilePicture: string | null;
1393
+ }): string | null;
1394
+ };
1395
+ profilePictureThumbnail: () => {
1396
+ needs: {
1397
+ profilePictureThumbnail: true;
1398
+ };
1399
+ compute(profile: {
1400
+ profilePictureThumbnail: string | null;
1401
+ }): string | null;
1402
+ };
1403
+ };
1404
+ };
1405
+ model: {};
1406
+ query: {};
1407
+ client: {};
1408
+ }, {}>, "StudentQuestionProgress", "findFirst", null> & import("@prisma/client/runtime/library.js").PrismaPromise<({
902
1409
  studentWorksheetResponse: {
903
1410
  id: string;
904
1411
  createdAt: Date;
905
1412
  updatedAt: Date;
906
1413
  submissionId: string | null;
907
1414
  studentId: string;
1415
+ worksheetId: string;
908
1416
  submittedAt: Date | null;
909
1417
  submitted: boolean;
910
- worksheetId: string;
911
1418
  } | null;
912
1419
  question: {
913
1420
  type: import(".prisma/client").$Enums.WorksheetQuestionType;
914
- options: Prisma.JsonValue | null;
1421
+ options: import("@prisma/client/runtime/library.js").JsonValue | null;
1422
+ markScheme: import("@prisma/client/runtime/library.js").JsonValue | null;
915
1423
  id: string;
916
1424
  createdAt: Date;
917
1425
  updatedAt: Date;
918
- order: number | null;
919
1426
  points: number;
920
- worksheetId: string;
921
- markScheme: Prisma.JsonValue | null;
922
1427
  question: string;
1428
+ worksheetId: string;
1429
+ order: number | null;
923
1430
  answer: string;
924
1431
  };
925
1432
  } & {
@@ -927,48 +1434,60 @@ export declare function findStudentQuestionProgressByIdForStudentOrTeacher(id: s
927
1434
  id: string;
928
1435
  createdAt: Date;
929
1436
  updatedAt: Date | null;
930
- studentId: string;
931
- questionId: string;
1437
+ feedback: string | null;
1438
+ runJobId: string | null;
932
1439
  response: string;
933
1440
  isCorrect: boolean;
934
- markschemeState: Prisma.JsonValue | null;
1441
+ markschemeState: import("@prisma/client/runtime/library.js").JsonValue | null;
935
1442
  points: number;
936
- feedback: string | null;
1443
+ studentId: string;
1444
+ questionId: string;
937
1445
  studentWorksheetResponseId: string | null;
938
- runJobId: string | null;
939
- }) | null, null, import("@prisma/client/runtime/library.js").DefaultArgs, {
940
- datasources: {
941
- db: {
942
- url: string;
943
- };
944
- };
945
- }>;
1446
+ }) | null>;
946
1447
  /** Update student's question progress. */
947
1448
  export declare function updateStudentQuestionProgress(id: string, data: {
948
1449
  response?: string;
949
1450
  isCorrect?: boolean;
950
1451
  points?: number;
951
1452
  status?: JobStatus;
952
- }): Prisma.Prisma__StudentQuestionProgressClient<{
1453
+ }): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
1454
+ result: {
1455
+ userProfile: {
1456
+ profilePicture: () => {
1457
+ needs: {
1458
+ profilePicture: true;
1459
+ };
1460
+ compute(profile: {
1461
+ profilePicture: string | null;
1462
+ }): string | null;
1463
+ };
1464
+ profilePictureThumbnail: () => {
1465
+ needs: {
1466
+ profilePictureThumbnail: true;
1467
+ };
1468
+ compute(profile: {
1469
+ profilePictureThumbnail: string | null;
1470
+ }): string | null;
1471
+ };
1472
+ };
1473
+ };
1474
+ model: {};
1475
+ query: {};
1476
+ client: {};
1477
+ }, {}>, "StudentQuestionProgress", "update", never> & import("@prisma/client/runtime/library.js").PrismaPromise<{
953
1478
  status: import(".prisma/client").$Enums.JobStatus | null;
954
1479
  id: string;
955
1480
  createdAt: Date;
956
1481
  updatedAt: Date | null;
957
- studentId: string;
958
- questionId: string;
1482
+ feedback: string | null;
1483
+ runJobId: string | null;
959
1484
  response: string;
960
1485
  isCorrect: boolean;
961
- markschemeState: Prisma.JsonValue | null;
1486
+ markschemeState: import("@prisma/client/runtime/library.js").JsonValue | null;
962
1487
  points: number;
963
- feedback: string | null;
1488
+ studentId: string;
1489
+ questionId: string;
964
1490
  studentWorksheetResponseId: string | null;
965
- runJobId: string | null;
966
- }, never, import("@prisma/client/runtime/library.js").DefaultArgs, {
967
- datasources: {
968
- db: {
969
- url: string;
970
- };
971
- };
972
1491
  }>;
973
1492
  /** Create student question progress. */
974
1493
  export declare function createStudentQuestionProgress(data: {
@@ -978,49 +1497,85 @@ export declare function createStudentQuestionProgress(data: {
978
1497
  response: string;
979
1498
  isCorrect?: boolean;
980
1499
  points?: number;
981
- }): Prisma.Prisma__StudentQuestionProgressClient<{
1500
+ }): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
1501
+ result: {
1502
+ userProfile: {
1503
+ profilePicture: () => {
1504
+ needs: {
1505
+ profilePicture: true;
1506
+ };
1507
+ compute(profile: {
1508
+ profilePicture: string | null;
1509
+ }): string | null;
1510
+ };
1511
+ profilePictureThumbnail: () => {
1512
+ needs: {
1513
+ profilePictureThumbnail: true;
1514
+ };
1515
+ compute(profile: {
1516
+ profilePictureThumbnail: string | null;
1517
+ }): string | null;
1518
+ };
1519
+ };
1520
+ };
1521
+ model: {};
1522
+ query: {};
1523
+ client: {};
1524
+ }, {}>, "StudentQuestionProgress", "create", never> & import("@prisma/client/runtime/library.js").PrismaPromise<{
982
1525
  status: import(".prisma/client").$Enums.JobStatus | null;
983
1526
  id: string;
984
1527
  createdAt: Date;
985
1528
  updatedAt: Date | null;
986
- studentId: string;
987
- questionId: string;
1529
+ feedback: string | null;
1530
+ runJobId: string | null;
988
1531
  response: string;
989
1532
  isCorrect: boolean;
990
- markschemeState: Prisma.JsonValue | null;
1533
+ markschemeState: import("@prisma/client/runtime/library.js").JsonValue | null;
991
1534
  points: number;
992
- feedback: string | null;
1535
+ studentId: string;
1536
+ questionId: string;
993
1537
  studentWorksheetResponseId: string | null;
994
- runJobId: string | null;
995
- }, never, import("@prisma/client/runtime/library.js").DefaultArgs, {
996
- datasources: {
997
- db: {
998
- url: string;
999
- };
1000
- };
1001
1538
  }>;
1002
1539
  /** @returns Student's progress for a question. */
1003
- export declare function findStudentQuestionProgress(studentId: string, questionId: string, studentWorksheetResponseId: string): Prisma.Prisma__StudentQuestionProgressClient<{
1540
+ export declare function findStudentQuestionProgress(studentId: string, questionId: string, studentWorksheetResponseId: string): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
1541
+ result: {
1542
+ userProfile: {
1543
+ profilePicture: () => {
1544
+ needs: {
1545
+ profilePicture: true;
1546
+ };
1547
+ compute(profile: {
1548
+ profilePicture: string | null;
1549
+ }): string | null;
1550
+ };
1551
+ profilePictureThumbnail: () => {
1552
+ needs: {
1553
+ profilePictureThumbnail: true;
1554
+ };
1555
+ compute(profile: {
1556
+ profilePictureThumbnail: string | null;
1557
+ }): string | null;
1558
+ };
1559
+ };
1560
+ };
1561
+ model: {};
1562
+ query: {};
1563
+ client: {};
1564
+ }, {}>, "StudentQuestionProgress", "findFirst", null> & import("@prisma/client/runtime/library.js").PrismaPromise<{
1004
1565
  status: import(".prisma/client").$Enums.JobStatus | null;
1005
1566
  id: string;
1006
1567
  createdAt: Date;
1007
1568
  updatedAt: Date | null;
1008
- studentId: string;
1009
- questionId: string;
1569
+ feedback: string | null;
1570
+ runJobId: string | null;
1010
1571
  response: string;
1011
1572
  isCorrect: boolean;
1012
- markschemeState: Prisma.JsonValue | null;
1573
+ markschemeState: import("@prisma/client/runtime/library.js").JsonValue | null;
1013
1574
  points: number;
1014
- feedback: string | null;
1575
+ studentId: string;
1576
+ questionId: string;
1015
1577
  studentWorksheetResponseId: string | null;
1016
- runJobId: string | null;
1017
- } | null, null, import("@prisma/client/runtime/library.js").DefaultArgs, {
1018
- datasources: {
1019
- db: {
1020
- url: string;
1021
- };
1022
- };
1023
- }>;
1578
+ } | null>;
1024
1579
  /** Update progress for grading (AI feedback, marks). */
1025
1580
  export declare function updateStudentQuestionProgressForGrading(id: string, data: {
1026
1581
  isCorrect?: boolean;
@@ -1028,26 +1583,44 @@ export declare function updateStudentQuestionProgressForGrading(id: string, data
1028
1583
  markschemeState?: object;
1029
1584
  points?: number;
1030
1585
  response?: string;
1031
- }): Prisma.Prisma__StudentQuestionProgressClient<{
1586
+ }): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
1587
+ result: {
1588
+ userProfile: {
1589
+ profilePicture: () => {
1590
+ needs: {
1591
+ profilePicture: true;
1592
+ };
1593
+ compute(profile: {
1594
+ profilePicture: string | null;
1595
+ }): string | null;
1596
+ };
1597
+ profilePictureThumbnail: () => {
1598
+ needs: {
1599
+ profilePictureThumbnail: true;
1600
+ };
1601
+ compute(profile: {
1602
+ profilePictureThumbnail: string | null;
1603
+ }): string | null;
1604
+ };
1605
+ };
1606
+ };
1607
+ model: {};
1608
+ query: {};
1609
+ client: {};
1610
+ }, {}>, "StudentQuestionProgress", "update", never> & import("@prisma/client/runtime/library.js").PrismaPromise<{
1032
1611
  status: import(".prisma/client").$Enums.JobStatus | null;
1033
1612
  id: string;
1034
1613
  createdAt: Date;
1035
1614
  updatedAt: Date | null;
1036
- studentId: string;
1037
- questionId: string;
1615
+ feedback: string | null;
1616
+ runJobId: string | null;
1038
1617
  response: string;
1039
1618
  isCorrect: boolean;
1040
- markschemeState: Prisma.JsonValue | null;
1619
+ markschemeState: import("@prisma/client/runtime/library.js").JsonValue | null;
1041
1620
  points: number;
1042
- feedback: string | null;
1621
+ studentId: string;
1622
+ questionId: string;
1043
1623
  studentWorksheetResponseId: string | null;
1044
- runJobId: string | null;
1045
- }, never, import("@prisma/client/runtime/library.js").DefaultArgs, {
1046
- datasources: {
1047
- db: {
1048
- url: string;
1049
- };
1050
- };
1051
1624
  }>;
1052
1625
  /** Create progress record for grading pipeline. */
1053
1626
  export declare function createStudentQuestionProgressForGrading(data: {
@@ -1059,49 +1632,85 @@ export declare function createStudentQuestionProgressForGrading(data: {
1059
1632
  feedback?: string;
1060
1633
  markschemeState?: object;
1061
1634
  points?: number;
1062
- }): Prisma.Prisma__StudentQuestionProgressClient<{
1635
+ }): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
1636
+ result: {
1637
+ userProfile: {
1638
+ profilePicture: () => {
1639
+ needs: {
1640
+ profilePicture: true;
1641
+ };
1642
+ compute(profile: {
1643
+ profilePicture: string | null;
1644
+ }): string | null;
1645
+ };
1646
+ profilePictureThumbnail: () => {
1647
+ needs: {
1648
+ profilePictureThumbnail: true;
1649
+ };
1650
+ compute(profile: {
1651
+ profilePictureThumbnail: string | null;
1652
+ }): string | null;
1653
+ };
1654
+ };
1655
+ };
1656
+ model: {};
1657
+ query: {};
1658
+ client: {};
1659
+ }, {}>, "StudentQuestionProgress", "create", never> & import("@prisma/client/runtime/library.js").PrismaPromise<{
1063
1660
  status: import(".prisma/client").$Enums.JobStatus | null;
1064
1661
  id: string;
1065
1662
  createdAt: Date;
1066
1663
  updatedAt: Date | null;
1067
- studentId: string;
1068
- questionId: string;
1664
+ feedback: string | null;
1665
+ runJobId: string | null;
1069
1666
  response: string;
1070
1667
  isCorrect: boolean;
1071
- markschemeState: Prisma.JsonValue | null;
1668
+ markschemeState: import("@prisma/client/runtime/library.js").JsonValue | null;
1072
1669
  points: number;
1073
- feedback: string | null;
1670
+ studentId: string;
1671
+ questionId: string;
1074
1672
  studentWorksheetResponseId: string | null;
1075
- runJobId: string | null;
1076
- }, never, import("@prisma/client/runtime/library.js").DefaultArgs, {
1077
- datasources: {
1078
- db: {
1079
- url: string;
1080
- };
1081
- };
1082
1673
  }>;
1083
1674
  /** Create a comment on a worksheet response. */
1084
1675
  export declare function createComment(data: {
1085
1676
  studentQuestionProgressId: string;
1086
1677
  content: string;
1087
1678
  authorId: string;
1088
- }): Prisma.Prisma__CommentClient<{
1679
+ }): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
1680
+ result: {
1681
+ userProfile: {
1682
+ profilePicture: () => {
1683
+ needs: {
1684
+ profilePicture: true;
1685
+ };
1686
+ compute(profile: {
1687
+ profilePicture: string | null;
1688
+ }): string | null;
1689
+ };
1690
+ profilePictureThumbnail: () => {
1691
+ needs: {
1692
+ profilePictureThumbnail: true;
1693
+ };
1694
+ compute(profile: {
1695
+ profilePictureThumbnail: string | null;
1696
+ }): string | null;
1697
+ };
1698
+ };
1699
+ };
1700
+ model: {};
1701
+ query: {};
1702
+ client: {};
1703
+ }, {}>, "Comment", "create", never> & import("@prisma/client/runtime/library.js").PrismaPromise<{
1089
1704
  id: string;
1090
1705
  createdAt: Date;
1706
+ content: string;
1091
1707
  assignmentId: string | null;
1092
1708
  submissionId: string | null;
1093
1709
  announcementId: string | null;
1094
1710
  modifiedAt: Date | null;
1095
- content: string;
1096
1711
  authorId: string;
1097
- parentCommentId: string | null;
1098
1712
  isPinned: boolean;
1713
+ parentCommentId: string | null;
1099
1714
  studentQuestionProgressId: string | null;
1100
- }, never, import("@prisma/client/runtime/library.js").DefaultArgs, {
1101
- datasources: {
1102
- db: {
1103
- url: string;
1104
- };
1105
- };
1106
1715
  }>;
1107
1716
  //# sourceMappingURL=worksheet.d.ts.map