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