@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
@@ -29,66 +29,108 @@ export declare const announcementSelect: {
29
29
  };
30
30
  };
31
31
  /** @returns Announcements for a class. */
32
- export declare function findAnnouncementsByClassId(classId: string): import(".prisma/client").Prisma.PrismaPromise<{
32
+ export declare function findAnnouncementsByClassId(classId: string): import("@prisma/client/runtime/library.js").PrismaPromise<{
33
33
  id: string;
34
34
  createdAt: Date;
35
35
  _count: {
36
36
  comments: number;
37
37
  };
38
- modifiedAt: Date | null;
39
38
  remarks: string;
39
+ modifiedAt: Date | null;
40
40
  teacher: {
41
41
  id: string;
42
42
  username: string;
43
43
  profile: {
44
- displayName: string | null;
45
44
  profilePicture: string | null;
45
+ displayName: string | null;
46
46
  profilePictureThumbnail: string | null;
47
47
  } | null;
48
48
  };
49
49
  attachments: {
50
50
  path: string;
51
51
  type: string;
52
- name: string;
53
52
  id: string;
53
+ name: string;
54
54
  size: number | null;
55
55
  uploadedAt: Date | null;
56
56
  thumbnailId: string | null;
57
57
  }[];
58
58
  }[]>;
59
59
  /** @returns Announcement by ID and class. */
60
- export declare function findAnnouncementByIdAndClass(id: string, classId: string): import(".prisma/client").Prisma.Prisma__AnnouncementClient<{
60
+ export declare function findAnnouncementByIdAndClass(id: string, classId: string): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
61
+ result: {
62
+ userProfile: {
63
+ profilePicture: () => {
64
+ needs: {
65
+ profilePicture: true;
66
+ };
67
+ compute(profile: {
68
+ profilePicture: string | null;
69
+ }): string | null;
70
+ };
71
+ profilePictureThumbnail: () => {
72
+ needs: {
73
+ profilePictureThumbnail: true;
74
+ };
75
+ compute(profile: {
76
+ profilePictureThumbnail: string | null;
77
+ }): string | null;
78
+ };
79
+ };
80
+ };
81
+ model: {};
82
+ query: {};
83
+ client: {};
84
+ }, {}>, "Announcement", "findFirst", null> & import("@prisma/client/runtime/library.js").PrismaPromise<{
61
85
  id: string;
62
86
  createdAt: Date;
63
- modifiedAt: Date | null;
64
87
  remarks: string;
88
+ modifiedAt: Date | null;
65
89
  teacher: {
66
90
  id: string;
67
91
  username: string;
68
92
  profile: {
69
- displayName: string | null;
70
93
  profilePicture: string | null;
94
+ displayName: string | null;
71
95
  profilePictureThumbnail: string | null;
72
96
  } | null;
73
97
  };
74
98
  attachments: {
75
99
  path: string;
76
100
  type: string;
77
- name: string;
78
101
  id: string;
102
+ name: string;
79
103
  size: number | null;
80
104
  uploadedAt: Date | null;
81
105
  thumbnailId: string | null;
82
106
  }[];
83
- } | null, null, import("@prisma/client/runtime/library.js").DefaultArgs, {
84
- datasources: {
85
- db: {
86
- url: string;
107
+ } | null>;
108
+ /** @returns Announcement by ID with class teachers and school admins. */
109
+ export declare function findAnnouncementWithClass(id: string): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
110
+ result: {
111
+ userProfile: {
112
+ profilePicture: () => {
113
+ needs: {
114
+ profilePicture: true;
115
+ };
116
+ compute(profile: {
117
+ profilePicture: string | null;
118
+ }): string | null;
119
+ };
120
+ profilePictureThumbnail: () => {
121
+ needs: {
122
+ profilePictureThumbnail: true;
123
+ };
124
+ compute(profile: {
125
+ profilePictureThumbnail: string | null;
126
+ }): string | null;
127
+ };
87
128
  };
88
129
  };
89
- }>;
90
- /** @returns Announcement by ID with class teachers and school admins. */
91
- export declare function findAnnouncementWithClass(id: string): import(".prisma/client").Prisma.Prisma__AnnouncementClient<({
130
+ model: {};
131
+ query: {};
132
+ client: {};
133
+ }, {}>, "Announcement", "findUnique", null> & import("@prisma/client/runtime/library.js").PrismaPromise<({
92
134
  class: {
93
135
  school: ({
94
136
  users: {
@@ -98,13 +140,13 @@ export declare function findAnnouncementWithClass(id: string): import(".prisma/c
98
140
  userId: string;
99
141
  }[];
100
142
  } & {
101
- name: string;
102
143
  id: string;
144
+ createdAt: Date;
145
+ updatedAt: Date;
146
+ name: string;
103
147
  description: string | null;
104
148
  logoId: string | null;
105
149
  subdomain: string | null;
106
- createdAt: Date;
107
- updatedAt: Date;
108
150
  }) | null;
109
151
  teachers: {
110
152
  id: string;
@@ -115,12 +157,12 @@ export declare function findAnnouncementWithClass(id: string): import(".prisma/c
115
157
  schoolId: string | null;
116
158
  }[];
117
159
  } & {
118
- name: string;
160
+ section: string;
119
161
  id: string;
162
+ name: string;
120
163
  schoolId: string | null;
121
- subject: string;
122
164
  color: string | null;
123
- section: string;
165
+ subject: string;
124
166
  syllabus: string | null;
125
167
  departmentId: string | null;
126
168
  discussionsEnabled: boolean;
@@ -130,62 +172,74 @@ export declare function findAnnouncementWithClass(id: string): import(".prisma/c
130
172
  attachments: {
131
173
  path: string;
132
174
  type: string;
133
- name: string;
134
175
  id: string;
176
+ name: string;
135
177
  size: number | null;
136
- uploadStatus: import(".prisma/client").$Enums.UploadStatus;
137
178
  thumbnail: {
138
179
  path: string;
139
180
  } | null;
181
+ uploadStatus: import(".prisma/client").$Enums.UploadStatus;
140
182
  }[];
141
183
  } & {
142
184
  id: string;
143
185
  createdAt: Date;
144
186
  classId: string;
187
+ remarks: string;
145
188
  modifiedAt: Date | null;
146
189
  teacherId: string;
147
- remarks: string;
148
- }) | null, null, import("@prisma/client/runtime/library.js").DefaultArgs, {
149
- datasources: {
150
- db: {
151
- url: string;
152
- };
153
- };
154
- }>;
190
+ }) | null>;
155
191
  /** Create an announcement. */
156
192
  export declare function createAnnouncement(data: {
157
193
  remarks: string;
158
194
  teacherId: string;
159
195
  classId: string;
160
- }): import(".prisma/client").Prisma.Prisma__AnnouncementClient<{
196
+ }): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
197
+ result: {
198
+ userProfile: {
199
+ profilePicture: () => {
200
+ needs: {
201
+ profilePicture: true;
202
+ };
203
+ compute(profile: {
204
+ profilePicture: string | null;
205
+ }): string | null;
206
+ };
207
+ profilePictureThumbnail: () => {
208
+ needs: {
209
+ profilePictureThumbnail: true;
210
+ };
211
+ compute(profile: {
212
+ profilePictureThumbnail: string | null;
213
+ }): string | null;
214
+ };
215
+ };
216
+ };
217
+ model: {};
218
+ query: {};
219
+ client: {};
220
+ }, {}>, "Announcement", "create", never> & import("@prisma/client/runtime/library.js").PrismaPromise<{
161
221
  id: string;
162
222
  createdAt: Date;
163
- modifiedAt: Date | null;
164
223
  remarks: string;
224
+ modifiedAt: Date | null;
165
225
  teacher: {
166
226
  id: string;
167
227
  username: string;
168
228
  profile: {
169
- displayName: string | null;
170
229
  profilePicture: string | null;
230
+ displayName: string | null;
171
231
  profilePictureThumbnail: string | null;
172
232
  } | null;
173
233
  };
174
234
  attachments: {
175
235
  path: string;
176
236
  type: string;
177
- name: string;
178
237
  id: string;
238
+ name: string;
179
239
  size: number | null;
180
240
  uploadedAt: Date | null;
181
241
  thumbnailId: string | null;
182
242
  }[];
183
- }, never, import("@prisma/client/runtime/library.js").DefaultArgs, {
184
- datasources: {
185
- db: {
186
- url: string;
187
- };
188
- };
189
243
  }>;
190
244
  /** Update announcement attachments. */
191
245
  export declare function updateAnnouncementAttachments(id: string, data: {
@@ -197,82 +251,136 @@ export declare function updateAnnouncementAttachments(id: string, data: {
197
251
  in: string[];
198
252
  };
199
253
  };
200
- }): import(".prisma/client").Prisma.Prisma__AnnouncementClient<{
254
+ }): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
255
+ result: {
256
+ userProfile: {
257
+ profilePicture: () => {
258
+ needs: {
259
+ profilePicture: true;
260
+ };
261
+ compute(profile: {
262
+ profilePicture: string | null;
263
+ }): string | null;
264
+ };
265
+ profilePictureThumbnail: () => {
266
+ needs: {
267
+ profilePictureThumbnail: true;
268
+ };
269
+ compute(profile: {
270
+ profilePictureThumbnail: string | null;
271
+ }): string | null;
272
+ };
273
+ };
274
+ };
275
+ model: {};
276
+ query: {};
277
+ client: {};
278
+ }, {}>, "Announcement", "update", never> & import("@prisma/client/runtime/library.js").PrismaPromise<{
201
279
  id: string;
202
280
  createdAt: Date;
203
- modifiedAt: Date | null;
204
281
  remarks: string;
282
+ modifiedAt: Date | null;
205
283
  teacher: {
206
284
  id: string;
207
285
  username: string;
208
286
  profile: {
209
- displayName: string | null;
210
287
  profilePicture: string | null;
288
+ displayName: string | null;
211
289
  profilePictureThumbnail: string | null;
212
290
  } | null;
213
291
  };
214
292
  attachments: {
215
293
  path: string;
216
294
  type: string;
217
- name: string;
218
295
  id: string;
296
+ name: string;
219
297
  size: number | null;
220
298
  uploadedAt: Date | null;
221
299
  thumbnailId: string | null;
222
300
  }[];
223
- }, never, import("@prisma/client/runtime/library.js").DefaultArgs, {
224
- datasources: {
225
- db: {
226
- url: string;
227
- };
228
- };
229
301
  }>;
230
302
  /** Update announcement remarks. */
231
303
  export declare function updateAnnouncement(id: string, data: {
232
304
  remarks?: string;
233
- }): import(".prisma/client").Prisma.Prisma__AnnouncementClient<{
305
+ }): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
306
+ result: {
307
+ userProfile: {
308
+ profilePicture: () => {
309
+ needs: {
310
+ profilePicture: true;
311
+ };
312
+ compute(profile: {
313
+ profilePicture: string | null;
314
+ }): string | null;
315
+ };
316
+ profilePictureThumbnail: () => {
317
+ needs: {
318
+ profilePictureThumbnail: true;
319
+ };
320
+ compute(profile: {
321
+ profilePictureThumbnail: string | null;
322
+ }): string | null;
323
+ };
324
+ };
325
+ };
326
+ model: {};
327
+ query: {};
328
+ client: {};
329
+ }, {}>, "Announcement", "update", never> & import("@prisma/client/runtime/library.js").PrismaPromise<{
234
330
  id: string;
235
331
  createdAt: Date;
236
- modifiedAt: Date | null;
237
332
  remarks: string;
333
+ modifiedAt: Date | null;
238
334
  teacher: {
239
335
  id: string;
240
336
  username: string;
241
337
  profile: {
242
- displayName: string | null;
243
338
  profilePicture: string | null;
339
+ displayName: string | null;
244
340
  profilePictureThumbnail: string | null;
245
341
  } | null;
246
342
  };
247
343
  attachments: {
248
344
  path: string;
249
345
  type: string;
250
- name: string;
251
346
  id: string;
347
+ name: string;
252
348
  size: number | null;
253
349
  uploadedAt: Date | null;
254
350
  thumbnailId: string | null;
255
351
  }[];
256
- }, never, import("@prisma/client/runtime/library.js").DefaultArgs, {
257
- datasources: {
258
- db: {
259
- url: string;
260
- };
261
- };
262
352
  }>;
263
353
  /** Delete an announcement. */
264
- export declare function deleteAnnouncement(id: string): import(".prisma/client").Prisma.Prisma__AnnouncementClient<{
354
+ export declare function deleteAnnouncement(id: string): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
355
+ result: {
356
+ userProfile: {
357
+ profilePicture: () => {
358
+ needs: {
359
+ profilePicture: true;
360
+ };
361
+ compute(profile: {
362
+ profilePicture: string | null;
363
+ }): string | null;
364
+ };
365
+ profilePictureThumbnail: () => {
366
+ needs: {
367
+ profilePictureThumbnail: true;
368
+ };
369
+ compute(profile: {
370
+ profilePictureThumbnail: string | null;
371
+ }): string | null;
372
+ };
373
+ };
374
+ };
375
+ model: {};
376
+ query: {};
377
+ client: {};
378
+ }, {}>, "Announcement", "delete", never> & import("@prisma/client/runtime/library.js").PrismaPromise<{
265
379
  id: string;
266
380
  createdAt: Date;
267
381
  classId: string;
382
+ remarks: string;
268
383
  modifiedAt: Date | null;
269
384
  teacherId: string;
270
- remarks: string;
271
- }, never, import("@prisma/client/runtime/library.js").DefaultArgs, {
272
- datasources: {
273
- db: {
274
- url: string;
275
- };
276
- };
277
385
  }>;
278
386
  //# sourceMappingURL=announcement.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"announcement.d.ts","sourceRoot":"/","sources":["models/announcement.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6B9B,CAAC;AAEF,0CAA0C;AAC1C,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;KAWzD;AAED,6CAA6C;AAC7C,wBAAgB,4BAA4B,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAKvE;AAED,yEAAyE;AACzE,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCnD;AAED,8BAA8B;AAC9B,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GASA;AAED,uCAAuC;AACvC,wBAAgB,6BAA6B,CAC3C,EAAE,EAAE,MAAM,EACV,IAAI,EAAE;IACJ,OAAO,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC3B,UAAU,CAAC,EAAE;QAAE,EAAE,EAAE;YAAE,EAAE,EAAE,MAAM,EAAE,CAAA;SAAE,CAAA;KAAE,CAAC;CACvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAcF;AAED,mCAAmC;AACnC,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAMxE;AAED,8BAA8B;AAC9B,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;;;GAI5C"}
1
+ {"version":3,"file":"announcement.d.ts","sourceRoot":"/","sources":["models/announcement.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6B9B,CAAC;AAEF,0CAA0C;AAC1C,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;KAWzD;AAED,6CAA6C;AAC7C,wBAAgB,4BAA4B,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAKvE;AAED,yEAAyE;AACzE,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAoCnD;AAED,8BAA8B;AAC9B,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GASA;AAED,uCAAuC;AACvC,wBAAgB,6BAA6B,CAC3C,EAAE,EAAE,MAAM,EACV,IAAI,EAAE;IACJ,OAAO,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC3B,UAAU,CAAC,EAAE;QAAE,EAAE,EAAE;YAAE,EAAE,EAAE,MAAM,EAAE,CAAA;SAAE,CAAA;KAAE,CAAC;CACvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAcF;AAED,mCAAmC;AACnC,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAMxE;AAED,8BAA8B;AAC9B,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAI5C"}