@studious-lms/server 1.6.0 → 1.8.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 (212) hide show
  1. package/dist/models/access.d.ts +21 -66
  2. package/dist/models/access.d.ts.map +1 -1
  3. package/dist/models/access.js +10 -26
  4. package/dist/models/access.js.map +1 -1
  5. package/dist/models/agenda.d.ts +2 -0
  6. package/dist/models/agenda.d.ts.map +1 -1
  7. package/dist/models/announcement.d.ts +2 -1
  8. package/dist/models/announcement.d.ts.map +1 -1
  9. package/dist/models/announcement.js +2 -3
  10. package/dist/models/announcement.js.map +1 -1
  11. package/dist/models/assignment.d.ts +7 -0
  12. package/dist/models/assignment.d.ts.map +1 -1
  13. package/dist/models/auth.d.ts +2 -4
  14. package/dist/models/auth.d.ts.map +1 -1
  15. package/dist/models/auth.js +2 -3
  16. package/dist/models/auth.js.map +1 -1
  17. package/dist/models/class.d.ts +32 -4
  18. package/dist/models/class.d.ts.map +1 -1
  19. package/dist/models/class.js +15 -2
  20. package/dist/models/class.js.map +1 -1
  21. package/dist/models/cloudStorage.d.ts +140 -0
  22. package/dist/models/cloudStorage.d.ts.map +1 -0
  23. package/dist/models/cloudStorage.js +175 -0
  24. package/dist/models/cloudStorage.js.map +1 -0
  25. package/dist/models/comment.d.ts +0 -24
  26. package/dist/models/comment.d.ts.map +1 -1
  27. package/dist/models/comment.js +2 -6
  28. package/dist/models/comment.js.map +1 -1
  29. package/dist/models/conversation.d.ts +38 -22
  30. package/dist/models/conversation.d.ts.map +1 -1
  31. package/dist/models/conversation.js +50 -2
  32. package/dist/models/conversation.js.map +1 -1
  33. package/dist/models/department.d.ts +154 -0
  34. package/dist/models/department.d.ts.map +1 -0
  35. package/dist/models/department.js +135 -0
  36. package/dist/models/department.js.map +1 -0
  37. package/dist/models/event.d.ts +7 -1
  38. package/dist/models/event.d.ts.map +1 -1
  39. package/dist/models/event.js +2 -5
  40. package/dist/models/event.js.map +1 -1
  41. package/dist/models/file.d.ts +25 -10
  42. package/dist/models/file.d.ts.map +1 -1
  43. package/dist/models/file.js +2 -5
  44. package/dist/models/file.js.map +1 -1
  45. package/dist/models/folder.d.ts +47 -0
  46. package/dist/models/folder.d.ts.map +1 -1
  47. package/dist/models/labChat.d.ts +5 -3
  48. package/dist/models/labChat.d.ts.map +1 -1
  49. package/dist/models/message.d.ts +46 -12
  50. package/dist/models/message.d.ts.map +1 -1
  51. package/dist/models/message.js +19 -10
  52. package/dist/models/message.js.map +1 -1
  53. package/dist/models/newtonChat.d.ts +2 -1
  54. package/dist/models/newtonChat.d.ts.map +1 -1
  55. package/dist/models/school.d.ts +45 -12
  56. package/dist/models/school.d.ts.map +1 -1
  57. package/dist/models/school.js +19 -2
  58. package/dist/models/school.js.map +1 -1
  59. package/dist/models/section.d.ts +1 -0
  60. package/dist/models/section.d.ts.map +1 -1
  61. package/dist/models/tag.d.ts +117 -0
  62. package/dist/models/tag.d.ts.map +1 -0
  63. package/dist/models/tag.js +113 -0
  64. package/dist/models/tag.js.map +1 -0
  65. package/dist/models/worksheet.d.ts +3 -0
  66. package/dist/models/worksheet.d.ts.map +1 -1
  67. package/dist/pipelines/aiLabChatContract.d.ts +8 -8
  68. package/dist/routers/_app.d.ts +3556 -2298
  69. package/dist/routers/_app.d.ts.map +1 -1
  70. package/dist/routers/_app.js +6 -2
  71. package/dist/routers/_app.js.map +1 -1
  72. package/dist/routers/agenda.d.ts +2 -0
  73. package/dist/routers/agenda.d.ts.map +1 -1
  74. package/dist/routers/announcement.d.ts.map +1 -1
  75. package/dist/routers/announcement.js +3 -5
  76. package/dist/routers/announcement.js.map +1 -1
  77. package/dist/routers/assignment.d.ts +18 -9
  78. package/dist/routers/assignment.d.ts.map +1 -1
  79. package/dist/routers/assignment.js +2 -3
  80. package/dist/routers/assignment.js.map +1 -1
  81. package/dist/routers/class.d.ts +87 -14
  82. package/dist/routers/class.d.ts.map +1 -1
  83. package/dist/routers/class.js +5 -2
  84. package/dist/routers/class.js.map +1 -1
  85. package/dist/routers/conversation.d.ts +20 -5
  86. package/dist/routers/conversation.d.ts.map +1 -1
  87. package/dist/routers/conversation.js +6 -3
  88. package/dist/routers/conversation.js.map +1 -1
  89. package/dist/routers/department.d.ts +293 -0
  90. package/dist/routers/department.d.ts.map +1 -0
  91. package/dist/routers/department.js +93 -0
  92. package/dist/routers/department.js.map +1 -0
  93. package/dist/routers/event.d.ts +2 -1
  94. package/dist/routers/event.d.ts.map +1 -1
  95. package/dist/routers/file.d.ts +8 -6
  96. package/dist/routers/file.d.ts.map +1 -1
  97. package/dist/routers/file.js +26 -17
  98. package/dist/routers/file.js.map +1 -1
  99. package/dist/routers/folder.d.ts +139 -186
  100. package/dist/routers/folder.d.ts.map +1 -1
  101. package/dist/routers/folder.js +82 -90
  102. package/dist/routers/folder.js.map +1 -1
  103. package/dist/routers/labChat.d.ts +11 -2
  104. package/dist/routers/labChat.d.ts.map +1 -1
  105. package/dist/routers/message.d.ts +20 -2
  106. package/dist/routers/message.d.ts.map +1 -1
  107. package/dist/routers/newtonChat.d.ts +9 -0
  108. package/dist/routers/newtonChat.d.ts.map +1 -1
  109. package/dist/routers/school.d.ts +160 -17
  110. package/dist/routers/school.d.ts.map +1 -1
  111. package/dist/routers/school.js +46 -3
  112. package/dist/routers/school.js.map +1 -1
  113. package/dist/routers/tag.d.ts +119 -0
  114. package/dist/routers/tag.d.ts.map +1 -0
  115. package/dist/routers/tag.js +52 -0
  116. package/dist/routers/tag.js.map +1 -0
  117. package/dist/routers/worksheet.d.ts +1 -0
  118. package/dist/routers/worksheet.d.ts.map +1 -1
  119. package/dist/seedDatabase.d.ts +0 -1
  120. package/dist/seedDatabase.d.ts.map +1 -1
  121. package/dist/services/agenda.d.ts +2 -0
  122. package/dist/services/agenda.d.ts.map +1 -1
  123. package/dist/services/assignment.d.ts +18 -9
  124. package/dist/services/assignment.d.ts.map +1 -1
  125. package/dist/services/assignment.js +4 -4
  126. package/dist/services/assignment.js.map +1 -1
  127. package/dist/services/class.d.ts +87 -14
  128. package/dist/services/class.d.ts.map +1 -1
  129. package/dist/services/class.js +91 -4
  130. package/dist/services/class.js.map +1 -1
  131. package/dist/services/conversation.d.ts +21 -5
  132. package/dist/services/conversation.d.ts.map +1 -1
  133. package/dist/services/conversation.js +22 -3
  134. package/dist/services/conversation.js.map +1 -1
  135. package/dist/services/department.d.ts +200 -0
  136. package/dist/services/department.d.ts.map +1 -0
  137. package/dist/services/department.js +368 -0
  138. package/dist/services/department.js.map +1 -0
  139. package/dist/services/event.d.ts +2 -1
  140. package/dist/services/event.d.ts.map +1 -1
  141. package/dist/services/file.d.ts +85 -0
  142. package/dist/services/file.d.ts.map +1 -1
  143. package/dist/services/file.js +92 -2
  144. package/dist/services/file.js.map +1 -1
  145. package/dist/services/folder.d.ts +125 -149
  146. package/dist/services/folder.d.ts.map +1 -1
  147. package/dist/services/folder.js +258 -199
  148. package/dist/services/folder.js.map +1 -1
  149. package/dist/services/labChat.d.ts +11 -2
  150. package/dist/services/labChat.d.ts.map +1 -1
  151. package/dist/services/labChat.js +8 -7
  152. package/dist/services/labChat.js.map +1 -1
  153. package/dist/services/message.d.ts +20 -2
  154. package/dist/services/message.d.ts.map +1 -1
  155. package/dist/services/message.js +7 -23
  156. package/dist/services/message.js.map +1 -1
  157. package/dist/services/newtonChat.d.ts +9 -0
  158. package/dist/services/newtonChat.d.ts.map +1 -1
  159. package/dist/services/newtonChat.js +7 -6
  160. package/dist/services/newtonChat.js.map +1 -1
  161. package/dist/services/school.d.ts +142 -15
  162. package/dist/services/school.d.ts.map +1 -1
  163. package/dist/services/school.js +308 -54
  164. package/dist/services/school.js.map +1 -1
  165. package/dist/services/tag.d.ts +71 -0
  166. package/dist/services/tag.d.ts.map +1 -0
  167. package/dist/services/tag.js +178 -0
  168. package/dist/services/tag.js.map +1 -0
  169. package/dist/services/worksheet.d.ts +1 -0
  170. package/dist/services/worksheet.d.ts.map +1 -1
  171. package/dist/utils/aiUser.d.ts.map +1 -1
  172. package/dist/utils/aiUser.js +2 -3
  173. package/dist/utils/aiUser.js.map +1 -1
  174. package/package.json +1 -1
  175. package/prisma/migrations/20260509220000_institution_overhaul/migration.sql +184 -0
  176. package/prisma/schema.prisma +119 -35
  177. package/src/models/access.ts +8 -24
  178. package/src/models/announcement.ts +0 -1
  179. package/src/models/auth.ts +0 -1
  180. package/src/models/class.ts +13 -0
  181. package/src/models/cloudStorage.ts +194 -0
  182. package/src/models/comment.ts +0 -4
  183. package/src/models/conversation.ts +54 -0
  184. package/src/models/department.ts +159 -0
  185. package/src/models/event.ts +0 -3
  186. package/src/models/file.ts +0 -3
  187. package/src/models/message.ts +19 -5
  188. package/src/models/school.ts +26 -0
  189. package/src/models/tag.ts +140 -0
  190. package/src/routers/_app.ts +4 -0
  191. package/src/routers/announcement.ts +1 -3
  192. package/src/routers/assignment.ts +0 -1
  193. package/src/routers/class.ts +3 -0
  194. package/src/routers/conversation.ts +7 -0
  195. package/src/routers/department.ts +174 -0
  196. package/src/routers/file.ts +29 -26
  197. package/src/routers/folder.ts +100 -121
  198. package/src/routers/school.ts +83 -0
  199. package/src/routers/tag.ts +78 -0
  200. package/src/services/assignment.ts +2 -3
  201. package/src/services/class.ts +108 -3
  202. package/src/services/conversation.ts +30 -0
  203. package/src/services/department.ts +478 -0
  204. package/src/services/file.ts +100 -0
  205. package/src/services/folder.ts +313 -240
  206. package/src/services/labChat.ts +7 -6
  207. package/src/services/message.ts +5 -21
  208. package/src/services/newtonChat.ts +5 -5
  209. package/src/services/school.ts +369 -57
  210. package/src/services/tag.ts +229 -0
  211. package/src/utils/aiUser.ts +0 -1
  212. package/tests/integration/routers/conversation.test.ts +121 -2
@@ -1 +1 @@
1
- {"version":3,"file":"class.js","sources":["routers/class.ts"],"sourceRoot":"/","sourcesContent":["import { z } from \"zod\";\nimport {\n createTRPCRouter,\n protectedProcedure,\n protectedTeacherProcedure,\n protectedClassMemberProcedure,\n} from \"../trpc.js\";\nimport {\n getAllClasses,\n getClass,\n updateClass,\n createClass,\n deleteClass,\n addStudent,\n changeRole,\n removeMember,\n leaveClass,\n joinClass,\n getInviteCode,\n createInviteCode,\n getGrades,\n updateGrade,\n getEvents,\n listMarkSchemes,\n createMarkScheme,\n updateMarkScheme,\n deleteMarkScheme,\n listGradingBoundaries,\n createGradingBoundary,\n updateGradingBoundary,\n deleteGradingBoundary,\n getSyllabus,\n updateSyllabus,\n listLabDrafts,\n createLabDraft,\n updateLabDraft,\n deleteLabDraft,\n publishLabDraft,\n getFiles,\n exportClass,\n importClass,\n} from \"../services/class.js\";\n\nexport const classRouter = createTRPCRouter({\n getAll: protectedProcedure.query(({ ctx }) =>\n getAllClasses(ctx.user?.id ?? \"\")\n ),\n\n get: protectedClassMemberProcedure\n .input(z.object({ classId: z.string() }))\n .query(({ ctx, input }) =>\n getClass(ctx.user?.id ?? \"\", input.classId)\n ),\n update: protectedTeacherProcedure\n .input(\n z.object({\n classId: z.string(),\n name: z.string().optional(),\n section: z.string().optional(),\n subject: z.string().optional(),\n })\n )\n .mutation(({ input }) => {\n const { classId, ...updateData } = input;\n return updateClass(classId, updateData);\n }),\n\n create: protectedProcedure\n .input(\n z.object({\n students: z.array(z.string()).optional(),\n teachers: z.array(z.string()).optional(),\n name: z.string(),\n section: z.string(),\n subject: z.string(),\n color: z.string().optional(),\n schoolId: z.string().optional(),\n })\n )\n .mutation(({ ctx, input }) =>\n createClass(ctx.user?.id ?? \"\", input)\n ),\n\n delete: protectedTeacherProcedure\n .input(z.object({ classId: z.string(), id: z.string() }))\n .mutation(({ input }) => deleteClass(input.id)),\n addStudent: protectedTeacherProcedure\n .input(z.object({ classId: z.string(), studentId: z.string() }))\n .mutation(({ input }) => addStudent(input.classId, input.studentId)),\n\n changeRole: protectedTeacherProcedure\n .input(\n z.object({\n classId: z.string(),\n userId: z.string(),\n type: z.enum([\"teacher\", \"student\"]),\n })\n )\n .mutation(({ input }) =>\n changeRole(input.classId, input.userId, input.type)\n ),\n\n removeMember: protectedTeacherProcedure\n .input(z.object({ classId: z.string(), userId: z.string() }))\n .mutation(({ input }) => removeMember(input.classId, input.userId)),\n\n leaveClass: protectedProcedure\n .input(z.object({ classId: z.string() }))\n .mutation(({ ctx, input }) => {\n if (!ctx.user?.id) {\n throw new Error(\"User not authenticated\");\n }\n return leaveClass(ctx.user.id, input.classId);\n }),\n\n join: protectedProcedure\n .input(z.object({ classCode: z.string() }))\n .mutation(({ ctx, input }) =>\n joinClass(ctx.user?.id ?? \"\", input.classCode)\n ),\n\n getInviteCode: protectedTeacherProcedure\n .input(z.object({ classId: z.string() }))\n .query(({ input }) => getInviteCode(input.classId)),\n\n createInviteCode: protectedTeacherProcedure\n .input(z.object({ classId: z.string() }))\n .mutation(({ input }) => createInviteCode(input.classId)),\n getGrades: protectedClassMemberProcedure\n .input(z.object({ classId: z.string(), userId: z.string() }))\n .query(({ ctx, input }) =>\n getGrades(ctx.user?.id ?? \"\", input.classId, input.userId)\n ),\n\n updateGrade: protectedTeacherProcedure\n .input(\n z.object({\n classId: z.string(),\n assignmentId: z.string(),\n submissionId: z.string(),\n gradeReceived: z.number().nullable(),\n })\n )\n .mutation(({ input }) =>\n updateGrade(\n input.assignmentId,\n input.submissionId,\n input.gradeReceived\n )\n ),\n\n getEvents: protectedTeacherProcedure\n .input(z.object({ classId: z.string() }))\n .query(({ input }) => getEvents(input.classId)),\n listMarkSchemes: protectedClassMemberProcedure\n .input(z.object({ classId: z.string() }))\n .query(({ input }) => listMarkSchemes(input.classId)),\n\n createMarkScheme: protectedTeacherProcedure\n .input(z.object({ classId: z.string(), structure: z.string() }))\n .mutation(({ input }) =>\n createMarkScheme(input.classId, input.structure)\n ),\n\n updateMarkScheme: protectedTeacherProcedure\n .input(\n z.object({\n classId: z.string(),\n markSchemeId: z.string(),\n structure: z.string(),\n })\n )\n .mutation(({ input }) =>\n updateMarkScheme(\n input.markSchemeId,\n input.classId,\n input.structure\n )\n ),\n\n deleteMarkScheme: protectedTeacherProcedure\n .input(z.object({ classId: z.string(), markSchemeId: z.string() }))\n .mutation(({ input }) => deleteMarkScheme(input.markSchemeId)),\n\n listGradingBoundaries: protectedClassMemberProcedure\n .input(z.object({ classId: z.string() }))\n .query(({ input }) => listGradingBoundaries(input.classId)),\n\n createGradingBoundary: protectedTeacherProcedure\n .input(z.object({ classId: z.string(), structure: z.string() }))\n .mutation(({ input }) =>\n createGradingBoundary(input.classId, input.structure)\n ),\n\n updateGradingBoundary: protectedTeacherProcedure\n .input(\n z.object({\n classId: z.string(),\n gradingBoundaryId: z.string(),\n structure: z.string(),\n })\n )\n .mutation(({ input }) =>\n updateGradingBoundary(\n input.gradingBoundaryId,\n input.classId,\n input.structure\n )\n ),\n\n deleteGradingBoundary: protectedTeacherProcedure\n .input(\n z.object({ classId: z.string(), gradingBoundaryId: z.string() })\n )\n .mutation(({ input }) => deleteGradingBoundary(input.gradingBoundaryId)),\n getSyllabus: protectedClassMemberProcedure\n .input(z.object({ classId: z.string() }))\n .query(({ input }) => getSyllabus(input.classId)),\n\n updateSyllabus: protectedTeacherProcedure\n .input(z.object({ classId: z.string(), contents: z.string() }))\n .mutation(({ input }) =>\n updateSyllabus(input.classId, input.contents)\n ),\n listLabDrafts: protectedTeacherProcedure\n .input(z.object({ classId: z.string() }))\n .query(({ ctx, input }) =>\n listLabDrafts(input.classId, ctx.user?.id ?? \"\")\n ),\n\n createLabDraft: protectedTeacherProcedure\n .input(\n z.object({\n classId: z.string(),\n title: z.string(),\n type: z.enum([\n \"LAB\",\n \"HOMEWORK\",\n \"QUIZ\",\n \"TEST\",\n \"PROJECT\",\n \"ESSAY\",\n \"DISCUSSION\",\n \"PRESENTATION\",\n \"OTHER\",\n ]),\n instructions: z.string(),\n dueDate: z.date().optional(),\n maxGrade: z.number().optional(),\n weight: z.number().optional(),\n graded: z.boolean().optional(),\n sectionId: z.string().optional(),\n markSchemeId: z.string().optional(),\n gradingBoundaryId: z.string().optional(),\n })\n )\n .mutation(({ ctx, input }) => {\n const { classId, ...draftData } = input;\n return createLabDraft(classId, ctx.user?.id ?? \"\", draftData);\n }),\n\n updateLabDraft: protectedTeacherProcedure\n .input(\n z.object({\n classId: z.string(),\n draftId: z.string(),\n title: z.string().optional(),\n instructions: z.string().optional(),\n dueDate: z.date().optional(),\n maxGrade: z.number().optional(),\n weight: z.number().optional(),\n graded: z.boolean().optional(),\n sectionId: z.string().optional(),\n markSchemeId: z.string().optional(),\n gradingBoundaryId: z.string().optional(),\n })\n )\n .mutation(({ ctx, input }) => {\n const { classId, draftId, ...updateData } = input;\n return updateLabDraft(\n classId,\n ctx.user?.id ?? \"\",\n draftId,\n updateData\n );\n }),\n\n deleteLabDraft: protectedTeacherProcedure\n .input(z.object({ classId: z.string(), draftId: z.string() }))\n .mutation(({ ctx, input }) =>\n deleteLabDraft(input.classId, ctx.user?.id ?? \"\", input.draftId)\n ),\n\n publishLabDraft: protectedTeacherProcedure\n .input(\n z.object({\n classId: z.string(),\n draftId: z.string(),\n dueDate: z.date().optional(),\n maxGrade: z.number().optional(),\n weight: z.number().optional(),\n graded: z.boolean().optional(),\n })\n )\n .mutation(({ ctx, input }) => {\n const { classId, draftId, ...publishData } = input;\n return publishLabDraft(\n classId,\n ctx.user?.id ?? \"\",\n draftId,\n publishData\n );\n }),\n\n getFiles: protectedClassMemberProcedure\n .input(z.object({ classId: z.string() }))\n .query(({ input }) => getFiles(input.classId)),\n exportClass: protectedTeacherProcedure\n .input(z.object({ classId: z.string() }))\n .mutation(({ ctx, input }) => exportClass(input.classId, ctx.user?.id ?? \"\")),\n\n importClass: protectedProcedure\n .input(\n z.object({\n classId: z.string(),\n year: z.number(),\n classData: z.any(),\n })\n )\n .mutation(({ ctx, input }) =>\n importClass(input.classId, ctx.user?.id ?? \"\", input.year, input.classData)\n ),\n});\n"],"names":[],"mappings":";;AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,yBAAyB,EACzB,6BAA6B,GAC9B,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,aAAa,EACb,QAAQ,EACR,WAAW,EACX,WAAW,EACX,WAAW,EACX,UAAU,EACV,UAAU,EACV,YAAY,EACZ,UAAU,EACV,SAAS,EACT,aAAa,EACb,gBAAgB,EAChB,SAAS,EACT,WAAW,EACX,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,WAAW,EACX,cAAc,EACd,aAAa,EACb,cAAc,EACd,cAAc,EACd,cAAc,EACd,eAAe,EACf,QAAQ,EACR,WAAW,EACX,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAE9B,MAAM,CAAC,MAAM,WAAW,GAAG,gBAAgB,CAAC;IAC1C,MAAM,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAC3C,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAClC;IAED,GAAG,EAAE,6BAA6B;SAC/B,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;SACxC,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CACxB,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,CAC5C;IACH,MAAM,EAAE,yBAAyB;SAC9B,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC3B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC9B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC/B,CAAC,CACH;SACA,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;QACtB,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE,GAAG,KAAK,CAAC;QACzC,OAAO,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAC1C,CAAC,CAAC;IAEJ,MAAM,EAAE,kBAAkB;SACvB,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QACxC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QACxC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC5B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAChC,CAAC,CACH;SACA,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAC3B,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,CAAC,CACvC;IAEH,MAAM,EAAE,yBAAyB;SAC9B,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;SACxD,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACjD,UAAU,EAAE,yBAAyB;SAClC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;SAC/D,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAEtE,UAAU,EAAE,yBAAyB;SAClC,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;QAClB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;KACrC,CAAC,CACH;SACA,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CACtB,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CACpD;IAEH,YAAY,EAAE,yBAAyB;SACpC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;SAC5D,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAErE,UAAU,EAAE,kBAAkB;SAC3B,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;SACxC,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE;QAC3B,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC,CAAC;IAEJ,IAAI,EAAE,kBAAkB;SACrB,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;SAC1C,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAC3B,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,CAAC,SAAS,CAAC,CAC/C;IAEH,aAAa,EAAE,yBAAyB;SACrC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;SACxC,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAErD,gBAAgB,EAAE,yBAAyB;SACxC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;SACxC,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3D,SAAS,EAAE,6BAA6B;SACrC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;SAC5D,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CACxB,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAC3D;IAEH,WAAW,EAAE,yBAAyB;SACnC,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;QACxB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;QACxB,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KACrC,CAAC,CACH;SACA,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CACtB,WAAW,CACT,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,aAAa,CACpB,CACF;IAEH,SAAS,EAAE,yBAAyB;SACjC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;SACxC,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACjD,eAAe,EAAE,6BAA6B;SAC3C,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;SACxC,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAEvD,gBAAgB,EAAE,yBAAyB;SACxC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;SAC/D,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CACtB,gBAAgB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,CACjD;IAEH,gBAAgB,EAAE,yBAAyB;SACxC,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;QACxB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;KACtB,CAAC,CACH;SACA,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CACtB,gBAAgB,CACd,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,SAAS,CAChB,CACF;IAEH,gBAAgB,EAAE,yBAAyB;SACxC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;SAClE,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAEhE,qBAAqB,EAAE,6BAA6B;SACjD,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;SACxC,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,qBAAqB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAE7D,qBAAqB,EAAE,yBAAyB;SAC7C,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;SAC/D,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CACtB,qBAAqB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,CACtD;IAEH,qBAAqB,EAAE,yBAAyB;SAC7C,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE;QAC7B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;KACtB,CAAC,CACH;SACA,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CACtB,qBAAqB,CACnB,KAAK,CAAC,iBAAiB,EACvB,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,SAAS,CAChB,CACF;IAEH,qBAAqB,EAAE,yBAAyB;SAC7C,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CACjE;SACA,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,qBAAqB,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC1E,WAAW,EAAE,6BAA6B;SACvC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;SACxC,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAEnD,cAAc,EAAE,yBAAyB;SACtC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;SAC9D,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CACtB,cAAc,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAC9C;IACH,aAAa,EAAE,yBAAyB;SACrC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;SACxC,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CACxB,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CACjD;IAEH,cAAc,EAAE,yBAAyB;SACtC,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;YACX,KAAK;YACL,UAAU;YACV,MAAM;YACN,MAAM;YACN,SAAS;YACT,OAAO;YACP,YAAY;YACZ,cAAc;YACd,OAAO;SACR,CAAC;QACF,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;QACxB,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;QAC5B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC/B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC7B,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QAC9B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAChC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACnC,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KACzC,CAAC,CACH;SACA,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE;QAC3B,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK,CAAC;QACxC,OAAO,cAAc,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,CAAC,CAAC;IAChE,CAAC,CAAC;IAEJ,cAAc,EAAE,yBAAyB;SACtC,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC5B,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACnC,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;QAC5B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC/B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC7B,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QAC9B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAChC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACnC,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KACzC,CAAC,CACH;SACA,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE;QAC3B,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE,GAAG,KAAK,CAAC;QAClD,OAAO,cAAc,CACnB,OAAO,EACP,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EAClB,OAAO,EACP,UAAU,CACX,CAAC;IACJ,CAAC,CAAC;IAEJ,cAAc,EAAE,yBAAyB;SACtC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;SAC7D,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAC3B,cAAc,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,CACjE;IAEH,eAAe,EAAE,yBAAyB;SACvC,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;QAC5B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC/B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC7B,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;KAC/B,CAAC,CACH;SACA,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE;QAC3B,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,WAAW,EAAE,GAAG,KAAK,CAAC;QACnD,OAAO,eAAe,CACpB,OAAO,EACP,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EAClB,OAAO,EACP,WAAW,CACZ,CAAC;IACJ,CAAC,CAAC;IAEJ,QAAQ,EAAE,6BAA6B;SACpC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;SACxC,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAChD,WAAW,EAAE,yBAAyB;SACnC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;SACxC,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAE/E,WAAW,EAAE,kBAAkB;SAC5B,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,SAAS,EAAE,CAAC,CAAC,GAAG,EAAE;KACnB,CAAC,CACH;SACA,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAC3B,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAC5E;CACJ,CAAC,CAAC","debug_id":"0a13604c-c0c0-5009-816f-a1e3d2b91af5"}
1
+ {"version":3,"file":"class.js","sources":["routers/class.ts"],"sourceRoot":"/","sourcesContent":["import { z } from \"zod\";\nimport {\n createTRPCRouter,\n protectedProcedure,\n protectedTeacherProcedure,\n protectedClassMemberProcedure,\n} from \"../trpc.js\";\nimport {\n getAllClasses,\n getClass,\n updateClass,\n createClass,\n deleteClass,\n addStudent,\n changeRole,\n removeMember,\n leaveClass,\n joinClass,\n getInviteCode,\n createInviteCode,\n getGrades,\n updateGrade,\n getEvents,\n listMarkSchemes,\n createMarkScheme,\n updateMarkScheme,\n deleteMarkScheme,\n listGradingBoundaries,\n createGradingBoundary,\n updateGradingBoundary,\n deleteGradingBoundary,\n getSyllabus,\n updateSyllabus,\n listLabDrafts,\n createLabDraft,\n updateLabDraft,\n deleteLabDraft,\n publishLabDraft,\n getFiles,\n exportClass,\n importClass,\n} from \"../services/class.js\";\n\nexport const classRouter = createTRPCRouter({\n getAll: protectedProcedure.query(({ ctx }) =>\n getAllClasses(ctx.user?.id ?? \"\")\n ),\n\n get: protectedClassMemberProcedure\n .input(z.object({ classId: z.string() }))\n .query(({ ctx, input }) =>\n getClass(ctx.user?.id ?? \"\", input.classId)\n ),\n update: protectedTeacherProcedure\n .input(\n z.object({\n classId: z.string(),\n name: z.string().optional(),\n section: z.string().optional(),\n subject: z.string().optional(),\n color: z.string().optional(),\n departmentId: z.string().nullable().optional(),\n })\n )\n .mutation(({ input }) => {\n const { classId, ...updateData } = input;\n return updateClass(classId, updateData);\n }),\n\n create: protectedProcedure\n .input(\n z.object({\n students: z.array(z.string()).optional(),\n teachers: z.array(z.string()).optional(),\n name: z.string(),\n section: z.string(),\n subject: z.string(),\n color: z.string().optional(),\n schoolId: z.string().optional(),\n departmentId: z.string().optional(),\n })\n )\n .mutation(({ ctx, input }) =>\n createClass(ctx.user?.id ?? \"\", input)\n ),\n\n delete: protectedTeacherProcedure\n .input(z.object({ classId: z.string(), id: z.string() }))\n .mutation(({ input }) => deleteClass(input.id)),\n addStudent: protectedTeacherProcedure\n .input(z.object({ classId: z.string(), studentId: z.string() }))\n .mutation(({ input }) => addStudent(input.classId, input.studentId)),\n\n changeRole: protectedTeacherProcedure\n .input(\n z.object({\n classId: z.string(),\n userId: z.string(),\n type: z.enum([\"teacher\", \"student\"]),\n })\n )\n .mutation(({ input }) =>\n changeRole(input.classId, input.userId, input.type)\n ),\n\n removeMember: protectedTeacherProcedure\n .input(z.object({ classId: z.string(), userId: z.string() }))\n .mutation(({ input }) => removeMember(input.classId, input.userId)),\n\n leaveClass: protectedProcedure\n .input(z.object({ classId: z.string() }))\n .mutation(({ ctx, input }) => {\n if (!ctx.user?.id) {\n throw new Error(\"User not authenticated\");\n }\n return leaveClass(ctx.user.id, input.classId);\n }),\n\n join: protectedProcedure\n .input(z.object({ classCode: z.string() }))\n .mutation(({ ctx, input }) =>\n joinClass(ctx.user?.id ?? \"\", input.classCode)\n ),\n\n getInviteCode: protectedTeacherProcedure\n .input(z.object({ classId: z.string() }))\n .query(({ input }) => getInviteCode(input.classId)),\n\n createInviteCode: protectedTeacherProcedure\n .input(z.object({ classId: z.string() }))\n .mutation(({ input }) => createInviteCode(input.classId)),\n getGrades: protectedClassMemberProcedure\n .input(z.object({ classId: z.string(), userId: z.string() }))\n .query(({ ctx, input }) =>\n getGrades(ctx.user?.id ?? \"\", input.classId, input.userId)\n ),\n\n updateGrade: protectedTeacherProcedure\n .input(\n z.object({\n classId: z.string(),\n assignmentId: z.string(),\n submissionId: z.string(),\n gradeReceived: z.number().nullable(),\n })\n )\n .mutation(({ input }) =>\n updateGrade(\n input.assignmentId,\n input.submissionId,\n input.gradeReceived\n )\n ),\n\n getEvents: protectedTeacherProcedure\n .input(z.object({ classId: z.string() }))\n .query(({ input }) => getEvents(input.classId)),\n listMarkSchemes: protectedClassMemberProcedure\n .input(z.object({ classId: z.string() }))\n .query(({ input }) => listMarkSchemes(input.classId)),\n\n createMarkScheme: protectedTeacherProcedure\n .input(z.object({ classId: z.string(), structure: z.string() }))\n .mutation(({ input }) =>\n createMarkScheme(input.classId, input.structure)\n ),\n\n updateMarkScheme: protectedTeacherProcedure\n .input(\n z.object({\n classId: z.string(),\n markSchemeId: z.string(),\n structure: z.string(),\n })\n )\n .mutation(({ input }) =>\n updateMarkScheme(\n input.markSchemeId,\n input.classId,\n input.structure\n )\n ),\n\n deleteMarkScheme: protectedTeacherProcedure\n .input(z.object({ classId: z.string(), markSchemeId: z.string() }))\n .mutation(({ input }) => deleteMarkScheme(input.markSchemeId)),\n\n listGradingBoundaries: protectedClassMemberProcedure\n .input(z.object({ classId: z.string() }))\n .query(({ input }) => listGradingBoundaries(input.classId)),\n\n createGradingBoundary: protectedTeacherProcedure\n .input(z.object({ classId: z.string(), structure: z.string() }))\n .mutation(({ input }) =>\n createGradingBoundary(input.classId, input.structure)\n ),\n\n updateGradingBoundary: protectedTeacherProcedure\n .input(\n z.object({\n classId: z.string(),\n gradingBoundaryId: z.string(),\n structure: z.string(),\n })\n )\n .mutation(({ input }) =>\n updateGradingBoundary(\n input.gradingBoundaryId,\n input.classId,\n input.structure\n )\n ),\n\n deleteGradingBoundary: protectedTeacherProcedure\n .input(\n z.object({ classId: z.string(), gradingBoundaryId: z.string() })\n )\n .mutation(({ input }) => deleteGradingBoundary(input.gradingBoundaryId)),\n getSyllabus: protectedClassMemberProcedure\n .input(z.object({ classId: z.string() }))\n .query(({ input }) => getSyllabus(input.classId)),\n\n updateSyllabus: protectedTeacherProcedure\n .input(z.object({ classId: z.string(), contents: z.string() }))\n .mutation(({ input }) =>\n updateSyllabus(input.classId, input.contents)\n ),\n listLabDrafts: protectedTeacherProcedure\n .input(z.object({ classId: z.string() }))\n .query(({ ctx, input }) =>\n listLabDrafts(input.classId, ctx.user?.id ?? \"\")\n ),\n\n createLabDraft: protectedTeacherProcedure\n .input(\n z.object({\n classId: z.string(),\n title: z.string(),\n type: z.enum([\n \"LAB\",\n \"HOMEWORK\",\n \"QUIZ\",\n \"TEST\",\n \"PROJECT\",\n \"ESSAY\",\n \"DISCUSSION\",\n \"PRESENTATION\",\n \"OTHER\",\n ]),\n instructions: z.string(),\n dueDate: z.date().optional(),\n maxGrade: z.number().optional(),\n weight: z.number().optional(),\n graded: z.boolean().optional(),\n sectionId: z.string().optional(),\n markSchemeId: z.string().optional(),\n gradingBoundaryId: z.string().optional(),\n })\n )\n .mutation(({ ctx, input }) => {\n const { classId, ...draftData } = input;\n return createLabDraft(classId, ctx.user?.id ?? \"\", draftData);\n }),\n\n updateLabDraft: protectedTeacherProcedure\n .input(\n z.object({\n classId: z.string(),\n draftId: z.string(),\n title: z.string().optional(),\n instructions: z.string().optional(),\n dueDate: z.date().optional(),\n maxGrade: z.number().optional(),\n weight: z.number().optional(),\n graded: z.boolean().optional(),\n sectionId: z.string().optional(),\n markSchemeId: z.string().optional(),\n gradingBoundaryId: z.string().optional(),\n })\n )\n .mutation(({ ctx, input }) => {\n const { classId, draftId, ...updateData } = input;\n return updateLabDraft(\n classId,\n ctx.user?.id ?? \"\",\n draftId,\n updateData\n );\n }),\n\n deleteLabDraft: protectedTeacherProcedure\n .input(z.object({ classId: z.string(), draftId: z.string() }))\n .mutation(({ ctx, input }) =>\n deleteLabDraft(input.classId, ctx.user?.id ?? \"\", input.draftId)\n ),\n\n publishLabDraft: protectedTeacherProcedure\n .input(\n z.object({\n classId: z.string(),\n draftId: z.string(),\n dueDate: z.date().optional(),\n maxGrade: z.number().optional(),\n weight: z.number().optional(),\n graded: z.boolean().optional(),\n })\n )\n .mutation(({ ctx, input }) => {\n const { classId, draftId, ...publishData } = input;\n return publishLabDraft(\n classId,\n ctx.user?.id ?? \"\",\n draftId,\n publishData\n );\n }),\n\n getFiles: protectedClassMemberProcedure\n .input(z.object({ classId: z.string() }))\n .query(({ input }) => getFiles(input.classId)),\n exportClass: protectedTeacherProcedure\n .input(z.object({ classId: z.string() }))\n .mutation(({ ctx, input }) => exportClass(input.classId, ctx.user?.id ?? \"\")),\n\n importClass: protectedProcedure\n .input(\n z.object({\n classId: z.string(),\n year: z.number(),\n classData: z.any(),\n })\n )\n .mutation(({ ctx, input }) =>\n importClass(input.classId, ctx.user?.id ?? \"\", input.year, input.classData)\n ),\n});\n"],"names":[],"mappings":"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","debug_id":"44ee6ecc-efc5-51c8-9605-217c9f9319a7"}
@@ -39,8 +39,8 @@ export declare const conversationRouter: import("@trpc/server").TRPCBuiltRouter<
39
39
  };
40
40
  } & {
41
41
  id: string;
42
- role: import(".prisma/client").$Enums.ConversationRole;
43
42
  userId: string;
43
+ role: import(".prisma/client").$Enums.ConversationRole;
44
44
  conversationId: string;
45
45
  joinedAt: Date;
46
46
  hiddenAt: Date | null;
@@ -70,6 +70,21 @@ export declare const conversationRouter: import("@trpc/server").TRPCBuiltRouter<
70
70
  }[];
71
71
  meta: object;
72
72
  }>;
73
+ searchMembers: import("@trpc/server").TRPCQueryProcedure<{
74
+ input: {
75
+ query: string;
76
+ };
77
+ output: {
78
+ id: string;
79
+ username: string;
80
+ profile: {
81
+ displayName: string | null;
82
+ profilePicture: string | null;
83
+ profilePictureThumbnail: string | null;
84
+ } | null;
85
+ }[];
86
+ meta: object;
87
+ }>;
73
88
  create: import("@trpc/server").TRPCMutationProcedure<{
74
89
  input: {
75
90
  type: "DM" | "GROUP";
@@ -88,8 +103,8 @@ export declare const conversationRouter: import("@trpc/server").TRPCBuiltRouter<
88
103
  };
89
104
  } & {
90
105
  id: string;
91
- role: import(".prisma/client").$Enums.ConversationRole;
92
106
  userId: string;
107
+ role: import(".prisma/client").$Enums.ConversationRole;
93
108
  conversationId: string;
94
109
  joinedAt: Date;
95
110
  hiddenAt: Date | null;
@@ -122,8 +137,8 @@ export declare const conversationRouter: import("@trpc/server").TRPCBuiltRouter<
122
137
  };
123
138
  } & {
124
139
  id: string;
125
- role: import(".prisma/client").$Enums.ConversationRole;
126
140
  userId: string;
141
+ role: import(".prisma/client").$Enums.ConversationRole;
127
142
  conversationId: string;
128
143
  joinedAt: Date;
129
144
  hiddenAt: Date | null;
@@ -166,8 +181,8 @@ export declare const conversationRouter: import("@trpc/server").TRPCBuiltRouter<
166
181
  };
167
182
  } & {
168
183
  id: string;
169
- role: import(".prisma/client").$Enums.ConversationRole;
170
184
  userId: string;
185
+ role: import(".prisma/client").$Enums.ConversationRole;
171
186
  conversationId: string;
172
187
  joinedAt: Date;
173
188
  hiddenAt: Date | null;
@@ -201,8 +216,8 @@ export declare const conversationRouter: import("@trpc/server").TRPCBuiltRouter<
201
216
  };
202
217
  } & {
203
218
  id: string;
204
- role: import(".prisma/client").$Enums.ConversationRole;
205
219
  userId: string;
220
+ role: import(".prisma/client").$Enums.ConversationRole;
206
221
  conversationId: string;
207
222
  joinedAt: Date;
208
223
  hiddenAt: Date | null;
@@ -1 +1 @@
1
- {"version":3,"file":"conversation.d.ts","sourceRoot":"/","sources":["routers/conversation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAWxB,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+D7B,CAAC"}
1
+ {"version":3,"file":"conversation.d.ts","sourceRoot":"/","sources":["routers/conversation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAYxB,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqE7B,CAAC"}
@@ -1,10 +1,13 @@
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]="e1eb47f5-6d6c-50cc-b1ba-5b3a3d7d5413")}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]="6d7d3697-d13a-58bc-8b2f-26d0052fab46")}catch(e){}}();
3
3
  import { z } from "zod";
4
4
  import { createTRPCRouter, protectedProcedure } from "../trpc.js";
5
- import { listConversations, createConversationRecord, getConversation, addMemberToConversation, hideConversation, removeMemberFromConversation, } from "../services/conversation.js";
5
+ import { listConversations, createConversationRecord, getConversation, addMemberToConversation, hideConversation, removeMemberFromConversation, searchConversationMembers, } from "../services/conversation.js";
6
6
  export const conversationRouter = createTRPCRouter({
7
7
  list: protectedProcedure.query(({ ctx }) => listConversations(ctx.user.id)),
8
+ searchMembers: protectedProcedure
9
+ .input(z.object({ query: z.string().max(100) }))
10
+ .query(({ ctx, input }) => searchConversationMembers(ctx.user.id, input.query)),
8
11
  create: protectedProcedure
9
12
  .input(z.object({
10
13
  type: z.enum(["DM", "GROUP"]),
@@ -32,4 +35,4 @@ export const conversationRouter = createTRPCRouter({
32
35
  .mutation(({ ctx, input }) => removeMemberFromConversation(ctx.user.id, input.conversationId, input.memberId)),
33
36
  });
34
37
  //# sourceMappingURL=conversation.js.map
35
- //# debugId=e1eb47f5-6d6c-50cc-b1ba-5b3a3d7d5413
38
+ //# debugId=6d7d3697-d13a-58bc-8b2f-26d0052fab46
@@ -1 +1 @@
1
- {"version":3,"file":"conversation.js","sources":["routers/conversation.ts"],"sourceRoot":"/","sourcesContent":["import { z } from \"zod\";\nimport { createTRPCRouter, protectedProcedure } from \"../trpc.js\";\nimport {\n listConversations,\n createConversationRecord,\n getConversation,\n addMemberToConversation,\n hideConversation,\n removeMemberFromConversation,\n} from \"../services/conversation.js\";\n\nexport const conversationRouter = createTRPCRouter({\n list: protectedProcedure.query(({ ctx }) =>\n listConversations(ctx.user!.id)\n ),\n\n create: protectedProcedure\n .input(\n z.object({\n type: z.enum([\"DM\", \"GROUP\"]),\n name: z.string().optional(),\n memberIds: z.array(z.string()),\n })\n )\n .mutation(({ ctx, input }) =>\n createConversationRecord(\n ctx.user!.id,\n input.type,\n input.name,\n input.memberIds\n )\n ),\n\n get: protectedProcedure\n .input(z.object({ conversationId: z.string() }))\n .query(({ ctx, input }) =>\n getConversation(ctx.user!.id, input.conversationId)\n ),\n\n hide: protectedProcedure\n .input(z.object({ conversationId: z.string() }))\n .mutation(({ ctx, input }) =>\n hideConversation(ctx.user!.id, input.conversationId)\n ),\n\n addMember: protectedProcedure\n .input(\n z.object({\n conversationId: z.string(),\n memberUsername: z.string(),\n })\n )\n .mutation(({ ctx, input }) =>\n addMemberToConversation(\n ctx.user!.id,\n input.conversationId,\n input.memberUsername\n )\n ),\n\n removeMember: protectedProcedure\n .input(\n z.object({\n conversationId: z.string(),\n memberId: z.string(),\n })\n )\n .mutation(({ ctx, input }) =>\n removeMemberFromConversation(\n ctx.user!.id,\n input.conversationId,\n input.memberId\n )\n ),\n});\n"],"names":[],"mappings":";;AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,eAAe,EACf,uBAAuB,EACvB,gBAAgB,EAChB,4BAA4B,GAC7B,MAAM,6BAA6B,CAAC;AAErC,MAAM,CAAC,MAAM,kBAAkB,GAAG,gBAAgB,CAAC;IACjD,IAAI,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CACzC,iBAAiB,CAAC,GAAG,CAAC,IAAK,CAAC,EAAE,CAAC,CAChC;IAED,MAAM,EAAE,kBAAkB;SACvB,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC7B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC3B,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;KAC/B,CAAC,CACH;SACA,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAC3B,wBAAwB,CACtB,GAAG,CAAC,IAAK,CAAC,EAAE,EACZ,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,SAAS,CAChB,CACF;IAEH,GAAG,EAAE,kBAAkB;SACpB,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;SAC/C,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CACxB,eAAe,CAAC,GAAG,CAAC,IAAK,CAAC,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,CACpD;IAEH,IAAI,EAAE,kBAAkB;SACrB,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;SAC/C,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAC3B,gBAAgB,CAAC,GAAG,CAAC,IAAK,CAAC,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,CACrD;IAEH,SAAS,EAAE,kBAAkB;SAC1B,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;QAC1B,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;KAC3B,CAAC,CACH;SACA,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAC3B,uBAAuB,CACrB,GAAG,CAAC,IAAK,CAAC,EAAE,EACZ,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,cAAc,CACrB,CACF;IAEH,YAAY,EAAE,kBAAkB;SAC7B,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;QAC1B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;KACrB,CAAC,CACH;SACA,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAC3B,4BAA4B,CAC1B,GAAG,CAAC,IAAK,CAAC,EAAE,EACZ,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,QAAQ,CACf,CACF;CACJ,CAAC,CAAC","debug_id":"e1eb47f5-6d6c-50cc-b1ba-5b3a3d7d5413"}
1
+ {"version":3,"file":"conversation.js","sources":["routers/conversation.ts"],"sourceRoot":"/","sourcesContent":["import { z } from \"zod\";\nimport { createTRPCRouter, protectedProcedure } from \"../trpc.js\";\nimport {\n listConversations,\n createConversationRecord,\n getConversation,\n addMemberToConversation,\n hideConversation,\n removeMemberFromConversation,\n searchConversationMembers,\n} from \"../services/conversation.js\";\n\nexport const conversationRouter = createTRPCRouter({\n list: protectedProcedure.query(({ ctx }) =>\n listConversations(ctx.user!.id)\n ),\n\n searchMembers: protectedProcedure\n .input(z.object({ query: z.string().max(100) }))\n .query(({ ctx, input }) =>\n searchConversationMembers(ctx.user!.id, input.query)\n ),\n\n create: protectedProcedure\n .input(\n z.object({\n type: z.enum([\"DM\", \"GROUP\"]),\n name: z.string().optional(),\n memberIds: z.array(z.string()),\n })\n )\n .mutation(({ ctx, input }) =>\n createConversationRecord(\n ctx.user!.id,\n input.type,\n input.name,\n input.memberIds\n )\n ),\n\n get: protectedProcedure\n .input(z.object({ conversationId: z.string() }))\n .query(({ ctx, input }) =>\n getConversation(ctx.user!.id, input.conversationId)\n ),\n\n hide: protectedProcedure\n .input(z.object({ conversationId: z.string() }))\n .mutation(({ ctx, input }) =>\n hideConversation(ctx.user!.id, input.conversationId)\n ),\n\n addMember: protectedProcedure\n .input(\n z.object({\n conversationId: z.string(),\n memberUsername: z.string(),\n })\n )\n .mutation(({ ctx, input }) =>\n addMemberToConversation(\n ctx.user!.id,\n input.conversationId,\n input.memberUsername\n )\n ),\n\n removeMember: protectedProcedure\n .input(\n z.object({\n conversationId: z.string(),\n memberId: z.string(),\n })\n )\n .mutation(({ ctx, input }) =>\n removeMemberFromConversation(\n ctx.user!.id,\n input.conversationId,\n input.memberId\n )\n ),\n});\n"],"names":[],"mappings":"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","debug_id":"6d7d3697-d13a-58bc-8b2f-26d0052fab46"}
@@ -0,0 +1,293 @@
1
+ import { z } from "zod";
2
+ export declare const departmentRouter: import("@trpc/server").TRPCBuiltRouter<{
3
+ ctx: import("../trpc.js").Context;
4
+ meta: object;
5
+ errorShape: {
6
+ data: {
7
+ zodError: z.typeToFlattenedError<any, string> | null;
8
+ prismaError: import("../utils/prismaErrorHandler.js").PrismaErrorInfo | null;
9
+ code: import("@trpc/server").TRPC_ERROR_CODE_KEY;
10
+ httpStatus: number;
11
+ path?: string;
12
+ stack?: string;
13
+ };
14
+ message: string;
15
+ code: import("@trpc/server").TRPC_ERROR_CODE_NUMBER;
16
+ };
17
+ transformer: false;
18
+ }, import("@trpc/server").TRPCDecorateCreateRouterOptions<{
19
+ list: import("@trpc/server").TRPCQueryProcedure<{
20
+ input: {
21
+ schoolId: string;
22
+ };
23
+ output: {
24
+ name: string;
25
+ id: string;
26
+ description: string | null;
27
+ createdAt: Date;
28
+ updatedAt: Date;
29
+ schoolId: string;
30
+ color: string | null;
31
+ _count: {
32
+ tags: number;
33
+ classes: number;
34
+ members: number;
35
+ rubricTemplates: number;
36
+ boundaryTemplates: number;
37
+ };
38
+ }[];
39
+ meta: object;
40
+ }>;
41
+ listMine: import("@trpc/server").TRPCQueryProcedure<{
42
+ input: {
43
+ schoolId: string;
44
+ };
45
+ output: {
46
+ name: string;
47
+ id: string;
48
+ description: string | null;
49
+ createdAt: Date;
50
+ updatedAt: Date;
51
+ schoolId: string;
52
+ color: string | null;
53
+ }[];
54
+ meta: object;
55
+ }>;
56
+ get: import("@trpc/server").TRPCQueryProcedure<{
57
+ input: {
58
+ departmentId: string;
59
+ };
60
+ output: {
61
+ name: string;
62
+ id: string;
63
+ description: string | null;
64
+ createdAt: Date;
65
+ updatedAt: Date;
66
+ schoolId: string;
67
+ color: string | null;
68
+ tags: {
69
+ name: string;
70
+ id: string;
71
+ color: string;
72
+ }[];
73
+ classes: {
74
+ name: string;
75
+ id: string;
76
+ subject: string;
77
+ color: string | null;
78
+ section: string;
79
+ }[];
80
+ members: {
81
+ id: string;
82
+ username: string;
83
+ email: string;
84
+ profile: {
85
+ displayName: string | null;
86
+ profilePicture: string | null;
87
+ profilePictureThumbnail: string | null;
88
+ } | null;
89
+ }[];
90
+ rubricTemplates: {
91
+ name: string | null;
92
+ id: string;
93
+ structured: string;
94
+ }[];
95
+ boundaryTemplates: {
96
+ name: string | null;
97
+ id: string;
98
+ structured: string;
99
+ }[];
100
+ };
101
+ meta: object;
102
+ }>;
103
+ create: import("@trpc/server").TRPCMutationProcedure<{
104
+ input: {
105
+ name: string;
106
+ schoolId: string;
107
+ description?: string | undefined;
108
+ color?: string | undefined;
109
+ };
110
+ output: {
111
+ name: string;
112
+ id: string;
113
+ description: string | null;
114
+ createdAt: Date;
115
+ updatedAt: Date;
116
+ schoolId: string;
117
+ color: string | null;
118
+ };
119
+ meta: object;
120
+ }>;
121
+ update: import("@trpc/server").TRPCMutationProcedure<{
122
+ input: {
123
+ departmentId: string;
124
+ name?: string | undefined;
125
+ description?: string | null | undefined;
126
+ color?: string | undefined;
127
+ };
128
+ output: {
129
+ name: string;
130
+ id: string;
131
+ description: string | null;
132
+ createdAt: Date;
133
+ updatedAt: Date;
134
+ schoolId: string;
135
+ color: string | null;
136
+ };
137
+ meta: object;
138
+ }>;
139
+ delete: import("@trpc/server").TRPCMutationProcedure<{
140
+ input: {
141
+ departmentId: string;
142
+ };
143
+ output: {
144
+ success: boolean;
145
+ };
146
+ meta: object;
147
+ }>;
148
+ addMembers: import("@trpc/server").TRPCMutationProcedure<{
149
+ input: {
150
+ departmentId: string;
151
+ userIds: string[];
152
+ };
153
+ output: {
154
+ id: string;
155
+ };
156
+ meta: object;
157
+ }>;
158
+ removeMember: import("@trpc/server").TRPCMutationProcedure<{
159
+ input: {
160
+ departmentId: string;
161
+ memberId: string;
162
+ };
163
+ output: {
164
+ id: string;
165
+ };
166
+ meta: object;
167
+ }>;
168
+ setClassDepartment: import("@trpc/server").TRPCMutationProcedure<{
169
+ input: {
170
+ departmentId: string | null;
171
+ classId: string;
172
+ };
173
+ output: {
174
+ id: string;
175
+ departmentId: string | null;
176
+ };
177
+ meta: object;
178
+ }>;
179
+ /** Template authoring. */
180
+ createRubricTemplate: import("@trpc/server").TRPCMutationProcedure<{
181
+ input: {
182
+ name: string;
183
+ departmentId: string;
184
+ structured: string;
185
+ };
186
+ output: {
187
+ name: string | null;
188
+ id: string;
189
+ departmentId: string | null;
190
+ structured: string;
191
+ };
192
+ meta: object;
193
+ }>;
194
+ updateRubricTemplate: import("@trpc/server").TRPCMutationProcedure<{
195
+ input: {
196
+ templateId: string;
197
+ name?: string | undefined;
198
+ structured?: string | undefined;
199
+ };
200
+ output: {
201
+ name: string | null;
202
+ id: string;
203
+ departmentId: string | null;
204
+ classId: string | null;
205
+ structured: string;
206
+ };
207
+ meta: object;
208
+ }>;
209
+ deleteRubricTemplate: import("@trpc/server").TRPCMutationProcedure<{
210
+ input: {
211
+ templateId: string;
212
+ };
213
+ output: {
214
+ name: string | null;
215
+ id: string;
216
+ departmentId: string | null;
217
+ classId: string | null;
218
+ structured: string;
219
+ };
220
+ meta: object;
221
+ }>;
222
+ createBoundaryTemplate: import("@trpc/server").TRPCMutationProcedure<{
223
+ input: {
224
+ name: string;
225
+ departmentId: string;
226
+ structured: string;
227
+ };
228
+ output: {
229
+ name: string | null;
230
+ id: string;
231
+ departmentId: string | null;
232
+ structured: string;
233
+ };
234
+ meta: object;
235
+ }>;
236
+ updateBoundaryTemplate: import("@trpc/server").TRPCMutationProcedure<{
237
+ input: {
238
+ templateId: string;
239
+ name?: string | undefined;
240
+ structured?: string | undefined;
241
+ };
242
+ output: {
243
+ name: string | null;
244
+ id: string;
245
+ departmentId: string | null;
246
+ classId: string | null;
247
+ structured: string;
248
+ };
249
+ meta: object;
250
+ }>;
251
+ deleteBoundaryTemplate: import("@trpc/server").TRPCMutationProcedure<{
252
+ input: {
253
+ templateId: string;
254
+ };
255
+ output: {
256
+ name: string | null;
257
+ id: string;
258
+ departmentId: string | null;
259
+ classId: string | null;
260
+ structured: string;
261
+ };
262
+ meta: object;
263
+ }>;
264
+ applyRubricTemplate: import("@trpc/server").TRPCMutationProcedure<{
265
+ input: {
266
+ classId: string;
267
+ templateId: string;
268
+ };
269
+ output: {
270
+ name: string | null;
271
+ id: string;
272
+ departmentId: string | null;
273
+ classId: string | null;
274
+ structured: string;
275
+ };
276
+ meta: object;
277
+ }>;
278
+ applyBoundaryTemplate: import("@trpc/server").TRPCMutationProcedure<{
279
+ input: {
280
+ classId: string;
281
+ templateId: string;
282
+ };
283
+ output: {
284
+ name: string | null;
285
+ id: string;
286
+ departmentId: string | null;
287
+ classId: string | null;
288
+ structured: string;
289
+ };
290
+ meta: object;
291
+ }>;
292
+ }>>;
293
+ //# sourceMappingURL=department.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"department.d.ts","sourceRoot":"/","sources":["routers/department.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAsBxB,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA2E3B,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4E1B,CAAC"}
@@ -0,0 +1,93 @@
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]="733da31a-bf03-5eba-8d43-8e627966e3cc")}catch(e){}}();
3
+ import { z } from "zod";
4
+ import { createTRPCRouter, protectedProcedure } from "../trpc.js";
5
+ import { addMembersToDepartment, applyBoundaryTemplate, applyRubricTemplate, createBoundaryTemplate, createDepartmentRecord, createRubricTemplate, deleteBoundaryTemplate, deleteDepartmentRecord, deleteRubricTemplate, getDepartmentDetails, listDepartments, listMyDepartments, removeMemberFromDepartment, setClassDepartment, updateBoundaryTemplate, updateDepartmentRecord, updateRubricTemplate, } from "../services/department.js";
6
+ export const departmentRouter = createTRPCRouter({
7
+ list: protectedProcedure
8
+ .input(z.object({ schoolId: z.string() }))
9
+ .query(({ ctx, input }) => listDepartments(ctx.user.id, input.schoolId)),
10
+ listMine: protectedProcedure
11
+ .input(z.object({ schoolId: z.string() }))
12
+ .query(({ ctx, input }) => listMyDepartments(ctx.user.id, input.schoolId)),
13
+ get: protectedProcedure
14
+ .input(z.object({ departmentId: z.string() }))
15
+ .query(({ ctx, input }) => getDepartmentDetails(ctx.user.id, input.departmentId)),
16
+ create: protectedProcedure
17
+ .input(z.object({
18
+ schoolId: z.string(),
19
+ name: z.string().min(1),
20
+ description: z.string().optional(),
21
+ color: z.string().optional(),
22
+ }))
23
+ .mutation(({ ctx, input }) => createDepartmentRecord(ctx.user.id, input)),
24
+ update: protectedProcedure
25
+ .input(z.object({
26
+ departmentId: z.string(),
27
+ name: z.string().min(1).optional(),
28
+ description: z.string().nullable().optional(),
29
+ color: z.string().optional(),
30
+ }))
31
+ .mutation(({ ctx, input }) => updateDepartmentRecord(ctx.user.id, input)),
32
+ delete: protectedProcedure
33
+ .input(z.object({ departmentId: z.string() }))
34
+ .mutation(({ ctx, input }) => deleteDepartmentRecord(ctx.user.id, input.departmentId)),
35
+ addMembers: protectedProcedure
36
+ .input(z.object({
37
+ departmentId: z.string(),
38
+ userIds: z.array(z.string()),
39
+ }))
40
+ .mutation(({ ctx, input }) => addMembersToDepartment(ctx.user.id, input)),
41
+ removeMember: protectedProcedure
42
+ .input(z.object({ departmentId: z.string(), memberId: z.string() }))
43
+ .mutation(({ ctx, input }) => removeMemberFromDepartment(ctx.user.id, input)),
44
+ setClassDepartment: protectedProcedure
45
+ .input(z.object({
46
+ classId: z.string(),
47
+ departmentId: z.string().nullable(),
48
+ }))
49
+ .mutation(({ ctx, input }) => setClassDepartment(ctx.user.id, input)),
50
+ /** Template authoring. */
51
+ createRubricTemplate: protectedProcedure
52
+ .input(z.object({
53
+ departmentId: z.string(),
54
+ name: z.string(),
55
+ structured: z.string(),
56
+ }))
57
+ .mutation(({ ctx, input }) => createRubricTemplate(ctx.user.id, input)),
58
+ updateRubricTemplate: protectedProcedure
59
+ .input(z.object({
60
+ templateId: z.string(),
61
+ name: z.string().optional(),
62
+ structured: z.string().optional(),
63
+ }))
64
+ .mutation(({ ctx, input }) => updateRubricTemplate(ctx.user.id, input)),
65
+ deleteRubricTemplate: protectedProcedure
66
+ .input(z.object({ templateId: z.string() }))
67
+ .mutation(({ ctx, input }) => deleteRubricTemplate(ctx.user.id, input.templateId)),
68
+ createBoundaryTemplate: protectedProcedure
69
+ .input(z.object({
70
+ departmentId: z.string(),
71
+ name: z.string(),
72
+ structured: z.string(),
73
+ }))
74
+ .mutation(({ ctx, input }) => createBoundaryTemplate(ctx.user.id, input)),
75
+ updateBoundaryTemplate: protectedProcedure
76
+ .input(z.object({
77
+ templateId: z.string(),
78
+ name: z.string().optional(),
79
+ structured: z.string().optional(),
80
+ }))
81
+ .mutation(({ ctx, input }) => updateBoundaryTemplate(ctx.user.id, input)),
82
+ deleteBoundaryTemplate: protectedProcedure
83
+ .input(z.object({ templateId: z.string() }))
84
+ .mutation(({ ctx, input }) => deleteBoundaryTemplate(ctx.user.id, input.templateId)),
85
+ applyRubricTemplate: protectedProcedure
86
+ .input(z.object({ classId: z.string(), templateId: z.string() }))
87
+ .mutation(({ ctx, input }) => applyRubricTemplate(ctx.user.id, input)),
88
+ applyBoundaryTemplate: protectedProcedure
89
+ .input(z.object({ classId: z.string(), templateId: z.string() }))
90
+ .mutation(({ ctx, input }) => applyBoundaryTemplate(ctx.user.id, input)),
91
+ });
92
+ //# sourceMappingURL=department.js.map
93
+ //# debugId=733da31a-bf03-5eba-8d43-8e627966e3cc
@@ -0,0 +1 @@
1
+ {"version":3,"file":"department.js","sources":["routers/department.ts"],"sourceRoot":"/","sourcesContent":["import { z } from \"zod\";\nimport { createTRPCRouter, protectedProcedure } from \"../trpc.js\";\nimport {\n addMembersToDepartment,\n applyBoundaryTemplate,\n applyRubricTemplate,\n createBoundaryTemplate,\n createDepartmentRecord,\n createRubricTemplate,\n deleteBoundaryTemplate,\n deleteDepartmentRecord,\n deleteRubricTemplate,\n getDepartmentDetails,\n listDepartments,\n listMyDepartments,\n removeMemberFromDepartment,\n setClassDepartment,\n updateBoundaryTemplate,\n updateDepartmentRecord,\n updateRubricTemplate,\n} from \"../services/department.js\";\n\nexport const departmentRouter = createTRPCRouter({\n list: protectedProcedure\n .input(z.object({ schoolId: z.string() }))\n .query(({ ctx, input }) => listDepartments(ctx.user!.id, input.schoolId)),\n\n listMine: protectedProcedure\n .input(z.object({ schoolId: z.string() }))\n .query(({ ctx, input }) =>\n listMyDepartments(ctx.user!.id, input.schoolId)\n ),\n\n get: protectedProcedure\n .input(z.object({ departmentId: z.string() }))\n .query(({ ctx, input }) =>\n getDepartmentDetails(ctx.user!.id, input.departmentId)\n ),\n\n create: protectedProcedure\n .input(\n z.object({\n schoolId: z.string(),\n name: z.string().min(1),\n description: z.string().optional(),\n color: z.string().optional(),\n })\n )\n .mutation(({ ctx, input }) =>\n createDepartmentRecord(ctx.user!.id, input)\n ),\n\n update: protectedProcedure\n .input(\n z.object({\n departmentId: z.string(),\n name: z.string().min(1).optional(),\n description: z.string().nullable().optional(),\n color: z.string().optional(),\n })\n )\n .mutation(({ ctx, input }) =>\n updateDepartmentRecord(ctx.user!.id, input)\n ),\n\n delete: protectedProcedure\n .input(z.object({ departmentId: z.string() }))\n .mutation(({ ctx, input }) =>\n deleteDepartmentRecord(ctx.user!.id, input.departmentId)\n ),\n\n addMembers: protectedProcedure\n .input(\n z.object({\n departmentId: z.string(),\n userIds: z.array(z.string()),\n })\n )\n .mutation(({ ctx, input }) =>\n addMembersToDepartment(ctx.user!.id, input)\n ),\n\n removeMember: protectedProcedure\n .input(z.object({ departmentId: z.string(), memberId: z.string() }))\n .mutation(({ ctx, input }) =>\n removeMemberFromDepartment(ctx.user!.id, input)\n ),\n\n setClassDepartment: protectedProcedure\n .input(\n z.object({\n classId: z.string(),\n departmentId: z.string().nullable(),\n })\n )\n .mutation(({ ctx, input }) => setClassDepartment(ctx.user!.id, input)),\n\n /** Template authoring. */\n createRubricTemplate: protectedProcedure\n .input(\n z.object({\n departmentId: z.string(),\n name: z.string(),\n structured: z.string(),\n })\n )\n .mutation(({ ctx, input }) =>\n createRubricTemplate(ctx.user!.id, input)\n ),\n\n updateRubricTemplate: protectedProcedure\n .input(\n z.object({\n templateId: z.string(),\n name: z.string().optional(),\n structured: z.string().optional(),\n })\n )\n .mutation(({ ctx, input }) =>\n updateRubricTemplate(ctx.user!.id, input)\n ),\n\n deleteRubricTemplate: protectedProcedure\n .input(z.object({ templateId: z.string() }))\n .mutation(({ ctx, input }) =>\n deleteRubricTemplate(ctx.user!.id, input.templateId)\n ),\n\n createBoundaryTemplate: protectedProcedure\n .input(\n z.object({\n departmentId: z.string(),\n name: z.string(),\n structured: z.string(),\n })\n )\n .mutation(({ ctx, input }) =>\n createBoundaryTemplate(ctx.user!.id, input)\n ),\n\n updateBoundaryTemplate: protectedProcedure\n .input(\n z.object({\n templateId: z.string(),\n name: z.string().optional(),\n structured: z.string().optional(),\n })\n )\n .mutation(({ ctx, input }) =>\n updateBoundaryTemplate(ctx.user!.id, input)\n ),\n\n deleteBoundaryTemplate: protectedProcedure\n .input(z.object({ templateId: z.string() }))\n .mutation(({ ctx, input }) =>\n deleteBoundaryTemplate(ctx.user!.id, input.templateId)\n ),\n\n applyRubricTemplate: protectedProcedure\n .input(\n z.object({ classId: z.string(), templateId: z.string() })\n )\n .mutation(({ ctx, input }) =>\n applyRubricTemplate(ctx.user!.id, input)\n ),\n\n applyBoundaryTemplate: protectedProcedure\n .input(\n z.object({ classId: z.string(), templateId: z.string() })\n )\n .mutation(({ ctx, input }) =>\n applyBoundaryTemplate(ctx.user!.id, input)\n ),\n});\n"],"names":[],"mappings":"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","debug_id":"733da31a-bf03-5eba-8d43-8e627966e3cc"}