@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
@@ -1 +1 @@
1
- {"version":3,"file":"course-structure.service.js","sourceRoot":"","sources":["../../src/course/course-structure.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"course-structure.service.js","sourceRoot":"","sources":["../../src/course/course-structure.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import { PrismaService } from '@hed-hog/api-prisma';
2
+ import { FileService } from '@hed-hog/core';
3
+ import { IJobHandler, QueueHandlerRegistry, QueueJobService } from '@hed-hog/queue';
4
+ import { OnModuleInit } from '@nestjs/common';
5
+ export declare const LMS_VIDEO_CONVERSION_JOB = "lms.video.convert";
6
+ export declare class CourseVideoConversionService implements OnModuleInit, IJobHandler {
7
+ private readonly prisma;
8
+ private readonly fileService;
9
+ private readonly registry;
10
+ private readonly queueJob;
11
+ private readonly logger;
12
+ constructor(prisma: PrismaService, fileService: FileService, registry: QueueHandlerRegistry, queueJob: QueueJobService);
13
+ onModuleInit(): void;
14
+ enqueueConversion(params: {
15
+ courseId: number;
16
+ sessionId: number;
17
+ lessonId: number;
18
+ originalFileId: number;
19
+ }): Promise<{
20
+ queueJobId: any;
21
+ status: string;
22
+ }>;
23
+ handle(job: {
24
+ id: number;
25
+ payload: Record<string, any>;
26
+ }): Promise<any>;
27
+ private getCourseProfiles;
28
+ private upsertLessonFile;
29
+ private convert;
30
+ private getPositiveIntegerEnv;
31
+ private calculateMBps;
32
+ private splitFfmpegParams;
33
+ private profileResourceType;
34
+ private slugify;
35
+ private parseContent;
36
+ }
37
+ //# sourceMappingURL=course-video-conversion.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"course-video-conversion.service.d.ts","sourceRoot":"","sources":["../../src/course/course-video-conversion.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACpF,OAAO,EAMH,YAAY,EAEf,MAAM,gBAAgB,CAAC;AAOxB,eAAO,MAAM,wBAAwB,sBAAsB,CAAC;AAU5D,qBACa,4BAA6B,YAAW,YAAY,EAAE,WAAW;IAK1E,OAAO,CAAC,QAAQ,CAAC,MAAM;IAEvB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAE5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAEzB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAV3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiD;gBAIrD,MAAM,EAAE,aAAa,EAErB,WAAW,EAAE,WAAW,EAExB,QAAQ,EAAE,oBAAoB,EAE9B,QAAQ,EAAE,eAAe;IAG5C,YAAY;IAKN,iBAAiB,CAAC,MAAM,EAAE;QAC9B,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,cAAc,EAAE,MAAM,CAAC;KACxB;;;;IAkFK,MAAM,CAAC,GAAG,EAAE;QAChB,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAC9B,GAAG,OAAO,CAAC,GAAG,CAAC;YAoJF,iBAAiB;YAiBjB,gBAAgB;YA4BhB,OAAO;IAqBrB,OAAO,CAAC,qBAAqB;IAc7B,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,OAAO;IAWf,OAAO,CAAC,YAAY;CAQrB"}
@@ -0,0 +1,308 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ var CourseVideoConversionService_1;
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.CourseVideoConversionService = exports.LMS_VIDEO_CONVERSION_JOB = void 0;
17
+ const api_prisma_1 = require("@hed-hog/api-prisma");
18
+ const core_1 = require("@hed-hog/core");
19
+ const queue_1 = require("@hed-hog/queue");
20
+ const common_1 = require("@nestjs/common");
21
+ const child_process_1 = require("child_process");
22
+ const fs_1 = require("fs");
23
+ const os_1 = require("os");
24
+ const path_1 = require("path");
25
+ const util_1 = require("util");
26
+ exports.LMS_VIDEO_CONVERSION_JOB = 'lms.video.convert';
27
+ const execFileAsync = (0, util_1.promisify)(child_process_1.execFile);
28
+ let CourseVideoConversionService = CourseVideoConversionService_1 = class CourseVideoConversionService {
29
+ constructor(prisma, fileService, registry, queueJob) {
30
+ this.prisma = prisma;
31
+ this.fileService = fileService;
32
+ this.registry = registry;
33
+ this.queueJob = queueJob;
34
+ this.logger = new common_1.Logger(CourseVideoConversionService_1.name);
35
+ }
36
+ onModuleInit() {
37
+ this.registry.register(exports.LMS_VIDEO_CONVERSION_JOB, this);
38
+ this.logger.log(`Registered handler for "${exports.LMS_VIDEO_CONVERSION_JOB}"`);
39
+ }
40
+ async enqueueConversion(params) {
41
+ var _a, _b, _c;
42
+ const lesson = await this.prisma.course_lesson.findFirst({
43
+ where: {
44
+ id: params.lessonId,
45
+ course_module_id: params.sessionId,
46
+ course_module: { course_id: params.courseId },
47
+ },
48
+ include: { course_module: true },
49
+ });
50
+ if (!lesson) {
51
+ throw new common_1.NotFoundException('Lesson not found for this course session');
52
+ }
53
+ const content = this.parseContent(lesson.content);
54
+ if (lesson.type !== 'video' || (content === null || content === void 0 ? void 0 : content.sourceType) !== 'video') {
55
+ throw new common_1.BadRequestException('Video conversion is only available for video lessons');
56
+ }
57
+ if ((content === null || content === void 0 ? void 0 : content.videoProvedor) !== 'file_storage') {
58
+ throw new common_1.BadRequestException('Video conversion requires File Storage provider');
59
+ }
60
+ const original = await this.prisma.file.findUnique({
61
+ where: { id: params.originalFileId },
62
+ include: { file_mimetype: true },
63
+ });
64
+ if (!original) {
65
+ throw new common_1.NotFoundException('Original video file not found');
66
+ }
67
+ const mimetype = (_b = (_a = original.file_mimetype) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : '';
68
+ if (!mimetype.startsWith('video/')) {
69
+ throw new common_1.BadRequestException('Original file must be a video');
70
+ }
71
+ const profiles = await this.getCourseProfiles(params.courseId);
72
+ if (profiles.length === 0) {
73
+ throw new common_1.BadRequestException('Course has no video resolution profiles');
74
+ }
75
+ await this.upsertLessonFile({
76
+ lessonId: params.lessonId,
77
+ type: 'video_original',
78
+ fileId: params.originalFileId,
79
+ title: (_c = original.filename) !== null && _c !== void 0 ? _c : `Original video ${params.originalFileId}`,
80
+ public: false,
81
+ overwrite: true,
82
+ });
83
+ const job = await this.queueJob.enqueue({
84
+ type: exports.LMS_VIDEO_CONVERSION_JOB,
85
+ queueName: exports.LMS_VIDEO_CONVERSION_JOB,
86
+ payload: {
87
+ courseId: params.courseId,
88
+ sessionId: params.sessionId,
89
+ lessonId: params.lessonId,
90
+ originalFileId: params.originalFileId,
91
+ profiles,
92
+ overwrite: true,
93
+ },
94
+ sourceModule: 'lms',
95
+ sourceEntity: 'course_lesson',
96
+ sourceEntityId: String(params.lessonId),
97
+ maxAttempts: 3,
98
+ });
99
+ await this.prisma.course_lesson.update({
100
+ where: { id: params.lessonId },
101
+ data: {
102
+ content: JSON.stringify(Object.assign(Object.assign({}, (content !== null && content !== void 0 ? content : {})), { sourceType: 'video', videoConversionJobId: job.id })),
103
+ },
104
+ });
105
+ return { queueJobId: job.id, status: 'queued' };
106
+ }
107
+ async handle(job) {
108
+ var _a, _b;
109
+ const { courseId, sessionId, lessonId, originalFileId, profiles, overwrite } = job.payload;
110
+ if (!courseId || !sessionId || !lessonId || !originalFileId || !(profiles === null || profiles === void 0 ? void 0 : profiles.length)) {
111
+ throw new Error('Invalid LMS video conversion payload');
112
+ }
113
+ const currentProfiles = await this.getCourseProfiles(courseId);
114
+ const profileIds = new Set(currentProfiles.map((profile) => profile.id));
115
+ const profilesToProcess = profiles.filter((profile) => profileIds.has(profile.id));
116
+ if (profilesToProcess.length === 0) {
117
+ throw new Error('Course has no active profiles to process');
118
+ }
119
+ const maxInputBytes = this.getPositiveIntegerEnv('LMS_VIDEO_MAX_INPUT_BYTES');
120
+ const ffmpegTimeoutMs = (_a = this.getPositiveIntegerEnv('LMS_VIDEO_FFMPEG_TIMEOUT_MS')) !== null && _a !== void 0 ? _a : 1000 * 60 * 60;
121
+ const workDir = await fs_1.promises.mkdtemp((0, path_1.join)((0, os_1.tmpdir)(), `lms-video-${job.id}-`));
122
+ const inputPath = (0, path_1.join)(workDir, `original-${originalFileId}.mp4`);
123
+ this.logger.log(`Queue job ${job.id}: starting LMS video conversion (lesson=${lessonId}, profiles=${profilesToProcess.length})`);
124
+ const downloadedOriginal = await this.fileService.downloadToPath(originalFileId, inputPath, maxInputBytes ? { maxBytes: maxInputBytes } : undefined);
125
+ this.logger.log(`Queue job ${job.id}: original file downloaded (lesson=${lessonId}, size=${downloadedOriginal.size})`);
126
+ const jobStartedAt = Date.now();
127
+ const results = [];
128
+ try {
129
+ for (const profile of profilesToProcess) {
130
+ const profileStartedAt = Date.now();
131
+ const outputPath = (0, path_1.join)(workDir, `${this.slugify(profile.name || String(profile.id))}-${profile.id}.mp4`);
132
+ this.logger.log(`Queue job ${job.id}: converting profile ${profile.id} for lesson ${lessonId}`);
133
+ const conversionStartedAt = Date.now();
134
+ await this.convert(inputPath, outputPath, profile.ffmpeg_params, ffmpegTimeoutMs);
135
+ const conversionMs = Date.now() - conversionStartedAt;
136
+ const outputStats = await fs_1.promises.stat(outputPath);
137
+ const uploadStartedAt = Date.now();
138
+ const uploaded = await this.fileService.uploadFromPath('lms/lessons/videos', outputPath, {
139
+ originalname: (0, path_1.basename)(outputPath),
140
+ mimetype: 'video/mp4',
141
+ });
142
+ const uploadMs = Date.now() - uploadStartedAt;
143
+ const totalMs = Date.now() - profileStartedAt;
144
+ const conversionMBps = this.calculateMBps(outputStats.size, conversionMs);
145
+ const uploadMBps = this.calculateMBps(outputStats.size, uploadMs);
146
+ await this.upsertLessonFile({
147
+ lessonId,
148
+ type: this.profileResourceType(profile.id),
149
+ fileId: uploaded.id,
150
+ title: (_b = uploaded.filename) !== null && _b !== void 0 ? _b : (0, path_1.basename)(outputPath),
151
+ public: false,
152
+ overwrite: overwrite !== false,
153
+ });
154
+ results.push({
155
+ profileId: profile.id,
156
+ fileId: uploaded.id,
157
+ outputBytes: outputStats.size,
158
+ conversionMs,
159
+ conversionMBps,
160
+ uploadMs,
161
+ uploadMBps,
162
+ totalMs,
163
+ });
164
+ this.logger.log(`Queue job ${job.id}: profile ${profile.id} done for lesson ${lessonId} (fileId=${uploaded.id}, outputBytes=${outputStats.size}, conversionMs=${conversionMs}, conversionMBps=${conversionMBps.toFixed(2)}, uploadMs=${uploadMs}, uploadMBps=${uploadMBps.toFixed(2)}, totalMs=${totalMs})`);
165
+ }
166
+ }
167
+ finally {
168
+ await fs_1.promises.rm(workDir, { recursive: true, force: true }).catch(() => undefined);
169
+ this.logger.log(`Queue job ${job.id}: cleaned temporary folder ${workDir}`);
170
+ }
171
+ const totalMs = Date.now() - jobStartedAt;
172
+ const totalOutputBytes = results.reduce((acc, item) => acc + item.outputBytes, 0);
173
+ this.logger.log(`Queue job ${job.id}: LMS conversion finished (lesson=${lessonId}, profiles=${results.length}, totalMs=${totalMs}, totalOutputBytes=${totalOutputBytes})`);
174
+ return {
175
+ lessonId,
176
+ converted: results.length,
177
+ results,
178
+ metrics: {
179
+ totalMs,
180
+ totalOutputBytes,
181
+ averageProfileMs: results.length > 0
182
+ ? Math.round(results.reduce((acc, item) => acc + item.totalMs, 0) / results.length)
183
+ : 0,
184
+ averageConversionMBps: results.length > 0
185
+ ? Number((results.reduce((acc, item) => acc + item.conversionMBps, 0) / results.length).toFixed(2))
186
+ : 0,
187
+ averageUploadMBps: results.length > 0
188
+ ? Number((results.reduce((acc, item) => acc + item.uploadMBps, 0) / results.length).toFixed(2))
189
+ : 0,
190
+ },
191
+ };
192
+ }
193
+ async getCourseProfiles(courseId) {
194
+ const rows = await this.prisma.course_video_resolution_profile.findMany({
195
+ where: { course_id: courseId },
196
+ include: { video_resolution_profile: true },
197
+ orderBy: { video_resolution_profile: { name: 'asc' } },
198
+ });
199
+ return rows
200
+ .map((row) => row.video_resolution_profile)
201
+ .filter((profile) => (profile === null || profile === void 0 ? void 0 : profile.status) !== 'inactive')
202
+ .map((profile) => ({
203
+ id: Number(profile.id),
204
+ name: profile.name,
205
+ ffmpeg_params: profile.ffmpeg_params,
206
+ }));
207
+ }
208
+ async upsertLessonFile(params) {
209
+ if (params.overwrite) {
210
+ await this.prisma.course_lesson_file.deleteMany({
211
+ where: {
212
+ course_lesson_id: params.lessonId,
213
+ tipo: params.type,
214
+ },
215
+ });
216
+ }
217
+ return this.prisma.course_lesson_file.create({
218
+ data: {
219
+ course_lesson_id: params.lessonId,
220
+ file_id: params.fileId,
221
+ title: params.title,
222
+ tipo: params.type,
223
+ publico: params.public,
224
+ },
225
+ });
226
+ }
227
+ async convert(inputPath, outputPath, params, timeoutMs) {
228
+ const args = ['-y', '-i', inputPath, ...this.splitFfmpegParams(params), outputPath];
229
+ try {
230
+ await execFileAsync('ffmpeg', args, {
231
+ maxBuffer: 1024 * 1024 * 20,
232
+ timeout: timeoutMs,
233
+ windowsHide: true,
234
+ });
235
+ }
236
+ catch (error) {
237
+ if ((error === null || error === void 0 ? void 0 : error.killed) && (error === null || error === void 0 ? void 0 : error.signal) === 'SIGTERM') {
238
+ throw new Error(`FFmpeg timed out after ${timeoutMs}ms`);
239
+ }
240
+ throw error;
241
+ }
242
+ }
243
+ getPositiveIntegerEnv(name) {
244
+ const raw = process.env[name];
245
+ if (!raw) {
246
+ return undefined;
247
+ }
248
+ const value = Number(raw);
249
+ if (!Number.isFinite(value) || value <= 0) {
250
+ return undefined;
251
+ }
252
+ return Math.floor(value);
253
+ }
254
+ calculateMBps(bytes, durationMs) {
255
+ if (!Number.isFinite(bytes) || bytes <= 0) {
256
+ return 0;
257
+ }
258
+ if (!Number.isFinite(durationMs) || durationMs <= 0) {
259
+ return 0;
260
+ }
261
+ const seconds = durationMs / 1000;
262
+ return Number((bytes / (1024 * 1024) / seconds).toFixed(2));
263
+ }
264
+ splitFfmpegParams(params) {
265
+ var _a, _b, _c;
266
+ const result = [];
267
+ const pattern = /"([^"]*)"|'([^']*)'|(\S+)/g;
268
+ let match;
269
+ while ((match = pattern.exec(params !== null && params !== void 0 ? params : ''))) {
270
+ result.push((_c = (_b = (_a = match[1]) !== null && _a !== void 0 ? _a : match[2]) !== null && _b !== void 0 ? _b : match[3]) !== null && _c !== void 0 ? _c : '');
271
+ }
272
+ return result.filter(Boolean);
273
+ }
274
+ profileResourceType(profileId) {
275
+ return `video_profile:${profileId}`;
276
+ }
277
+ slugify(value) {
278
+ return (value
279
+ .normalize('NFD')
280
+ .replace(/[\u0300-\u036f]/g, '')
281
+ .toLowerCase()
282
+ .replace(/[^a-z0-9]+/g, '-')
283
+ .replace(/^-+|-+$/g, '') || 'video');
284
+ }
285
+ parseContent(content) {
286
+ if (!content)
287
+ return null;
288
+ try {
289
+ return JSON.parse(content);
290
+ }
291
+ catch (_a) {
292
+ return null;
293
+ }
294
+ }
295
+ };
296
+ exports.CourseVideoConversionService = CourseVideoConversionService;
297
+ exports.CourseVideoConversionService = CourseVideoConversionService = CourseVideoConversionService_1 = __decorate([
298
+ (0, common_1.Injectable)(),
299
+ __param(0, (0, common_1.Inject)((0, common_1.forwardRef)(() => api_prisma_1.PrismaService))),
300
+ __param(1, (0, common_1.Inject)((0, common_1.forwardRef)(() => core_1.FileService))),
301
+ __param(2, (0, common_1.Inject)((0, common_1.forwardRef)(() => queue_1.QueueHandlerRegistry))),
302
+ __param(3, (0, common_1.Inject)((0, common_1.forwardRef)(() => queue_1.QueueJobService))),
303
+ __metadata("design:paramtypes", [api_prisma_1.PrismaService,
304
+ core_1.FileService,
305
+ queue_1.QueueHandlerRegistry,
306
+ queue_1.QueueJobService])
307
+ ], CourseVideoConversionService);
308
+ //# sourceMappingURL=course-video-conversion.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"course-video-conversion.service.js","sourceRoot":"","sources":["../../src/course/course-video-conversion.service.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ export declare class CourseController {
13
13
  id: any;
14
14
  name: any;
15
15
  slug: any;
16
+ code: any;
16
17
  title: any;
17
18
  description: any;
18
19
  level: any;
@@ -48,10 +49,14 @@ export declare class CourseController {
48
49
  hasCertificate: any;
49
50
  isListed: any;
50
51
  offeringType: string;
52
+ operationsProjectId: number;
53
+ operationsProjectCode: string;
54
+ operationsProjectName: string;
51
55
  enrollmentCount: any;
52
56
  moduleCount: any;
53
57
  classCount: any;
54
58
  lessonCount: number;
59
+ resourceCount: any;
55
60
  sessionCount: number;
56
61
  averageCompletion: number;
57
62
  certificatesIssued: any;
@@ -77,6 +82,7 @@ export declare class CourseController {
77
82
  id: any;
78
83
  name: any;
79
84
  slug: any;
85
+ code: any;
80
86
  title: any;
81
87
  description: any;
82
88
  level: any;
@@ -112,10 +118,14 @@ export declare class CourseController {
112
118
  hasCertificate: any;
113
119
  isListed: any;
114
120
  offeringType: string;
121
+ operationsProjectId: number;
122
+ operationsProjectCode: string;
123
+ operationsProjectName: string;
115
124
  enrollmentCount: any;
116
125
  moduleCount: any;
117
126
  classCount: any;
118
127
  lessonCount: number;
128
+ resourceCount: any;
119
129
  sessionCount: number;
120
130
  averageCompletion: number;
121
131
  certificatesIssued: any;
@@ -133,6 +143,7 @@ export declare class CourseController {
133
143
  id: any;
134
144
  name: any;
135
145
  slug: any;
146
+ code: any;
136
147
  title: any;
137
148
  description: any;
138
149
  level: any;
@@ -168,10 +179,14 @@ export declare class CourseController {
168
179
  hasCertificate: any;
169
180
  isListed: any;
170
181
  offeringType: string;
182
+ operationsProjectId: number;
183
+ operationsProjectCode: string;
184
+ operationsProjectName: string;
171
185
  enrollmentCount: any;
172
186
  moduleCount: any;
173
187
  classCount: any;
174
188
  lessonCount: number;
189
+ resourceCount: any;
175
190
  sessionCount: number;
176
191
  averageCompletion: number;
177
192
  certificatesIssued: any;
@@ -189,6 +204,7 @@ export declare class CourseController {
189
204
  id: any;
190
205
  name: any;
191
206
  slug: any;
207
+ code: any;
192
208
  title: any;
193
209
  description: any;
194
210
  level: any;
@@ -224,10 +240,14 @@ export declare class CourseController {
224
240
  hasCertificate: any;
225
241
  isListed: any;
226
242
  offeringType: string;
243
+ operationsProjectId: number;
244
+ operationsProjectCode: string;
245
+ operationsProjectName: string;
227
246
  enrollmentCount: any;
228
247
  moduleCount: any;
229
248
  classCount: any;
230
249
  lessonCount: number;
250
+ resourceCount: any;
231
251
  sessionCount: number;
232
252
  averageCompletion: number;
233
253
  certificatesIssued: any;
@@ -244,5 +264,14 @@ export declare class CourseController {
244
264
  remove(id: number): Promise<{
245
265
  success: boolean;
246
266
  }>;
267
+ getCourseVideoProfiles(courseId: number): Promise<{
268
+ id: any;
269
+ name: any;
270
+ ffmpeg_params: any;
271
+ status: any;
272
+ }[]>;
273
+ syncCourseVideoProfiles(courseId: number, body: {
274
+ profileIds: number[];
275
+ }): Promise<any>;
247
276
  }
248
277
  //# sourceMappingURL=course.controller.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"course.controller.d.ts","sourceRoot":"","sources":["../../src/course/course.controller.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,qBAEa,gBAAgB;IACf,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAAb,aAAa,EAAE,aAAa;IAGzD,IAAI,CACa,IAAI,CAAC,EAAE,MAAM,EACT,QAAQ,CAAC,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,MAAM,EACZ,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAa3D,OAAO,CAAC,OAAO;IAiBf,KAAK;;;;;;IAKL,OAAO,CAA4B,EAAE,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAK7C,MAAM,CAAS,GAAG,EAAE,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKnC,MAAM,CACuB,EAAE,EAAE,MAAM,EAC7B,GAAG,EAAE,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAM9B,MAAM,CAA4B,EAAE,EAAE,MAAM;;;CAG7C"}
1
+ {"version":3,"file":"course.controller.d.ts","sourceRoot":"","sources":["../../src/course/course.controller.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,qBAEa,gBAAgB;IACf,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAAb,aAAa,EAAE,aAAa;IAGzD,IAAI,CACa,IAAI,CAAC,EAAE,MAAM,EACT,QAAQ,CAAC,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,MAAM,EACZ,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAa3D,OAAO,CAAC,OAAO;IAiBf,KAAK;;;;;;IAKL,OAAO,CAA4B,EAAE,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAK7C,MAAM,CAAS,GAAG,EAAE,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKnC,MAAM,CACuB,EAAE,EAAE,MAAM,EAC7B,GAAG,EAAE,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAM9B,MAAM,CAA4B,EAAE,EAAE,MAAM;;;IAK5C,sBAAsB,CACa,QAAQ,EAAE,MAAM;;;;;;IAOnD,uBAAuB,CACY,QAAQ,EAAE,MAAM,EACzC,IAAI,EAAE;QAAE,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE;CAIzC"}