@hed-hog/lms 0.0.349 → 0.0.351

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 (496) hide show
  1. package/dist/achievement/achievement.controller.d.ts +62 -0
  2. package/dist/achievement/achievement.controller.d.ts.map +1 -0
  3. package/dist/achievement/achievement.controller.js +90 -0
  4. package/dist/achievement/achievement.controller.js.map +1 -0
  5. package/dist/achievement/achievement.mcp-tools.d.ts +19 -0
  6. package/dist/achievement/achievement.mcp-tools.d.ts.map +1 -0
  7. package/dist/achievement/achievement.mcp-tools.js +157 -0
  8. package/dist/achievement/achievement.mcp-tools.js.map +1 -0
  9. package/dist/achievement/achievement.module.d.ts +3 -0
  10. package/dist/achievement/achievement.module.d.ts.map +1 -0
  11. package/dist/achievement/achievement.module.js +26 -0
  12. package/dist/achievement/achievement.module.js.map +1 -0
  13. package/dist/achievement/achievement.service.d.ts +72 -0
  14. package/dist/achievement/achievement.service.d.ts.map +1 -0
  15. package/dist/achievement/achievement.service.js +200 -0
  16. package/dist/achievement/achievement.service.js.map +1 -0
  17. package/dist/achievement/dto/create-achievement.dto.d.ts +12 -0
  18. package/dist/achievement/dto/create-achievement.dto.d.ts.map +1 -0
  19. package/dist/achievement/dto/create-achievement.dto.js +60 -0
  20. package/dist/achievement/dto/create-achievement.dto.js.map +1 -0
  21. package/dist/achievement/dto/update-achievement.dto.d.ts +11 -0
  22. package/dist/achievement/dto/update-achievement.dto.d.ts.map +1 -0
  23. package/dist/achievement/dto/update-achievement.dto.js +57 -0
  24. package/dist/achievement/dto/update-achievement.dto.js.map +1 -0
  25. package/dist/bitcode-wallet/bitcode-wallet.controller.d.ts +114 -0
  26. package/dist/bitcode-wallet/bitcode-wallet.controller.d.ts.map +1 -0
  27. package/dist/bitcode-wallet/bitcode-wallet.controller.js +102 -0
  28. package/dist/bitcode-wallet/bitcode-wallet.controller.js.map +1 -0
  29. package/dist/bitcode-wallet/bitcode-wallet.mcp-tools.d.ts +25 -0
  30. package/dist/bitcode-wallet/bitcode-wallet.mcp-tools.d.ts.map +1 -0
  31. package/dist/bitcode-wallet/bitcode-wallet.mcp-tools.js +160 -0
  32. package/dist/bitcode-wallet/bitcode-wallet.mcp-tools.js.map +1 -0
  33. package/dist/bitcode-wallet/bitcode-wallet.module.d.ts +3 -0
  34. package/dist/bitcode-wallet/bitcode-wallet.module.d.ts.map +1 -0
  35. package/dist/bitcode-wallet/bitcode-wallet.module.js +26 -0
  36. package/dist/bitcode-wallet/bitcode-wallet.module.js.map +1 -0
  37. package/dist/bitcode-wallet/bitcode-wallet.service.d.ts +127 -0
  38. package/dist/bitcode-wallet/bitcode-wallet.service.d.ts.map +1 -0
  39. package/dist/bitcode-wallet/bitcode-wallet.service.js +264 -0
  40. package/dist/bitcode-wallet/bitcode-wallet.service.js.map +1 -0
  41. package/dist/bitcode-wallet/dto/create-bitcode-wallet-transaction.dto.d.ts +8 -0
  42. package/dist/bitcode-wallet/dto/create-bitcode-wallet-transaction.dto.d.ts.map +1 -0
  43. package/dist/bitcode-wallet/dto/create-bitcode-wallet-transaction.dto.js +33 -0
  44. package/dist/bitcode-wallet/dto/create-bitcode-wallet-transaction.dto.js.map +1 -0
  45. package/dist/bitcode-wallet/dto/create-bitcode-wallet.dto.d.ts +4 -0
  46. package/dist/bitcode-wallet/dto/create-bitcode-wallet.dto.d.ts.map +1 -0
  47. package/dist/bitcode-wallet/dto/create-bitcode-wallet.dto.js +22 -0
  48. package/dist/bitcode-wallet/dto/create-bitcode-wallet.dto.js.map +1 -0
  49. package/dist/bitcode-wallet/dto/update-bitcode-wallet-transaction.dto.d.ts +7 -0
  50. package/dist/bitcode-wallet/dto/update-bitcode-wallet-transaction.dto.d.ts.map +1 -0
  51. package/dist/bitcode-wallet/dto/update-bitcode-wallet-transaction.dto.js +35 -0
  52. package/dist/bitcode-wallet/dto/update-bitcode-wallet-transaction.dto.js.map +1 -0
  53. package/dist/bitcode-wallet/dto/update-bitcode-wallet.dto.d.ts +4 -0
  54. package/dist/bitcode-wallet/dto/update-bitcode-wallet.dto.d.ts.map +1 -0
  55. package/dist/bitcode-wallet/dto/update-bitcode-wallet.dto.js +23 -0
  56. package/dist/bitcode-wallet/dto/update-bitcode-wallet.dto.js.map +1 -0
  57. package/dist/certificate/certificate.controller.d.ts +24 -2
  58. package/dist/certificate/certificate.controller.d.ts.map +1 -1
  59. package/dist/certificate/certificate.controller.js +20 -6
  60. package/dist/certificate/certificate.controller.js.map +1 -1
  61. package/dist/certificate/certificate.mcp-tools.d.ts +24 -0
  62. package/dist/certificate/certificate.mcp-tools.d.ts.map +1 -0
  63. package/dist/certificate/certificate.mcp-tools.js +188 -0
  64. package/dist/certificate/certificate.mcp-tools.js.map +1 -0
  65. package/dist/certificate/certificate.module.d.ts.map +1 -1
  66. package/dist/certificate/certificate.module.js +2 -1
  67. package/dist/certificate/certificate.module.js.map +1 -1
  68. package/dist/certificate/certificate.service.d.ts +30 -4
  69. package/dist/certificate/certificate.service.d.ts.map +1 -1
  70. package/dist/certificate/certificate.service.js +157 -8
  71. package/dist/certificate/certificate.service.js.map +1 -1
  72. package/dist/certificate/dto/update-certificate-public-access.dto.d.ts +4 -0
  73. package/dist/certificate/dto/update-certificate-public-access.dto.d.ts.map +1 -0
  74. package/dist/certificate/dto/update-certificate-public-access.dto.js +21 -0
  75. package/dist/certificate/dto/update-certificate-public-access.dto.js.map +1 -0
  76. package/dist/class-group/class-group.mcp-tools.d.ts +87 -0
  77. package/dist/class-group/class-group.mcp-tools.d.ts.map +1 -0
  78. package/dist/class-group/class-group.mcp-tools.js +553 -0
  79. package/dist/class-group/class-group.mcp-tools.js.map +1 -0
  80. package/dist/class-group/class-group.module.d.ts.map +1 -1
  81. package/dist/class-group/class-group.module.js +2 -1
  82. package/dist/class-group/class-group.module.js.map +1 -1
  83. package/dist/class-group/class-group.service.d.ts +3 -1
  84. package/dist/class-group/class-group.service.d.ts.map +1 -1
  85. package/dist/class-group/class-group.service.js +45 -2
  86. package/dist/class-group/class-group.service.js.map +1 -1
  87. package/dist/course/course-operations-integration.service.d.ts +40 -0
  88. package/dist/course/course-operations-integration.service.d.ts.map +1 -0
  89. package/dist/course/course-operations-integration.service.js +372 -0
  90. package/dist/course/course-operations-integration.service.js.map +1 -0
  91. package/dist/course/course-structure.controller.d.ts +67 -14
  92. package/dist/course/course-structure.controller.d.ts.map +1 -1
  93. package/dist/course/course-structure.controller.js +45 -2
  94. package/dist/course/course-structure.controller.js.map +1 -1
  95. package/dist/course/course-structure.service.d.ts +58 -9
  96. package/dist/course/course-structure.service.d.ts.map +1 -1
  97. package/dist/course/course-structure.service.js +260 -62
  98. package/dist/course/course-structure.service.js.map +1 -1
  99. package/dist/course/course-video-conversion.service.d.ts +37 -0
  100. package/dist/course/course-video-conversion.service.d.ts.map +1 -0
  101. package/dist/course/course-video-conversion.service.js +308 -0
  102. package/dist/course/course-video-conversion.service.js.map +1 -0
  103. package/dist/course/course.controller.d.ts +29 -0
  104. package/dist/course/course.controller.d.ts.map +1 -1
  105. package/dist/course/course.controller.js +23 -0
  106. package/dist/course/course.controller.js.map +1 -1
  107. package/dist/course/course.mcp-tools.d.ts +90 -0
  108. package/dist/course/course.mcp-tools.d.ts.map +1 -0
  109. package/dist/course/course.mcp-tools.js +520 -0
  110. package/dist/course/course.mcp-tools.js.map +1 -0
  111. package/dist/course/course.module.d.ts.map +1 -1
  112. package/dist/course/course.module.js +23 -3
  113. package/dist/course/course.module.js.map +1 -1
  114. package/dist/course/course.service.d.ts +30 -1
  115. package/dist/course/course.service.d.ts.map +1 -1
  116. package/dist/course/course.service.js +159 -70
  117. package/dist/course/course.service.js.map +1 -1
  118. package/dist/course/dto/create-course-structure-lesson.dto.d.ts +5 -1
  119. package/dist/course/dto/create-course-structure-lesson.dto.d.ts.map +1 -1
  120. package/dist/course/dto/create-course-structure-lesson.dto.js +16 -2
  121. package/dist/course/dto/create-course-structure-lesson.dto.js.map +1 -1
  122. package/dist/course/dto/create-course.dto.d.ts +2 -0
  123. package/dist/course/dto/create-course.dto.d.ts.map +1 -1
  124. package/dist/course/dto/create-course.dto.js +16 -0
  125. package/dist/course/dto/create-course.dto.js.map +1 -1
  126. package/dist/course/dto/update-course-resources.dto.d.ts +11 -0
  127. package/dist/course/dto/update-course-resources.dto.d.ts.map +1 -0
  128. package/dist/course/dto/update-course-resources.dto.js +51 -0
  129. package/dist/course/dto/update-course-resources.dto.js.map +1 -0
  130. package/dist/course-lesson-discussion/course-lesson-discussion.controller.d.ts +23 -0
  131. package/dist/course-lesson-discussion/course-lesson-discussion.controller.d.ts.map +1 -0
  132. package/dist/course-lesson-discussion/course-lesson-discussion.controller.js +78 -0
  133. package/dist/course-lesson-discussion/course-lesson-discussion.controller.js.map +1 -0
  134. package/dist/course-lesson-discussion/course-lesson-discussion.mcp-tools.d.ts +22 -0
  135. package/dist/course-lesson-discussion/course-lesson-discussion.mcp-tools.d.ts.map +1 -0
  136. package/dist/course-lesson-discussion/course-lesson-discussion.mcp-tools.js +120 -0
  137. package/dist/course-lesson-discussion/course-lesson-discussion.mcp-tools.js.map +1 -0
  138. package/dist/course-lesson-discussion/course-lesson-discussion.module.d.ts +3 -0
  139. package/dist/course-lesson-discussion/course-lesson-discussion.module.d.ts.map +1 -0
  140. package/dist/course-lesson-discussion/course-lesson-discussion.module.js +26 -0
  141. package/dist/course-lesson-discussion/course-lesson-discussion.module.js.map +1 -0
  142. package/dist/course-lesson-discussion/course-lesson-discussion.service.d.ts +49 -0
  143. package/dist/course-lesson-discussion/course-lesson-discussion.service.d.ts.map +1 -0
  144. package/dist/course-lesson-discussion/course-lesson-discussion.service.js +272 -0
  145. package/dist/course-lesson-discussion/course-lesson-discussion.service.js.map +1 -0
  146. package/dist/course-lesson-discussion/dto/create-course-lesson-discussion-topic.dto.d.ts +6 -0
  147. package/dist/course-lesson-discussion/dto/create-course-lesson-discussion-topic.dto.d.ts.map +1 -0
  148. package/dist/course-lesson-discussion/dto/create-course-lesson-discussion-topic.dto.js +33 -0
  149. package/dist/course-lesson-discussion/dto/create-course-lesson-discussion-topic.dto.js.map +1 -0
  150. package/dist/course-lesson-note/course-lesson-note.controller.d.ts +53 -0
  151. package/dist/course-lesson-note/course-lesson-note.controller.d.ts.map +1 -0
  152. package/dist/course-lesson-note/course-lesson-note.controller.js +93 -0
  153. package/dist/course-lesson-note/course-lesson-note.controller.js.map +1 -0
  154. package/dist/course-lesson-note/course-lesson-note.mcp-tools.d.ts +27 -0
  155. package/dist/course-lesson-note/course-lesson-note.mcp-tools.d.ts.map +1 -0
  156. package/dist/course-lesson-note/course-lesson-note.mcp-tools.js +145 -0
  157. package/dist/course-lesson-note/course-lesson-note.mcp-tools.js.map +1 -0
  158. package/dist/course-lesson-note/course-lesson-note.module.d.ts +3 -0
  159. package/dist/course-lesson-note/course-lesson-note.module.d.ts.map +1 -0
  160. package/dist/course-lesson-note/course-lesson-note.module.js +26 -0
  161. package/dist/course-lesson-note/course-lesson-note.module.js.map +1 -0
  162. package/dist/course-lesson-note/course-lesson-note.service.d.ts +59 -0
  163. package/dist/course-lesson-note/course-lesson-note.service.d.ts.map +1 -0
  164. package/dist/course-lesson-note/course-lesson-note.service.js +195 -0
  165. package/dist/course-lesson-note/course-lesson-note.service.js.map +1 -0
  166. package/dist/course-lesson-note/dto/create-course-lesson-note.dto.d.ts +6 -0
  167. package/dist/course-lesson-note/dto/create-course-lesson-note.dto.d.ts.map +1 -0
  168. package/dist/course-lesson-note/dto/create-course-lesson-note.dto.js +33 -0
  169. package/dist/course-lesson-note/dto/create-course-lesson-note.dto.js.map +1 -0
  170. package/dist/course-lesson-note/dto/update-course-lesson-note.dto.d.ts +6 -0
  171. package/dist/course-lesson-note/dto/update-course-lesson-note.dto.d.ts.map +1 -0
  172. package/dist/course-lesson-note/dto/update-course-lesson-note.dto.js +35 -0
  173. package/dist/course-lesson-note/dto/update-course-lesson-note.dto.js.map +1 -0
  174. package/dist/dashboard/dashboard.mcp-tools.d.ts +10 -0
  175. package/dist/dashboard/dashboard.mcp-tools.d.ts.map +1 -0
  176. package/dist/dashboard/dashboard.mcp-tools.js +46 -0
  177. package/dist/dashboard/dashboard.mcp-tools.js.map +1 -0
  178. package/dist/dashboard/dashboard.module.d.ts.map +1 -1
  179. package/dist/dashboard/dashboard.module.js +2 -1
  180. package/dist/dashboard/dashboard.module.js.map +1 -1
  181. package/dist/enterprise/enterprise.controller.d.ts +3 -3
  182. package/dist/enterprise/enterprise.controller.d.ts.map +1 -1
  183. package/dist/enterprise/enterprise.controller.js +0 -1
  184. package/dist/enterprise/enterprise.controller.js.map +1 -1
  185. package/dist/enterprise/enterprise.mcp-tools.d.ts +82 -0
  186. package/dist/enterprise/enterprise.mcp-tools.d.ts.map +1 -0
  187. package/dist/enterprise/enterprise.mcp-tools.js +516 -0
  188. package/dist/enterprise/enterprise.mcp-tools.js.map +1 -0
  189. package/dist/enterprise/enterprise.module.d.ts.map +1 -1
  190. package/dist/enterprise/enterprise.module.js +2 -1
  191. package/dist/enterprise/enterprise.module.js.map +1 -1
  192. package/dist/enterprise/enterprise.service.d.ts +3 -3
  193. package/dist/enterprise/training/enterprise-training.module.d.ts.map +1 -1
  194. package/dist/enterprise/training/enterprise-training.module.js +11 -1
  195. package/dist/enterprise/training/enterprise-training.module.js.map +1 -1
  196. package/dist/enterprise/training/training-admin.mcp-tools.d.ts +79 -0
  197. package/dist/enterprise/training/training-admin.mcp-tools.d.ts.map +1 -0
  198. package/dist/enterprise/training/training-admin.mcp-tools.js +620 -0
  199. package/dist/enterprise/training/training-admin.mcp-tools.js.map +1 -0
  200. package/dist/enterprise/training/training-instructor.mcp-tools.d.ts +47 -0
  201. package/dist/enterprise/training/training-instructor.mcp-tools.d.ts.map +1 -0
  202. package/dist/enterprise/training/training-instructor.mcp-tools.js +275 -0
  203. package/dist/enterprise/training/training-instructor.mcp-tools.js.map +1 -0
  204. package/dist/enterprise/training/training-student.controller.d.ts +24 -0
  205. package/dist/enterprise/training/training-student.controller.d.ts.map +1 -1
  206. package/dist/enterprise/training/training-student.controller.js +22 -0
  207. package/dist/enterprise/training/training-student.controller.js.map +1 -1
  208. package/dist/enterprise/training/training-student.mcp-tools.d.ts +27 -0
  209. package/dist/enterprise/training/training-student.mcp-tools.d.ts.map +1 -0
  210. package/dist/enterprise/training/training-student.mcp-tools.js +186 -0
  211. package/dist/enterprise/training/training-student.mcp-tools.js.map +1 -0
  212. package/dist/enterprise/training/training-student.service.d.ts +32 -0
  213. package/dist/enterprise/training/training-student.service.d.ts.map +1 -1
  214. package/dist/enterprise/training/training-student.service.js +138 -0
  215. package/dist/enterprise/training/training-student.service.js.map +1 -1
  216. package/dist/evaluation/evaluation.mcp-tools.d.ts +25 -0
  217. package/dist/evaluation/evaluation.mcp-tools.d.ts.map +1 -0
  218. package/dist/evaluation/evaluation.mcp-tools.js +220 -0
  219. package/dist/evaluation/evaluation.mcp-tools.js.map +1 -0
  220. package/dist/evaluation/evaluation.module.d.ts.map +1 -1
  221. package/dist/evaluation/evaluation.module.js +2 -1
  222. package/dist/evaluation/evaluation.module.js.map +1 -1
  223. package/dist/evaluation/evaluation.service.d.ts.map +1 -1
  224. package/dist/evaluation/evaluation.service.js +9 -2
  225. package/dist/evaluation/evaluation.service.js.map +1 -1
  226. package/dist/exam/dto/create-exam-question.dto.d.ts +2 -0
  227. package/dist/exam/dto/create-exam-question.dto.d.ts.map +1 -1
  228. package/dist/exam/dto/create-exam-question.dto.js +10 -0
  229. package/dist/exam/dto/create-exam-question.dto.js.map +1 -1
  230. package/dist/exam/dto/create-exam.dto.d.ts +2 -0
  231. package/dist/exam/dto/create-exam.dto.d.ts.map +1 -1
  232. package/dist/exam/dto/create-exam.dto.js +10 -0
  233. package/dist/exam/dto/create-exam.dto.js.map +1 -1
  234. package/dist/exam/dto/create-question-subject.dto.d.ts +5 -0
  235. package/dist/exam/dto/create-question-subject.dto.d.ts.map +1 -0
  236. package/dist/exam/dto/create-question-subject.dto.js +28 -0
  237. package/dist/exam/dto/create-question-subject.dto.js.map +1 -0
  238. package/dist/exam/exam-attempt.controller.d.ts +4 -0
  239. package/dist/exam/exam-attempt.controller.d.ts.map +1 -1
  240. package/dist/exam/exam-attempt.service.d.ts +7 -1
  241. package/dist/exam/exam-attempt.service.d.ts.map +1 -1
  242. package/dist/exam/exam-attempt.service.js +47 -17
  243. package/dist/exam/exam-attempt.service.js.map +1 -1
  244. package/dist/exam/exam.controller.d.ts +34 -0
  245. package/dist/exam/exam.controller.d.ts.map +1 -1
  246. package/dist/exam/exam.controller.js +27 -0
  247. package/dist/exam/exam.controller.js.map +1 -1
  248. package/dist/exam/exam.mcp-tools.d.ts +62 -0
  249. package/dist/exam/exam.mcp-tools.d.ts.map +1 -0
  250. package/dist/exam/exam.mcp-tools.js +430 -0
  251. package/dist/exam/exam.mcp-tools.js.map +1 -0
  252. package/dist/exam/exam.module.d.ts.map +1 -1
  253. package/dist/exam/exam.module.js +2 -1
  254. package/dist/exam/exam.module.js.map +1 -1
  255. package/dist/exam/exam.service.d.ts +38 -0
  256. package/dist/exam/exam.service.d.ts.map +1 -1
  257. package/dist/exam/exam.service.js +114 -17
  258. package/dist/exam/exam.service.js.map +1 -1
  259. package/dist/index.d.ts +10 -0
  260. package/dist/index.d.ts.map +1 -1
  261. package/dist/index.js +10 -0
  262. package/dist/index.js.map +1 -1
  263. package/dist/instructor/instructor.mcp-tools.d.ts +41 -0
  264. package/dist/instructor/instructor.mcp-tools.d.ts.map +1 -0
  265. package/dist/instructor/instructor.mcp-tools.js +326 -0
  266. package/dist/instructor/instructor.mcp-tools.js.map +1 -0
  267. package/dist/instructor/instructor.module.d.ts.map +1 -1
  268. package/dist/instructor/instructor.module.js +2 -1
  269. package/dist/instructor/instructor.module.js.map +1 -1
  270. package/dist/lms.module.d.ts.map +1 -1
  271. package/dist/lms.module.js +18 -0
  272. package/dist/lms.module.js.map +1 -1
  273. package/dist/realtime/lms-realtime.controller.d.ts +7 -0
  274. package/dist/realtime/lms-realtime.controller.d.ts.map +1 -0
  275. package/dist/realtime/lms-realtime.controller.js +34 -0
  276. package/dist/realtime/lms-realtime.controller.js.map +1 -0
  277. package/dist/realtime/lms-realtime.module.d.ts +3 -0
  278. package/dist/realtime/lms-realtime.module.d.ts.map +1 -0
  279. package/dist/realtime/lms-realtime.module.js +25 -0
  280. package/dist/realtime/lms-realtime.module.js.map +1 -0
  281. package/dist/realtime/lms-realtime.service.d.ts +36 -0
  282. package/dist/realtime/lms-realtime.service.d.ts.map +1 -0
  283. package/dist/realtime/lms-realtime.service.js +59 -0
  284. package/dist/realtime/lms-realtime.service.js.map +1 -0
  285. package/dist/realtime/lms-realtime.subscriber.d.ts +10 -0
  286. package/dist/realtime/lms-realtime.subscriber.d.ts.map +1 -0
  287. package/dist/realtime/lms-realtime.subscriber.js +70 -0
  288. package/dist/realtime/lms-realtime.subscriber.js.map +1 -0
  289. package/dist/reports/reports.mcp-tools.d.ts +10 -0
  290. package/dist/reports/reports.mcp-tools.d.ts.map +1 -0
  291. package/dist/reports/reports.mcp-tools.js +50 -0
  292. package/dist/reports/reports.mcp-tools.js.map +1 -0
  293. package/dist/reports/reports.module.d.ts.map +1 -1
  294. package/dist/reports/reports.module.js +2 -1
  295. package/dist/reports/reports.module.js.map +1 -1
  296. package/dist/training/training.mcp-tools.d.ts +20 -0
  297. package/dist/training/training.mcp-tools.d.ts.map +1 -0
  298. package/dist/training/training.mcp-tools.js +181 -0
  299. package/dist/training/training.mcp-tools.js.map +1 -0
  300. package/dist/training/training.module.d.ts.map +1 -1
  301. package/dist/training/training.module.js +2 -1
  302. package/dist/training/training.module.js.map +1 -1
  303. package/dist/video-resolution-profile/dto/create-video-resolution-profile.dto.d.ts +6 -0
  304. package/dist/video-resolution-profile/dto/create-video-resolution-profile.dto.d.ts.map +1 -0
  305. package/dist/video-resolution-profile/dto/create-video-resolution-profile.dto.js +33 -0
  306. package/dist/video-resolution-profile/dto/create-video-resolution-profile.dto.js.map +1 -0
  307. package/dist/video-resolution-profile/dto/update-video-resolution-profile.dto.d.ts +6 -0
  308. package/dist/video-resolution-profile/dto/update-video-resolution-profile.dto.d.ts.map +1 -0
  309. package/dist/video-resolution-profile/dto/update-video-resolution-profile.dto.js +33 -0
  310. package/dist/video-resolution-profile/dto/update-video-resolution-profile.dto.js.map +1 -0
  311. package/dist/video-resolution-profile/video-resolution-profile.controller.d.ts +38 -0
  312. package/dist/video-resolution-profile/video-resolution-profile.controller.d.ts.map +1 -0
  313. package/dist/video-resolution-profile/video-resolution-profile.controller.js +89 -0
  314. package/dist/video-resolution-profile/video-resolution-profile.controller.js.map +1 -0
  315. package/dist/video-resolution-profile/video-resolution-profile.mcp-tools.d.ts +26 -0
  316. package/dist/video-resolution-profile/video-resolution-profile.mcp-tools.d.ts.map +1 -0
  317. package/dist/video-resolution-profile/video-resolution-profile.mcp-tools.js +160 -0
  318. package/dist/video-resolution-profile/video-resolution-profile.mcp-tools.js.map +1 -0
  319. package/dist/video-resolution-profile/video-resolution-profile.module.d.ts +3 -0
  320. package/dist/video-resolution-profile/video-resolution-profile.module.d.ts.map +1 -0
  321. package/dist/video-resolution-profile/video-resolution-profile.module.js +26 -0
  322. package/dist/video-resolution-profile/video-resolution-profile.module.js.map +1 -0
  323. package/dist/video-resolution-profile/video-resolution-profile.service.d.ts +45 -0
  324. package/dist/video-resolution-profile/video-resolution-profile.service.d.ts.map +1 -0
  325. package/dist/video-resolution-profile/video-resolution-profile.service.js +117 -0
  326. package/dist/video-resolution-profile/video-resolution-profile.service.js.map +1 -0
  327. package/hedhog/data/integration_event_catalog.yaml +69 -0
  328. package/hedhog/data/menu.yaml +51 -0
  329. package/hedhog/data/route.yaml +2484 -0
  330. package/hedhog/data/video_resolution_profile.yaml +7 -0
  331. package/hedhog/frontend/app/_components/class-form-sheet.tsx.ejs +432 -422
  332. package/hedhog/frontend/app/_components/course-form-sheet.tsx.ejs +200 -67
  333. package/hedhog/frontend/app/_components/course-picker.tsx.ejs +228 -0
  334. package/hedhog/frontend/app/_components/create-lms-instructor-sheet.tsx.ejs +7 -4
  335. package/hedhog/frontend/app/_components/create-lms-person-sheet.tsx.ejs +2 -2
  336. package/hedhog/frontend/app/_components/create-lms-student-person-sheet.tsx.ejs +2 -2
  337. package/hedhog/frontend/app/_lib/editor/templateSerializer.ts.ejs +34 -4
  338. package/hedhog/frontend/app/_lib/editor/types.ts.ejs +28 -3
  339. package/hedhog/frontend/app/_lib/hooks/use-lms-realtime-refresh.ts.ejs +58 -0
  340. package/hedhog/frontend/app/achievements/page.tsx.ejs +850 -0
  341. package/hedhog/frontend/app/bitcodes/page.tsx.ejs +1016 -0
  342. package/hedhog/frontend/app/certificates/issued/page.tsx.ejs +68 -5
  343. package/hedhog/frontend/app/certificates/models/CanvasStage.tsx.ejs +29 -8
  344. package/hedhog/frontend/app/certificates/models/LeftPanel.tsx.ejs +14 -0
  345. package/hedhog/frontend/app/certificates/models/RightPanel.tsx.ejs +194 -9
  346. package/hedhog/frontend/app/certificates/models/page.tsx.ejs +15 -5
  347. package/hedhog/frontend/app/classes/[id]/page.tsx.ejs +16 -5
  348. package/hedhog/frontend/app/classes/page.tsx.ejs +126 -2105
  349. package/hedhog/frontend/app/courses/[id]/_components/CourseCertificateCard.tsx.ejs +19 -9
  350. package/hedhog/frontend/app/courses/[id]/_components/CourseClassificationCard.tsx.ejs +24 -1
  351. package/hedhog/frontend/app/courses/[id]/_components/CourseContentCard.tsx.ejs +1 -1
  352. package/hedhog/frontend/app/courses/[id]/_components/CourseMainInfoCard.tsx.ejs +1 -1
  353. package/hedhog/frontend/app/courses/[id]/_components/CourseRelationsCard.tsx.ejs +51 -11
  354. package/hedhog/frontend/app/courses/[id]/_components/CourseSectionCard.tsx.ejs +11 -6
  355. package/hedhog/frontend/app/courses/[id]/_components/CourseSummaryCard.tsx.ejs +7 -4
  356. package/hedhog/frontend/app/courses/[id]/_components/course-edit-types.ts.ejs +2 -0
  357. package/hedhog/frontend/app/courses/[id]/page.tsx.ejs +24 -96
  358. package/hedhog/frontend/app/courses/[id]/structure/_components/course-tree-dnd.tsx.ejs +80 -66
  359. package/hedhog/frontend/app/courses/[id]/structure/_components/editor-course.tsx.ejs +1286 -230
  360. package/hedhog/frontend/app/courses/[id]/structure/_components/editor-lesson.tsx.ejs +1334 -153
  361. package/hedhog/frontend/app/courses/[id]/structure/_components/editor-session.tsx.ejs +11 -11
  362. package/hedhog/frontend/app/courses/[id]/structure/_components/mock-data.ts.ejs +1 -1
  363. package/hedhog/frontend/app/courses/[id]/structure/_components/shortcuts-help.tsx.ejs +62 -52
  364. package/hedhog/frontend/app/courses/[id]/structure/_components/tree-context-menu.tsx.ejs +106 -4
  365. package/hedhog/frontend/app/courses/[id]/structure/_components/types.ts.ejs +4 -1
  366. package/hedhog/frontend/app/courses/[id]/structure/_data/adapters/course-structure.adapter.ts.ejs +30 -7
  367. package/hedhog/frontend/app/courses/[id]/structure/_data/services/course-structure.service.ts.ejs +138 -6
  368. package/hedhog/frontend/app/courses/[id]/structure/_data/types/api-course.types.ts.ejs +16 -2
  369. package/hedhog/frontend/app/courses/[id]/structure/_data/use-course-structure-mutations.ts.ejs +1 -0
  370. package/hedhog/frontend/app/courses/page.tsx.ejs +282 -113
  371. package/hedhog/frontend/app/enterprise/[id]/page.tsx.ejs +1 -1
  372. package/hedhog/frontend/app/enterprise/_components/enterprise-admin-create-sheet.tsx.ejs +10 -3
  373. package/hedhog/frontend/app/enterprise/_components/enterprise-course-create-sheet.tsx.ejs +3 -0
  374. package/hedhog/frontend/app/enterprise/_components/enterprise-course-edit-sheet.tsx.ejs +7 -0
  375. package/hedhog/frontend/app/enterprise/_components/enterprise-detail-sheet.tsx.ejs +8 -4
  376. package/hedhog/frontend/app/enterprise/_components/enterprise-person-edit-sheet.tsx.ejs +2 -2
  377. package/hedhog/frontend/app/enterprise/_components/enterprise-sheet.tsx.ejs +10 -4
  378. package/hedhog/frontend/app/enterprise/_components/enterprise-student-create-sheet.tsx.ejs +10 -3
  379. package/hedhog/frontend/app/enterprise/_components/enterprise-user-create-sheet.tsx.ejs +10 -3
  380. package/hedhog/frontend/app/evaluations/_components/evaluation-topic-form-sheet.tsx.ejs +10 -3
  381. package/hedhog/frontend/app/exams/[id]/questions/page.tsx.ejs +186 -5
  382. package/hedhog/frontend/app/exams/page.tsx.ejs +89 -26
  383. package/hedhog/frontend/app/instructor-skills/page.tsx.ejs +10 -3
  384. package/hedhog/frontend/app/instructors/_components/instructor-form-sheet.tsx.ejs +190 -17
  385. package/hedhog/frontend/app/instructors/page.tsx.ejs +1 -0
  386. package/hedhog/frontend/app/layout.tsx.ejs +5 -1
  387. package/hedhog/frontend/app/paths/page.tsx.ejs +19 -29
  388. package/hedhog/frontend/app/reports/evaluations/page.tsx.ejs +10 -10
  389. package/hedhog/frontend/app/training/page.tsx.ejs +19 -29
  390. package/hedhog/frontend/app/video-resolution-profiles/page.tsx.ejs +607 -0
  391. package/hedhog/frontend/messages/en.json +563 -20
  392. package/hedhog/frontend/messages/pt.json +563 -20
  393. package/hedhog/query/triggers.sql +53 -0
  394. package/hedhog/table/achievement.yaml +46 -0
  395. package/hedhog/table/bitcode_wallet.yaml +18 -0
  396. package/hedhog/table/bitcode_wallet_transaction.yaml +22 -0
  397. package/hedhog/table/certificate.yaml +3 -0
  398. package/hedhog/table/course.yaml +8 -0
  399. package/hedhog/table/course_file.yaml +23 -0
  400. package/hedhog/table/course_lesson.yaml +5 -0
  401. package/hedhog/table/course_lesson_discussion_like.yaml +21 -0
  402. package/hedhog/table/course_lesson_discussion_topic.yaml +35 -0
  403. package/hedhog/table/course_lesson_file.yaml +8 -0
  404. package/hedhog/table/course_lesson_note.yaml +34 -0
  405. package/hedhog/table/course_video_resolution_profile.yaml +22 -0
  406. package/hedhog/table/exam.yaml +5 -0
  407. package/hedhog/table/learning_path_enrollment.yaml +6 -0
  408. package/hedhog/table/question.yaml +10 -0
  409. package/hedhog/table/question_subject.yaml +17 -0
  410. package/hedhog/table/student_activity_streak.yaml +25 -0
  411. package/hedhog/table/video_resolution_profile.yaml +18 -0
  412. package/package.json +8 -7
  413. package/src/achievement/achievement.controller.ts +60 -0
  414. package/src/achievement/achievement.mcp-tools.ts +108 -0
  415. package/src/achievement/achievement.module.ts +13 -0
  416. package/src/achievement/achievement.service.ts +252 -0
  417. package/src/achievement/dto/create-achievement.dto.ts +50 -0
  418. package/src/achievement/dto/update-achievement.dto.ts +47 -0
  419. package/src/bitcode-wallet/bitcode-wallet.controller.ts +69 -0
  420. package/src/bitcode-wallet/bitcode-wallet.mcp-tools.ts +107 -0
  421. package/src/bitcode-wallet/bitcode-wallet.module.ts +13 -0
  422. package/src/bitcode-wallet/bitcode-wallet.service.ts +361 -0
  423. package/src/bitcode-wallet/dto/create-bitcode-wallet-transaction.dto.ts +27 -0
  424. package/src/bitcode-wallet/dto/create-bitcode-wallet.dto.ts +7 -0
  425. package/src/bitcode-wallet/dto/update-bitcode-wallet-transaction.dto.ts +28 -0
  426. package/src/bitcode-wallet/dto/update-bitcode-wallet.dto.ts +8 -0
  427. package/src/certificate/certificate.controller.ts +17 -3
  428. package/src/certificate/certificate.mcp-tools.ts +131 -0
  429. package/src/certificate/certificate.module.ts +2 -1
  430. package/src/certificate/certificate.service.ts +193 -7
  431. package/src/certificate/dto/update-certificate-public-access.dto.ts +6 -0
  432. package/src/class-group/class-group.mcp-tools.ts +435 -0
  433. package/src/class-group/class-group.module.ts +2 -1
  434. package/src/class-group/class-group.service.ts +51 -1
  435. package/src/course/course-operations-integration.service.ts +520 -0
  436. package/src/course/course-structure.controller.ts +46 -10
  437. package/src/course/course-structure.service.ts +236 -27
  438. package/src/course/course-video-conversion.service.ts +415 -0
  439. package/src/course/course.controller.ts +18 -0
  440. package/src/course/course.mcp-tools.ts +409 -0
  441. package/src/course/course.module.ts +23 -3
  442. package/src/course/course.service.ts +178 -29
  443. package/src/course/dto/create-course-structure-lesson.dto.ts +13 -2
  444. package/src/course/dto/create-course.dto.ts +16 -0
  445. package/src/course/dto/update-course-resources.dto.ts +39 -0
  446. package/src/course-lesson-discussion/course-lesson-discussion.controller.ts +55 -0
  447. package/src/course-lesson-discussion/course-lesson-discussion.mcp-tools.ts +75 -0
  448. package/src/course-lesson-discussion/course-lesson-discussion.module.ts +13 -0
  449. package/src/course-lesson-discussion/course-lesson-discussion.service.ts +354 -0
  450. package/src/course-lesson-discussion/dto/create-course-lesson-discussion-topic.dto.ts +16 -0
  451. package/src/course-lesson-note/course-lesson-note.controller.ts +68 -0
  452. package/src/course-lesson-note/course-lesson-note.mcp-tools.ts +96 -0
  453. package/src/course-lesson-note/course-lesson-note.module.ts +13 -0
  454. package/src/course-lesson-note/course-lesson-note.service.ts +248 -0
  455. package/src/course-lesson-note/dto/create-course-lesson-note.dto.ts +16 -0
  456. package/src/course-lesson-note/dto/update-course-lesson-note.dto.ts +18 -0
  457. package/src/dashboard/dashboard.mcp-tools.ts +23 -0
  458. package/src/dashboard/dashboard.module.ts +2 -1
  459. package/src/enterprise/enterprise.controller.ts +0 -1
  460. package/src/enterprise/enterprise.mcp-tools.ts +403 -0
  461. package/src/enterprise/enterprise.module.ts +2 -1
  462. package/src/enterprise/training/enterprise-training.module.ts +11 -1
  463. package/src/enterprise/training/training-admin.mcp-tools.ts +479 -0
  464. package/src/enterprise/training/training-instructor.mcp-tools.ts +210 -0
  465. package/src/enterprise/training/training-student.controller.ts +17 -1
  466. package/src/enterprise/training/training-student.mcp-tools.ts +136 -0
  467. package/src/enterprise/training/training-student.service.ts +167 -1
  468. package/src/evaluation/evaluation.mcp-tools.ts +155 -0
  469. package/src/evaluation/evaluation.module.ts +2 -1
  470. package/src/evaluation/evaluation.service.ts +9 -2
  471. package/src/exam/dto/create-exam-question.dto.ts +8 -0
  472. package/src/exam/dto/create-exam.dto.ts +8 -0
  473. package/src/exam/dto/create-question-subject.dto.ts +12 -0
  474. package/src/exam/exam-attempt.service.ts +46 -14
  475. package/src/exam/exam.controller.ts +19 -0
  476. package/src/exam/exam.mcp-tools.ts +337 -0
  477. package/src/exam/exam.module.ts +2 -1
  478. package/src/exam/exam.service.ts +121 -0
  479. package/src/index.ts +10 -0
  480. package/src/instructor/instructor.mcp-tools.ts +243 -0
  481. package/src/instructor/instructor.module.ts +2 -1
  482. package/src/lms.module.ts +18 -1
  483. package/src/realtime/lms-realtime.controller.ts +12 -0
  484. package/src/realtime/lms-realtime.module.ts +12 -0
  485. package/src/realtime/lms-realtime.service.ts +98 -0
  486. package/src/realtime/lms-realtime.subscriber.ts +61 -0
  487. package/src/reports/reports.mcp-tools.ts +27 -0
  488. package/src/reports/reports.module.ts +2 -1
  489. package/src/training/training.mcp-tools.ts +128 -0
  490. package/src/training/training.module.ts +2 -1
  491. package/src/video-resolution-profile/dto/create-video-resolution-profile.dto.ts +16 -0
  492. package/src/video-resolution-profile/dto/update-video-resolution-profile.dto.ts +16 -0
  493. package/src/video-resolution-profile/video-resolution-profile.controller.ts +62 -0
  494. package/src/video-resolution-profile/video-resolution-profile.mcp-tools.ts +128 -0
  495. package/src/video-resolution-profile/video-resolution-profile.module.ts +13 -0
  496. package/src/video-resolution-profile/video-resolution-profile.service.ts +117 -0
@@ -13,15 +13,18 @@ exports.CourseStructureService = void 0;
13
13
  const api_prisma_1 = require("@hed-hog/api-prisma");
14
14
  const common_1 = require("@nestjs/common");
15
15
  const instructor_service_1 = require("../instructor/instructor.service");
16
+ const course_operations_integration_service_1 = require("./course-operations-integration.service");
16
17
  let CourseStructureService = class CourseStructureService {
17
- constructor(prisma, instructorService) {
18
+ constructor(prisma, instructorService, operationsIntegration) {
18
19
  this.prisma = prisma;
19
20
  this.instructorService = instructorService;
21
+ this.operationsIntegration = operationsIntegration;
20
22
  }
21
23
  async getStructure(courseId) {
22
- var _a, _b;
24
+ var _a, _b, _c, _d, _e, _f, _g;
23
25
  await this.ensureCourseExists(courseId);
24
- const [modules, instructors, courseRecord] = await Promise.all([
26
+ const courseResources = await this.getCourseResources(courseId);
27
+ const [modules, instructors, courseRecord, courseProjectLinks] = await Promise.all([
25
28
  this.prisma.course_module.findMany({
26
29
  where: { course_id: courseId },
27
30
  orderBy: { order: 'asc' },
@@ -54,9 +57,19 @@ let CourseStructureService = class CourseStructureService {
54
57
  this.instructorService.listQualifiedInstructorOptions(['course-lessons']),
55
58
  this.prisma.course.findUnique({
56
59
  where: { id: courseId },
57
- select: { id: true, slug: true, title: true, description: true },
60
+ select: {
61
+ id: true,
62
+ name: true,
63
+ slug: true,
64
+ title: true,
65
+ description: true,
66
+ offering_type: true,
67
+ },
58
68
  }),
69
+ this.operationsIntegration.getCourseProjectLinks([courseId]),
59
70
  ]);
71
+ const lessonTaskLinks = await this.operationsIntegration.getLessonTaskLinks(modules.flatMap((module) => module.course_lesson.map((lesson) => lesson.id)));
72
+ const courseProject = courseProjectLinks.get(courseId);
60
73
  const sessoes = modules.map((module, index) => {
61
74
  var _a, _b;
62
75
  return ({
@@ -68,7 +81,7 @@ let CourseStructureService = class CourseStructureService {
68
81
  });
69
82
  });
70
83
  const aulas = modules.flatMap((module) => module.course_lesson.map((lesson, index) => {
71
- var _a, _b, _c, _d, _e;
84
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
72
85
  const parsedContent = this.parseLessonContent(lesson.content);
73
86
  const tipo = this.mapDbTypeToUiType(lesson.type, parsedContent === null || parsedContent === void 0 ? void 0 : parsedContent.sourceType);
74
87
  return {
@@ -84,19 +97,24 @@ let CourseStructureService = class CourseStructureService {
84
97
  videoUrl: parsedContent === null || parsedContent === void 0 ? void 0 : parsedContent.videoUrl,
85
98
  duracaoAutomatica: parsedContent === null || parsedContent === void 0 ? void 0 : parsedContent.duracaoAutomatica,
86
99
  transcricao: parsedContent === null || parsedContent === void 0 ? void 0 : parsedContent.transcricao,
100
+ videoConversionJobId: parsedContent === null || parsedContent === void 0 ? void 0 : parsedContent.videoConversionJobId,
87
101
  exameVinculado: (parsedContent === null || parsedContent === void 0 ? void 0 : parsedContent.exameVinculado) != null
88
102
  ? String(parsedContent.exameVinculado)
89
103
  : ((_e = lesson.course_lesson_question[0]) === null || _e === void 0 ? void 0 : _e.question_id) != null
90
104
  ? String(lesson.course_lesson_question[0].question_id)
91
105
  : undefined,
92
106
  conteudoPost: parsedContent === null || parsedContent === void 0 ? void 0 : parsedContent.conteudoPost,
93
- recursos: lesson.course_lesson_file.map((fileLink) => ({
94
- id: String(fileLink.id),
95
- nome: fileLink.title,
96
- tamanho: '',
97
- tipo: '',
98
- publico: true,
99
- })),
107
+ recursos: lesson.course_lesson_file.map((fileLink) => {
108
+ var _a, _b;
109
+ return ({
110
+ id: String(fileLink.id),
111
+ nome: fileLink.title,
112
+ fileId: fileLink.file_id,
113
+ tamanho: '',
114
+ tipo: (_a = fileLink.tipo) !== null && _a !== void 0 ? _a : '',
115
+ publico: (_b = fileLink.publico) !== null && _b !== void 0 ? _b : true,
116
+ });
117
+ }),
100
118
  instrutores: lesson.course_lesson_instructor.map((item) => {
101
119
  var _a;
102
120
  return ({
@@ -105,6 +123,9 @@ let CourseStructureService = class CourseStructureService {
105
123
  nome: this.personName((_a = item.instructor) === null || _a === void 0 ? void 0 : _a.person),
106
124
  });
107
125
  }),
126
+ operationsTaskId: (_g = (_f = lessonTaskLinks.get(lesson.id)) === null || _f === void 0 ? void 0 : _f.taskId) !== null && _g !== void 0 ? _g : null,
127
+ operationsTaskName: (_j = (_h = lessonTaskLinks.get(lesson.id)) === null || _h === void 0 ? void 0 : _h.taskName) !== null && _j !== void 0 ? _j : null,
128
+ operationsTaskStatus: (_l = (_k = lessonTaskLinks.get(lesson.id)) === null || _k === void 0 ? void 0 : _k.taskStatus) !== null && _l !== void 0 ? _l : null,
108
129
  };
109
130
  }));
110
131
  return {
@@ -117,13 +138,54 @@ let CourseStructureService = class CourseStructureService {
117
138
  curso: courseRecord
118
139
  ? {
119
140
  id: String(courseRecord.id),
120
- slug: (_a = courseRecord.slug) !== null && _a !== void 0 ? _a : '',
141
+ name: (_a = courseRecord.name) !== null && _a !== void 0 ? _a : '',
142
+ slug: (_b = courseRecord.slug) !== null && _b !== void 0 ? _b : '',
121
143
  titulo: courseRecord.title,
122
- descricao: (_b = courseRecord.description) !== null && _b !== void 0 ? _b : '',
144
+ descricao: (_c = courseRecord.description) !== null && _c !== void 0 ? _c : '',
145
+ offeringType: (_d = courseRecord.offering_type) !== null && _d !== void 0 ? _d : 'on_demand',
146
+ recursos: courseResources,
147
+ operationsProjectId: (_e = courseProject === null || courseProject === void 0 ? void 0 : courseProject.projectId) !== null && _e !== void 0 ? _e : null,
148
+ operationsProjectCode: (_f = courseProject === null || courseProject === void 0 ? void 0 : courseProject.projectCode) !== null && _f !== void 0 ? _f : null,
149
+ operationsProjectName: (_g = courseProject === null || courseProject === void 0 ? void 0 : courseProject.projectName) !== null && _g !== void 0 ? _g : null,
123
150
  }
124
151
  : null,
125
152
  };
126
153
  }
154
+ async getCourseResources(courseId) {
155
+ await this.ensureCourseExists(courseId);
156
+ const rows = await this.prisma.$queryRaw `
157
+ SELECT id, title, file_id
158
+ FROM course_file
159
+ WHERE course_id = ${courseId}
160
+ ORDER BY id DESC
161
+ `;
162
+ return rows.map((row) => ({
163
+ id: row.id,
164
+ nome: row.title,
165
+ fileId: row.file_id,
166
+ tipo: 'file',
167
+ publico: true,
168
+ }));
169
+ }
170
+ async updateCourseResources(courseId, dto) {
171
+ var _a;
172
+ await this.ensureCourseExists(courseId);
173
+ const recursos = (_a = dto.recursos) !== null && _a !== void 0 ? _a : [];
174
+ await this.prisma.$transaction(async (tx) => {
175
+ var _a;
176
+ await tx.$executeRaw `
177
+ DELETE FROM course_file
178
+ WHERE course_id = ${courseId}
179
+ `;
180
+ for (const recurso of recursos) {
181
+ await tx.$executeRaw `
182
+ INSERT INTO course_file (course_id, title, file_id)
183
+ VALUES (${courseId}, ${recurso.nome}, ${(_a = recurso.fileId) !== null && _a !== void 0 ? _a : null})
184
+ `;
185
+ }
186
+ });
187
+ return this.getCourseResources(courseId);
188
+ }
127
189
  async createSession(courseId, dto) {
128
190
  var _a, _b, _c;
129
191
  await this.ensureCourseExists(courseId);
@@ -149,6 +211,13 @@ let CourseStructureService = class CourseStructureService {
149
211
  var _a, _b;
150
212
  const module = await this.prisma.course_module.findFirst({
151
213
  where: { id: sessionId, course_id: courseId },
214
+ include: {
215
+ course: {
216
+ select: {
217
+ title: true,
218
+ },
219
+ },
220
+ },
152
221
  });
153
222
  if (!module) {
154
223
  throw new common_1.NotFoundException('Session not found for this course');
@@ -168,6 +237,13 @@ let CourseStructureService = class CourseStructureService {
168
237
  async deleteSession(courseId, sessionId) {
169
238
  const module = await this.prisma.course_module.findFirst({
170
239
  where: { id: sessionId, course_id: courseId },
240
+ include: {
241
+ course: {
242
+ select: {
243
+ title: true,
244
+ },
245
+ },
246
+ },
171
247
  });
172
248
  if (!module) {
173
249
  throw new common_1.NotFoundException('Session not found for this course');
@@ -176,27 +252,47 @@ let CourseStructureService = class CourseStructureService {
176
252
  return { success: true };
177
253
  }
178
254
  async createLesson(courseId, sessionId, dto) {
179
- var _a;
180
255
  const module = await this.prisma.course_module.findFirst({
181
256
  where: { id: sessionId, course_id: courseId },
257
+ include: {
258
+ course: {
259
+ select: {
260
+ title: true,
261
+ },
262
+ },
263
+ },
182
264
  });
183
265
  if (!module) {
184
266
  throw new common_1.NotFoundException('Session not found for this course');
185
267
  }
186
- const nextOrder = await this.nextLessonOrder(sessionId);
187
- const mappedType = this.mapUiTypeToDbType(dto.tipo);
188
- const created = await this.prisma.course_lesson.create({
189
- data: {
190
- course_module_id: sessionId,
191
- title: dto.titulo,
192
- description: (_a = dto.descricaoPublica) !== null && _a !== void 0 ? _a : null,
193
- type: mappedType,
194
- duration_seconds: dto.duracao * 60,
195
- order: nextOrder,
196
- content: this.serializeContent(dto),
197
- },
268
+ const created = await this.prisma.$transaction(async (tx) => {
269
+ var _a, _b, _c, _d, _e, _f;
270
+ const nextOrder = await this.nextLessonOrder(sessionId, tx);
271
+ const mappedType = this.mapUiTypeToDbType(dto.tipo);
272
+ const lesson = await tx.course_lesson.create({
273
+ data: {
274
+ course_module_id: sessionId,
275
+ title: dto.titulo,
276
+ description: (_a = dto.descricaoPublica) !== null && _a !== void 0 ? _a : null,
277
+ type: mappedType,
278
+ duration_seconds: dto.duracao * 60,
279
+ order: nextOrder,
280
+ content: this.serializeContent(dto),
281
+ },
282
+ });
283
+ await this.syncLessonRelations(lesson.id, dto, tx);
284
+ const projectLinks = await this.operationsIntegration.getCourseProjectLinks([courseId], tx);
285
+ await this.operationsIntegration.createTaskForLesson(tx, {
286
+ courseId,
287
+ lessonId: lesson.id,
288
+ projectId: (_c = (_b = projectLinks.get(courseId)) === null || _b === void 0 ? void 0 : _b.projectId) !== null && _c !== void 0 ? _c : null,
289
+ courseTitle: (_e = (_d = module.course) === null || _d === void 0 ? void 0 : _d.title) !== null && _e !== void 0 ? _e : null,
290
+ sessionTitle: module.title,
291
+ lessonTitle: dto.titulo,
292
+ lessonDescription: (_f = dto.descricaoPublica) !== null && _f !== void 0 ? _f : null,
293
+ });
294
+ return lesson;
198
295
  });
199
- await this.syncLessonRelations(created.id, dto);
200
296
  return this.getLessonById(created.id);
201
297
  }
202
298
  async updateLesson(courseId, sessionId, lessonId, dto) {
@@ -223,12 +319,14 @@ let CourseStructureService = class CourseStructureService {
223
319
  videoUrl: dto.videoUrl,
224
320
  duracaoAutomatica: dto.duracaoAutomatica,
225
321
  transcricao: dto.transcricao,
322
+ videoConversionJobId: dto.videoConversionJobId,
226
323
  conteudoPost: dto.conteudoPost,
227
324
  exameVinculado: dto.exameVinculado,
228
325
  descricaoPrivada: dto.descricaoPrivada,
229
326
  }) }),
230
327
  });
231
328
  await this.syncLessonRelations(lessonId, dto);
329
+ await this.operationsIntegration.syncTaskForLesson(lessonId);
232
330
  return this.getLessonById(updated.id);
233
331
  }
234
332
  async deleteLesson(courseId, sessionId, lessonId) {
@@ -352,10 +450,15 @@ let CourseStructureService = class CourseStructureService {
352
450
  return { success: true };
353
451
  }
354
452
  async duplicateSession(courseId, sessionId) {
355
- var _a, _b;
453
+ var _a, _b, _c, _d, _e, _f;
356
454
  const sourceModule = await this.prisma.course_module.findFirst({
357
455
  where: { id: sessionId, course_id: courseId },
358
456
  include: {
457
+ course: {
458
+ select: {
459
+ title: true,
460
+ },
461
+ },
359
462
  course_lesson: {
360
463
  orderBy: { order: 'asc' },
361
464
  include: {
@@ -380,6 +483,10 @@ let CourseStructureService = class CourseStructureService {
380
483
  },
381
484
  });
382
485
  const newLessons = [];
486
+ const projectLinks = await this.operationsIntegration.getCourseProjectLinks([
487
+ courseId,
488
+ ]);
489
+ const projectId = (_b = (_a = projectLinks.get(courseId)) === null || _a === void 0 ? void 0 : _a.projectId) !== null && _b !== void 0 ? _b : null;
383
490
  for (const lesson of sourceModule.course_lesson) {
384
491
  const lessonOrder = await this.nextLessonOrder(newModule.id);
385
492
  const newLesson = await this.prisma.course_lesson.create({
@@ -395,11 +502,16 @@ let CourseStructureService = class CourseStructureService {
395
502
  });
396
503
  if (lesson.course_lesson_file.length > 0) {
397
504
  await this.prisma.course_lesson_file.createMany({
398
- data: lesson.course_lesson_file.map((f) => ({
399
- course_lesson_id: newLesson.id,
400
- title: f.title,
401
- file_id: f.file_id,
402
- })),
505
+ data: lesson.course_lesson_file.map((f) => {
506
+ var _a, _b;
507
+ return ({
508
+ course_lesson_id: newLesson.id,
509
+ title: f.title,
510
+ file_id: f.file_id,
511
+ tipo: (_a = f.tipo) !== null && _a !== void 0 ? _a : null,
512
+ publico: (_b = f.publico) !== null && _b !== void 0 ? _b : true,
513
+ });
514
+ }),
403
515
  });
404
516
  }
405
517
  if (lesson.course_lesson_instructor.length > 0) {
@@ -420,20 +532,30 @@ let CourseStructureService = class CourseStructureService {
420
532
  })),
421
533
  });
422
534
  }
535
+ await this.operationsIntegration.createTaskForLesson(this.prisma, {
536
+ courseId,
537
+ lessonId: newLesson.id,
538
+ projectId,
539
+ courseTitle: (_d = (_c = sourceModule.course) === null || _c === void 0 ? void 0 : _c.title) !== null && _d !== void 0 ? _d : null,
540
+ sessionTitle: newModule.title,
541
+ lessonTitle: newLesson.title,
542
+ lessonDescription: newLesson.description,
543
+ });
423
544
  newLessons.push(await this.getLessonById(newLesson.id));
424
545
  }
425
546
  return {
426
547
  session: {
427
548
  id: String(newModule.id),
428
- codigo: this.formatCode('S', (_a = newModule.order) !== null && _a !== void 0 ? _a : nextOrder),
549
+ codigo: this.formatCode('S', (_e = newModule.order) !== null && _e !== void 0 ? _e : nextOrder),
429
550
  titulo: newModule.title,
430
- duracao: (_b = newModule.duration_minutes) !== null && _b !== void 0 ? _b : 0,
551
+ duracao: (_f = newModule.duration_minutes) !== null && _f !== void 0 ? _f : 0,
431
552
  collapsed: false,
432
553
  },
433
554
  lessons: newLessons,
434
555
  };
435
556
  }
436
557
  async duplicateLesson(courseId, sessionId, lessonId) {
558
+ var _a, _b, _c, _d, _e, _f, _g;
437
559
  const sourceLesson = await this.prisma.course_lesson.findFirst({
438
560
  where: {
439
561
  id: lessonId,
@@ -441,6 +563,16 @@ let CourseStructureService = class CourseStructureService {
441
563
  course_module: { course_id: courseId },
442
564
  },
443
565
  include: {
566
+ course_module: {
567
+ select: {
568
+ title: true,
569
+ course: {
570
+ select: {
571
+ title: true,
572
+ },
573
+ },
574
+ },
575
+ },
444
576
  course_lesson_file: true,
445
577
  course_lesson_question: true,
446
578
  course_lesson_instructor: true,
@@ -450,6 +582,10 @@ let CourseStructureService = class CourseStructureService {
450
582
  throw new common_1.NotFoundException('Lesson not found for this session');
451
583
  }
452
584
  const nextOrder = await this.nextLessonOrder(sessionId);
585
+ const projectLinks = await this.operationsIntegration.getCourseProjectLinks([
586
+ courseId,
587
+ ]);
588
+ const projectId = (_b = (_a = projectLinks.get(courseId)) === null || _a === void 0 ? void 0 : _a.projectId) !== null && _b !== void 0 ? _b : null;
453
589
  const newLesson = await this.prisma.course_lesson.create({
454
590
  data: {
455
591
  course_module_id: sessionId,
@@ -463,11 +599,16 @@ let CourseStructureService = class CourseStructureService {
463
599
  });
464
600
  if (sourceLesson.course_lesson_file.length > 0) {
465
601
  await this.prisma.course_lesson_file.createMany({
466
- data: sourceLesson.course_lesson_file.map((f) => ({
467
- course_lesson_id: newLesson.id,
468
- title: f.title,
469
- file_id: f.file_id,
470
- })),
602
+ data: sourceLesson.course_lesson_file.map((f) => {
603
+ var _a, _b;
604
+ return ({
605
+ course_lesson_id: newLesson.id,
606
+ title: f.title,
607
+ file_id: f.file_id,
608
+ tipo: (_a = f.tipo) !== null && _a !== void 0 ? _a : null,
609
+ publico: (_b = f.publico) !== null && _b !== void 0 ? _b : true,
610
+ });
611
+ }),
471
612
  });
472
613
  }
473
614
  if (sourceLesson.course_lesson_instructor.length > 0) {
@@ -488,9 +629,19 @@ let CourseStructureService = class CourseStructureService {
488
629
  })),
489
630
  });
490
631
  }
632
+ await this.operationsIntegration.createTaskForLesson(this.prisma, {
633
+ courseId,
634
+ lessonId: newLesson.id,
635
+ projectId,
636
+ courseTitle: (_e = (_d = (_c = sourceLesson.course_module) === null || _c === void 0 ? void 0 : _c.course) === null || _d === void 0 ? void 0 : _d.title) !== null && _e !== void 0 ? _e : null,
637
+ sessionTitle: (_g = (_f = sourceLesson.course_module) === null || _f === void 0 ? void 0 : _f.title) !== null && _g !== void 0 ? _g : null,
638
+ lessonTitle: newLesson.title,
639
+ lessonDescription: newLesson.description,
640
+ });
491
641
  return this.getLessonById(newLesson.id);
492
642
  }
493
643
  async pasteLessons(courseId, targetSessionId, dto) {
644
+ var _a, _b;
494
645
  const targetModule = await this.prisma.course_module.findFirst({
495
646
  where: { id: targetSessionId, course_id: courseId },
496
647
  });
@@ -513,6 +664,10 @@ let CourseStructureService = class CourseStructureService {
513
664
  throw new common_1.BadRequestException('Some lessons do not belong to this course');
514
665
  }
515
666
  const result = [];
667
+ const projectLinks = await this.operationsIntegration.getCourseProjectLinks([
668
+ courseId,
669
+ ]);
670
+ const projectId = (_b = (_a = projectLinks.get(courseId)) === null || _a === void 0 ? void 0 : _a.projectId) !== null && _b !== void 0 ? _b : null;
516
671
  for (const lesson of sourceLessons) {
517
672
  const lessonOrder = await this.nextLessonOrder(targetSessionId);
518
673
  const newLesson = await this.prisma.course_lesson.create({
@@ -528,11 +683,16 @@ let CourseStructureService = class CourseStructureService {
528
683
  });
529
684
  if (lesson.course_lesson_file.length > 0) {
530
685
  await this.prisma.course_lesson_file.createMany({
531
- data: lesson.course_lesson_file.map((f) => ({
532
- course_lesson_id: newLesson.id,
533
- title: f.title,
534
- file_id: f.file_id,
535
- })),
686
+ data: lesson.course_lesson_file.map((f) => {
687
+ var _a, _b;
688
+ return ({
689
+ course_lesson_id: newLesson.id,
690
+ title: f.title,
691
+ file_id: f.file_id,
692
+ tipo: (_a = f.tipo) !== null && _a !== void 0 ? _a : null,
693
+ publico: (_b = f.publico) !== null && _b !== void 0 ? _b : true,
694
+ });
695
+ }),
536
696
  });
537
697
  }
538
698
  if (lesson.course_lesson_instructor.length > 0) {
@@ -553,17 +713,25 @@ let CourseStructureService = class CourseStructureService {
553
713
  })),
554
714
  });
555
715
  }
716
+ await this.operationsIntegration.createTaskForLesson(this.prisma, {
717
+ courseId,
718
+ lessonId: newLesson.id,
719
+ projectId,
720
+ sessionTitle: targetModule.title,
721
+ lessonTitle: newLesson.title,
722
+ lessonDescription: newLesson.description,
723
+ });
556
724
  result.push(await this.getLessonById(newLesson.id));
557
725
  }
558
726
  return { lessons: result };
559
727
  }
560
- async syncLessonRelations(lessonId, dto) {
728
+ async syncLessonRelations(lessonId, dto, client = this.prisma) {
561
729
  var _a;
562
730
  const instructorIds = [...new Set((_a = dto.instructorIds) !== null && _a !== void 0 ? _a : [])];
563
731
  if (instructorIds.length > 0) {
564
732
  await this.instructorService.assertQualifiedInstructorIds(instructorIds, ['course-lessons']);
565
733
  }
566
- await this.prisma.$transaction(async (tx) => {
734
+ const syncWithClient = async (tx) => {
567
735
  var _a;
568
736
  await tx.course_lesson_instructor.deleteMany({
569
737
  where: { course_lesson_id: lessonId },
@@ -584,11 +752,13 @@ let CourseStructureService = class CourseStructureService {
584
752
  if (recursos.length > 0) {
585
753
  await tx.course_lesson_file.createMany({
586
754
  data: recursos.map((recurso) => {
587
- var _a;
755
+ var _a, _b, _c;
588
756
  return ({
589
757
  course_lesson_id: lessonId,
590
758
  title: recurso.nome,
591
759
  file_id: (_a = recurso.fileId) !== null && _a !== void 0 ? _a : null,
760
+ tipo: (_b = recurso.tipo) !== null && _b !== void 0 ? _b : null,
761
+ publico: (_c = recurso.publico) !== null && _c !== void 0 ? _c : true,
592
762
  });
593
763
  }),
594
764
  });
@@ -605,15 +775,28 @@ let CourseStructureService = class CourseStructureService {
605
775
  },
606
776
  });
607
777
  }
608
- });
778
+ };
779
+ if (typeof (client === null || client === void 0 ? void 0 : client.$transaction) === 'function') {
780
+ await client.$transaction(async (tx) => syncWithClient(tx));
781
+ return;
782
+ }
783
+ await syncWithClient(client);
609
784
  }
610
785
  async getLessonById(lessonId) {
611
- var _a, _b, _c, _d, _e;
786
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
612
787
  const lesson = await this.prisma.course_lesson.findUnique({
613
788
  where: { id: lessonId },
614
789
  include: {
615
790
  course_module: {
616
- select: { id: true },
791
+ select: {
792
+ id: true,
793
+ title: true,
794
+ course: {
795
+ select: {
796
+ title: true,
797
+ },
798
+ },
799
+ },
617
800
  },
618
801
  course_lesson_file: true,
619
802
  course_lesson_question: {
@@ -638,6 +821,9 @@ let CourseStructureService = class CourseStructureService {
638
821
  if (!lesson) {
639
822
  throw new common_1.NotFoundException('Lesson not found');
640
823
  }
824
+ const taskLinks = await this.operationsIntegration.getLessonTaskLinks([
825
+ lessonId,
826
+ ]);
641
827
  const parsedContent = this.parseLessonContent(lesson.content);
642
828
  const tipo = this.mapDbTypeToUiType(lesson.type, parsedContent === null || parsedContent === void 0 ? void 0 : parsedContent.sourceType);
643
829
  return {
@@ -653,19 +839,24 @@ let CourseStructureService = class CourseStructureService {
653
839
  videoUrl: parsedContent === null || parsedContent === void 0 ? void 0 : parsedContent.videoUrl,
654
840
  duracaoAutomatica: parsedContent === null || parsedContent === void 0 ? void 0 : parsedContent.duracaoAutomatica,
655
841
  transcricao: parsedContent === null || parsedContent === void 0 ? void 0 : parsedContent.transcricao,
842
+ videoConversionJobId: parsedContent === null || parsedContent === void 0 ? void 0 : parsedContent.videoConversionJobId,
656
843
  exameVinculado: (parsedContent === null || parsedContent === void 0 ? void 0 : parsedContent.exameVinculado) != null
657
844
  ? String(parsedContent.exameVinculado)
658
845
  : ((_e = lesson.course_lesson_question[0]) === null || _e === void 0 ? void 0 : _e.question_id) != null
659
846
  ? String(lesson.course_lesson_question[0].question_id)
660
847
  : undefined,
661
848
  conteudoPost: parsedContent === null || parsedContent === void 0 ? void 0 : parsedContent.conteudoPost,
662
- recursos: lesson.course_lesson_file.map((fileLink) => ({
663
- id: String(fileLink.id),
664
- nome: fileLink.title,
665
- tamanho: '',
666
- tipo: '',
667
- publico: true,
668
- })),
849
+ recursos: lesson.course_lesson_file.map((fileLink) => {
850
+ var _a, _b;
851
+ return ({
852
+ id: String(fileLink.id),
853
+ nome: fileLink.title,
854
+ fileId: fileLink.file_id,
855
+ tamanho: '',
856
+ tipo: (_a = fileLink.tipo) !== null && _a !== void 0 ? _a : '',
857
+ publico: (_b = fileLink.publico) !== null && _b !== void 0 ? _b : true,
858
+ });
859
+ }),
669
860
  instrutores: lesson.course_lesson_instructor.map((item) => {
670
861
  var _a;
671
862
  return ({
@@ -674,6 +865,9 @@ let CourseStructureService = class CourseStructureService {
674
865
  nome: this.personName((_a = item.instructor) === null || _a === void 0 ? void 0 : _a.person),
675
866
  });
676
867
  }),
868
+ operationsTaskId: (_g = (_f = taskLinks.get(lessonId)) === null || _f === void 0 ? void 0 : _f.taskId) !== null && _g !== void 0 ? _g : null,
869
+ operationsTaskName: (_j = (_h = taskLinks.get(lessonId)) === null || _h === void 0 ? void 0 : _h.taskName) !== null && _j !== void 0 ? _j : null,
870
+ operationsTaskStatus: (_l = (_k = taskLinks.get(lessonId)) === null || _k === void 0 ? void 0 : _k.taskStatus) !== null && _l !== void 0 ? _l : null,
677
871
  };
678
872
  }
679
873
  async ensureCourseExists(courseId) {
@@ -694,9 +888,9 @@ let CourseStructureService = class CourseStructureService {
694
888
  });
695
889
  return ((_a = last === null || last === void 0 ? void 0 : last.order) !== null && _a !== void 0 ? _a : 0) + 1;
696
890
  }
697
- async nextLessonOrder(sessionId) {
891
+ async nextLessonOrder(sessionId, client = this.prisma) {
698
892
  var _a;
699
- const last = await this.prisma.course_lesson.findFirst({
893
+ const last = await client.course_lesson.findFirst({
700
894
  where: { course_module_id: sessionId },
701
895
  orderBy: { order: 'desc' },
702
896
  select: { order: true },
@@ -734,6 +928,9 @@ let CourseStructureService = class CourseStructureService {
734
928
  payload.videoUrl = (_c = data.videoUrl) !== null && _c !== void 0 ? _c : '';
735
929
  payload.duracaoAutomatica = (_d = data.duracaoAutomatica) !== null && _d !== void 0 ? _d : false;
736
930
  payload.transcricao = (_e = data.transcricao) !== null && _e !== void 0 ? _e : '';
931
+ if (data.videoConversionJobId != null) {
932
+ payload.videoConversionJobId = data.videoConversionJobId;
933
+ }
737
934
  }
738
935
  if (data.tipo === 'post' || data.tipo === 'exercicio') {
739
936
  payload.conteudoPost = (_f = data.conteudoPost) !== null && _f !== void 0 ? _f : '';
@@ -765,6 +962,7 @@ exports.CourseStructureService = CourseStructureService;
765
962
  exports.CourseStructureService = CourseStructureService = __decorate([
766
963
  (0, common_1.Injectable)(),
767
964
  __metadata("design:paramtypes", [api_prisma_1.PrismaService,
768
- instructor_service_1.InstructorService])
965
+ instructor_service_1.InstructorService,
966
+ course_operations_integration_service_1.CourseOperationsIntegrationService])
769
967
  ], CourseStructureService);
770
968
  //# sourceMappingURL=course-structure.service.js.map