@studious-lms/server 1.13.0 → 1.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (375) hide show
  1. package/.dockerignore +28 -0
  2. package/.env.example +5 -0
  3. package/.github/workflows/deploy.yml +123 -0
  4. package/Dockerfile +54 -0
  5. package/dist/index.js +5 -2
  6. package/dist/index.js.map +1 -1
  7. package/dist/instrument.js +3 -3
  8. package/dist/instrument.js.map +1 -1
  9. package/dist/lib/config/cors.d.ts.map +1 -1
  10. package/dist/lib/config/cors.js +31 -11
  11. package/dist/lib/config/cors.js.map +1 -1
  12. package/dist/lib/config/env.d.ts +17 -0
  13. package/dist/lib/config/env.d.ts.map +1 -1
  14. package/dist/lib/config/env.js +8 -2
  15. package/dist/lib/config/env.js.map +1 -1
  16. package/dist/lib/googleCloudStorage.d.ts +10 -0
  17. package/dist/lib/googleCloudStorage.d.ts.map +1 -1
  18. package/dist/lib/googleCloudStorage.js +22 -2
  19. package/dist/lib/googleCloudStorage.js.map +1 -1
  20. package/dist/lib/inferDocumentFormat.d.ts +10 -0
  21. package/dist/lib/inferDocumentFormat.d.ts.map +1 -0
  22. package/dist/lib/inferDocumentFormat.js +48 -0
  23. package/dist/lib/inferDocumentFormat.js.map +1 -0
  24. package/dist/lib/legal.d.ts +3 -0
  25. package/dist/lib/legal.d.ts.map +1 -0
  26. package/dist/lib/legal.js +6 -0
  27. package/dist/lib/legal.js.map +1 -0
  28. package/dist/lib/prisma.d.ts +104 -5
  29. package/dist/lib/prisma.d.ts.map +1 -1
  30. package/dist/lib/prisma.js +33 -2
  31. package/dist/lib/prisma.js.map +1 -1
  32. package/dist/models/agenda.d.ts +20 -20
  33. package/dist/models/announcement.d.ts +211 -101
  34. package/dist/models/announcement.d.ts.map +1 -1
  35. package/dist/models/assignment.d.ts +560 -362
  36. package/dist/models/assignment.d.ts.map +1 -1
  37. package/dist/models/attendance.d.ts +197 -71
  38. package/dist/models/attendance.d.ts.map +1 -1
  39. package/dist/models/auth.d.ts +356 -114
  40. package/dist/models/auth.d.ts.map +1 -1
  41. package/dist/models/auth.js +4 -2
  42. package/dist/models/auth.js.map +1 -1
  43. package/dist/models/class.d.ts +327 -201
  44. package/dist/models/class.d.ts.map +1 -1
  45. package/dist/models/class.js +2 -2
  46. package/dist/models/class.js.map +1 -1
  47. package/dist/models/cloudStorage.d.ts +146 -56
  48. package/dist/models/cloudStorage.d.ts.map +1 -1
  49. package/dist/models/comment.d.ts +262 -110
  50. package/dist/models/comment.d.ts.map +1 -1
  51. package/dist/models/conversation.d.ts +206 -80
  52. package/dist/models/conversation.d.ts.map +1 -1
  53. package/dist/models/department.d.ts +196 -70
  54. package/dist/models/department.d.ts.map +1 -1
  55. package/dist/models/event.d.ts +305 -141
  56. package/dist/models/event.d.ts.map +1 -1
  57. package/dist/models/file.d.ts +422 -272
  58. package/dist/models/file.d.ts.map +1 -1
  59. package/dist/models/folder.d.ts +433 -181
  60. package/dist/models/folder.d.ts.map +1 -1
  61. package/dist/models/labChat.d.ts +205 -79
  62. package/dist/models/labChat.d.ts.map +1 -1
  63. package/dist/models/marketing.d.ts +79 -38
  64. package/dist/models/marketing.d.ts.map +1 -1
  65. package/dist/models/marketing.js +12 -4
  66. package/dist/models/marketing.js.map +1 -1
  67. package/dist/models/message.d.ts +97 -43
  68. package/dist/models/message.d.ts.map +1 -1
  69. package/dist/models/newtonChat.d.ts +84 -30
  70. package/dist/models/newtonChat.d.ts.map +1 -1
  71. package/dist/models/notification.d.ts +57 -21
  72. package/dist/models/notification.d.ts.map +1 -1
  73. package/dist/models/school.d.ts +349 -133
  74. package/dist/models/school.d.ts.map +1 -1
  75. package/dist/models/section.d.ts +216 -72
  76. package/dist/models/section.d.ts.map +1 -1
  77. package/dist/models/tag.d.ts +156 -48
  78. package/dist/models/tag.d.ts.map +1 -1
  79. package/dist/models/user.d.ts +82 -28
  80. package/dist/models/user.d.ts.map +1 -1
  81. package/dist/models/worksheet.d.ts +1032 -423
  82. package/dist/models/worksheet.d.ts.map +1 -1
  83. package/dist/models/worksheet.js +8 -2
  84. package/dist/models/worksheet.js.map +1 -1
  85. package/dist/pipelines/aiLabChat.d.ts +7 -9
  86. package/dist/pipelines/aiLabChat.d.ts.map +1 -1
  87. package/dist/pipelines/aiLabChat.js +194 -125
  88. package/dist/pipelines/aiLabChat.js.map +1 -1
  89. package/dist/pipelines/aiLabChatContract.d.ts +233 -389
  90. package/dist/pipelines/aiLabChatContract.d.ts.map +1 -1
  91. package/dist/pipelines/aiLabChatContract.js +54 -70
  92. package/dist/pipelines/aiLabChatContract.js.map +1 -1
  93. package/dist/pipelines/aiNewtonChat.d.ts.map +1 -1
  94. package/dist/pipelines/aiNewtonChat.js +41 -41
  95. package/dist/pipelines/aiNewtonChat.js.map +1 -1
  96. package/dist/pipelines/gradeWorksheet.d.ts +8 -8
  97. package/dist/pipelines/labChatPrompt.d.ts +18 -11
  98. package/dist/pipelines/labChatPrompt.d.ts.map +1 -1
  99. package/dist/pipelines/labChatPrompt.js +93 -75
  100. package/dist/pipelines/labChatPrompt.js.map +1 -1
  101. package/dist/pipelines/pdfToWorksheet.d.ts +1 -1
  102. package/dist/routers/_app.d.ts +2601 -2151
  103. package/dist/routers/_app.d.ts.map +1 -1
  104. package/dist/routers/_app.js +4 -2
  105. package/dist/routers/_app.js.map +1 -1
  106. package/dist/routers/admin.d.ts +13 -13
  107. package/dist/routers/agenda.d.ts +18 -18
  108. package/dist/routers/announcement.d.ts +60 -60
  109. package/dist/routers/assignment.d.ts +393 -383
  110. package/dist/routers/assignment.d.ts.map +1 -1
  111. package/dist/routers/attendance.d.ts +10 -10
  112. package/dist/routers/auth.d.ts +4 -2
  113. package/dist/routers/auth.d.ts.map +1 -1
  114. package/dist/routers/auth.js +15 -2
  115. package/dist/routers/auth.js.map +1 -1
  116. package/dist/routers/class.d.ts +157 -153
  117. package/dist/routers/class.d.ts.map +1 -1
  118. package/dist/routers/comment.d.ts +18 -18
  119. package/dist/routers/conversation.d.ts +11 -11
  120. package/dist/routers/department.d.ts +34 -34
  121. package/dist/routers/discussion.d.ts +68 -56
  122. package/dist/routers/discussion.d.ts.map +1 -1
  123. package/dist/routers/discussion.js +6 -2
  124. package/dist/routers/discussion.js.map +1 -1
  125. package/dist/routers/embedding.d.ts +73 -0
  126. package/dist/routers/embedding.d.ts.map +1 -0
  127. package/dist/routers/embedding.js +151 -0
  128. package/dist/routers/embedding.js.map +1 -0
  129. package/dist/routers/event.d.ts +57 -55
  130. package/dist/routers/event.d.ts.map +1 -1
  131. package/dist/routers/file.d.ts +14 -14
  132. package/dist/routers/folder.d.ts +38 -38
  133. package/dist/routers/labChat.d.ts +16 -16
  134. package/dist/routers/marketing.d.ts +1 -14
  135. package/dist/routers/marketing.d.ts.map +1 -1
  136. package/dist/routers/message.d.ts +13 -13
  137. package/dist/routers/newtonChat.d.ts +4 -4
  138. package/dist/routers/notifications.d.ts +5 -5
  139. package/dist/routers/permissions.d.ts +14 -14
  140. package/dist/routers/school.d.ts +59 -55
  141. package/dist/routers/school.d.ts.map +1 -1
  142. package/dist/routers/search.d.ts +22 -1
  143. package/dist/routers/search.d.ts.map +1 -1
  144. package/dist/routers/search.js +9 -3
  145. package/dist/routers/search.js.map +1 -1
  146. package/dist/routers/section.d.ts +4 -4
  147. package/dist/routers/studentProgress.d.ts +1 -1
  148. package/dist/routers/tag.d.ts +7 -7
  149. package/dist/routers/user.d.ts +99 -10
  150. package/dist/routers/user.d.ts.map +1 -1
  151. package/dist/routers/user.js +19 -2
  152. package/dist/routers/user.js.map +1 -1
  153. package/dist/routers/worksheet.d.ts +93 -55
  154. package/dist/routers/worksheet.d.ts.map +1 -1
  155. package/dist/routers/worksheet.js +26 -2
  156. package/dist/routers/worksheet.js.map +1 -1
  157. package/dist/routes/aiStream.d.ts +2 -0
  158. package/dist/routes/aiStream.d.ts.map +1 -0
  159. package/dist/routes/aiStream.js +726 -0
  160. package/dist/routes/aiStream.js.map +1 -0
  161. package/dist/seedDatabase.d.ts +3 -1
  162. package/dist/seedDatabase.d.ts.map +1 -1
  163. package/dist/seedDatabase.js +6 -6
  164. package/dist/seedDatabase.js.map +1 -1
  165. package/dist/services/adminInstitution.d.ts +8 -8
  166. package/dist/services/adminRunJob.d.ts +4 -4
  167. package/dist/services/agenda.d.ts +18 -18
  168. package/dist/services/aiChatStream.d.ts +88 -0
  169. package/dist/services/aiChatStream.d.ts.map +1 -0
  170. package/dist/services/aiChatStream.js +254 -0
  171. package/dist/services/aiChatStream.js.map +1 -0
  172. package/dist/services/aiModifierTools.d.ts +16 -0
  173. package/dist/services/aiModifierTools.d.ts.map +1 -0
  174. package/dist/services/aiModifierTools.js +274 -0
  175. package/dist/services/aiModifierTools.js.map +1 -0
  176. package/dist/services/aiProposalTools.d.ts +32 -0
  177. package/dist/services/aiProposalTools.d.ts.map +1 -0
  178. package/dist/services/aiProposalTools.js +207 -0
  179. package/dist/services/aiProposalTools.js.map +1 -0
  180. package/dist/services/aiStream.d.ts +22 -0
  181. package/dist/services/aiStream.d.ts.map +1 -0
  182. package/dist/services/aiStream.js +142 -0
  183. package/dist/services/aiStream.js.map +1 -0
  184. package/dist/services/aiTools.d.ts +16 -0
  185. package/dist/services/aiTools.d.ts.map +1 -0
  186. package/dist/services/aiTools.js +271 -0
  187. package/dist/services/aiTools.js.map +1 -0
  188. package/dist/services/announcement.d.ts +42 -42
  189. package/dist/services/announcement.d.ts.map +1 -1
  190. package/dist/services/announcement.js +7 -2
  191. package/dist/services/announcement.js.map +1 -1
  192. package/dist/services/assignment.d.ts +355 -345
  193. package/dist/services/assignment.d.ts.map +1 -1
  194. package/dist/services/assignment.js +30 -9
  195. package/dist/services/assignment.js.map +1 -1
  196. package/dist/services/attendance.d.ts +10 -10
  197. package/dist/services/auth.d.ts +4 -2
  198. package/dist/services/auth.d.ts.map +1 -1
  199. package/dist/services/auth.js +13 -4
  200. package/dist/services/auth.js.map +1 -1
  201. package/dist/services/class.d.ts +146 -142
  202. package/dist/services/class.d.ts.map +1 -1
  203. package/dist/services/class.js +24 -4
  204. package/dist/services/class.js.map +1 -1
  205. package/dist/services/comment.d.ts +18 -18
  206. package/dist/services/conversation.d.ts +11 -11
  207. package/dist/services/department.d.ts +33 -33
  208. package/dist/services/discussion.d.ts +58 -58
  209. package/dist/services/discussion.d.ts.map +1 -1
  210. package/dist/services/discussion.js +15 -8
  211. package/dist/services/discussion.js.map +1 -1
  212. package/dist/services/discussionSummary.d.ts +21 -0
  213. package/dist/services/discussionSummary.d.ts.map +1 -0
  214. package/dist/services/discussionSummary.js +179 -0
  215. package/dist/services/discussionSummary.js.map +1 -0
  216. package/dist/services/embedding.d.ts +85 -0
  217. package/dist/services/embedding.d.ts.map +1 -0
  218. package/dist/services/embedding.js +372 -0
  219. package/dist/services/embedding.js.map +1 -0
  220. package/dist/services/event.d.ts +55 -53
  221. package/dist/services/event.d.ts.map +1 -1
  222. package/dist/services/file.d.ts +28 -28
  223. package/dist/services/folder.d.ts +36 -36
  224. package/dist/services/folder.d.ts.map +1 -1
  225. package/dist/services/folder.js +32 -2
  226. package/dist/services/folder.js.map +1 -1
  227. package/dist/services/labChat.d.ts +16 -16
  228. package/dist/services/marketing.d.ts +2 -15
  229. package/dist/services/marketing.d.ts.map +1 -1
  230. package/dist/services/marketing.js +5 -5
  231. package/dist/services/marketing.js.map +1 -1
  232. package/dist/services/message.d.ts +11 -11
  233. package/dist/services/message.d.ts.map +1 -1
  234. package/dist/services/message.js +2 -2
  235. package/dist/services/message.js.map +1 -1
  236. package/dist/services/newtonChat.d.ts +4 -4
  237. package/dist/services/notification.d.ts +5 -5
  238. package/dist/services/notification.d.ts.map +1 -1
  239. package/dist/services/openaiDocumentGen.d.ts +37 -0
  240. package/dist/services/openaiDocumentGen.d.ts.map +1 -0
  241. package/dist/services/openaiDocumentGen.js +262 -0
  242. package/dist/services/openaiDocumentGen.js.map +1 -0
  243. package/dist/services/permissions.d.ts +14 -14
  244. package/dist/services/school.d.ts +54 -50
  245. package/dist/services/school.d.ts.map +1 -1
  246. package/dist/services/search.d.ts +13 -1
  247. package/dist/services/search.d.ts.map +1 -1
  248. package/dist/services/search.js +145 -2
  249. package/dist/services/search.js.map +1 -1
  250. package/dist/services/section.d.ts +3 -3
  251. package/dist/services/tag.d.ts +4 -4
  252. package/dist/services/user.d.ts +4 -4
  253. package/dist/services/user.d.ts.map +1 -1
  254. package/dist/services/user.js +10 -15
  255. package/dist/services/user.js.map +1 -1
  256. package/dist/services/userPrivacy.d.ts +86 -0
  257. package/dist/services/userPrivacy.d.ts.map +1 -0
  258. package/dist/services/userPrivacy.js +184 -0
  259. package/dist/services/userPrivacy.js.map +1 -0
  260. package/dist/services/worksheet.d.ts +86 -57
  261. package/dist/services/worksheet.d.ts.map +1 -1
  262. package/dist/services/worksheet.js +57 -5
  263. package/dist/services/worksheet.js.map +1 -1
  264. package/dist/utils/email.d.ts.map +1 -1
  265. package/dist/utils/email.js +7 -3
  266. package/dist/utils/email.js.map +1 -1
  267. package/dist/utils/streamBroadcast.d.ts +11 -0
  268. package/dist/utils/streamBroadcast.d.ts.map +1 -0
  269. package/dist/utils/streamBroadcast.js +32 -0
  270. package/dist/utils/streamBroadcast.js.map +1 -0
  271. package/dist/workers/connection.d.ts +15 -0
  272. package/dist/workers/connection.d.ts.map +1 -1
  273. package/dist/workers/connection.js +20 -2
  274. package/dist/workers/connection.js.map +1 -1
  275. package/dist/workers/index.js +4 -2
  276. package/dist/workers/index.js.map +1 -1
  277. package/dist/workers/processors/createRunJobWorker.d.ts.map +1 -1
  278. package/dist/workers/processors/createRunJobWorker.js +31 -8
  279. package/dist/workers/processors/createRunJobWorker.js.map +1 -1
  280. package/dist/workers/processors/embedContent.d.ts +8 -0
  281. package/dist/workers/processors/embedContent.d.ts.map +1 -0
  282. package/dist/workers/processors/embedContent.js +67 -0
  283. package/dist/workers/processors/embedContent.js.map +1 -0
  284. package/dist/workers/queues.d.ts +6 -0
  285. package/dist/workers/queues.d.ts.map +1 -1
  286. package/dist/workers/queues.js +5 -3
  287. package/dist/workers/queues.js.map +1 -1
  288. package/package.json +5 -1
  289. package/prisma/migrations/20260609215135_init/migration.sql +1412 -0
  290. package/prisma/migrations/20260610130000_add_worksheet_tags/migration.sql +13 -0
  291. package/prisma/migrations/20260610140000_expand_embedding_source_types/migration.sql +4 -0
  292. package/prisma/migrations/20260611120000_add_user_terms_acceptance/migration.sql +3 -0
  293. package/prisma/schema.prisma +44 -7
  294. package/src/index.ts +4 -0
  295. package/src/instrument.ts +1 -1
  296. package/src/lib/config/cors.ts +32 -9
  297. package/src/lib/config/env.ts +6 -0
  298. package/src/lib/googleCloudStorage.ts +21 -0
  299. package/src/lib/inferDocumentFormat.ts +58 -0
  300. package/src/lib/legal.ts +2 -0
  301. package/src/lib/prisma.ts +40 -1
  302. package/src/models/auth.ts +4 -0
  303. package/src/models/class.ts +3 -2
  304. package/src/models/marketing.ts +10 -2
  305. package/src/models/worksheet.ts +5 -2
  306. package/src/pipelines/aiLabChat.ts +245 -146
  307. package/src/pipelines/aiLabChatContract.ts +59 -69
  308. package/src/pipelines/aiNewtonChat.ts +46 -43
  309. package/src/pipelines/labChatPrompt.ts +115 -90
  310. package/src/routers/_app.ts +2 -0
  311. package/src/routers/auth.ts +13 -0
  312. package/src/routers/discussion.ts +7 -0
  313. package/src/routers/embedding.ts +164 -0
  314. package/src/routers/search.ts +10 -1
  315. package/src/routers/user.ts +26 -0
  316. package/src/routers/worksheet.ts +27 -0
  317. package/src/routes/aiStream.ts +827 -0
  318. package/src/seedDatabase.ts +4 -4
  319. package/src/services/aiChatStream.ts +341 -0
  320. package/src/services/aiModifierTools.ts +341 -0
  321. package/src/services/aiProposalTools.ts +274 -0
  322. package/src/services/aiStream.ts +175 -0
  323. package/src/services/aiTools.ts +290 -0
  324. package/src/services/announcement.ts +7 -0
  325. package/src/services/assignment.ts +31 -7
  326. package/src/services/auth.ts +14 -2
  327. package/src/services/class.ts +27 -2
  328. package/src/services/discussion.ts +22 -8
  329. package/src/services/discussionSummary.ts +226 -0
  330. package/src/services/embedding.ts +446 -0
  331. package/src/services/folder.ts +31 -0
  332. package/src/services/marketing.ts +3 -3
  333. package/src/services/message.ts +2 -2
  334. package/src/services/openaiDocumentGen.ts +319 -0
  335. package/src/services/search.ts +163 -1
  336. package/src/services/user.ts +9 -17
  337. package/src/services/userPrivacy.ts +196 -0
  338. package/src/services/worksheet.ts +77 -3
  339. package/src/utils/email.ts +5 -1
  340. package/src/utils/streamBroadcast.ts +48 -0
  341. package/src/workers/connection.ts +19 -0
  342. package/src/workers/index.ts +2 -0
  343. package/src/workers/processors/createRunJobWorker.ts +32 -6
  344. package/src/workers/processors/embedContent.ts +86 -0
  345. package/src/workers/queues.ts +5 -1
  346. package/tests/helpers/registerInput.ts +20 -0
  347. package/tests/integration/globalSetup.ts +10 -18
  348. package/tests/integration/routers/auth.test.ts +13 -18
  349. package/tests/unit/lib/inferDocumentFormat.test.ts +33 -0
  350. package/tests/unit/pipelines/aiLabChatContract.test.ts +38 -21
  351. package/tests/unit/pipelines/labChatPrompt.test.ts +23 -36
  352. package/tests/unit/services/aiChatStream.test.ts +92 -0
  353. package/tests/unit/services/openaiDocumentGen.test.ts +65 -0
  354. package/prisma/migrations/20250807062924_init/migration.sql +0 -436
  355. package/prisma/migrations/20250919063704_init2/migration.sql +0 -24
  356. package/prisma/migrations/20250920143543_add_profile_fields/migration.sql +0 -15
  357. package/prisma/migrations/20250922165147_add_chat_models/migration.sql +0 -68
  358. package/prisma/migrations/20250922165314_add_chat_roles/migration.sql +0 -5
  359. package/prisma/migrations/20250922171242_refactor_notification_system/migration.sql +0 -20
  360. package/prisma/migrations/20250922172208_add_mentions_system/migration.sql +0 -21
  361. package/prisma/migrations/20250925072732_add_lab_chat_system/migration.sql +0 -25
  362. package/prisma/migrations/20251020151505_add_upload_tracking_fields/migration.sql +0 -57
  363. package/prisma/migrations/20251109122857_annuoncements_comments/migration.sql +0 -30
  364. package/prisma/migrations/20251109135555_reactions_announcements_comments/migration.sql +0 -35
  365. package/prisma/migrations/20260410124000_add_submission_recommendation_state/migration.sql +0 -14
  366. package/prisma/migrations/20260415103500_add_session_type/migration.sql +0 -33
  367. package/prisma/migrations/20260415133000_add_ai_usage_logs/migration.sql +0 -19
  368. package/prisma/migrations/20260417083000_add_conversation_member_hidden_at/migration.sql +0 -2
  369. package/prisma/migrations/20260502230500_assignment_submission_comments/migration.sql +0 -60
  370. package/prisma/migrations/20260504071500_school_memberships/migration.sql +0 -81
  371. package/prisma/migrations/20260506162500_consolidate_run_job_and_unify_job_status/migration.sql +0 -166
  372. package/prisma/migrations/20260509220000_institution_overhaul/migration.sql +0 -184
  373. package/prisma/migrations/20260510170000_add_folder_permissions/migration.sql +0 -93
  374. package/prisma/migrations/20260510183000_add_discussions/migration.sql +0 -151
  375. /package/.github/workflows/{npm.yml → npm-publish.yml} +0 -0
@@ -1,11 +1,37 @@
1
1
  /** @returns Event by ID with class, user, attached assignments. */
2
- export declare function findEventById(id: string): import(".prisma/client").Prisma.Prisma__EventClient<({
2
+ export declare function findEventById(id: string): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
3
+ result: {
4
+ userProfile: {
5
+ profilePicture: () => {
6
+ needs: {
7
+ profilePicture: true;
8
+ };
9
+ compute(profile: {
10
+ profilePicture: string | null;
11
+ }): string | null;
12
+ };
13
+ profilePictureThumbnail: () => {
14
+ needs: {
15
+ profilePictureThumbnail: true;
16
+ };
17
+ compute(profile: {
18
+ profilePictureThumbnail: string | null;
19
+ }): string | null;
20
+ };
21
+ };
22
+ };
23
+ model: {};
24
+ query: {};
25
+ client: {};
26
+ }, {}>, "Event", "findUnique", null> & import("@prisma/client/runtime/library.js").PrismaPromise<({
3
27
  user: {
4
28
  id: string;
5
29
  username: string;
6
30
  email: string;
7
31
  password: string;
8
32
  verified: boolean;
33
+ termsAcceptedAt: Date | null;
34
+ termsVersion: string | null;
9
35
  schoolId: string | null;
10
36
  } | null;
11
37
  class: ({
@@ -17,24 +43,24 @@ export declare function findEventById(id: string): import(".prisma/client").Pris
17
43
  userId: string;
18
44
  }[];
19
45
  } & {
20
- name: string;
21
46
  id: string;
47
+ createdAt: Date;
48
+ updatedAt: Date;
49
+ name: string;
22
50
  description: string | null;
23
51
  logoId: string | null;
24
52
  subdomain: string | null;
25
- createdAt: Date;
26
- updatedAt: Date;
27
53
  }) | null;
28
54
  teachers: {
29
55
  id: string;
30
56
  }[];
31
57
  } & {
32
- name: string;
58
+ section: string;
33
59
  id: string;
60
+ name: string;
34
61
  schoolId: string | null;
35
- subject: string;
36
62
  color: string | null;
37
- section: string;
63
+ subject: string;
38
64
  syllabus: string | null;
39
65
  departmentId: string | null;
40
66
  discussionsEnabled: boolean;
@@ -43,64 +69,76 @@ export declare function findEventById(id: string): import(".prisma/client").Pris
43
69
  }) | null;
44
70
  assignmentsAttached: {
45
71
  type: import(".prisma/client").$Enums.AssignmentType;
46
- id: string;
47
72
  section: {
48
- name: string;
49
73
  id: string;
74
+ name: string;
50
75
  } | null;
76
+ id: string;
51
77
  title: string;
52
- instructions: string;
53
78
  dueDate: Date;
54
- graded: boolean;
55
79
  maxGrade: number | null;
80
+ attachments: {
81
+ type: string;
82
+ id: string;
83
+ name: string;
84
+ }[];
85
+ instructions: string;
86
+ graded: boolean;
56
87
  weight: number;
57
88
  teacher: {
58
89
  id: string;
59
90
  username: string;
60
91
  };
61
- attachments: {
62
- type: string;
63
- name: string;
64
- id: string;
65
- }[];
66
92
  }[];
67
93
  } & {
68
- name: string | null;
69
94
  id: string;
70
95
  userId: string | null;
96
+ location: string | null;
97
+ name: string | null;
71
98
  color: string | null;
72
99
  classId: string | null;
73
100
  startTime: Date;
74
101
  endTime: Date;
75
- location: string | null;
76
102
  remarks: string | null;
77
- }) | null, null, import("@prisma/client/runtime/library.js").DefaultArgs, {
78
- datasources: {
79
- db: {
80
- url: string;
103
+ }) | null>;
104
+ /** @returns Class if user is a teacher or school admin. */
105
+ export declare function findClassWithTeachers(classId: string, teacherId: string): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
106
+ result: {
107
+ userProfile: {
108
+ profilePicture: () => {
109
+ needs: {
110
+ profilePicture: true;
111
+ };
112
+ compute(profile: {
113
+ profilePicture: string | null;
114
+ }): string | null;
115
+ };
116
+ profilePictureThumbnail: () => {
117
+ needs: {
118
+ profilePictureThumbnail: true;
119
+ };
120
+ compute(profile: {
121
+ profilePictureThumbnail: string | null;
122
+ }): string | null;
123
+ };
81
124
  };
82
125
  };
83
- }>;
84
- /** @returns Class if user is a teacher or school admin. */
85
- export declare function findClassWithTeachers(classId: string, teacherId: string): import(".prisma/client").Prisma.Prisma__ClassClient<{
86
- name: string;
126
+ model: {};
127
+ query: {};
128
+ client: {};
129
+ }, {}>, "Class", "findFirst", null> & import("@prisma/client/runtime/library.js").PrismaPromise<{
130
+ section: string;
87
131
  id: string;
132
+ name: string;
88
133
  schoolId: string | null;
89
- subject: string;
90
134
  color: string | null;
91
- section: string;
135
+ subject: string;
92
136
  syllabus: string | null;
93
137
  departmentId: string | null;
94
138
  discussionsEnabled: boolean;
95
139
  studentsCanCreateDiscussions: boolean;
96
140
  studentsCanReply: boolean;
97
- } | null, null, import("@prisma/client/runtime/library.js").DefaultArgs, {
98
- datasources: {
99
- db: {
100
- url: string;
101
- };
102
- };
103
- }>;
141
+ } | null>;
104
142
  /** Create a calendar event. */
105
143
  export declare function createEvent(data: {
106
144
  name?: string;
@@ -111,26 +149,44 @@ export declare function createEvent(data: {
111
149
  userId: string;
112
150
  color?: string;
113
151
  classId?: string;
114
- }): import(".prisma/client").Prisma.Prisma__EventClient<{
115
- name: string | null;
116
- id: string;
117
- userId: string | null;
152
+ }): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
153
+ result: {
154
+ userProfile: {
155
+ profilePicture: () => {
156
+ needs: {
157
+ profilePicture: true;
158
+ };
159
+ compute(profile: {
160
+ profilePicture: string | null;
161
+ }): string | null;
162
+ };
163
+ profilePictureThumbnail: () => {
164
+ needs: {
165
+ profilePictureThumbnail: true;
166
+ };
167
+ compute(profile: {
168
+ profilePictureThumbnail: string | null;
169
+ }): string | null;
170
+ };
171
+ };
172
+ };
173
+ model: {};
174
+ query: {};
175
+ client: {};
176
+ }, {}>, "Event", "create", never> & import("@prisma/client/runtime/library.js").PrismaPromise<{
118
177
  class: {
119
- name: string;
120
178
  id: string;
179
+ name: string;
121
180
  } | null;
181
+ id: string;
182
+ userId: string | null;
183
+ location: string | null;
184
+ name: string | null;
122
185
  color: string | null;
123
186
  classId: string | null;
124
187
  startTime: Date;
125
188
  endTime: Date;
126
- location: string | null;
127
189
  remarks: string | null;
128
- }, never, import("@prisma/client/runtime/library.js").DefaultArgs, {
129
- datasources: {
130
- db: {
131
- url: string;
132
- };
133
- };
134
190
  }>;
135
191
  /** Update an event. */
136
192
  export declare function updateEvent(id: string, data: {
@@ -141,43 +197,103 @@ export declare function updateEvent(id: string, data: {
141
197
  endTime?: Date;
142
198
  color?: string;
143
199
  classId?: string;
144
- }): import(".prisma/client").Prisma.Prisma__EventClient<{
145
- name: string | null;
200
+ }): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
201
+ result: {
202
+ userProfile: {
203
+ profilePicture: () => {
204
+ needs: {
205
+ profilePicture: true;
206
+ };
207
+ compute(profile: {
208
+ profilePicture: string | null;
209
+ }): string | null;
210
+ };
211
+ profilePictureThumbnail: () => {
212
+ needs: {
213
+ profilePictureThumbnail: true;
214
+ };
215
+ compute(profile: {
216
+ profilePictureThumbnail: string | null;
217
+ }): string | null;
218
+ };
219
+ };
220
+ };
221
+ model: {};
222
+ query: {};
223
+ client: {};
224
+ }, {}>, "Event", "update", never> & import("@prisma/client/runtime/library.js").PrismaPromise<{
146
225
  id: string;
147
226
  userId: string | null;
227
+ location: string | null;
228
+ name: string | null;
148
229
  color: string | null;
149
230
  classId: string | null;
150
231
  startTime: Date;
151
232
  endTime: Date;
152
- location: string | null;
153
233
  remarks: string | null;
154
- }, never, import("@prisma/client/runtime/library.js").DefaultArgs, {
155
- datasources: {
156
- db: {
157
- url: string;
158
- };
159
- };
160
234
  }>;
161
235
  /** Delete an event. */
162
- export declare function deleteEventById(id: string): import(".prisma/client").Prisma.Prisma__EventClient<{
163
- name: string | null;
236
+ export declare function deleteEventById(id: string): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
237
+ result: {
238
+ userProfile: {
239
+ profilePicture: () => {
240
+ needs: {
241
+ profilePicture: true;
242
+ };
243
+ compute(profile: {
244
+ profilePicture: string | null;
245
+ }): string | null;
246
+ };
247
+ profilePictureThumbnail: () => {
248
+ needs: {
249
+ profilePictureThumbnail: true;
250
+ };
251
+ compute(profile: {
252
+ profilePictureThumbnail: string | null;
253
+ }): string | null;
254
+ };
255
+ };
256
+ };
257
+ model: {};
258
+ query: {};
259
+ client: {};
260
+ }, {}>, "Event", "delete", never> & import("@prisma/client/runtime/library.js").PrismaPromise<{
164
261
  id: string;
165
262
  userId: string | null;
263
+ location: string | null;
264
+ name: string | null;
166
265
  color: string | null;
167
266
  classId: string | null;
168
267
  startTime: Date;
169
268
  endTime: Date;
170
- location: string | null;
171
269
  remarks: string | null;
172
- }, never, import("@prisma/client/runtime/library.js").DefaultArgs, {
173
- datasources: {
174
- db: {
175
- url: string;
176
- };
177
- };
178
270
  }>;
179
271
  /** @returns Event with class and teachers. */
180
- export declare function findEventWithClass(eventId: string): import(".prisma/client").Prisma.Prisma__EventClient<({
272
+ export declare function findEventWithClass(eventId: string): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
273
+ result: {
274
+ userProfile: {
275
+ profilePicture: () => {
276
+ needs: {
277
+ profilePicture: true;
278
+ };
279
+ compute(profile: {
280
+ profilePicture: string | null;
281
+ }): string | null;
282
+ };
283
+ profilePictureThumbnail: () => {
284
+ needs: {
285
+ profilePictureThumbnail: true;
286
+ };
287
+ compute(profile: {
288
+ profilePictureThumbnail: string | null;
289
+ }): string | null;
290
+ };
291
+ };
292
+ };
293
+ model: {};
294
+ query: {};
295
+ client: {};
296
+ }, {}>, "Event", "findUnique", null> & import("@prisma/client/runtime/library.js").PrismaPromise<({
181
297
  class: ({
182
298
  school: ({
183
299
  users: {
@@ -187,24 +303,24 @@ export declare function findEventWithClass(eventId: string): import(".prisma/cli
187
303
  userId: string;
188
304
  }[];
189
305
  } & {
190
- name: string;
191
306
  id: string;
307
+ createdAt: Date;
308
+ updatedAt: Date;
309
+ name: string;
192
310
  description: string | null;
193
311
  logoId: string | null;
194
312
  subdomain: string | null;
195
- createdAt: Date;
196
- updatedAt: Date;
197
313
  }) | null;
198
314
  teachers: {
199
315
  id: string;
200
316
  }[];
201
317
  } & {
202
- name: string;
318
+ section: string;
203
319
  id: string;
320
+ name: string;
204
321
  schoolId: string | null;
205
- subject: string;
206
322
  color: string | null;
207
- section: string;
323
+ subject: string;
208
324
  syllabus: string | null;
209
325
  departmentId: string | null;
210
326
  discussionsEnabled: boolean;
@@ -212,24 +328,42 @@ export declare function findEventWithClass(eventId: string): import(".prisma/cli
212
328
  studentsCanReply: boolean;
213
329
  }) | null;
214
330
  } & {
215
- name: string | null;
216
331
  id: string;
217
332
  userId: string | null;
333
+ location: string | null;
334
+ name: string | null;
218
335
  color: string | null;
219
336
  classId: string | null;
220
337
  startTime: Date;
221
338
  endTime: Date;
222
- location: string | null;
223
339
  remarks: string | null;
224
- }) | null, null, import("@prisma/client/runtime/library.js").DefaultArgs, {
225
- datasources: {
226
- db: {
227
- url: string;
340
+ }) | null>;
341
+ /** @returns Assignment with class and teachers. */
342
+ export declare function findAssignmentWithClass(assignmentId: string): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
343
+ result: {
344
+ userProfile: {
345
+ profilePicture: () => {
346
+ needs: {
347
+ profilePicture: true;
348
+ };
349
+ compute(profile: {
350
+ profilePicture: string | null;
351
+ }): string | null;
352
+ };
353
+ profilePictureThumbnail: () => {
354
+ needs: {
355
+ profilePictureThumbnail: true;
356
+ };
357
+ compute(profile: {
358
+ profilePictureThumbnail: string | null;
359
+ }): string | null;
360
+ };
228
361
  };
229
362
  };
230
- }>;
231
- /** @returns Assignment with class and teachers. */
232
- export declare function findAssignmentWithClass(assignmentId: string): import(".prisma/client").Prisma.Prisma__AssignmentClient<({
363
+ model: {};
364
+ query: {};
365
+ client: {};
366
+ }, {}>, "Assignment", "findUnique", null> & import("@prisma/client/runtime/library.js").PrismaPromise<({
233
367
  class: {
234
368
  school: ({
235
369
  users: {
@@ -239,24 +373,24 @@ export declare function findAssignmentWithClass(assignmentId: string): import(".
239
373
  userId: string;
240
374
  }[];
241
375
  } & {
242
- name: string;
243
376
  id: string;
377
+ createdAt: Date;
378
+ updatedAt: Date;
379
+ name: string;
244
380
  description: string | null;
245
381
  logoId: string | null;
246
382
  subdomain: string | null;
247
- createdAt: Date;
248
- updatedAt: Date;
249
383
  }) | null;
250
384
  teachers: {
251
385
  id: string;
252
386
  }[];
253
387
  } & {
254
- name: string;
388
+ section: string;
255
389
  id: string;
390
+ name: string;
256
391
  schoolId: string | null;
257
- subject: string;
258
392
  color: string | null;
259
- section: string;
393
+ subject: string;
260
394
  syllabus: string | null;
261
395
  departmentId: string | null;
262
396
  discussionsEnabled: boolean;
@@ -268,10 +402,12 @@ export declare function findAssignmentWithClass(assignmentId: string): import(".
268
402
  id: string;
269
403
  createdAt: Date | null;
270
404
  classId: string;
271
- modifiedAt: Date | null;
272
405
  title: string;
273
- instructions: string;
274
406
  dueDate: Date;
407
+ maxGrade: number | null;
408
+ eventId: string | null;
409
+ instructions: string;
410
+ modifiedAt: Date | null;
275
411
  teacherId: string;
276
412
  acceptFiles: boolean;
277
413
  acceptExtendedResponse: boolean;
@@ -280,45 +416,63 @@ export declare function findAssignmentWithClass(assignmentId: string): import(".
280
416
  aiPolicyLevel: number;
281
417
  sectionId: string | null;
282
418
  graded: boolean;
283
- maxGrade: number | null;
284
419
  weight: number;
285
420
  inProgress: boolean;
286
421
  template: boolean;
287
- eventId: string | null;
288
422
  markSchemeId: string | null;
289
423
  order: number | null;
290
424
  gradingBoundaryId: string | null;
291
- }) | null, null, import("@prisma/client/runtime/library.js").DefaultArgs, {
292
- datasources: {
293
- db: {
294
- url: string;
425
+ }) | null>;
426
+ /** Attach assignment to an event. */
427
+ export declare function attachAssignmentToEvent(assignmentId: string, eventId: string): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
428
+ result: {
429
+ userProfile: {
430
+ profilePicture: () => {
431
+ needs: {
432
+ profilePicture: true;
433
+ };
434
+ compute(profile: {
435
+ profilePicture: string | null;
436
+ }): string | null;
437
+ };
438
+ profilePictureThumbnail: () => {
439
+ needs: {
440
+ profilePictureThumbnail: true;
441
+ };
442
+ compute(profile: {
443
+ profilePictureThumbnail: string | null;
444
+ }): string | null;
445
+ };
295
446
  };
296
447
  };
297
- }>;
298
- /** Attach assignment to an event. */
299
- export declare function attachAssignmentToEvent(assignmentId: string, eventId: string): import(".prisma/client").Prisma.Prisma__AssignmentClient<{
448
+ model: {};
449
+ query: {};
450
+ client: {};
451
+ }, {}>, "Assignment", "update", never> & import("@prisma/client/runtime/library.js").PrismaPromise<{
300
452
  section: {
301
- name: string;
302
453
  id: string;
454
+ name: string;
303
455
  } | null;
304
- teacher: {
305
- id: string;
306
- username: string;
307
- };
308
456
  attachments: {
309
457
  type: string;
310
- name: string;
311
458
  id: string;
459
+ name: string;
312
460
  }[];
461
+ teacher: {
462
+ id: string;
463
+ username: string;
464
+ };
313
465
  } & {
314
466
  type: import(".prisma/client").$Enums.AssignmentType;
315
467
  id: string;
316
468
  createdAt: Date | null;
317
469
  classId: string;
318
- modifiedAt: Date | null;
319
470
  title: string;
320
- instructions: string;
321
471
  dueDate: Date;
472
+ maxGrade: number | null;
473
+ eventId: string | null;
474
+ instructions: string;
475
+ modifiedAt: Date | null;
322
476
  teacherId: string;
323
477
  acceptFiles: boolean;
324
478
  acceptExtendedResponse: boolean;
@@ -327,45 +481,63 @@ export declare function attachAssignmentToEvent(assignmentId: string, eventId: s
327
481
  aiPolicyLevel: number;
328
482
  sectionId: string | null;
329
483
  graded: boolean;
330
- maxGrade: number | null;
331
484
  weight: number;
332
485
  inProgress: boolean;
333
486
  template: boolean;
334
- eventId: string | null;
335
487
  markSchemeId: string | null;
336
488
  order: number | null;
337
489
  gradingBoundaryId: string | null;
338
- }, never, import("@prisma/client/runtime/library.js").DefaultArgs, {
339
- datasources: {
340
- db: {
341
- url: string;
342
- };
343
- };
344
490
  }>;
345
491
  /** Detach assignment from its event. */
346
- export declare function detachAssignmentFromEvent(assignmentId: string): import(".prisma/client").Prisma.Prisma__AssignmentClient<{
492
+ export declare function detachAssignmentFromEvent(assignmentId: string): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
493
+ result: {
494
+ userProfile: {
495
+ profilePicture: () => {
496
+ needs: {
497
+ profilePicture: true;
498
+ };
499
+ compute(profile: {
500
+ profilePicture: string | null;
501
+ }): string | null;
502
+ };
503
+ profilePictureThumbnail: () => {
504
+ needs: {
505
+ profilePictureThumbnail: true;
506
+ };
507
+ compute(profile: {
508
+ profilePictureThumbnail: string | null;
509
+ }): string | null;
510
+ };
511
+ };
512
+ };
513
+ model: {};
514
+ query: {};
515
+ client: {};
516
+ }, {}>, "Assignment", "update", never> & import("@prisma/client/runtime/library.js").PrismaPromise<{
347
517
  section: {
348
- name: string;
349
518
  id: string;
519
+ name: string;
350
520
  } | null;
351
- teacher: {
352
- id: string;
353
- username: string;
354
- };
355
521
  attachments: {
356
522
  type: string;
357
- name: string;
358
523
  id: string;
524
+ name: string;
359
525
  }[];
526
+ teacher: {
527
+ id: string;
528
+ username: string;
529
+ };
360
530
  } & {
361
531
  type: import(".prisma/client").$Enums.AssignmentType;
362
532
  id: string;
363
533
  createdAt: Date | null;
364
534
  classId: string;
365
- modifiedAt: Date | null;
366
535
  title: string;
367
- instructions: string;
368
536
  dueDate: Date;
537
+ maxGrade: number | null;
538
+ eventId: string | null;
539
+ instructions: string;
540
+ modifiedAt: Date | null;
369
541
  teacherId: string;
370
542
  acceptFiles: boolean;
371
543
  acceptExtendedResponse: boolean;
@@ -374,43 +546,35 @@ export declare function detachAssignmentFromEvent(assignmentId: string): import(
374
546
  aiPolicyLevel: number;
375
547
  sectionId: string | null;
376
548
  graded: boolean;
377
- maxGrade: number | null;
378
549
  weight: number;
379
550
  inProgress: boolean;
380
551
  template: boolean;
381
- eventId: string | null;
382
552
  markSchemeId: string | null;
383
553
  order: number | null;
384
554
  gradingBoundaryId: string | null;
385
- }, never, import("@prisma/client/runtime/library.js").DefaultArgs, {
386
- datasources: {
387
- db: {
388
- url: string;
389
- };
390
- };
391
555
  }>;
392
556
  /** @returns Assignments not attached to any event. */
393
- export declare function findAvailableAssignmentsForClass(classId: string): import(".prisma/client").Prisma.PrismaPromise<{
557
+ export declare function findAvailableAssignmentsForClass(classId: string): import("@prisma/client/runtime/library.js").PrismaPromise<{
394
558
  type: import(".prisma/client").$Enums.AssignmentType;
395
- id: string;
396
559
  section: {
397
- name: string;
398
560
  id: string;
561
+ name: string;
399
562
  } | null;
563
+ id: string;
400
564
  title: string;
401
- instructions: string;
402
565
  dueDate: Date;
403
- graded: boolean;
404
566
  maxGrade: number | null;
567
+ attachments: {
568
+ type: string;
569
+ id: string;
570
+ name: string;
571
+ }[];
572
+ instructions: string;
573
+ graded: boolean;
405
574
  weight: number;
406
575
  teacher: {
407
576
  id: string;
408
577
  username: string;
409
578
  };
410
- attachments: {
411
- type: string;
412
- name: string;
413
- id: string;
414
- }[];
415
579
  }[]>;
416
580
  //# sourceMappingURL=event.d.ts.map