@studious-lms/server 1.12.0 → 1.14.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 (338) 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/lib/config/cors.d.ts.map +1 -1
  8. package/dist/lib/config/cors.js +31 -11
  9. package/dist/lib/config/cors.js.map +1 -1
  10. package/dist/lib/config/env.d.ts +17 -0
  11. package/dist/lib/config/env.d.ts.map +1 -1
  12. package/dist/lib/config/env.js +8 -2
  13. package/dist/lib/config/env.js.map +1 -1
  14. package/dist/lib/googleCloudStorage.d.ts +10 -0
  15. package/dist/lib/googleCloudStorage.d.ts.map +1 -1
  16. package/dist/lib/googleCloudStorage.js +22 -2
  17. package/dist/lib/googleCloudStorage.js.map +1 -1
  18. package/dist/lib/prisma.d.ts +104 -5
  19. package/dist/lib/prisma.d.ts.map +1 -1
  20. package/dist/lib/prisma.js +33 -2
  21. package/dist/lib/prisma.js.map +1 -1
  22. package/dist/models/agenda.d.ts +20 -20
  23. package/dist/models/announcement.d.ts +177 -69
  24. package/dist/models/announcement.d.ts.map +1 -1
  25. package/dist/models/assignment.d.ts +551 -353
  26. package/dist/models/assignment.d.ts.map +1 -1
  27. package/dist/models/attendance.d.ts +197 -71
  28. package/dist/models/attendance.d.ts.map +1 -1
  29. package/dist/models/auth.d.ts +348 -114
  30. package/dist/models/auth.d.ts.map +1 -1
  31. package/dist/models/class.d.ts +324 -188
  32. package/dist/models/class.d.ts.map +1 -1
  33. package/dist/models/class.js +9 -3
  34. package/dist/models/class.js.map +1 -1
  35. package/dist/models/cloudStorage.d.ts +146 -56
  36. package/dist/models/cloudStorage.d.ts.map +1 -1
  37. package/dist/models/comment.d.ts +269 -110
  38. package/dist/models/comment.d.ts.map +1 -1
  39. package/dist/models/comment.js +3 -2
  40. package/dist/models/comment.js.map +1 -1
  41. package/dist/models/conversation.d.ts +206 -63
  42. package/dist/models/conversation.d.ts.map +1 -1
  43. package/dist/models/conversation.js +13 -2
  44. package/dist/models/conversation.js.map +1 -1
  45. package/dist/models/department.d.ts +196 -70
  46. package/dist/models/department.d.ts.map +1 -1
  47. package/dist/models/event.d.ts +287 -125
  48. package/dist/models/event.d.ts.map +1 -1
  49. package/dist/models/file.d.ts +389 -263
  50. package/dist/models/file.d.ts.map +1 -1
  51. package/dist/models/folder.d.ts +433 -181
  52. package/dist/models/folder.d.ts.map +1 -1
  53. package/dist/models/labChat.d.ts +209 -83
  54. package/dist/models/labChat.d.ts.map +1 -1
  55. package/dist/models/marketing.d.ts +80 -26
  56. package/dist/models/marketing.d.ts.map +1 -1
  57. package/dist/models/message.d.ts +95 -41
  58. package/dist/models/message.d.ts.map +1 -1
  59. package/dist/models/newtonChat.d.ts +83 -29
  60. package/dist/models/newtonChat.d.ts.map +1 -1
  61. package/dist/models/notification.d.ts +61 -25
  62. package/dist/models/notification.d.ts.map +1 -1
  63. package/dist/models/school.d.ts +349 -133
  64. package/dist/models/school.d.ts.map +1 -1
  65. package/dist/models/section.d.ts +216 -72
  66. package/dist/models/section.d.ts.map +1 -1
  67. package/dist/models/tag.d.ts +156 -48
  68. package/dist/models/tag.d.ts.map +1 -1
  69. package/dist/models/user.d.ts +82 -28
  70. package/dist/models/user.d.ts.map +1 -1
  71. package/dist/models/worksheet.d.ts +1023 -410
  72. package/dist/models/worksheet.d.ts.map +1 -1
  73. package/dist/models/worksheet.js +19 -7
  74. package/dist/models/worksheet.js.map +1 -1
  75. package/dist/pipelines/aiLabChat.d.ts +0 -8
  76. package/dist/pipelines/aiLabChat.d.ts.map +1 -1
  77. package/dist/pipelines/aiLabChat.js +50 -67
  78. package/dist/pipelines/aiLabChat.js.map +1 -1
  79. package/dist/pipelines/aiLabChatContract.d.ts +393 -388
  80. package/dist/pipelines/aiLabChatContract.d.ts.map +1 -1
  81. package/dist/pipelines/aiLabChatContract.js +63 -69
  82. package/dist/pipelines/aiLabChatContract.js.map +1 -1
  83. package/dist/pipelines/aiNewtonChat.d.ts.map +1 -1
  84. package/dist/pipelines/aiNewtonChat.js +41 -41
  85. package/dist/pipelines/aiNewtonChat.js.map +1 -1
  86. package/dist/pipelines/gradeWorksheet.d.ts +8 -8
  87. package/dist/pipelines/gradeWorksheet.d.ts.map +1 -1
  88. package/dist/pipelines/gradeWorksheet.js +59 -14
  89. package/dist/pipelines/gradeWorksheet.js.map +1 -1
  90. package/dist/pipelines/labChatPrompt.d.ts +10 -8
  91. package/dist/pipelines/labChatPrompt.d.ts.map +1 -1
  92. package/dist/pipelines/labChatPrompt.js +47 -67
  93. package/dist/pipelines/labChatPrompt.js.map +1 -1
  94. package/dist/pipelines/pdfToWorksheet.d.ts +2 -2
  95. package/dist/routers/_app.d.ts +2268 -1898
  96. package/dist/routers/_app.d.ts.map +1 -1
  97. package/dist/routers/_app.js +4 -2
  98. package/dist/routers/_app.js.map +1 -1
  99. package/dist/routers/admin.d.ts +13 -13
  100. package/dist/routers/agenda.d.ts +18 -18
  101. package/dist/routers/announcement.d.ts +32 -28
  102. package/dist/routers/announcement.d.ts.map +1 -1
  103. package/dist/routers/announcement.js +6 -5
  104. package/dist/routers/announcement.js.map +1 -1
  105. package/dist/routers/assignment.d.ts +335 -327
  106. package/dist/routers/assignment.d.ts.map +1 -1
  107. package/dist/routers/assignment.js +4 -4
  108. package/dist/routers/assignment.js.map +1 -1
  109. package/dist/routers/attendance.d.ts +10 -10
  110. package/dist/routers/auth.d.ts +2 -2
  111. package/dist/routers/class.d.ts +170 -147
  112. package/dist/routers/class.d.ts.map +1 -1
  113. package/dist/routers/comment.d.ts +40 -16
  114. package/dist/routers/comment.d.ts.map +1 -1
  115. package/dist/routers/comment.js +6 -3
  116. package/dist/routers/comment.js.map +1 -1
  117. package/dist/routers/conversation.d.ts +17 -17
  118. package/dist/routers/department.d.ts +34 -34
  119. package/dist/routers/discussion.d.ts +65 -53
  120. package/dist/routers/discussion.d.ts.map +1 -1
  121. package/dist/routers/discussion.js +6 -2
  122. package/dist/routers/discussion.js.map +1 -1
  123. package/dist/routers/embedding.d.ts +69 -0
  124. package/dist/routers/embedding.d.ts.map +1 -0
  125. package/dist/routers/embedding.js +143 -0
  126. package/dist/routers/embedding.js.map +1 -0
  127. package/dist/routers/event.d.ts +39 -39
  128. package/dist/routers/file.d.ts +12 -12
  129. package/dist/routers/folder.d.ts +38 -38
  130. package/dist/routers/labChat.d.ts +19 -19
  131. package/dist/routers/marketing.d.ts +2 -2
  132. package/dist/routers/message.d.ts +13 -13
  133. package/dist/routers/newtonChat.d.ts +4 -4
  134. package/dist/routers/notifications.d.ts +9 -9
  135. package/dist/routers/permissions.d.ts +14 -14
  136. package/dist/routers/school.d.ts +55 -55
  137. package/dist/routers/search.d.ts +22 -1
  138. package/dist/routers/search.d.ts.map +1 -1
  139. package/dist/routers/search.js +9 -3
  140. package/dist/routers/search.js.map +1 -1
  141. package/dist/routers/section.d.ts +4 -4
  142. package/dist/routers/studentProgress.d.ts +1 -1
  143. package/dist/routers/tag.d.ts +7 -7
  144. package/dist/routers/user.d.ts +10 -10
  145. package/dist/routers/worksheet.d.ts +97 -56
  146. package/dist/routers/worksheet.d.ts.map +1 -1
  147. package/dist/routers/worksheet.js +28 -2
  148. package/dist/routers/worksheet.js.map +1 -1
  149. package/dist/routes/aiStream.d.ts +2 -0
  150. package/dist/routes/aiStream.d.ts.map +1 -0
  151. package/dist/routes/aiStream.js +696 -0
  152. package/dist/routes/aiStream.js.map +1 -0
  153. package/dist/seedDatabase.d.ts +2 -2
  154. package/dist/seedDatabase.js +6 -6
  155. package/dist/seedDatabase.js.map +1 -1
  156. package/dist/services/adminInstitution.d.ts +8 -8
  157. package/dist/services/adminRunJob.d.ts +4 -4
  158. package/dist/services/agenda.d.ts +18 -18
  159. package/dist/services/aiChatStream.d.ts +68 -0
  160. package/dist/services/aiChatStream.d.ts.map +1 -0
  161. package/dist/services/aiChatStream.js +157 -0
  162. package/dist/services/aiChatStream.js.map +1 -0
  163. package/dist/services/aiModifierTools.d.ts +32 -0
  164. package/dist/services/aiModifierTools.d.ts.map +1 -0
  165. package/dist/services/aiModifierTools.js +165 -0
  166. package/dist/services/aiModifierTools.js.map +1 -0
  167. package/dist/services/aiProposalTools.d.ts +32 -0
  168. package/dist/services/aiProposalTools.d.ts.map +1 -0
  169. package/dist/services/aiProposalTools.js +207 -0
  170. package/dist/services/aiProposalTools.js.map +1 -0
  171. package/dist/services/aiStream.d.ts +22 -0
  172. package/dist/services/aiStream.d.ts.map +1 -0
  173. package/dist/services/aiStream.js +142 -0
  174. package/dist/services/aiStream.js.map +1 -0
  175. package/dist/services/aiTools.d.ts +16 -0
  176. package/dist/services/aiTools.d.ts.map +1 -0
  177. package/dist/services/aiTools.js +271 -0
  178. package/dist/services/aiTools.js.map +1 -0
  179. package/dist/services/announcement.d.ts +12 -12
  180. package/dist/services/announcement.d.ts.map +1 -1
  181. package/dist/services/announcement.js +7 -2
  182. package/dist/services/announcement.js.map +1 -1
  183. package/dist/services/assignment.d.ts +293 -293
  184. package/dist/services/assignment.d.ts.map +1 -1
  185. package/dist/services/assignment.js +36 -15
  186. package/dist/services/assignment.js.map +1 -1
  187. package/dist/services/attendance.d.ts +10 -10
  188. package/dist/services/auth.d.ts +2 -2
  189. package/dist/services/class.d.ts +161 -138
  190. package/dist/services/class.d.ts.map +1 -1
  191. package/dist/services/class.js +25 -4
  192. package/dist/services/class.js.map +1 -1
  193. package/dist/services/comment.d.ts +34 -16
  194. package/dist/services/comment.d.ts.map +1 -1
  195. package/dist/services/comment.js +23 -2
  196. package/dist/services/comment.js.map +1 -1
  197. package/dist/services/conversation.d.ts +17 -17
  198. package/dist/services/conversation.d.ts.map +1 -1
  199. package/dist/services/conversation.js +9 -7
  200. package/dist/services/conversation.js.map +1 -1
  201. package/dist/services/department.d.ts +33 -33
  202. package/dist/services/discussion.d.ts +58 -58
  203. package/dist/services/discussion.d.ts.map +1 -1
  204. package/dist/services/discussion.js +8 -8
  205. package/dist/services/discussion.js.map +1 -1
  206. package/dist/services/discussionSummary.d.ts +21 -0
  207. package/dist/services/discussionSummary.d.ts.map +1 -0
  208. package/dist/services/discussionSummary.js +179 -0
  209. package/dist/services/discussionSummary.js.map +1 -0
  210. package/dist/services/embedding.d.ts +67 -0
  211. package/dist/services/embedding.d.ts.map +1 -0
  212. package/dist/services/embedding.js +226 -0
  213. package/dist/services/embedding.js.map +1 -0
  214. package/dist/services/event.d.ts +37 -37
  215. package/dist/services/file.d.ts +24 -24
  216. package/dist/services/folder.d.ts +36 -36
  217. package/dist/services/labChat.d.ts +19 -19
  218. package/dist/services/marketing.d.ts +2 -2
  219. package/dist/services/message.d.ts +11 -11
  220. package/dist/services/message.d.ts.map +1 -1
  221. package/dist/services/message.js +2 -2
  222. package/dist/services/message.js.map +1 -1
  223. package/dist/services/newtonChat.d.ts +4 -4
  224. package/dist/services/notification.d.ts +9 -9
  225. package/dist/services/notification.d.ts.map +1 -1
  226. package/dist/services/permissions.d.ts +14 -14
  227. package/dist/services/school.d.ts +50 -50
  228. package/dist/services/search.d.ts +12 -0
  229. package/dist/services/search.d.ts.map +1 -1
  230. package/dist/services/search.js +120 -2
  231. package/dist/services/search.js.map +1 -1
  232. package/dist/services/section.d.ts +3 -3
  233. package/dist/services/tag.d.ts +4 -4
  234. package/dist/services/user.d.ts +4 -4
  235. package/dist/services/user.d.ts.map +1 -1
  236. package/dist/services/user.js +10 -15
  237. package/dist/services/user.js.map +1 -1
  238. package/dist/services/worksheet.d.ts +62 -47
  239. package/dist/services/worksheet.d.ts.map +1 -1
  240. package/dist/services/worksheet.js +11 -4
  241. package/dist/services/worksheet.js.map +1 -1
  242. package/dist/utils/streamBroadcast.d.ts +11 -0
  243. package/dist/utils/streamBroadcast.d.ts.map +1 -0
  244. package/dist/utils/streamBroadcast.js +32 -0
  245. package/dist/utils/streamBroadcast.js.map +1 -0
  246. package/dist/workers/connection.d.ts +15 -0
  247. package/dist/workers/connection.d.ts.map +1 -1
  248. package/dist/workers/connection.js +20 -2
  249. package/dist/workers/connection.js.map +1 -1
  250. package/dist/workers/index.js +4 -2
  251. package/dist/workers/index.js.map +1 -1
  252. package/dist/workers/processors/createRunJobWorker.d.ts.map +1 -1
  253. package/dist/workers/processors/createRunJobWorker.js +31 -8
  254. package/dist/workers/processors/createRunJobWorker.js.map +1 -1
  255. package/dist/workers/processors/embedContent.d.ts +8 -0
  256. package/dist/workers/processors/embedContent.d.ts.map +1 -0
  257. package/dist/workers/processors/embedContent.js +76 -0
  258. package/dist/workers/processors/embedContent.js.map +1 -0
  259. package/dist/workers/queues.d.ts +6 -0
  260. package/dist/workers/queues.d.ts.map +1 -1
  261. package/dist/workers/queues.js +5 -3
  262. package/dist/workers/queues.js.map +1 -1
  263. package/package.json +5 -1
  264. package/prisma/migrations/20260609215135_init/migration.sql +1412 -0
  265. package/prisma/migrations/20260610130000_add_worksheet_tags/migration.sql +13 -0
  266. package/prisma/schema.prisma +39 -7
  267. package/src/index.ts +4 -0
  268. package/src/lib/config/cors.ts +32 -9
  269. package/src/lib/config/env.ts +6 -0
  270. package/src/lib/googleCloudStorage.ts +21 -0
  271. package/src/lib/prisma.ts +40 -1
  272. package/src/models/class.ts +10 -3
  273. package/src/models/comment.ts +1 -0
  274. package/src/models/conversation.ts +12 -0
  275. package/src/models/worksheet.ts +16 -7
  276. package/src/pipelines/aiLabChat.ts +54 -79
  277. package/src/pipelines/aiLabChatContract.ts +69 -69
  278. package/src/pipelines/aiNewtonChat.ts +46 -43
  279. package/src/pipelines/gradeWorksheet.ts +66 -15
  280. package/src/pipelines/labChatPrompt.ts +63 -88
  281. package/src/routers/_app.ts +2 -0
  282. package/src/routers/announcement.ts +4 -3
  283. package/src/routers/assignment.ts +2 -2
  284. package/src/routers/comment.ts +5 -0
  285. package/src/routers/discussion.ts +7 -0
  286. package/src/routers/embedding.ts +159 -0
  287. package/src/routers/search.ts +10 -1
  288. package/src/routers/worksheet.ts +29 -0
  289. package/src/routes/aiStream.ts +789 -0
  290. package/src/seedDatabase.ts +4 -4
  291. package/src/services/aiChatStream.ts +219 -0
  292. package/src/services/aiModifierTools.ts +188 -0
  293. package/src/services/aiProposalTools.ts +272 -0
  294. package/src/services/aiStream.ts +175 -0
  295. package/src/services/aiTools.ts +290 -0
  296. package/src/services/announcement.ts +7 -0
  297. package/src/services/assignment.ts +36 -14
  298. package/src/services/class.ts +30 -2
  299. package/src/services/comment.ts +22 -0
  300. package/src/services/conversation.ts +9 -4
  301. package/src/services/discussion.ts +9 -8
  302. package/src/services/discussionSummary.ts +226 -0
  303. package/src/services/embedding.ts +285 -0
  304. package/src/services/message.ts +2 -2
  305. package/src/services/search.ts +138 -0
  306. package/src/services/user.ts +9 -17
  307. package/src/services/worksheet.ts +10 -2
  308. package/src/utils/streamBroadcast.ts +48 -0
  309. package/src/workers/connection.ts +19 -0
  310. package/src/workers/index.ts +2 -0
  311. package/src/workers/processors/createRunJobWorker.ts +32 -6
  312. package/src/workers/processors/embedContent.ts +90 -0
  313. package/src/workers/queues.ts +5 -1
  314. package/tests/integration/routers/conversation.test.ts +9 -7
  315. package/tests/unit/pipelines/aiLabChatContract.test.ts +38 -21
  316. package/tests/unit/pipelines/labChatPrompt.test.ts +23 -36
  317. package/prisma/migrations/20250807062924_init/migration.sql +0 -436
  318. package/prisma/migrations/20250919063704_init2/migration.sql +0 -24
  319. package/prisma/migrations/20250920143543_add_profile_fields/migration.sql +0 -15
  320. package/prisma/migrations/20250922165147_add_chat_models/migration.sql +0 -68
  321. package/prisma/migrations/20250922165314_add_chat_roles/migration.sql +0 -5
  322. package/prisma/migrations/20250922171242_refactor_notification_system/migration.sql +0 -20
  323. package/prisma/migrations/20250922172208_add_mentions_system/migration.sql +0 -21
  324. package/prisma/migrations/20250925072732_add_lab_chat_system/migration.sql +0 -25
  325. package/prisma/migrations/20251020151505_add_upload_tracking_fields/migration.sql +0 -57
  326. package/prisma/migrations/20251109122857_annuoncements_comments/migration.sql +0 -30
  327. package/prisma/migrations/20251109135555_reactions_announcements_comments/migration.sql +0 -35
  328. package/prisma/migrations/20260410124000_add_submission_recommendation_state/migration.sql +0 -14
  329. package/prisma/migrations/20260415103500_add_session_type/migration.sql +0 -33
  330. package/prisma/migrations/20260415133000_add_ai_usage_logs/migration.sql +0 -19
  331. package/prisma/migrations/20260417083000_add_conversation_member_hidden_at/migration.sql +0 -2
  332. package/prisma/migrations/20260502230500_assignment_submission_comments/migration.sql +0 -60
  333. package/prisma/migrations/20260504071500_school_memberships/migration.sql +0 -81
  334. package/prisma/migrations/20260506162500_consolidate_run_job_and_unify_job_status/migration.sql +0 -166
  335. package/prisma/migrations/20260509220000_institution_overhaul/migration.sql +0 -184
  336. package/prisma/migrations/20260510170000_add_folder_permissions/migration.sql +0 -93
  337. package/prisma/migrations/20260510183000_add_discussions/migration.sql +0 -151
  338. /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,286 +41,442 @@ 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
49
  order: number | null;
28
- points: number;
29
50
  worksheetId: string;
30
- markScheme: Prisma.JsonValue | null;
31
51
  question: string;
32
52
  answer: string;
53
+ points: number;
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
- runJobId: string | null;
42
62
  sourceUrl: string | null;
43
- }) | null, null, import("@prisma/client/runtime/library.js").DefaultArgs, {
44
- datasources: {
45
- db: {
46
- url: string;
63
+ runJobId: string | null;
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
- runJobId: string | null;
59
97
  sourceUrl: string | null;
60
- } | null, null, import("@prisma/client/runtime/library.js").DefaultArgs, {
61
- datasources: {
62
- db: {
63
- url: string;
98
+ runJobId: string | null;
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
152
  order: number | null;
89
- points: number;
90
153
  worksheetId: string;
91
- markScheme: Prisma.JsonValue | null;
92
154
  question: string;
93
155
  answer: string;
156
+ points: number;
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
- runJobId: string | null;
103
165
  sourceUrl: string | null;
104
- }) | null, null, import("@prisma/client/runtime/library.js").DefaultArgs, {
105
- datasources: {
106
- db: {
107
- url: string;
166
+ runJobId: string | null;
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
220
  order: number | null;
133
- points: number;
134
221
  worksheetId: string;
135
- markScheme: Prisma.JsonValue | null;
136
222
  question: string;
137
223
  answer: string;
224
+ points: number;
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
- runJobId: string | null;
147
233
  sourceUrl: string | null;
148
- }) | null, null, import("@prisma/client/runtime/library.js").DefaultArgs, {
149
- datasources: {
150
- db: {
151
- url: string;
152
- };
153
- };
154
- }>;
234
+ runJobId: string | null;
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
- runJobId: string | null;
168
254
  sourceUrl: string | null;
255
+ runJobId: 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
289
  order: number | null;
178
- points: number;
179
290
  worksheetId: string;
180
- markScheme: Prisma.JsonValue | null;
181
291
  question: string;
182
292
  answer: string;
183
- } | null, null, import("@prisma/client/runtime/library.js").DefaultArgs, {
184
- datasources: {
185
- db: {
186
- url: string;
293
+ points: number;
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
327
  order: number | null;
198
- points: number;
199
328
  worksheetId: string;
200
- markScheme: Prisma.JsonValue | null;
201
329
  question: string;
202
330
  answer: string;
203
- } | null, null, import("@prisma/client/runtime/library.js").DefaultArgs, {
204
- datasources: {
205
- db: {
206
- url: string;
207
- };
208
- };
209
- }>;
331
+ points: number;
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
- runJobId: string | null;
222
368
  sourceUrl: string | null;
223
- }, never, import("@prisma/client/runtime/library.js").DefaultArgs, {
224
- datasources: {
225
- db: {
226
- url: string;
227
- };
228
- };
369
+ runJobId: string | null;
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
- runJobId: string | null;
241
405
  sourceUrl: string | null;
242
- }, never, import("@prisma/client/runtime/library.js").DefaultArgs, {
243
- datasources: {
244
- db: {
245
- url: string;
246
- };
247
- };
406
+ runJobId: string | null;
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
- runJobId: string | null;
258
440
  sourceUrl: string | null;
259
- }, never, import("@prisma/client/runtime/library.js").DefaultArgs, {
260
- datasources: {
261
- db: {
262
- url: string;
263
- };
264
- };
441
+ runJobId: string | null;
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
- runJobId: string | null;
278
454
  sourceUrl: string | null;
455
+ runJobId: 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
- runJobId: string | null;
288
464
  sourceUrl: string | null;
465
+ runJobId: 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
475
  order: number | null;
298
- points: number;
299
476
  worksheetId: string;
300
- markScheme: Prisma.JsonValue | null;
301
477
  question: string;
302
478
  answer: string;
479
+ points: number;
303
480
  }[]>;
304
481
  /** Create a worksheet question. */
305
482
  export declare function createWorksheetQuestion(data: {
@@ -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
522
  order: number | null;
321
- points: number;
322
523
  worksheetId: string;
323
- markScheme: Prisma.JsonValue | null;
324
524
  question: string;
325
525
  answer: string;
326
- }, never, import("@prisma/client/runtime/library.js").DefaultArgs, {
327
- datasources: {
328
- db: {
329
- url: string;
330
- };
331
- };
526
+ points: number;
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
560
  order: number | null;
341
- points: number;
342
561
  worksheetId: string;
343
- markScheme: Prisma.JsonValue | null;
344
562
  question: string;
345
563
  answer: string;
346
- }, never, import("@prisma/client/runtime/library.js").DefaultArgs, {
347
- datasources: {
348
- db: {
349
- url: string;
350
- };
351
- };
564
+ points: number;
352
565
  }>;
353
566
  /** Update a worksheet question. */
354
567
  export declare function updateWorksheetQuestion(id: string, data: {
@@ -358,47 +571,107 @@ 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
605
  order: number | null;
368
- points: number;
369
606
  worksheetId: string;
370
- markScheme: Prisma.JsonValue | null;
371
607
  question: string;
372
608
  answer: string;
373
- }, never, import("@prisma/client/runtime/library.js").DefaultArgs, {
374
- datasources: {
375
- db: {
376
- url: string;
377
- };
378
- };
609
+ points: number;
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
643
  order: number | null;
388
- points: number;
389
644
  worksheetId: string;
390
- markScheme: Prisma.JsonValue | null;
391
645
  question: string;
392
646
  answer: string;
393
- }, never, import("@prisma/client/runtime/library.js").DefaultArgs, {
394
- datasources: {
395
- db: {
396
- url: string;
397
- };
398
- };
647
+ points: number;
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;
@@ -414,44 +687,81 @@ 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;
749
+ isPinned: boolean;
440
750
  }[];
441
751
  } & {
442
752
  status: import(".prisma/client").$Enums.JobStatus | null;
443
753
  id: string;
444
754
  createdAt: Date;
445
755
  updatedAt: Date | null;
756
+ feedback: string | null;
446
757
  studentId: string;
447
- questionId: string;
758
+ runJobId: string | null;
759
+ points: number;
448
760
  response: string;
449
761
  isCorrect: boolean;
450
- markschemeState: Prisma.JsonValue | null;
451
- points: number;
452
- feedback: string | null;
762
+ markschemeState: import("@prisma/client/runtime/library.js").JsonValue | null;
453
763
  studentWorksheetResponseId: string | null;
454
- runJobId: string | null;
764
+ questionId: string;
455
765
  })[];
456
766
  } & {
457
767
  id: string;
@@ -462,33 +772,28 @@ export declare function findWorksheetResponseBySubmissionAndWorksheet(submission
462
772
  submittedAt: Date | null;
463
773
  submitted: boolean;
464
774
  worksheetId: string;
465
- }) | null, null, import("@prisma/client/runtime/library.js").DefaultArgs, {
466
- datasources: {
467
- db: {
468
- url: string;
469
- };
470
- };
471
- }>;
775
+ }) | null>;
472
776
  /** Get or create worksheet response for student. */
473
777
  export declare function findOrCreateWorksheetResponse(submissionId: string, worksheetId: string, studentId: string): Promise<{
474
778
  responses: ({
475
779
  comments: {
476
780
  id: string;
781
+ isPinned: boolean;
477
782
  }[];
478
783
  } & {
479
784
  status: import(".prisma/client").$Enums.JobStatus | null;
480
785
  id: string;
481
786
  createdAt: Date;
482
787
  updatedAt: Date | null;
788
+ feedback: string | null;
483
789
  studentId: string;
484
- questionId: string;
790
+ runJobId: string | null;
791
+ points: number;
485
792
  response: string;
486
793
  isCorrect: boolean;
487
- markschemeState: Prisma.JsonValue | null;
488
- points: number;
489
- feedback: string | null;
794
+ markschemeState: import("@prisma/client/runtime/library.js").JsonValue | null;
490
795
  studentWorksheetResponseId: string | null;
491
- runJobId: string | null;
796
+ questionId: string;
492
797
  })[];
493
798
  } & {
494
799
  id: string;
@@ -505,25 +810,50 @@ export declare function createWorksheetResponse(data: {
505
810
  worksheetId: string;
506
811
  submissionId: string;
507
812
  studentId: string;
508
- }): 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<{
509
838
  responses: ({
510
839
  comments: {
511
840
  id: string;
841
+ isPinned: boolean;
512
842
  }[];
513
843
  } & {
514
844
  status: import(".prisma/client").$Enums.JobStatus | null;
515
845
  id: string;
516
846
  createdAt: Date;
517
847
  updatedAt: Date | null;
848
+ feedback: string | null;
518
849
  studentId: string;
519
- questionId: string;
850
+ runJobId: string | null;
851
+ points: number;
520
852
  response: string;
521
853
  isCorrect: boolean;
522
- markschemeState: Prisma.JsonValue | null;
523
- points: number;
524
- feedback: string | null;
854
+ markschemeState: import("@prisma/client/runtime/library.js").JsonValue | null;
525
855
  studentWorksheetResponseId: string | null;
526
- runJobId: string | null;
856
+ questionId: string;
527
857
  })[];
528
858
  } & {
529
859
  id: string;
@@ -534,29 +864,47 @@ export declare function createWorksheetResponse(data: {
534
864
  submittedAt: Date | null;
535
865
  submitted: boolean;
536
866
  worksheetId: string;
537
- }, never, import("@prisma/client/runtime/library.js").DefaultArgs, {
538
- datasources: {
539
- db: {
540
- url: string;
541
- };
542
- };
543
867
  }>;
544
868
  /** @returns Worksheet response by ID. */
545
- 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<({
546
894
  responses: {
547
895
  status: import(".prisma/client").$Enums.JobStatus | null;
548
896
  id: string;
549
897
  createdAt: Date;
550
898
  updatedAt: Date | null;
899
+ feedback: string | null;
551
900
  studentId: string;
552
- questionId: string;
901
+ runJobId: string | null;
902
+ points: number;
553
903
  response: string;
554
904
  isCorrect: boolean;
555
- markschemeState: Prisma.JsonValue | null;
556
- points: number;
557
- feedback: string | null;
905
+ markschemeState: import("@prisma/client/runtime/library.js").JsonValue | null;
558
906
  studentWorksheetResponseId: string | null;
559
- runJobId: string | null;
907
+ questionId: string;
560
908
  }[];
561
909
  } & {
562
910
  id: string;
@@ -567,39 +915,57 @@ export declare function findWorksheetResponseById(id: string): Prisma.Prisma__St
567
915
  submittedAt: Date | null;
568
916
  submitted: boolean;
569
917
  worksheetId: string;
570
- }) | null, null, import("@prisma/client/runtime/library.js").DefaultArgs, {
571
- datasources: {
572
- db: {
573
- 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
+ };
574
939
  };
575
940
  };
576
- }>;
577
- /** @returns Worksheet response if requester is the owning student. */
578
- 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<({
579
945
  worksheet: {
580
946
  status: import(".prisma/client").$Enums.JobStatus | null;
581
- name: string;
582
947
  id: string;
583
948
  createdAt: Date;
584
949
  updatedAt: Date;
950
+ name: string;
585
951
  classId: string;
586
- runJobId: string | null;
587
952
  sourceUrl: string | null;
953
+ runJobId: string | null;
588
954
  };
589
955
  responses: {
590
956
  status: import(".prisma/client").$Enums.JobStatus | null;
591
957
  id: string;
592
958
  createdAt: Date;
593
959
  updatedAt: Date | null;
960
+ feedback: string | null;
594
961
  studentId: string;
595
- questionId: string;
962
+ runJobId: string | null;
963
+ points: number;
596
964
  response: string;
597
965
  isCorrect: boolean;
598
- markschemeState: Prisma.JsonValue | null;
599
- points: number;
600
- feedback: string | null;
966
+ markschemeState: import("@prisma/client/runtime/library.js").JsonValue | null;
601
967
  studentWorksheetResponseId: string | null;
602
- runJobId: string | null;
968
+ questionId: string;
603
969
  }[];
604
970
  } & {
605
971
  id: string;
@@ -610,39 +976,57 @@ export declare function findWorksheetResponseByIdForStudent(id: string, userId:
610
976
  submittedAt: Date | null;
611
977
  submitted: boolean;
612
978
  worksheetId: string;
613
- }) | null, null, import("@prisma/client/runtime/library.js").DefaultArgs, {
614
- datasources: {
615
- db: {
616
- 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
+ };
617
1000
  };
618
1001
  };
619
- }>;
620
- /** @returns Worksheet response if requester is a class teacher. */
621
- 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<({
622
1006
  worksheet: {
623
1007
  status: import(".prisma/client").$Enums.JobStatus | null;
624
- name: string;
625
1008
  id: string;
626
1009
  createdAt: Date;
627
1010
  updatedAt: Date;
1011
+ name: string;
628
1012
  classId: string;
629
- runJobId: string | null;
630
1013
  sourceUrl: string | null;
1014
+ runJobId: string | null;
631
1015
  };
632
1016
  responses: {
633
1017
  status: import(".prisma/client").$Enums.JobStatus | null;
634
1018
  id: string;
635
1019
  createdAt: Date;
636
1020
  updatedAt: Date | null;
1021
+ feedback: string | null;
637
1022
  studentId: string;
638
- questionId: string;
1023
+ runJobId: string | null;
1024
+ points: number;
639
1025
  response: string;
640
1026
  isCorrect: boolean;
641
- markschemeState: Prisma.JsonValue | null;
642
- points: number;
643
- feedback: string | null;
1027
+ markschemeState: import("@prisma/client/runtime/library.js").JsonValue | null;
644
1028
  studentWorksheetResponseId: string | null;
645
- runJobId: string | null;
1029
+ questionId: string;
646
1030
  }[];
647
1031
  } & {
648
1032
  id: string;
@@ -653,29 +1037,47 @@ export declare function findWorksheetResponseByIdForTeacher(id: string, userId:
653
1037
  submittedAt: Date | null;
654
1038
  submitted: boolean;
655
1039
  worksheetId: string;
656
- }) | null, null, import("@prisma/client/runtime/library.js").DefaultArgs, {
657
- datasources: {
658
- db: {
659
- 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
+ };
660
1061
  };
661
1062
  };
662
- }>;
663
- /** @returns Worksheet response with question responses. */
664
- 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<({
665
1067
  responses: {
666
1068
  status: import(".prisma/client").$Enums.JobStatus | null;
667
1069
  id: string;
668
1070
  createdAt: Date;
669
1071
  updatedAt: Date | null;
1072
+ feedback: string | null;
670
1073
  studentId: string;
671
- questionId: string;
1074
+ runJobId: string | null;
1075
+ points: number;
672
1076
  response: string;
673
1077
  isCorrect: boolean;
674
- markschemeState: Prisma.JsonValue | null;
675
- points: number;
676
- feedback: string | null;
1078
+ markschemeState: import("@prisma/client/runtime/library.js").JsonValue | null;
677
1079
  studentWorksheetResponseId: string | null;
678
- runJobId: string | null;
1080
+ questionId: string;
679
1081
  }[];
680
1082
  } & {
681
1083
  id: string;
@@ -686,39 +1088,57 @@ export declare function findWorksheetResponseWithResponses(id: string, questionI
686
1088
  submittedAt: Date | null;
687
1089
  submitted: boolean;
688
1090
  worksheetId: string;
689
- }) | null, null, import("@prisma/client/runtime/library.js").DefaultArgs, {
690
- datasources: {
691
- db: {
692
- 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
+ };
693
1112
  };
694
1113
  };
695
- }>;
696
- /** @returns Worksheet response with scoped responses if requester is the owning student. */
697
- 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<({
698
1118
  worksheet: {
699
1119
  status: import(".prisma/client").$Enums.JobStatus | null;
700
- name: string;
701
1120
  id: string;
702
1121
  createdAt: Date;
703
1122
  updatedAt: Date;
1123
+ name: string;
704
1124
  classId: string;
705
- runJobId: string | null;
706
1125
  sourceUrl: string | null;
1126
+ runJobId: string | null;
707
1127
  };
708
1128
  responses: {
709
1129
  status: import(".prisma/client").$Enums.JobStatus | null;
710
1130
  id: string;
711
1131
  createdAt: Date;
712
1132
  updatedAt: Date | null;
1133
+ feedback: string | null;
713
1134
  studentId: string;
714
- questionId: string;
1135
+ runJobId: string | null;
1136
+ points: number;
715
1137
  response: string;
716
1138
  isCorrect: boolean;
717
- markschemeState: Prisma.JsonValue | null;
718
- points: number;
719
- feedback: string | null;
1139
+ markschemeState: import("@prisma/client/runtime/library.js").JsonValue | null;
720
1140
  studentWorksheetResponseId: string | null;
721
- runJobId: string | null;
1141
+ questionId: string;
722
1142
  }[];
723
1143
  } & {
724
1144
  id: string;
@@ -729,39 +1149,57 @@ export declare function findWorksheetResponseWithResponsesForStudent(id: string,
729
1149
  submittedAt: Date | null;
730
1150
  submitted: boolean;
731
1151
  worksheetId: string;
732
- }) | null, null, import("@prisma/client/runtime/library.js").DefaultArgs, {
733
- datasources: {
734
- db: {
735
- 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
+ };
736
1173
  };
737
1174
  };
738
- }>;
739
- /** @returns Worksheet response with scoped responses if requester is a class teacher. */
740
- 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<({
741
1179
  worksheet: {
742
1180
  status: import(".prisma/client").$Enums.JobStatus | null;
743
- name: string;
744
1181
  id: string;
745
1182
  createdAt: Date;
746
1183
  updatedAt: Date;
1184
+ name: string;
747
1185
  classId: string;
748
- runJobId: string | null;
749
1186
  sourceUrl: string | null;
1187
+ runJobId: string | null;
750
1188
  };
751
1189
  responses: {
752
1190
  status: import(".prisma/client").$Enums.JobStatus | null;
753
1191
  id: string;
754
1192
  createdAt: Date;
755
1193
  updatedAt: Date | null;
1194
+ feedback: string | null;
756
1195
  studentId: string;
757
- questionId: string;
1196
+ runJobId: string | null;
1197
+ points: number;
758
1198
  response: string;
759
1199
  isCorrect: boolean;
760
- markschemeState: Prisma.JsonValue | null;
761
- points: number;
762
- feedback: string | null;
1200
+ markschemeState: import("@prisma/client/runtime/library.js").JsonValue | null;
763
1201
  studentWorksheetResponseId: string | null;
764
- runJobId: string | null;
1202
+ questionId: string;
765
1203
  }[];
766
1204
  } & {
767
1205
  id: string;
@@ -772,35 +1210,71 @@ export declare function findWorksheetResponseWithResponsesForTeacher(id: string,
772
1210
  submittedAt: Date | null;
773
1211
  submitted: boolean;
774
1212
  worksheetId: string;
775
- }) | null, null, import("@prisma/client/runtime/library.js").DefaultArgs, {
776
- datasources: {
777
- db: {
778
- 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
+ };
779
1234
  };
780
1235
  };
781
- }>;
782
- /** @returns Worksheet question by ID. */
783
- 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<{
784
1240
  type: import(".prisma/client").$Enums.WorksheetQuestionType;
785
- options: Prisma.JsonValue | null;
1241
+ options: import("@prisma/client/runtime/library.js").JsonValue | null;
1242
+ markScheme: import("@prisma/client/runtime/library.js").JsonValue | null;
786
1243
  id: string;
787
1244
  createdAt: Date;
788
1245
  updatedAt: Date;
789
1246
  order: number | null;
790
- points: number;
791
1247
  worksheetId: string;
792
- markScheme: Prisma.JsonValue | null;
793
1248
  question: string;
794
1249
  answer: string;
795
- } | null, null, import("@prisma/client/runtime/library.js").DefaultArgs, {
796
- datasources: {
797
- db: {
798
- url: string;
1250
+ points: number;
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
+ };
799
1272
  };
800
1273
  };
801
- }>;
802
- /** @returns Student question progress if requester is a class teacher. */
803
- 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<({
804
1278
  studentWorksheetResponse: {
805
1279
  id: string;
806
1280
  createdAt: Date;
@@ -813,40 +1287,58 @@ export declare function findStudentQuestionProgressByIdForTeacher(id: string, us
813
1287
  } | null;
814
1288
  question: {
815
1289
  type: import(".prisma/client").$Enums.WorksheetQuestionType;
816
- options: Prisma.JsonValue | null;
1290
+ options: import("@prisma/client/runtime/library.js").JsonValue | null;
1291
+ markScheme: import("@prisma/client/runtime/library.js").JsonValue | null;
817
1292
  id: string;
818
1293
  createdAt: Date;
819
1294
  updatedAt: Date;
820
1295
  order: number | null;
821
- points: number;
822
1296
  worksheetId: string;
823
- markScheme: Prisma.JsonValue | null;
824
1297
  question: string;
825
1298
  answer: string;
1299
+ points: number;
826
1300
  };
827
1301
  } & {
828
1302
  status: import(".prisma/client").$Enums.JobStatus | null;
829
1303
  id: string;
830
1304
  createdAt: Date;
831
1305
  updatedAt: Date | null;
1306
+ feedback: string | null;
832
1307
  studentId: string;
833
- questionId: string;
1308
+ runJobId: string | null;
1309
+ points: number;
834
1310
  response: string;
835
1311
  isCorrect: boolean;
836
- markschemeState: Prisma.JsonValue | null;
837
- points: number;
838
- feedback: string | null;
1312
+ markschemeState: import("@prisma/client/runtime/library.js").JsonValue | null;
839
1313
  studentWorksheetResponseId: string | null;
840
- runJobId: string | null;
841
- }) | null, null, import("@prisma/client/runtime/library.js").DefaultArgs, {
842
- datasources: {
843
- db: {
844
- url: string;
1314
+ questionId: 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
+ };
845
1336
  };
846
1337
  };
847
- }>;
848
- /** @returns Student question progress by id and worksheet response if requester is a class teacher. */
849
- 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<({
850
1342
  studentWorksheetResponse: {
851
1343
  id: string;
852
1344
  createdAt: Date;
@@ -859,43 +1351,61 @@ export declare function findStudentQuestionProgressByIdForTeacherAndResponse(id:
859
1351
  } | null;
860
1352
  question: {
861
1353
  type: import(".prisma/client").$Enums.WorksheetQuestionType;
862
- options: Prisma.JsonValue | null;
1354
+ options: import("@prisma/client/runtime/library.js").JsonValue | null;
1355
+ markScheme: import("@prisma/client/runtime/library.js").JsonValue | null;
863
1356
  id: string;
864
1357
  createdAt: Date;
865
1358
  updatedAt: Date;
866
1359
  order: number | null;
867
- points: number;
868
1360
  worksheetId: string;
869
- markScheme: Prisma.JsonValue | null;
870
1361
  question: string;
871
1362
  answer: string;
1363
+ points: number;
872
1364
  };
873
1365
  } & {
874
1366
  status: import(".prisma/client").$Enums.JobStatus | null;
875
1367
  id: string;
876
1368
  createdAt: Date;
877
1369
  updatedAt: Date | null;
1370
+ feedback: string | null;
878
1371
  studentId: string;
879
- questionId: string;
1372
+ runJobId: string | null;
1373
+ points: number;
880
1374
  response: string;
881
1375
  isCorrect: boolean;
882
- markschemeState: Prisma.JsonValue | null;
883
- points: number;
884
- feedback: string | null;
1376
+ markschemeState: import("@prisma/client/runtime/library.js").JsonValue | null;
885
1377
  studentWorksheetResponseId: string | null;
886
- runJobId: string | null;
887
- }) | null, null, import("@prisma/client/runtime/library.js").DefaultArgs, {
888
- datasources: {
889
- db: {
890
- url: string;
891
- };
892
- };
893
- }>;
1378
+ questionId: string;
1379
+ }) | null>;
894
1380
  /**
895
1381
  * @returns Student question progress if requester is the answering student (class member) or a
896
1382
  * class teacher / school admin for that worksheet.
897
1383
  */
898
- 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<({
899
1409
  studentWorksheetResponse: {
900
1410
  id: string;
901
1411
  createdAt: Date;
@@ -908,64 +1418,76 @@ export declare function findStudentQuestionProgressByIdForStudentOrTeacher(id: s
908
1418
  } | null;
909
1419
  question: {
910
1420
  type: import(".prisma/client").$Enums.WorksheetQuestionType;
911
- options: Prisma.JsonValue | null;
1421
+ options: import("@prisma/client/runtime/library.js").JsonValue | null;
1422
+ markScheme: import("@prisma/client/runtime/library.js").JsonValue | null;
912
1423
  id: string;
913
1424
  createdAt: Date;
914
1425
  updatedAt: Date;
915
1426
  order: number | null;
916
- points: number;
917
1427
  worksheetId: string;
918
- markScheme: Prisma.JsonValue | null;
919
1428
  question: string;
920
1429
  answer: string;
1430
+ points: number;
921
1431
  };
922
1432
  } & {
923
1433
  status: import(".prisma/client").$Enums.JobStatus | null;
924
1434
  id: string;
925
1435
  createdAt: Date;
926
1436
  updatedAt: Date | null;
1437
+ feedback: string | null;
927
1438
  studentId: string;
928
- questionId: string;
1439
+ runJobId: string | null;
1440
+ points: number;
929
1441
  response: string;
930
1442
  isCorrect: boolean;
931
- markschemeState: Prisma.JsonValue | null;
932
- points: number;
933
- feedback: string | null;
1443
+ markschemeState: import("@prisma/client/runtime/library.js").JsonValue | null;
934
1444
  studentWorksheetResponseId: string | null;
935
- runJobId: string | null;
936
- }) | null, null, import("@prisma/client/runtime/library.js").DefaultArgs, {
937
- datasources: {
938
- db: {
939
- url: string;
940
- };
941
- };
942
- }>;
1445
+ questionId: string;
1446
+ }) | null>;
943
1447
  /** Update student's question progress. */
944
1448
  export declare function updateStudentQuestionProgress(id: string, data: {
945
1449
  response?: string;
946
1450
  isCorrect?: boolean;
947
1451
  points?: number;
948
1452
  status?: JobStatus;
949
- }): 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<{
950
1478
  status: import(".prisma/client").$Enums.JobStatus | null;
951
1479
  id: string;
952
1480
  createdAt: Date;
953
1481
  updatedAt: Date | null;
1482
+ feedback: string | null;
954
1483
  studentId: string;
955
- questionId: string;
1484
+ runJobId: string | null;
1485
+ points: number;
956
1486
  response: string;
957
1487
  isCorrect: boolean;
958
- markschemeState: Prisma.JsonValue | null;
959
- points: number;
960
- feedback: string | null;
1488
+ markschemeState: import("@prisma/client/runtime/library.js").JsonValue | null;
961
1489
  studentWorksheetResponseId: string | null;
962
- runJobId: string | null;
963
- }, never, import("@prisma/client/runtime/library.js").DefaultArgs, {
964
- datasources: {
965
- db: {
966
- url: string;
967
- };
968
- };
1490
+ questionId: string;
969
1491
  }>;
970
1492
  /** Create student question progress. */
971
1493
  export declare function createStudentQuestionProgress(data: {
@@ -975,49 +1497,85 @@ export declare function createStudentQuestionProgress(data: {
975
1497
  response: string;
976
1498
  isCorrect?: boolean;
977
1499
  points?: number;
978
- }): 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<{
979
1525
  status: import(".prisma/client").$Enums.JobStatus | null;
980
1526
  id: string;
981
1527
  createdAt: Date;
982
1528
  updatedAt: Date | null;
1529
+ feedback: string | null;
983
1530
  studentId: string;
984
- questionId: string;
1531
+ runJobId: string | null;
1532
+ points: number;
985
1533
  response: string;
986
1534
  isCorrect: boolean;
987
- markschemeState: Prisma.JsonValue | null;
988
- points: number;
989
- feedback: string | null;
1535
+ markschemeState: import("@prisma/client/runtime/library.js").JsonValue | null;
990
1536
  studentWorksheetResponseId: string | null;
991
- runJobId: string | null;
992
- }, never, import("@prisma/client/runtime/library.js").DefaultArgs, {
993
- datasources: {
994
- db: {
995
- url: string;
996
- };
997
- };
1537
+ questionId: string;
998
1538
  }>;
999
1539
  /** @returns Student's progress for a question. */
1000
- 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<{
1001
1565
  status: import(".prisma/client").$Enums.JobStatus | null;
1002
1566
  id: string;
1003
1567
  createdAt: Date;
1004
1568
  updatedAt: Date | null;
1569
+ feedback: string | null;
1005
1570
  studentId: string;
1006
- questionId: string;
1571
+ runJobId: string | null;
1572
+ points: number;
1007
1573
  response: string;
1008
1574
  isCorrect: boolean;
1009
- markschemeState: Prisma.JsonValue | null;
1010
- points: number;
1011
- feedback: string | null;
1575
+ markschemeState: import("@prisma/client/runtime/library.js").JsonValue | null;
1012
1576
  studentWorksheetResponseId: string | null;
1013
- runJobId: string | null;
1014
- } | null, null, import("@prisma/client/runtime/library.js").DefaultArgs, {
1015
- datasources: {
1016
- db: {
1017
- url: string;
1018
- };
1019
- };
1020
- }>;
1577
+ questionId: string;
1578
+ } | null>;
1021
1579
  /** Update progress for grading (AI feedback, marks). */
1022
1580
  export declare function updateStudentQuestionProgressForGrading(id: string, data: {
1023
1581
  isCorrect?: boolean;
@@ -1025,26 +1583,44 @@ export declare function updateStudentQuestionProgressForGrading(id: string, data
1025
1583
  markschemeState?: object;
1026
1584
  points?: number;
1027
1585
  response?: string;
1028
- }): 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<{
1029
1611
  status: import(".prisma/client").$Enums.JobStatus | null;
1030
1612
  id: string;
1031
1613
  createdAt: Date;
1032
1614
  updatedAt: Date | null;
1615
+ feedback: string | null;
1033
1616
  studentId: string;
1034
- questionId: string;
1617
+ runJobId: string | null;
1618
+ points: number;
1035
1619
  response: string;
1036
1620
  isCorrect: boolean;
1037
- markschemeState: Prisma.JsonValue | null;
1038
- points: number;
1039
- feedback: string | null;
1621
+ markschemeState: import("@prisma/client/runtime/library.js").JsonValue | null;
1040
1622
  studentWorksheetResponseId: string | null;
1041
- runJobId: string | null;
1042
- }, never, import("@prisma/client/runtime/library.js").DefaultArgs, {
1043
- datasources: {
1044
- db: {
1045
- url: string;
1046
- };
1047
- };
1623
+ questionId: string;
1048
1624
  }>;
1049
1625
  /** Create progress record for grading pipeline. */
1050
1626
  export declare function createStudentQuestionProgressForGrading(data: {
@@ -1056,48 +1632,85 @@ export declare function createStudentQuestionProgressForGrading(data: {
1056
1632
  feedback?: string;
1057
1633
  markschemeState?: object;
1058
1634
  points?: number;
1059
- }): 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<{
1060
1660
  status: import(".prisma/client").$Enums.JobStatus | null;
1061
1661
  id: string;
1062
1662
  createdAt: Date;
1063
1663
  updatedAt: Date | null;
1664
+ feedback: string | null;
1064
1665
  studentId: string;
1065
- questionId: string;
1666
+ runJobId: string | null;
1667
+ points: number;
1066
1668
  response: string;
1067
1669
  isCorrect: boolean;
1068
- markschemeState: Prisma.JsonValue | null;
1069
- points: number;
1070
- feedback: string | null;
1670
+ markschemeState: import("@prisma/client/runtime/library.js").JsonValue | null;
1071
1671
  studentWorksheetResponseId: string | null;
1072
- runJobId: string | null;
1073
- }, never, import("@prisma/client/runtime/library.js").DefaultArgs, {
1074
- datasources: {
1075
- db: {
1076
- url: string;
1077
- };
1078
- };
1672
+ questionId: string;
1079
1673
  }>;
1080
1674
  /** Create a comment on a worksheet response. */
1081
1675
  export declare function createComment(data: {
1082
1676
  studentQuestionProgressId: string;
1083
1677
  content: string;
1084
1678
  authorId: string;
1085
- }): 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<{
1086
1704
  id: string;
1087
1705
  createdAt: Date;
1706
+ content: string;
1088
1707
  assignmentId: string | null;
1089
1708
  submissionId: string | null;
1090
- announcementId: string | null;
1091
1709
  modifiedAt: Date | null;
1092
- content: string;
1710
+ announcementId: string | null;
1093
1711
  authorId: string;
1712
+ isPinned: boolean;
1094
1713
  parentCommentId: string | null;
1095
1714
  studentQuestionProgressId: string | null;
1096
- }, never, import("@prisma/client/runtime/library.js").DefaultArgs, {
1097
- datasources: {
1098
- db: {
1099
- url: string;
1100
- };
1101
- };
1102
1715
  }>;
1103
1716
  //# sourceMappingURL=worksheet.d.ts.map