@studious-lms/server 1.13.0 → 1.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (306) hide show
  1. package/.dockerignore +28 -0
  2. package/.env.example +5 -0
  3. package/.github/workflows/deploy.yml +123 -0
  4. package/Dockerfile +54 -0
  5. package/dist/index.js +5 -2
  6. package/dist/index.js.map +1 -1
  7. package/dist/lib/config/cors.d.ts.map +1 -1
  8. package/dist/lib/config/cors.js +31 -11
  9. package/dist/lib/config/cors.js.map +1 -1
  10. package/dist/lib/config/env.d.ts +17 -0
  11. package/dist/lib/config/env.d.ts.map +1 -1
  12. package/dist/lib/config/env.js +8 -2
  13. package/dist/lib/config/env.js.map +1 -1
  14. package/dist/lib/googleCloudStorage.d.ts +10 -0
  15. package/dist/lib/googleCloudStorage.d.ts.map +1 -1
  16. package/dist/lib/googleCloudStorage.js +22 -2
  17. package/dist/lib/googleCloudStorage.js.map +1 -1
  18. package/dist/lib/prisma.d.ts +104 -5
  19. package/dist/lib/prisma.d.ts.map +1 -1
  20. package/dist/lib/prisma.js +33 -2
  21. package/dist/lib/prisma.js.map +1 -1
  22. package/dist/models/agenda.d.ts +20 -20
  23. package/dist/models/announcement.d.ts +177 -69
  24. package/dist/models/announcement.d.ts.map +1 -1
  25. package/dist/models/assignment.d.ts +551 -353
  26. package/dist/models/assignment.d.ts.map +1 -1
  27. package/dist/models/attendance.d.ts +197 -71
  28. package/dist/models/attendance.d.ts.map +1 -1
  29. package/dist/models/auth.d.ts +348 -114
  30. package/dist/models/auth.d.ts.map +1 -1
  31. package/dist/models/class.d.ts +324 -198
  32. package/dist/models/class.d.ts.map +1 -1
  33. package/dist/models/class.js +2 -2
  34. package/dist/models/class.js.map +1 -1
  35. package/dist/models/cloudStorage.d.ts +146 -56
  36. package/dist/models/cloudStorage.d.ts.map +1 -1
  37. package/dist/models/comment.d.ts +267 -115
  38. package/dist/models/comment.d.ts.map +1 -1
  39. package/dist/models/conversation.d.ts +199 -73
  40. package/dist/models/conversation.d.ts.map +1 -1
  41. package/dist/models/department.d.ts +196 -70
  42. package/dist/models/department.d.ts.map +1 -1
  43. package/dist/models/event.d.ts +287 -125
  44. package/dist/models/event.d.ts.map +1 -1
  45. package/dist/models/file.d.ts +389 -263
  46. package/dist/models/file.d.ts.map +1 -1
  47. package/dist/models/folder.d.ts +433 -181
  48. package/dist/models/folder.d.ts.map +1 -1
  49. package/dist/models/labChat.d.ts +209 -83
  50. package/dist/models/labChat.d.ts.map +1 -1
  51. package/dist/models/marketing.d.ts +80 -26
  52. package/dist/models/marketing.d.ts.map +1 -1
  53. package/dist/models/message.d.ts +95 -41
  54. package/dist/models/message.d.ts.map +1 -1
  55. package/dist/models/newtonChat.d.ts +83 -29
  56. package/dist/models/newtonChat.d.ts.map +1 -1
  57. package/dist/models/notification.d.ts +61 -25
  58. package/dist/models/notification.d.ts.map +1 -1
  59. package/dist/models/school.d.ts +349 -133
  60. package/dist/models/school.d.ts.map +1 -1
  61. package/dist/models/section.d.ts +216 -72
  62. package/dist/models/section.d.ts.map +1 -1
  63. package/dist/models/tag.d.ts +156 -48
  64. package/dist/models/tag.d.ts.map +1 -1
  65. package/dist/models/user.d.ts +82 -28
  66. package/dist/models/user.d.ts.map +1 -1
  67. package/dist/models/worksheet.d.ts +1020 -411
  68. package/dist/models/worksheet.d.ts.map +1 -1
  69. package/dist/models/worksheet.js +8 -2
  70. package/dist/models/worksheet.js.map +1 -1
  71. package/dist/pipelines/aiLabChat.d.ts +0 -8
  72. package/dist/pipelines/aiLabChat.d.ts.map +1 -1
  73. package/dist/pipelines/aiLabChat.js +50 -67
  74. package/dist/pipelines/aiLabChat.js.map +1 -1
  75. package/dist/pipelines/aiLabChatContract.d.ts +393 -388
  76. package/dist/pipelines/aiLabChatContract.d.ts.map +1 -1
  77. package/dist/pipelines/aiLabChatContract.js +63 -69
  78. package/dist/pipelines/aiLabChatContract.js.map +1 -1
  79. package/dist/pipelines/aiNewtonChat.d.ts.map +1 -1
  80. package/dist/pipelines/aiNewtonChat.js +41 -41
  81. package/dist/pipelines/aiNewtonChat.js.map +1 -1
  82. package/dist/pipelines/gradeWorksheet.d.ts +8 -8
  83. package/dist/pipelines/labChatPrompt.d.ts +10 -8
  84. package/dist/pipelines/labChatPrompt.d.ts.map +1 -1
  85. package/dist/pipelines/labChatPrompt.js +47 -67
  86. package/dist/pipelines/labChatPrompt.js.map +1 -1
  87. package/dist/pipelines/pdfToWorksheet.d.ts +2 -2
  88. package/dist/routers/_app.d.ts +2203 -1957
  89. package/dist/routers/_app.d.ts.map +1 -1
  90. package/dist/routers/_app.js +4 -2
  91. package/dist/routers/_app.js.map +1 -1
  92. package/dist/routers/admin.d.ts +13 -13
  93. package/dist/routers/agenda.d.ts +18 -18
  94. package/dist/routers/announcement.d.ts +32 -32
  95. package/dist/routers/assignment.d.ts +335 -335
  96. package/dist/routers/attendance.d.ts +10 -10
  97. package/dist/routers/auth.d.ts +2 -2
  98. package/dist/routers/class.d.ts +147 -147
  99. package/dist/routers/comment.d.ts +22 -22
  100. package/dist/routers/conversation.d.ts +17 -17
  101. package/dist/routers/department.d.ts +34 -34
  102. package/dist/routers/discussion.d.ts +65 -53
  103. package/dist/routers/discussion.d.ts.map +1 -1
  104. package/dist/routers/discussion.js +6 -2
  105. package/dist/routers/discussion.js.map +1 -1
  106. package/dist/routers/embedding.d.ts +69 -0
  107. package/dist/routers/embedding.d.ts.map +1 -0
  108. package/dist/routers/embedding.js +143 -0
  109. package/dist/routers/embedding.js.map +1 -0
  110. package/dist/routers/event.d.ts +39 -39
  111. package/dist/routers/file.d.ts +12 -12
  112. package/dist/routers/folder.d.ts +38 -38
  113. package/dist/routers/labChat.d.ts +19 -19
  114. package/dist/routers/marketing.d.ts +2 -2
  115. package/dist/routers/message.d.ts +13 -13
  116. package/dist/routers/newtonChat.d.ts +4 -4
  117. package/dist/routers/notifications.d.ts +9 -9
  118. package/dist/routers/permissions.d.ts +14 -14
  119. package/dist/routers/school.d.ts +55 -55
  120. package/dist/routers/search.d.ts +22 -1
  121. package/dist/routers/search.d.ts.map +1 -1
  122. package/dist/routers/search.js +9 -3
  123. package/dist/routers/search.js.map +1 -1
  124. package/dist/routers/section.d.ts +4 -4
  125. package/dist/routers/studentProgress.d.ts +1 -1
  126. package/dist/routers/tag.d.ts +7 -7
  127. package/dist/routers/user.d.ts +10 -10
  128. package/dist/routers/worksheet.d.ts +95 -57
  129. package/dist/routers/worksheet.d.ts.map +1 -1
  130. package/dist/routers/worksheet.js +26 -2
  131. package/dist/routers/worksheet.js.map +1 -1
  132. package/dist/routes/aiStream.d.ts +2 -0
  133. package/dist/routes/aiStream.d.ts.map +1 -0
  134. package/dist/routes/aiStream.js +696 -0
  135. package/dist/routes/aiStream.js.map +1 -0
  136. package/dist/seedDatabase.d.ts +2 -2
  137. package/dist/seedDatabase.js +6 -6
  138. package/dist/seedDatabase.js.map +1 -1
  139. package/dist/services/adminInstitution.d.ts +8 -8
  140. package/dist/services/adminRunJob.d.ts +4 -4
  141. package/dist/services/agenda.d.ts +18 -18
  142. package/dist/services/aiChatStream.d.ts +68 -0
  143. package/dist/services/aiChatStream.d.ts.map +1 -0
  144. package/dist/services/aiChatStream.js +157 -0
  145. package/dist/services/aiChatStream.js.map +1 -0
  146. package/dist/services/aiModifierTools.d.ts +32 -0
  147. package/dist/services/aiModifierTools.d.ts.map +1 -0
  148. package/dist/services/aiModifierTools.js +165 -0
  149. package/dist/services/aiModifierTools.js.map +1 -0
  150. package/dist/services/aiProposalTools.d.ts +32 -0
  151. package/dist/services/aiProposalTools.d.ts.map +1 -0
  152. package/dist/services/aiProposalTools.js +207 -0
  153. package/dist/services/aiProposalTools.js.map +1 -0
  154. package/dist/services/aiStream.d.ts +22 -0
  155. package/dist/services/aiStream.d.ts.map +1 -0
  156. package/dist/services/aiStream.js +142 -0
  157. package/dist/services/aiStream.js.map +1 -0
  158. package/dist/services/aiTools.d.ts +16 -0
  159. package/dist/services/aiTools.d.ts.map +1 -0
  160. package/dist/services/aiTools.js +271 -0
  161. package/dist/services/aiTools.js.map +1 -0
  162. package/dist/services/announcement.d.ts +12 -12
  163. package/dist/services/announcement.d.ts.map +1 -1
  164. package/dist/services/announcement.js +7 -2
  165. package/dist/services/announcement.js.map +1 -1
  166. package/dist/services/assignment.d.ts +293 -293
  167. package/dist/services/assignment.d.ts.map +1 -1
  168. package/dist/services/assignment.js +28 -9
  169. package/dist/services/assignment.js.map +1 -1
  170. package/dist/services/attendance.d.ts +10 -10
  171. package/dist/services/auth.d.ts +2 -2
  172. package/dist/services/class.d.ts +138 -138
  173. package/dist/services/class.d.ts.map +1 -1
  174. package/dist/services/class.js +19 -3
  175. package/dist/services/class.js.map +1 -1
  176. package/dist/services/comment.d.ts +22 -22
  177. package/dist/services/conversation.d.ts +17 -17
  178. package/dist/services/department.d.ts +33 -33
  179. package/dist/services/discussion.d.ts +58 -58
  180. package/dist/services/discussion.d.ts.map +1 -1
  181. package/dist/services/discussion.js +8 -8
  182. package/dist/services/discussion.js.map +1 -1
  183. package/dist/services/discussionSummary.d.ts +21 -0
  184. package/dist/services/discussionSummary.d.ts.map +1 -0
  185. package/dist/services/discussionSummary.js +179 -0
  186. package/dist/services/discussionSummary.js.map +1 -0
  187. package/dist/services/embedding.d.ts +67 -0
  188. package/dist/services/embedding.d.ts.map +1 -0
  189. package/dist/services/embedding.js +226 -0
  190. package/dist/services/embedding.js.map +1 -0
  191. package/dist/services/event.d.ts +37 -37
  192. package/dist/services/file.d.ts +24 -24
  193. package/dist/services/folder.d.ts +36 -36
  194. package/dist/services/labChat.d.ts +19 -19
  195. package/dist/services/marketing.d.ts +2 -2
  196. package/dist/services/message.d.ts +11 -11
  197. package/dist/services/message.d.ts.map +1 -1
  198. package/dist/services/message.js +2 -2
  199. package/dist/services/message.js.map +1 -1
  200. package/dist/services/newtonChat.d.ts +4 -4
  201. package/dist/services/notification.d.ts +9 -9
  202. package/dist/services/notification.d.ts.map +1 -1
  203. package/dist/services/permissions.d.ts +14 -14
  204. package/dist/services/school.d.ts +50 -50
  205. package/dist/services/search.d.ts +12 -0
  206. package/dist/services/search.d.ts.map +1 -1
  207. package/dist/services/search.js +120 -2
  208. package/dist/services/search.js.map +1 -1
  209. package/dist/services/section.d.ts +3 -3
  210. package/dist/services/tag.d.ts +4 -4
  211. package/dist/services/user.d.ts +4 -4
  212. package/dist/services/user.d.ts.map +1 -1
  213. package/dist/services/user.js +10 -15
  214. package/dist/services/user.js.map +1 -1
  215. package/dist/services/worksheet.d.ts +60 -48
  216. package/dist/services/worksheet.d.ts.map +1 -1
  217. package/dist/services/worksheet.js +11 -4
  218. package/dist/services/worksheet.js.map +1 -1
  219. package/dist/utils/streamBroadcast.d.ts +11 -0
  220. package/dist/utils/streamBroadcast.d.ts.map +1 -0
  221. package/dist/utils/streamBroadcast.js +32 -0
  222. package/dist/utils/streamBroadcast.js.map +1 -0
  223. package/dist/workers/connection.d.ts +15 -0
  224. package/dist/workers/connection.d.ts.map +1 -1
  225. package/dist/workers/connection.js +20 -2
  226. package/dist/workers/connection.js.map +1 -1
  227. package/dist/workers/index.js +4 -2
  228. package/dist/workers/index.js.map +1 -1
  229. package/dist/workers/processors/createRunJobWorker.d.ts.map +1 -1
  230. package/dist/workers/processors/createRunJobWorker.js +31 -8
  231. package/dist/workers/processors/createRunJobWorker.js.map +1 -1
  232. package/dist/workers/processors/embedContent.d.ts +8 -0
  233. package/dist/workers/processors/embedContent.d.ts.map +1 -0
  234. package/dist/workers/processors/embedContent.js +76 -0
  235. package/dist/workers/processors/embedContent.js.map +1 -0
  236. package/dist/workers/queues.d.ts +6 -0
  237. package/dist/workers/queues.d.ts.map +1 -1
  238. package/dist/workers/queues.js +5 -3
  239. package/dist/workers/queues.js.map +1 -1
  240. package/package.json +5 -1
  241. package/prisma/migrations/20260609215135_init/migration.sql +1412 -0
  242. package/prisma/migrations/20260610130000_add_worksheet_tags/migration.sql +13 -0
  243. package/prisma/schema.prisma +38 -7
  244. package/src/index.ts +4 -0
  245. package/src/lib/config/cors.ts +32 -9
  246. package/src/lib/config/env.ts +6 -0
  247. package/src/lib/googleCloudStorage.ts +21 -0
  248. package/src/lib/prisma.ts +40 -1
  249. package/src/models/class.ts +3 -2
  250. package/src/models/worksheet.ts +5 -2
  251. package/src/pipelines/aiLabChat.ts +54 -79
  252. package/src/pipelines/aiLabChatContract.ts +69 -69
  253. package/src/pipelines/aiNewtonChat.ts +46 -43
  254. package/src/pipelines/labChatPrompt.ts +63 -88
  255. package/src/routers/_app.ts +2 -0
  256. package/src/routers/discussion.ts +7 -0
  257. package/src/routers/embedding.ts +159 -0
  258. package/src/routers/search.ts +10 -1
  259. package/src/routers/worksheet.ts +27 -0
  260. package/src/routes/aiStream.ts +789 -0
  261. package/src/seedDatabase.ts +4 -4
  262. package/src/services/aiChatStream.ts +219 -0
  263. package/src/services/aiModifierTools.ts +188 -0
  264. package/src/services/aiProposalTools.ts +272 -0
  265. package/src/services/aiStream.ts +175 -0
  266. package/src/services/aiTools.ts +290 -0
  267. package/src/services/announcement.ts +7 -0
  268. package/src/services/assignment.ts +28 -7
  269. package/src/services/class.ts +20 -1
  270. package/src/services/discussion.ts +9 -8
  271. package/src/services/discussionSummary.ts +226 -0
  272. package/src/services/embedding.ts +285 -0
  273. package/src/services/message.ts +2 -2
  274. package/src/services/search.ts +138 -0
  275. package/src/services/user.ts +9 -17
  276. package/src/services/worksheet.ts +9 -2
  277. package/src/utils/streamBroadcast.ts +48 -0
  278. package/src/workers/connection.ts +19 -0
  279. package/src/workers/index.ts +2 -0
  280. package/src/workers/processors/createRunJobWorker.ts +32 -6
  281. package/src/workers/processors/embedContent.ts +90 -0
  282. package/src/workers/queues.ts +5 -1
  283. package/tests/unit/pipelines/aiLabChatContract.test.ts +38 -21
  284. package/tests/unit/pipelines/labChatPrompt.test.ts +23 -36
  285. package/prisma/migrations/20250807062924_init/migration.sql +0 -436
  286. package/prisma/migrations/20250919063704_init2/migration.sql +0 -24
  287. package/prisma/migrations/20250920143543_add_profile_fields/migration.sql +0 -15
  288. package/prisma/migrations/20250922165147_add_chat_models/migration.sql +0 -68
  289. package/prisma/migrations/20250922165314_add_chat_roles/migration.sql +0 -5
  290. package/prisma/migrations/20250922171242_refactor_notification_system/migration.sql +0 -20
  291. package/prisma/migrations/20250922172208_add_mentions_system/migration.sql +0 -21
  292. package/prisma/migrations/20250925072732_add_lab_chat_system/migration.sql +0 -25
  293. package/prisma/migrations/20251020151505_add_upload_tracking_fields/migration.sql +0 -57
  294. package/prisma/migrations/20251109122857_annuoncements_comments/migration.sql +0 -30
  295. package/prisma/migrations/20251109135555_reactions_announcements_comments/migration.sql +0 -35
  296. package/prisma/migrations/20260410124000_add_submission_recommendation_state/migration.sql +0 -14
  297. package/prisma/migrations/20260415103500_add_session_type/migration.sql +0 -33
  298. package/prisma/migrations/20260415133000_add_ai_usage_logs/migration.sql +0 -19
  299. package/prisma/migrations/20260417083000_add_conversation_member_hidden_at/migration.sql +0 -2
  300. package/prisma/migrations/20260502230500_assignment_submission_comments/migration.sql +0 -60
  301. package/prisma/migrations/20260504071500_school_memberships/migration.sql +0 -81
  302. package/prisma/migrations/20260506162500_consolidate_run_job_and_unify_job_status/migration.sql +0 -166
  303. package/prisma/migrations/20260509220000_institution_overhaul/migration.sql +0 -184
  304. package/prisma/migrations/20260510170000_add_folder_permissions/migration.sql +0 -93
  305. package/prisma/migrations/20260510183000_add_discussions/migration.sql +0 -151
  306. /package/.github/workflows/{npm.yml → npm-publish.yml} +0 -0
@@ -1,5 +1,5 @@
1
1
  /** @returns User's conversations with members and last message. */
2
- export declare function findConversationsByUserId(userId: string): import(".prisma/client").Prisma.PrismaPromise<({
2
+ export declare function findConversationsByUserId(userId: string): import("@prisma/client/runtime/library.js").PrismaPromise<({
3
3
  labChat: {
4
4
  id: string;
5
5
  title: string;
@@ -9,15 +9,15 @@ export declare function findConversationsByUserId(userId: string): import(".pris
9
9
  id: string;
10
10
  username: string;
11
11
  profile: {
12
- displayName: string | null;
13
12
  profilePicture: string | null;
13
+ displayName: string | null;
14
14
  } | null;
15
15
  };
16
16
  } & {
17
17
  id: string;
18
18
  userId: string;
19
- role: import(".prisma/client").$Enums.ConversationRole;
20
19
  conversationId: string;
20
+ role: import(".prisma/client").$Enums.ConversationRole;
21
21
  joinedAt: Date;
22
22
  hiddenAt: Date | null;
23
23
  lastViewedAt: Date | null;
@@ -36,34 +36,52 @@ export declare function findConversationsByUserId(userId: string): import(".pris
36
36
  meta: import("@prisma/client/runtime/library.js").JsonValue | null;
37
37
  id: string;
38
38
  createdAt: Date;
39
- conversationId: string;
40
39
  content: string;
41
- senderId: string;
40
+ conversationId: string;
42
41
  runJobId: string | null;
42
+ senderId: string;
43
43
  })[];
44
44
  } & {
45
45
  type: import(".prisma/client").$Enums.ConversationType;
46
- name: string | null;
47
46
  id: string;
48
47
  createdAt: Date;
49
48
  updatedAt: Date;
49
+ name: string | null;
50
50
  displayInChat: boolean;
51
51
  })[]>;
52
52
  /** Count unread messages in conversation for user. */
53
- export declare function countUnreadMessages(conversationId: string, userId: string, after?: Date): import(".prisma/client").Prisma.PrismaPromise<number>;
53
+ export declare function countUnreadMessages(conversationId: string, userId: string, after?: Date): import("@prisma/client/runtime/library.js").PrismaPromise<number>;
54
54
  /** Count unread mentions for user in conversation. */
55
- export declare function countUnreadMentions(conversationId: string, userId: string, after?: Date): import(".prisma/client").Prisma.PrismaPromise<number>;
55
+ export declare function countUnreadMentions(conversationId: string, userId: string, after?: Date): import("@prisma/client/runtime/library.js").PrismaPromise<number>;
56
56
  /** @returns User by username (id, username only). */
57
- export declare function findUserByUsername(username: string): import(".prisma/client").Prisma.Prisma__UserClient<{
58
- id: string;
59
- username: string;
60
- } | null, null, import("@prisma/client/runtime/library.js").DefaultArgs, {
61
- datasources: {
62
- db: {
63
- url: string;
57
+ export declare function findUserByUsername(username: string): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
58
+ result: {
59
+ userProfile: {
60
+ profilePicture: () => {
61
+ needs: {
62
+ profilePicture: true;
63
+ };
64
+ compute(profile: {
65
+ profilePicture: string | null;
66
+ }): string | null;
67
+ };
68
+ profilePictureThumbnail: () => {
69
+ needs: {
70
+ profilePictureThumbnail: true;
71
+ };
72
+ compute(profile: {
73
+ profilePictureThumbnail: string | null;
74
+ }): string | null;
75
+ };
64
76
  };
65
77
  };
66
- }>;
78
+ model: {};
79
+ query: {};
80
+ client: {};
81
+ }, {}>, "User", "findFirst", null> & import("@prisma/client/runtime/library.js").PrismaPromise<{
82
+ id: string;
83
+ username: string;
84
+ } | null>;
67
85
  /**
68
86
  * Search users who share at least one active school membership with the
69
87
  * requester and match the query by username or profile display name.
@@ -75,26 +93,26 @@ export declare function searchInstitutionConversationMembers(userId: string, que
75
93
  id: string;
76
94
  username: string;
77
95
  profile: {
78
- displayName: string | null;
79
96
  profilePicture: string | null;
97
+ displayName: string | null;
80
98
  profilePictureThumbnail: string | null;
81
99
  } | null;
82
100
  }[]>;
83
101
  /** @returns User's DM conversations. */
84
- export declare function findDmConversationsByUserId(userId: string): import(".prisma/client").Prisma.PrismaPromise<({
102
+ export declare function findDmConversationsByUserId(userId: string): import("@prisma/client/runtime/library.js").PrismaPromise<({
85
103
  members: {
86
104
  userId: string;
87
105
  }[];
88
106
  } & {
89
107
  type: import(".prisma/client").$Enums.ConversationType;
90
- name: string | null;
91
108
  id: string;
92
109
  createdAt: Date;
93
110
  updatedAt: Date;
111
+ name: string | null;
94
112
  displayInChat: boolean;
95
113
  })[]>;
96
114
  /** @returns Users by IDs or usernames. */
97
- export declare function findUsersByIdsOrUsernames(identifiers: string[]): Promise<never[]> | import(".prisma/client").Prisma.PrismaPromise<{
115
+ export declare function findUsersByIdsOrUsernames(identifiers: string[]): Promise<never[]> | import("@prisma/client/runtime/library.js").PrismaPromise<{
98
116
  id: string;
99
117
  username: string;
100
118
  }[]>;
@@ -106,21 +124,45 @@ export declare function createConversation(data: {
106
124
  userId: string;
107
125
  role: string;
108
126
  }[];
109
- }): import(".prisma/client").Prisma.Prisma__ConversationClient<{
127
+ }): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
128
+ result: {
129
+ userProfile: {
130
+ profilePicture: () => {
131
+ needs: {
132
+ profilePicture: true;
133
+ };
134
+ compute(profile: {
135
+ profilePicture: string | null;
136
+ }): string | null;
137
+ };
138
+ profilePictureThumbnail: () => {
139
+ needs: {
140
+ profilePictureThumbnail: true;
141
+ };
142
+ compute(profile: {
143
+ profilePictureThumbnail: string | null;
144
+ }): string | null;
145
+ };
146
+ };
147
+ };
148
+ model: {};
149
+ query: {};
150
+ client: {};
151
+ }, {}>, "Conversation", "create", never> & import("@prisma/client/runtime/library.js").PrismaPromise<{
110
152
  members: ({
111
153
  user: {
112
154
  id: string;
113
155
  username: string;
114
156
  profile: {
115
- displayName: string | null;
116
157
  profilePicture: string | null;
158
+ displayName: string | null;
117
159
  } | null;
118
160
  };
119
161
  } & {
120
162
  id: string;
121
163
  userId: string;
122
- role: import(".prisma/client").$Enums.ConversationRole;
123
164
  conversationId: string;
165
+ role: import(".prisma/client").$Enums.ConversationRole;
124
166
  joinedAt: Date;
125
167
  hiddenAt: Date | null;
126
168
  lastViewedAt: Date | null;
@@ -128,34 +170,52 @@ export declare function createConversation(data: {
128
170
  })[];
129
171
  } & {
130
172
  type: import(".prisma/client").$Enums.ConversationType;
131
- name: string | null;
132
173
  id: string;
133
174
  createdAt: Date;
134
175
  updatedAt: Date;
176
+ name: string | null;
135
177
  displayInChat: boolean;
136
- }, never, import("@prisma/client/runtime/library.js").DefaultArgs, {
137
- datasources: {
138
- db: {
139
- url: string;
140
- };
141
- };
142
178
  }>;
143
179
  /** @returns Conversation if user is a member. */
144
- export declare function findConversationByIdAndMember(conversationId: string, userId: string): import(".prisma/client").Prisma.Prisma__ConversationClient<({
180
+ export declare function findConversationByIdAndMember(conversationId: string, userId: string): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
181
+ result: {
182
+ userProfile: {
183
+ profilePicture: () => {
184
+ needs: {
185
+ profilePicture: true;
186
+ };
187
+ compute(profile: {
188
+ profilePicture: string | null;
189
+ }): string | null;
190
+ };
191
+ profilePictureThumbnail: () => {
192
+ needs: {
193
+ profilePictureThumbnail: true;
194
+ };
195
+ compute(profile: {
196
+ profilePictureThumbnail: string | null;
197
+ }): string | null;
198
+ };
199
+ };
200
+ };
201
+ model: {};
202
+ query: {};
203
+ client: {};
204
+ }, {}>, "Conversation", "findFirst", null> & import("@prisma/client/runtime/library.js").PrismaPromise<({
145
205
  members: ({
146
206
  user: {
147
207
  id: string;
148
208
  username: string;
149
209
  profile: {
150
- displayName: string | null;
151
210
  profilePicture: string | null;
211
+ displayName: string | null;
152
212
  } | null;
153
213
  };
154
214
  } & {
155
215
  id: string;
156
216
  userId: string;
157
- role: import(".prisma/client").$Enums.ConversationRole;
158
217
  conversationId: string;
218
+ role: import(".prisma/client").$Enums.ConversationRole;
159
219
  joinedAt: Date;
160
220
  hiddenAt: Date | null;
161
221
  lastViewedAt: Date | null;
@@ -163,88 +223,154 @@ export declare function findConversationByIdAndMember(conversationId: string, us
163
223
  })[];
164
224
  } & {
165
225
  type: import(".prisma/client").$Enums.ConversationType;
166
- name: string | null;
167
226
  id: string;
168
227
  createdAt: Date;
169
228
  updatedAt: Date;
229
+ name: string | null;
170
230
  displayInChat: boolean;
171
- }) | null, null, import("@prisma/client/runtime/library.js").DefaultArgs, {
172
- datasources: {
173
- db: {
174
- url: string;
175
- };
176
- };
177
- }>;
231
+ }) | null>;
178
232
  /** Add a member to a conversation. */
179
233
  export declare function createConversationMember(data: {
180
234
  userId: string;
181
235
  conversationId: string;
182
236
  role: string;
183
- }): import(".prisma/client").Prisma.Prisma__ConversationMemberClient<{
237
+ }): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
238
+ result: {
239
+ userProfile: {
240
+ profilePicture: () => {
241
+ needs: {
242
+ profilePicture: true;
243
+ };
244
+ compute(profile: {
245
+ profilePicture: string | null;
246
+ }): string | null;
247
+ };
248
+ profilePictureThumbnail: () => {
249
+ needs: {
250
+ profilePictureThumbnail: true;
251
+ };
252
+ compute(profile: {
253
+ profilePictureThumbnail: string | null;
254
+ }): string | null;
255
+ };
256
+ };
257
+ };
258
+ model: {};
259
+ query: {};
260
+ client: {};
261
+ }, {}>, "ConversationMember", "create", never> & import("@prisma/client/runtime/library.js").PrismaPromise<{
184
262
  id: string;
185
263
  userId: string;
186
- role: import(".prisma/client").$Enums.ConversationRole;
187
264
  conversationId: string;
265
+ role: import(".prisma/client").$Enums.ConversationRole;
188
266
  joinedAt: Date;
189
267
  hiddenAt: Date | null;
190
268
  lastViewedAt: Date | null;
191
269
  lastViewedMentionAt: Date | null;
192
- }, never, import("@prisma/client/runtime/library.js").DefaultArgs, {
193
- datasources: {
194
- db: {
195
- url: string;
196
- };
197
- };
198
270
  }>;
199
271
  /** Hide a conversation for a single member until new activity occurs. */
200
- export declare function hideConversationMember(userId: string, conversationId: string): import(".prisma/client").Prisma.Prisma__ConversationMemberClient<{
272
+ export declare function hideConversationMember(userId: string, conversationId: 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
+ }, {}>, "ConversationMember", "update", never> & import("@prisma/client/runtime/library.js").PrismaPromise<{
201
297
  id: string;
202
298
  userId: string;
203
- role: import(".prisma/client").$Enums.ConversationRole;
204
299
  conversationId: string;
300
+ role: import(".prisma/client").$Enums.ConversationRole;
205
301
  joinedAt: Date;
206
302
  hiddenAt: Date | null;
207
303
  lastViewedAt: Date | null;
208
304
  lastViewedMentionAt: Date | null;
209
- }, never, import("@prisma/client/runtime/library.js").DefaultArgs, {
210
- datasources: {
211
- db: {
212
- url: string;
213
- };
214
- };
215
305
  }>;
216
306
  /** Unhide a conversation for a single member. */
217
- export declare function unhideConversationMember(userId: string, conversationId: string): import(".prisma/client").Prisma.Prisma__ConversationMemberClient<{
307
+ export declare function unhideConversationMember(userId: string, conversationId: string): import("@prisma/client/runtime/library.js").DynamicModelExtensionFluentApi<import(".prisma/client").Prisma.TypeMap<import("@prisma/client/runtime/library.js").InternalArgs & {
308
+ result: {
309
+ userProfile: {
310
+ profilePicture: () => {
311
+ needs: {
312
+ profilePicture: true;
313
+ };
314
+ compute(profile: {
315
+ profilePicture: string | null;
316
+ }): string | null;
317
+ };
318
+ profilePictureThumbnail: () => {
319
+ needs: {
320
+ profilePictureThumbnail: true;
321
+ };
322
+ compute(profile: {
323
+ profilePictureThumbnail: string | null;
324
+ }): string | null;
325
+ };
326
+ };
327
+ };
328
+ model: {};
329
+ query: {};
330
+ client: {};
331
+ }, {}>, "ConversationMember", "update", never> & import("@prisma/client/runtime/library.js").PrismaPromise<{
218
332
  id: string;
219
333
  userId: string;
220
- role: import(".prisma/client").$Enums.ConversationRole;
221
334
  conversationId: string;
335
+ role: import(".prisma/client").$Enums.ConversationRole;
222
336
  joinedAt: Date;
223
337
  hiddenAt: Date | null;
224
338
  lastViewedAt: Date | null;
225
339
  lastViewedMentionAt: Date | null;
226
- }, never, import("@prisma/client/runtime/library.js").DefaultArgs, {
227
- datasources: {
228
- db: {
229
- url: string;
230
- };
231
- };
232
340
  }>;
233
341
  /** Remove a member from a conversation. */
234
- export declare function deleteConversationMember(userId: string, conversationId: string): import(".prisma/client").Prisma.Prisma__ConversationMemberClient<{
342
+ export declare function deleteConversationMember(userId: string, conversationId: 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
+ };
361
+ };
362
+ };
363
+ model: {};
364
+ query: {};
365
+ client: {};
366
+ }, {}>, "ConversationMember", "delete", never> & import("@prisma/client/runtime/library.js").PrismaPromise<{
235
367
  id: string;
236
368
  userId: string;
237
- role: import(".prisma/client").$Enums.ConversationRole;
238
369
  conversationId: string;
370
+ role: import(".prisma/client").$Enums.ConversationRole;
239
371
  joinedAt: Date;
240
372
  hiddenAt: Date | null;
241
373
  lastViewedAt: Date | null;
242
374
  lastViewedMentionAt: Date | null;
243
- }, never, import("@prisma/client/runtime/library.js").DefaultArgs, {
244
- datasources: {
245
- db: {
246
- url: string;
247
- };
248
- };
249
375
  }>;
250
376
  //# sourceMappingURL=conversation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"conversation.d.ts","sourceRoot":"/","sources":["models/conversation.ts"],"names":[],"mappings":"AAmCA,mEAAmE;AACnE,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAQvD;AAED,sDAAsD;AACtD,wBAAgB,mBAAmB,CACjC,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,IAAI,yDASb;AAED,sDAAsD;AACtD,wBAAgB,mBAAmB,CACjC,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,IAAI,yDAYb;AAED,qDAAqD;AACrD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM;;;;;;;;;GAKlD;AAED;;;;;;GAMG;AACH,wBAAsB,oCAAoC,CACxD,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM;;;;;;;;KA0Cd;AAED,wCAAwC;AACxC,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM;;;;;;;;;;;MAUzD;AAED,0CAA0C;AAC1C,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,MAAM,EAAE;;;KAW9D;AAED,sDAAsD;AACtD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IACvC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BA;AAED,iDAAiD;AACjD,wBAAgB,6BAA6B,CAC3C,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuBf;AAED,sCAAsC;AACtC,wBAAgB,wBAAwB,CAAC,IAAI,EAAE;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;CACd;;;;;;;;;;;;;;;GAQA;AAED,yEAAyE;AACzE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM;;;;;;;;;;;;;;;GAS5E;AAED,iDAAiD;AACjD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM;;;;;;;;;;;;;;;GAS9E;AAED,2CAA2C;AAC3C,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM;;;;;;;;;;;;;;;GAM9E"}
1
+ {"version":3,"file":"conversation.d.ts","sourceRoot":"/","sources":["models/conversation.ts"],"names":[],"mappings":"AAmCA,mEAAmE;AACnE,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAQvD;AAED,sDAAsD;AACtD,wBAAgB,mBAAmB,CACjC,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,IAAI,qEASb;AAED,sDAAsD;AACtD,wBAAgB,mBAAmB,CACjC,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,IAAI,qEAYb;AAED,qDAAqD;AACrD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;UAKlD;AAED;;;;;;GAMG;AACH,wBAAsB,oCAAoC,CACxD,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM;;;;;;;;KA0Cd;AAED,wCAAwC;AACxC,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM;;;;;;;;;;;MAUzD;AAED,0CAA0C;AAC1C,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,MAAM,EAAE;;;KAW9D;AAED,sDAAsD;AACtD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IACvC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BA;AAED,iDAAiD;AACjD,wBAAgB,6BAA6B,CAC3C,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAuBf;AAED,sCAAsC;AACtC,wBAAgB,wBAAwB,CAAC,IAAI,EAAE;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;CACd;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAQA;AAED,yEAAyE;AACzE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAS5E;AAED,iDAAiD;AACjD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAS9E;AAED,2CAA2C;AAC3C,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAM9E"}