@studious-lms/server 1.12.0 → 1.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (338) hide show
  1. package/.dockerignore +28 -0
  2. package/.env.example +5 -0
  3. package/.github/workflows/deploy.yml +123 -0
  4. package/Dockerfile +54 -0
  5. package/dist/index.js +5 -2
  6. package/dist/index.js.map +1 -1
  7. package/dist/lib/config/cors.d.ts.map +1 -1
  8. package/dist/lib/config/cors.js +31 -11
  9. package/dist/lib/config/cors.js.map +1 -1
  10. package/dist/lib/config/env.d.ts +17 -0
  11. package/dist/lib/config/env.d.ts.map +1 -1
  12. package/dist/lib/config/env.js +8 -2
  13. package/dist/lib/config/env.js.map +1 -1
  14. package/dist/lib/googleCloudStorage.d.ts +10 -0
  15. package/dist/lib/googleCloudStorage.d.ts.map +1 -1
  16. package/dist/lib/googleCloudStorage.js +22 -2
  17. package/dist/lib/googleCloudStorage.js.map +1 -1
  18. package/dist/lib/prisma.d.ts +104 -5
  19. package/dist/lib/prisma.d.ts.map +1 -1
  20. package/dist/lib/prisma.js +33 -2
  21. package/dist/lib/prisma.js.map +1 -1
  22. package/dist/models/agenda.d.ts +20 -20
  23. package/dist/models/announcement.d.ts +177 -69
  24. package/dist/models/announcement.d.ts.map +1 -1
  25. package/dist/models/assignment.d.ts +551 -353
  26. package/dist/models/assignment.d.ts.map +1 -1
  27. package/dist/models/attendance.d.ts +197 -71
  28. package/dist/models/attendance.d.ts.map +1 -1
  29. package/dist/models/auth.d.ts +348 -114
  30. package/dist/models/auth.d.ts.map +1 -1
  31. package/dist/models/class.d.ts +324 -188
  32. package/dist/models/class.d.ts.map +1 -1
  33. package/dist/models/class.js +9 -3
  34. package/dist/models/class.js.map +1 -1
  35. package/dist/models/cloudStorage.d.ts +146 -56
  36. package/dist/models/cloudStorage.d.ts.map +1 -1
  37. package/dist/models/comment.d.ts +269 -110
  38. package/dist/models/comment.d.ts.map +1 -1
  39. package/dist/models/comment.js +3 -2
  40. package/dist/models/comment.js.map +1 -1
  41. package/dist/models/conversation.d.ts +206 -63
  42. package/dist/models/conversation.d.ts.map +1 -1
  43. package/dist/models/conversation.js +13 -2
  44. package/dist/models/conversation.js.map +1 -1
  45. package/dist/models/department.d.ts +196 -70
  46. package/dist/models/department.d.ts.map +1 -1
  47. package/dist/models/event.d.ts +287 -125
  48. package/dist/models/event.d.ts.map +1 -1
  49. package/dist/models/file.d.ts +389 -263
  50. package/dist/models/file.d.ts.map +1 -1
  51. package/dist/models/folder.d.ts +433 -181
  52. package/dist/models/folder.d.ts.map +1 -1
  53. package/dist/models/labChat.d.ts +209 -83
  54. package/dist/models/labChat.d.ts.map +1 -1
  55. package/dist/models/marketing.d.ts +80 -26
  56. package/dist/models/marketing.d.ts.map +1 -1
  57. package/dist/models/message.d.ts +95 -41
  58. package/dist/models/message.d.ts.map +1 -1
  59. package/dist/models/newtonChat.d.ts +83 -29
  60. package/dist/models/newtonChat.d.ts.map +1 -1
  61. package/dist/models/notification.d.ts +61 -25
  62. package/dist/models/notification.d.ts.map +1 -1
  63. package/dist/models/school.d.ts +349 -133
  64. package/dist/models/school.d.ts.map +1 -1
  65. package/dist/models/section.d.ts +216 -72
  66. package/dist/models/section.d.ts.map +1 -1
  67. package/dist/models/tag.d.ts +156 -48
  68. package/dist/models/tag.d.ts.map +1 -1
  69. package/dist/models/user.d.ts +82 -28
  70. package/dist/models/user.d.ts.map +1 -1
  71. package/dist/models/worksheet.d.ts +1023 -410
  72. package/dist/models/worksheet.d.ts.map +1 -1
  73. package/dist/models/worksheet.js +19 -7
  74. package/dist/models/worksheet.js.map +1 -1
  75. package/dist/pipelines/aiLabChat.d.ts +0 -8
  76. package/dist/pipelines/aiLabChat.d.ts.map +1 -1
  77. package/dist/pipelines/aiLabChat.js +50 -67
  78. package/dist/pipelines/aiLabChat.js.map +1 -1
  79. package/dist/pipelines/aiLabChatContract.d.ts +393 -388
  80. package/dist/pipelines/aiLabChatContract.d.ts.map +1 -1
  81. package/dist/pipelines/aiLabChatContract.js +63 -69
  82. package/dist/pipelines/aiLabChatContract.js.map +1 -1
  83. package/dist/pipelines/aiNewtonChat.d.ts.map +1 -1
  84. package/dist/pipelines/aiNewtonChat.js +41 -41
  85. package/dist/pipelines/aiNewtonChat.js.map +1 -1
  86. package/dist/pipelines/gradeWorksheet.d.ts +8 -8
  87. package/dist/pipelines/gradeWorksheet.d.ts.map +1 -1
  88. package/dist/pipelines/gradeWorksheet.js +59 -14
  89. package/dist/pipelines/gradeWorksheet.js.map +1 -1
  90. package/dist/pipelines/labChatPrompt.d.ts +10 -8
  91. package/dist/pipelines/labChatPrompt.d.ts.map +1 -1
  92. package/dist/pipelines/labChatPrompt.js +47 -67
  93. package/dist/pipelines/labChatPrompt.js.map +1 -1
  94. package/dist/pipelines/pdfToWorksheet.d.ts +2 -2
  95. package/dist/routers/_app.d.ts +2268 -1898
  96. package/dist/routers/_app.d.ts.map +1 -1
  97. package/dist/routers/_app.js +4 -2
  98. package/dist/routers/_app.js.map +1 -1
  99. package/dist/routers/admin.d.ts +13 -13
  100. package/dist/routers/agenda.d.ts +18 -18
  101. package/dist/routers/announcement.d.ts +32 -28
  102. package/dist/routers/announcement.d.ts.map +1 -1
  103. package/dist/routers/announcement.js +6 -5
  104. package/dist/routers/announcement.js.map +1 -1
  105. package/dist/routers/assignment.d.ts +335 -327
  106. package/dist/routers/assignment.d.ts.map +1 -1
  107. package/dist/routers/assignment.js +4 -4
  108. package/dist/routers/assignment.js.map +1 -1
  109. package/dist/routers/attendance.d.ts +10 -10
  110. package/dist/routers/auth.d.ts +2 -2
  111. package/dist/routers/class.d.ts +170 -147
  112. package/dist/routers/class.d.ts.map +1 -1
  113. package/dist/routers/comment.d.ts +40 -16
  114. package/dist/routers/comment.d.ts.map +1 -1
  115. package/dist/routers/comment.js +6 -3
  116. package/dist/routers/comment.js.map +1 -1
  117. package/dist/routers/conversation.d.ts +17 -17
  118. package/dist/routers/department.d.ts +34 -34
  119. package/dist/routers/discussion.d.ts +65 -53
  120. package/dist/routers/discussion.d.ts.map +1 -1
  121. package/dist/routers/discussion.js +6 -2
  122. package/dist/routers/discussion.js.map +1 -1
  123. package/dist/routers/embedding.d.ts +69 -0
  124. package/dist/routers/embedding.d.ts.map +1 -0
  125. package/dist/routers/embedding.js +143 -0
  126. package/dist/routers/embedding.js.map +1 -0
  127. package/dist/routers/event.d.ts +39 -39
  128. package/dist/routers/file.d.ts +12 -12
  129. package/dist/routers/folder.d.ts +38 -38
  130. package/dist/routers/labChat.d.ts +19 -19
  131. package/dist/routers/marketing.d.ts +2 -2
  132. package/dist/routers/message.d.ts +13 -13
  133. package/dist/routers/newtonChat.d.ts +4 -4
  134. package/dist/routers/notifications.d.ts +9 -9
  135. package/dist/routers/permissions.d.ts +14 -14
  136. package/dist/routers/school.d.ts +55 -55
  137. package/dist/routers/search.d.ts +22 -1
  138. package/dist/routers/search.d.ts.map +1 -1
  139. package/dist/routers/search.js +9 -3
  140. package/dist/routers/search.js.map +1 -1
  141. package/dist/routers/section.d.ts +4 -4
  142. package/dist/routers/studentProgress.d.ts +1 -1
  143. package/dist/routers/tag.d.ts +7 -7
  144. package/dist/routers/user.d.ts +10 -10
  145. package/dist/routers/worksheet.d.ts +97 -56
  146. package/dist/routers/worksheet.d.ts.map +1 -1
  147. package/dist/routers/worksheet.js +28 -2
  148. package/dist/routers/worksheet.js.map +1 -1
  149. package/dist/routes/aiStream.d.ts +2 -0
  150. package/dist/routes/aiStream.d.ts.map +1 -0
  151. package/dist/routes/aiStream.js +696 -0
  152. package/dist/routes/aiStream.js.map +1 -0
  153. package/dist/seedDatabase.d.ts +2 -2
  154. package/dist/seedDatabase.js +6 -6
  155. package/dist/seedDatabase.js.map +1 -1
  156. package/dist/services/adminInstitution.d.ts +8 -8
  157. package/dist/services/adminRunJob.d.ts +4 -4
  158. package/dist/services/agenda.d.ts +18 -18
  159. package/dist/services/aiChatStream.d.ts +68 -0
  160. package/dist/services/aiChatStream.d.ts.map +1 -0
  161. package/dist/services/aiChatStream.js +157 -0
  162. package/dist/services/aiChatStream.js.map +1 -0
  163. package/dist/services/aiModifierTools.d.ts +32 -0
  164. package/dist/services/aiModifierTools.d.ts.map +1 -0
  165. package/dist/services/aiModifierTools.js +165 -0
  166. package/dist/services/aiModifierTools.js.map +1 -0
  167. package/dist/services/aiProposalTools.d.ts +32 -0
  168. package/dist/services/aiProposalTools.d.ts.map +1 -0
  169. package/dist/services/aiProposalTools.js +207 -0
  170. package/dist/services/aiProposalTools.js.map +1 -0
  171. package/dist/services/aiStream.d.ts +22 -0
  172. package/dist/services/aiStream.d.ts.map +1 -0
  173. package/dist/services/aiStream.js +142 -0
  174. package/dist/services/aiStream.js.map +1 -0
  175. package/dist/services/aiTools.d.ts +16 -0
  176. package/dist/services/aiTools.d.ts.map +1 -0
  177. package/dist/services/aiTools.js +271 -0
  178. package/dist/services/aiTools.js.map +1 -0
  179. package/dist/services/announcement.d.ts +12 -12
  180. package/dist/services/announcement.d.ts.map +1 -1
  181. package/dist/services/announcement.js +7 -2
  182. package/dist/services/announcement.js.map +1 -1
  183. package/dist/services/assignment.d.ts +293 -293
  184. package/dist/services/assignment.d.ts.map +1 -1
  185. package/dist/services/assignment.js +36 -15
  186. package/dist/services/assignment.js.map +1 -1
  187. package/dist/services/attendance.d.ts +10 -10
  188. package/dist/services/auth.d.ts +2 -2
  189. package/dist/services/class.d.ts +161 -138
  190. package/dist/services/class.d.ts.map +1 -1
  191. package/dist/services/class.js +25 -4
  192. package/dist/services/class.js.map +1 -1
  193. package/dist/services/comment.d.ts +34 -16
  194. package/dist/services/comment.d.ts.map +1 -1
  195. package/dist/services/comment.js +23 -2
  196. package/dist/services/comment.js.map +1 -1
  197. package/dist/services/conversation.d.ts +17 -17
  198. package/dist/services/conversation.d.ts.map +1 -1
  199. package/dist/services/conversation.js +9 -7
  200. package/dist/services/conversation.js.map +1 -1
  201. package/dist/services/department.d.ts +33 -33
  202. package/dist/services/discussion.d.ts +58 -58
  203. package/dist/services/discussion.d.ts.map +1 -1
  204. package/dist/services/discussion.js +8 -8
  205. package/dist/services/discussion.js.map +1 -1
  206. package/dist/services/discussionSummary.d.ts +21 -0
  207. package/dist/services/discussionSummary.d.ts.map +1 -0
  208. package/dist/services/discussionSummary.js +179 -0
  209. package/dist/services/discussionSummary.js.map +1 -0
  210. package/dist/services/embedding.d.ts +67 -0
  211. package/dist/services/embedding.d.ts.map +1 -0
  212. package/dist/services/embedding.js +226 -0
  213. package/dist/services/embedding.js.map +1 -0
  214. package/dist/services/event.d.ts +37 -37
  215. package/dist/services/file.d.ts +24 -24
  216. package/dist/services/folder.d.ts +36 -36
  217. package/dist/services/labChat.d.ts +19 -19
  218. package/dist/services/marketing.d.ts +2 -2
  219. package/dist/services/message.d.ts +11 -11
  220. package/dist/services/message.d.ts.map +1 -1
  221. package/dist/services/message.js +2 -2
  222. package/dist/services/message.js.map +1 -1
  223. package/dist/services/newtonChat.d.ts +4 -4
  224. package/dist/services/notification.d.ts +9 -9
  225. package/dist/services/notification.d.ts.map +1 -1
  226. package/dist/services/permissions.d.ts +14 -14
  227. package/dist/services/school.d.ts +50 -50
  228. package/dist/services/search.d.ts +12 -0
  229. package/dist/services/search.d.ts.map +1 -1
  230. package/dist/services/search.js +120 -2
  231. package/dist/services/search.js.map +1 -1
  232. package/dist/services/section.d.ts +3 -3
  233. package/dist/services/tag.d.ts +4 -4
  234. package/dist/services/user.d.ts +4 -4
  235. package/dist/services/user.d.ts.map +1 -1
  236. package/dist/services/user.js +10 -15
  237. package/dist/services/user.js.map +1 -1
  238. package/dist/services/worksheet.d.ts +62 -47
  239. package/dist/services/worksheet.d.ts.map +1 -1
  240. package/dist/services/worksheet.js +11 -4
  241. package/dist/services/worksheet.js.map +1 -1
  242. package/dist/utils/streamBroadcast.d.ts +11 -0
  243. package/dist/utils/streamBroadcast.d.ts.map +1 -0
  244. package/dist/utils/streamBroadcast.js +32 -0
  245. package/dist/utils/streamBroadcast.js.map +1 -0
  246. package/dist/workers/connection.d.ts +15 -0
  247. package/dist/workers/connection.d.ts.map +1 -1
  248. package/dist/workers/connection.js +20 -2
  249. package/dist/workers/connection.js.map +1 -1
  250. package/dist/workers/index.js +4 -2
  251. package/dist/workers/index.js.map +1 -1
  252. package/dist/workers/processors/createRunJobWorker.d.ts.map +1 -1
  253. package/dist/workers/processors/createRunJobWorker.js +31 -8
  254. package/dist/workers/processors/createRunJobWorker.js.map +1 -1
  255. package/dist/workers/processors/embedContent.d.ts +8 -0
  256. package/dist/workers/processors/embedContent.d.ts.map +1 -0
  257. package/dist/workers/processors/embedContent.js +76 -0
  258. package/dist/workers/processors/embedContent.js.map +1 -0
  259. package/dist/workers/queues.d.ts +6 -0
  260. package/dist/workers/queues.d.ts.map +1 -1
  261. package/dist/workers/queues.js +5 -3
  262. package/dist/workers/queues.js.map +1 -1
  263. package/package.json +5 -1
  264. package/prisma/migrations/20260609215135_init/migration.sql +1412 -0
  265. package/prisma/migrations/20260610130000_add_worksheet_tags/migration.sql +13 -0
  266. package/prisma/schema.prisma +39 -7
  267. package/src/index.ts +4 -0
  268. package/src/lib/config/cors.ts +32 -9
  269. package/src/lib/config/env.ts +6 -0
  270. package/src/lib/googleCloudStorage.ts +21 -0
  271. package/src/lib/prisma.ts +40 -1
  272. package/src/models/class.ts +10 -3
  273. package/src/models/comment.ts +1 -0
  274. package/src/models/conversation.ts +12 -0
  275. package/src/models/worksheet.ts +16 -7
  276. package/src/pipelines/aiLabChat.ts +54 -79
  277. package/src/pipelines/aiLabChatContract.ts +69 -69
  278. package/src/pipelines/aiNewtonChat.ts +46 -43
  279. package/src/pipelines/gradeWorksheet.ts +66 -15
  280. package/src/pipelines/labChatPrompt.ts +63 -88
  281. package/src/routers/_app.ts +2 -0
  282. package/src/routers/announcement.ts +4 -3
  283. package/src/routers/assignment.ts +2 -2
  284. package/src/routers/comment.ts +5 -0
  285. package/src/routers/discussion.ts +7 -0
  286. package/src/routers/embedding.ts +159 -0
  287. package/src/routers/search.ts +10 -1
  288. package/src/routers/worksheet.ts +29 -0
  289. package/src/routes/aiStream.ts +789 -0
  290. package/src/seedDatabase.ts +4 -4
  291. package/src/services/aiChatStream.ts +219 -0
  292. package/src/services/aiModifierTools.ts +188 -0
  293. package/src/services/aiProposalTools.ts +272 -0
  294. package/src/services/aiStream.ts +175 -0
  295. package/src/services/aiTools.ts +290 -0
  296. package/src/services/announcement.ts +7 -0
  297. package/src/services/assignment.ts +36 -14
  298. package/src/services/class.ts +30 -2
  299. package/src/services/comment.ts +22 -0
  300. package/src/services/conversation.ts +9 -4
  301. package/src/services/discussion.ts +9 -8
  302. package/src/services/discussionSummary.ts +226 -0
  303. package/src/services/embedding.ts +285 -0
  304. package/src/services/message.ts +2 -2
  305. package/src/services/search.ts +138 -0
  306. package/src/services/user.ts +9 -17
  307. package/src/services/worksheet.ts +10 -2
  308. package/src/utils/streamBroadcast.ts +48 -0
  309. package/src/workers/connection.ts +19 -0
  310. package/src/workers/index.ts +2 -0
  311. package/src/workers/processors/createRunJobWorker.ts +32 -6
  312. package/src/workers/processors/embedContent.ts +90 -0
  313. package/src/workers/queues.ts +5 -1
  314. package/tests/integration/routers/conversation.test.ts +9 -7
  315. package/tests/unit/pipelines/aiLabChatContract.test.ts +38 -21
  316. package/tests/unit/pipelines/labChatPrompt.test.ts +23 -36
  317. package/prisma/migrations/20250807062924_init/migration.sql +0 -436
  318. package/prisma/migrations/20250919063704_init2/migration.sql +0 -24
  319. package/prisma/migrations/20250920143543_add_profile_fields/migration.sql +0 -15
  320. package/prisma/migrations/20250922165147_add_chat_models/migration.sql +0 -68
  321. package/prisma/migrations/20250922165314_add_chat_roles/migration.sql +0 -5
  322. package/prisma/migrations/20250922171242_refactor_notification_system/migration.sql +0 -20
  323. package/prisma/migrations/20250922172208_add_mentions_system/migration.sql +0 -21
  324. package/prisma/migrations/20250925072732_add_lab_chat_system/migration.sql +0 -25
  325. package/prisma/migrations/20251020151505_add_upload_tracking_fields/migration.sql +0 -57
  326. package/prisma/migrations/20251109122857_annuoncements_comments/migration.sql +0 -30
  327. package/prisma/migrations/20251109135555_reactions_announcements_comments/migration.sql +0 -35
  328. package/prisma/migrations/20260410124000_add_submission_recommendation_state/migration.sql +0 -14
  329. package/prisma/migrations/20260415103500_add_session_type/migration.sql +0 -33
  330. package/prisma/migrations/20260415133000_add_ai_usage_logs/migration.sql +0 -19
  331. package/prisma/migrations/20260417083000_add_conversation_member_hidden_at/migration.sql +0 -2
  332. package/prisma/migrations/20260502230500_assignment_submission_comments/migration.sql +0 -60
  333. package/prisma/migrations/20260504071500_school_memberships/migration.sql +0 -81
  334. package/prisma/migrations/20260506162500_consolidate_run_job_and_unify_job_status/migration.sql +0 -166
  335. package/prisma/migrations/20260509220000_institution_overhaul/migration.sql +0 -184
  336. package/prisma/migrations/20260510170000_add_folder_permissions/migration.sql +0 -93
  337. package/prisma/migrations/20260510183000_add_discussions/migration.sql +0 -151
  338. /package/.github/workflows/{npm.yml → npm-publish.yml} +0 -0
@@ -58,24 +58,24 @@ declare function serializeReply(reply: ReplyWithInclude, userId: string): {
58
58
  id: string;
59
59
  username: string;
60
60
  profile: {
61
- displayName: string | null;
62
61
  profilePicture: string | null;
62
+ displayName: string | null;
63
63
  profilePictureThumbnail: string | null;
64
64
  } | null;
65
65
  };
66
66
  attachments: {
67
67
  path: string;
68
68
  type: string;
69
- name: string;
70
69
  id: string;
70
+ name: string;
71
71
  size: number | null;
72
72
  uploadedAt: Date | null;
73
- uploadStatus: import(".prisma/client").$Enums.UploadStatus;
74
- thumbnailId: string | null;
75
73
  thumbnail: {
76
74
  path: string;
77
75
  id: string;
78
76
  } | null;
77
+ thumbnailId: string | null;
78
+ uploadStatus: import(".prisma/client").$Enums.UploadStatus;
79
79
  }[];
80
80
  reactions: {
81
81
  counts: {
@@ -94,22 +94,22 @@ export declare function buildReplyTree(replies: ReplyWithInclude[], userId: stri
94
94
  export declare function getDiscussionClassAccess(classId: string, userId: string): Promise<{
95
95
  isTeacher: boolean;
96
96
  isStudent: boolean;
97
- name: string;
98
97
  school: {
99
98
  memberships: {
100
99
  userId: string;
101
100
  }[];
102
101
  } | null;
103
102
  id: string;
104
- discussionsEnabled: boolean;
105
- studentsCanCreateDiscussions: boolean;
106
- studentsCanReply: boolean;
103
+ name: string;
107
104
  teachers: {
108
105
  id: string;
109
106
  }[];
110
107
  students: {
111
108
  id: string;
112
109
  }[];
110
+ discussionsEnabled: boolean;
111
+ studentsCanCreateDiscussions: boolean;
112
+ studentsCanReply: boolean;
113
113
  }>;
114
114
  export declare function listDiscussions(userId: string, input: {
115
115
  classId: string;
@@ -138,28 +138,28 @@ export declare function listDiscussions(userId: string, input: {
138
138
  id: string;
139
139
  username: string;
140
140
  profile: {
141
- displayName: string | null;
142
141
  profilePicture: string | null;
142
+ displayName: string | null;
143
143
  profilePictureThumbnail: string | null;
144
144
  } | null;
145
145
  };
146
146
  attachments: {
147
147
  path: string;
148
148
  type: string;
149
- name: string;
150
149
  id: string;
150
+ name: string;
151
151
  size: number | null;
152
152
  uploadedAt: Date | null;
153
- uploadStatus: import(".prisma/client").$Enums.UploadStatus;
154
- thumbnailId: string | null;
155
153
  thumbnail: {
156
154
  path: string;
157
155
  id: string;
158
156
  } | null;
157
+ thumbnailId: string | null;
158
+ uploadStatus: import(".prisma/client").$Enums.UploadStatus;
159
159
  }[];
160
160
  tags: {
161
- name: string;
162
161
  id: string;
162
+ name: string;
163
163
  color: string;
164
164
  }[];
165
165
  replyCount: number;
@@ -197,28 +197,28 @@ export declare function getDiscussion(userId: string, discussionId: string): Pro
197
197
  id: string;
198
198
  username: string;
199
199
  profile: {
200
- displayName: string | null;
201
200
  profilePicture: string | null;
201
+ displayName: string | null;
202
202
  profilePictureThumbnail: string | null;
203
203
  } | null;
204
204
  };
205
205
  attachments: {
206
206
  path: string;
207
207
  type: string;
208
- name: string;
209
208
  id: string;
209
+ name: string;
210
210
  size: number | null;
211
211
  uploadedAt: Date | null;
212
- uploadStatus: import(".prisma/client").$Enums.UploadStatus;
213
- thumbnailId: string | null;
214
212
  thumbnail: {
215
213
  path: string;
216
214
  id: string;
217
215
  } | null;
216
+ thumbnailId: string | null;
217
+ uploadStatus: import(".prisma/client").$Enums.UploadStatus;
218
218
  }[];
219
219
  tags: {
220
- name: string;
221
220
  id: string;
221
+ name: string;
222
222
  color: string;
223
223
  }[];
224
224
  replyCount: number;
@@ -270,28 +270,28 @@ export declare function createDiscussion(userId: string, input: {
270
270
  id: string;
271
271
  username: string;
272
272
  profile: {
273
- displayName: string | null;
274
273
  profilePicture: string | null;
274
+ displayName: string | null;
275
275
  profilePictureThumbnail: string | null;
276
276
  } | null;
277
277
  };
278
278
  attachments: {
279
279
  path: string;
280
280
  type: string;
281
- name: string;
282
281
  id: string;
282
+ name: string;
283
283
  size: number | null;
284
284
  uploadedAt: Date | null;
285
- uploadStatus: import(".prisma/client").$Enums.UploadStatus;
286
- thumbnailId: string | null;
287
285
  thumbnail: {
288
286
  path: string;
289
287
  id: string;
290
288
  } | null;
289
+ thumbnailId: string | null;
290
+ uploadStatus: import(".prisma/client").$Enums.UploadStatus;
291
291
  }[];
292
292
  tags: {
293
- name: string;
294
293
  id: string;
294
+ name: string;
295
295
  color: string;
296
296
  }[];
297
297
  replyCount: number;
@@ -336,28 +336,28 @@ export declare function updateDiscussion(userId: string, input: {
336
336
  id: string;
337
337
  username: string;
338
338
  profile: {
339
- displayName: string | null;
340
339
  profilePicture: string | null;
340
+ displayName: string | null;
341
341
  profilePictureThumbnail: string | null;
342
342
  } | null;
343
343
  };
344
344
  attachments: {
345
345
  path: string;
346
346
  type: string;
347
- name: string;
348
347
  id: string;
348
+ name: string;
349
349
  size: number | null;
350
350
  uploadedAt: Date | null;
351
- uploadStatus: import(".prisma/client").$Enums.UploadStatus;
352
- thumbnailId: string | null;
353
351
  thumbnail: {
354
352
  path: string;
355
353
  id: string;
356
354
  } | null;
355
+ thumbnailId: string | null;
356
+ uploadStatus: import(".prisma/client").$Enums.UploadStatus;
357
357
  }[];
358
358
  tags: {
359
- name: string;
360
359
  id: string;
360
+ name: string;
361
361
  color: string;
362
362
  }[];
363
363
  replyCount: number;
@@ -400,24 +400,24 @@ export declare function replyToDiscussion(userId: string, input: {
400
400
  id: string;
401
401
  username: string;
402
402
  profile: {
403
- displayName: string | null;
404
403
  profilePicture: string | null;
404
+ displayName: string | null;
405
405
  profilePictureThumbnail: string | null;
406
406
  } | null;
407
407
  };
408
408
  attachments: {
409
409
  path: string;
410
410
  type: string;
411
- name: string;
412
411
  id: string;
412
+ name: string;
413
413
  size: number | null;
414
414
  uploadedAt: Date | null;
415
- uploadStatus: import(".prisma/client").$Enums.UploadStatus;
416
- thumbnailId: string | null;
417
415
  thumbnail: {
418
416
  path: string;
419
417
  id: string;
420
418
  } | null;
419
+ thumbnailId: string | null;
420
+ uploadStatus: import(".prisma/client").$Enums.UploadStatus;
421
421
  }[];
422
422
  reactions: {
423
423
  counts: {
@@ -452,24 +452,24 @@ export declare function updateDiscussionReply(userId: string, input: {
452
452
  id: string;
453
453
  username: string;
454
454
  profile: {
455
- displayName: string | null;
456
455
  profilePicture: string | null;
456
+ displayName: string | null;
457
457
  profilePictureThumbnail: string | null;
458
458
  } | null;
459
459
  };
460
460
  attachments: {
461
461
  path: string;
462
462
  type: string;
463
- name: string;
464
463
  id: string;
464
+ name: string;
465
465
  size: number | null;
466
466
  uploadedAt: Date | null;
467
- uploadStatus: import(".prisma/client").$Enums.UploadStatus;
468
- thumbnailId: string | null;
469
467
  thumbnail: {
470
468
  path: string;
471
469
  id: string;
472
470
  } | null;
471
+ thumbnailId: string | null;
472
+ uploadStatus: import(".prisma/client").$Enums.UploadStatus;
473
473
  }[];
474
474
  reactions: {
475
475
  counts: {
@@ -500,24 +500,24 @@ export declare function deleteDiscussionReply(userId: string, replyId: string):
500
500
  id: string;
501
501
  username: string;
502
502
  profile: {
503
- displayName: string | null;
504
503
  profilePicture: string | null;
504
+ displayName: string | null;
505
505
  profilePictureThumbnail: string | null;
506
506
  } | null;
507
507
  };
508
508
  attachments: {
509
509
  path: string;
510
510
  type: string;
511
- name: string;
512
511
  id: string;
512
+ name: string;
513
513
  size: number | null;
514
514
  uploadedAt: Date | null;
515
- uploadStatus: import(".prisma/client").$Enums.UploadStatus;
516
- thumbnailId: string | null;
517
515
  thumbnail: {
518
516
  path: string;
519
517
  id: string;
520
518
  } | null;
519
+ thumbnailId: string | null;
520
+ uploadStatus: import(".prisma/client").$Enums.UploadStatus;
521
521
  }[];
522
522
  reactions: {
523
523
  counts: {
@@ -551,28 +551,28 @@ export declare function pinDiscussion(userId: string, discussionId: string, isPi
551
551
  id: string;
552
552
  username: string;
553
553
  profile: {
554
- displayName: string | null;
555
554
  profilePicture: string | null;
555
+ displayName: string | null;
556
556
  profilePictureThumbnail: string | null;
557
557
  } | null;
558
558
  };
559
559
  attachments: {
560
560
  path: string;
561
561
  type: string;
562
- name: string;
563
562
  id: string;
563
+ name: string;
564
564
  size: number | null;
565
565
  uploadedAt: Date | null;
566
- uploadStatus: import(".prisma/client").$Enums.UploadStatus;
567
- thumbnailId: string | null;
568
566
  thumbnail: {
569
567
  path: string;
570
568
  id: string;
571
569
  } | null;
570
+ thumbnailId: string | null;
571
+ uploadStatus: import(".prisma/client").$Enums.UploadStatus;
572
572
  }[];
573
573
  tags: {
574
- name: string;
575
574
  id: string;
575
+ name: string;
576
576
  color: string;
577
577
  }[];
578
578
  replyCount: number;
@@ -610,28 +610,28 @@ export declare function lockDiscussion(userId: string, discussionId: string, isL
610
610
  id: string;
611
611
  username: string;
612
612
  profile: {
613
- displayName: string | null;
614
613
  profilePicture: string | null;
614
+ displayName: string | null;
615
615
  profilePictureThumbnail: string | null;
616
616
  } | null;
617
617
  };
618
618
  attachments: {
619
619
  path: string;
620
620
  type: string;
621
- name: string;
622
621
  id: string;
622
+ name: string;
623
623
  size: number | null;
624
624
  uploadedAt: Date | null;
625
- uploadStatus: import(".prisma/client").$Enums.UploadStatus;
626
- thumbnailId: string | null;
627
625
  thumbnail: {
628
626
  path: string;
629
627
  id: string;
630
628
  } | null;
629
+ thumbnailId: string | null;
630
+ uploadStatus: import(".prisma/client").$Enums.UploadStatus;
631
631
  }[];
632
632
  tags: {
633
- name: string;
634
633
  id: string;
634
+ name: string;
635
635
  color: string;
636
636
  }[];
637
637
  replyCount: number;
@@ -666,24 +666,24 @@ export declare function markAcceptedAnswer(userId: string, replyId: string, acce
666
666
  id: string;
667
667
  username: string;
668
668
  profile: {
669
- displayName: string | null;
670
669
  profilePicture: string | null;
670
+ displayName: string | null;
671
671
  profilePictureThumbnail: string | null;
672
672
  } | null;
673
673
  };
674
674
  attachments: {
675
675
  path: string;
676
676
  type: string;
677
- name: string;
678
677
  id: string;
678
+ name: string;
679
679
  size: number | null;
680
680
  uploadedAt: Date | null;
681
- uploadStatus: import(".prisma/client").$Enums.UploadStatus;
682
- thumbnailId: string | null;
683
681
  thumbnail: {
684
682
  path: string;
685
683
  id: string;
686
684
  } | null;
685
+ thumbnailId: string | null;
686
+ uploadStatus: import(".prisma/client").$Enums.UploadStatus;
687
687
  }[];
688
688
  reactions: {
689
689
  counts: {
@@ -721,8 +721,8 @@ export declare function toggleDiscussionReaction(userId: string, input: {
721
721
  reaction: {
722
722
  type: import(".prisma/client").$Enums.ReactionType;
723
723
  id: string;
724
- createdAt: Date;
725
724
  userId: string;
725
+ createdAt: Date;
726
726
  announcementId: string | null;
727
727
  discussionId: string | null;
728
728
  discussionReplyId: string | null;
@@ -730,8 +730,8 @@ export declare function toggleDiscussionReaction(userId: string, input: {
730
730
  };
731
731
  }>;
732
732
  export declare function listDiscussionTags(userId: string, classId: string): Promise<{
733
- name: string;
734
733
  id: string;
734
+ name: string;
735
735
  color: string;
736
736
  classId: string;
737
737
  }[]>;
@@ -740,8 +740,8 @@ export declare function createDiscussionTag(userId: string, input: {
740
740
  name: string;
741
741
  color: string;
742
742
  }): Promise<{
743
- name: string;
744
743
  id: string;
744
+ name: string;
745
745
  color: string;
746
746
  classId: string;
747
747
  }>;
@@ -750,8 +750,8 @@ export declare function updateDiscussionTag(userId: string, input: {
750
750
  name?: string;
751
751
  color?: string;
752
752
  }): Promise<{
753
- name: string;
754
753
  id: string;
754
+ name: string;
755
755
  color: string;
756
756
  classId: string;
757
757
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"discussion.d.ts","sourceRoot":"/","sources":["services/discussion.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"discussion.d.ts","sourceRoot":"/","sources":["services/discussion.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="b10e68f8-0106-57a7-be41-a32938701565")}catch(e){}}();
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="032ababf-51bb-5770-84c4-b3ab35e0e66b")}catch(e){}}();
3
3
  import { TRPCError } from "@trpc/server";
4
4
  import { prisma } from "../lib/prisma.js";
5
5
  import { discussionChannel, pusher } from "../lib/pusher.js";
@@ -594,32 +594,32 @@ export async function toggleDiscussionReaction(userId, input) {
594
594
  }
595
595
  export async function listDiscussionTags(userId, classId) {
596
596
  await getDiscussionClassAccess(classId, userId);
597
- return prisma.discussionTag.findMany({ where: { classId }, orderBy: { name: "asc" } });
597
+ return prisma.classTag.findMany({ where: { classId }, orderBy: { name: "asc" } });
598
598
  }
599
599
  export async function createDiscussionTag(userId, input) {
600
600
  const isTeacher = await prisma.class.findFirst({ where: { id: input.classId, ...classTeacherOrSchoolAdminWhere(userId) }, select: { id: true, discussionsEnabled: true } });
601
601
  if (!isTeacher?.discussionsEnabled)
602
602
  throw new TRPCError({ code: "FORBIDDEN", message: "Only teachers can manage discussion tags" });
603
- return prisma.discussionTag.create({ data: { classId: input.classId, name: input.name.trim(), color: input.color } });
603
+ return prisma.classTag.create({ data: { classId: input.classId, name: input.name.trim(), color: input.color } });
604
604
  }
605
605
  export async function updateDiscussionTag(userId, input) {
606
- const tag = await prisma.discussionTag.findUnique({ where: { id: input.tagId }, select: { classId: true } });
606
+ const tag = await prisma.classTag.findUnique({ where: { id: input.tagId }, select: { classId: true } });
607
607
  if (!tag)
608
608
  throw new TRPCError({ code: "NOT_FOUND", message: "Tag not found" });
609
609
  const isTeacher = await prisma.class.findFirst({ where: { id: tag.classId, ...classTeacherOrSchoolAdminWhere(userId) }, select: { id: true, discussionsEnabled: true } });
610
610
  if (!isTeacher?.discussionsEnabled)
611
611
  throw new TRPCError({ code: "FORBIDDEN", message: "Only teachers can manage discussion tags" });
612
- return prisma.discussionTag.update({ where: { id: input.tagId }, data: { name: input.name?.trim(), color: input.color } });
612
+ return prisma.classTag.update({ where: { id: input.tagId }, data: { name: input.name?.trim(), color: input.color } });
613
613
  }
614
614
  export async function deleteDiscussionTag(userId, tagId) {
615
- const tag = await prisma.discussionTag.findUnique({ where: { id: tagId }, select: { classId: true } });
615
+ const tag = await prisma.classTag.findUnique({ where: { id: tagId }, select: { classId: true } });
616
616
  if (!tag)
617
617
  throw new TRPCError({ code: "NOT_FOUND", message: "Tag not found" });
618
618
  const isTeacher = await prisma.class.findFirst({ where: { id: tag.classId, ...classTeacherOrSchoolAdminWhere(userId) }, select: { id: true, discussionsEnabled: true } });
619
619
  if (!isTeacher?.discussionsEnabled)
620
620
  throw new TRPCError({ code: "FORBIDDEN", message: "Only teachers can manage discussion tags" });
621
- await prisma.discussionTag.delete({ where: { id: tagId } });
621
+ await prisma.classTag.delete({ where: { id: tagId } });
622
622
  return { success: true };
623
623
  }
624
624
  //# sourceMappingURL=discussion.js.map
625
- //# debugId=b10e68f8-0106-57a7-be41-a32938701565
625
+ //# debugId=032ababf-51bb-5770-84c4-b3ab35e0e66b