@hed-hog/lms 0.0.306 → 0.0.310

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 (120) hide show
  1. package/dist/course/course-structure.controller.d.ts +60 -0
  2. package/dist/course/course-structure.controller.d.ts.map +1 -1
  3. package/dist/course/course-structure.controller.js +79 -0
  4. package/dist/course/course-structure.controller.js.map +1 -1
  5. package/dist/course/course-structure.service.d.ts +61 -1
  6. package/dist/course/course-structure.service.d.ts.map +1 -1
  7. package/dist/course/course-structure.service.js +326 -1
  8. package/dist/course/course-structure.service.js.map +1 -1
  9. package/dist/course/course.controller.d.ts +52 -4
  10. package/dist/course/course.controller.d.ts.map +1 -1
  11. package/dist/course/course.service.d.ts +52 -5
  12. package/dist/course/course.service.d.ts.map +1 -1
  13. package/dist/course/course.service.js +78 -57
  14. package/dist/course/course.service.js.map +1 -1
  15. package/dist/course/dto/create-course-structure-lesson.dto.d.ts.map +1 -1
  16. package/dist/course/dto/create-course-structure-lesson.dto.js +5 -1
  17. package/dist/course/dto/create-course-structure-lesson.dto.js.map +1 -1
  18. package/dist/course/dto/create-course.dto.d.ts +1 -1
  19. package/dist/course/dto/create-course.dto.d.ts.map +1 -1
  20. package/dist/course/dto/create-course.dto.js +4 -1
  21. package/dist/course/dto/create-course.dto.js.map +1 -1
  22. package/dist/course/dto/move-lesson.dto.d.ts +10 -0
  23. package/dist/course/dto/move-lesson.dto.d.ts.map +1 -0
  24. package/dist/course/dto/move-lesson.dto.js +28 -0
  25. package/dist/course/dto/move-lesson.dto.js.map +1 -0
  26. package/dist/course/dto/paste-lessons.dto.d.ts +4 -0
  27. package/dist/course/dto/paste-lessons.dto.d.ts.map +1 -0
  28. package/dist/course/dto/paste-lessons.dto.js +24 -0
  29. package/dist/course/dto/paste-lessons.dto.js.map +1 -0
  30. package/dist/course/dto/reorder-lessons.dto.d.ts +5 -0
  31. package/dist/course/dto/reorder-lessons.dto.d.ts.map +1 -0
  32. package/dist/course/dto/reorder-lessons.dto.js +24 -0
  33. package/dist/course/dto/reorder-lessons.dto.js.map +1 -0
  34. package/dist/course/dto/reorder-sessions.dto.d.ts +5 -0
  35. package/dist/course/dto/reorder-sessions.dto.d.ts.map +1 -0
  36. package/dist/course/dto/reorder-sessions.dto.js +24 -0
  37. package/dist/course/dto/reorder-sessions.dto.js.map +1 -0
  38. package/dist/training/training.controller.js +1 -1
  39. package/dist/training/training.controller.js.map +1 -1
  40. package/hedhog/data/image_type.yaml +20 -0
  41. package/hedhog/data/menu.yaml +2 -2
  42. package/hedhog/data/route.yaml +60 -6
  43. package/hedhog/frontend/app/_components/class-form-sheet.tsx.ejs +146 -165
  44. package/hedhog/frontend/app/_components/course-avatar.tsx.ejs +70 -0
  45. package/hedhog/frontend/app/_components/course-form-sheet.tsx.ejs +372 -22
  46. package/hedhog/frontend/app/certificates/models/CanvasStage.tsx.ejs +10 -1
  47. package/hedhog/frontend/app/certificates/models/TopBar.tsx.ejs +44 -3
  48. package/hedhog/frontend/app/certificates/models/page.tsx.ejs +32 -0
  49. package/hedhog/frontend/app/classes/[id]/page.tsx.ejs +437 -77
  50. package/hedhog/frontend/app/classes/page.tsx.ejs +311 -289
  51. package/hedhog/frontend/app/courses/[id]/_components/CourseCertificateCard.tsx.ejs +10 -7
  52. package/hedhog/frontend/app/courses/[id]/_components/CourseClassificationCard.tsx.ejs +23 -32
  53. package/hedhog/frontend/app/courses/[id]/_components/CourseContentCard.tsx.ejs +3 -9
  54. package/hedhog/frontend/app/courses/[id]/_components/CourseDangerZoneCard.tsx.ejs +26 -16
  55. package/hedhog/frontend/app/courses/[id]/_components/CourseFlagsCard.tsx.ejs +19 -5
  56. package/hedhog/frontend/app/courses/[id]/_components/CourseMainInfoCard.tsx.ejs +10 -14
  57. package/hedhog/frontend/app/courses/[id]/_components/CourseMediaCard.tsx.ejs +131 -107
  58. package/hedhog/frontend/app/courses/[id]/_components/CourseRelationsCard.tsx.ejs +10 -7
  59. package/hedhog/frontend/app/courses/[id]/_components/CourseSectionCard.tsx.ejs +38 -19
  60. package/hedhog/frontend/app/courses/[id]/_components/CourseSummaryCard.tsx.ejs +1 -1
  61. package/hedhog/frontend/app/courses/[id]/_components/course-edit-types.ts.ejs +1 -1
  62. package/hedhog/frontend/app/courses/[id]/page.tsx.ejs +336 -1057
  63. package/hedhog/frontend/app/courses/[id]/structure/_components/confirm-dialog.tsx.ejs +45 -0
  64. package/hedhog/frontend/app/courses/[id]/structure/_components/course-tree-dnd.tsx.ejs +362 -0
  65. package/hedhog/frontend/app/courses/[id]/structure/_components/course-tree-panel.tsx.ejs +111 -0
  66. package/hedhog/frontend/app/courses/[id]/structure/_components/course-tree-skeleton.tsx.ejs +64 -0
  67. package/hedhog/frontend/app/courses/[id]/structure/_components/course-tree.tsx.ejs +134 -0
  68. package/hedhog/frontend/app/courses/[id]/structure/_components/detail-course.tsx.ejs +113 -0
  69. package/hedhog/frontend/app/courses/[id]/structure/_components/detail-lesson.tsx.ejs +314 -0
  70. package/hedhog/frontend/app/courses/[id]/structure/_components/detail-panel.tsx.ejs +62 -0
  71. package/hedhog/frontend/app/courses/[id]/structure/_components/detail-session.tsx.ejs +174 -0
  72. package/hedhog/frontend/app/courses/[id]/structure/_components/drag-handle.tsx.ejs +58 -0
  73. package/hedhog/frontend/app/courses/[id]/structure/_components/drag-overlay.tsx.ejs +52 -0
  74. package/hedhog/frontend/app/courses/[id]/structure/_components/editor-bulk.tsx.ejs +276 -0
  75. package/hedhog/frontend/app/courses/[id]/structure/_components/editor-course.tsx.ejs +1216 -0
  76. package/hedhog/frontend/app/courses/[id]/structure/_components/editor-lesson.tsx.ejs +1827 -0
  77. package/hedhog/frontend/app/courses/[id]/structure/_components/editor-session.tsx.ejs +443 -0
  78. package/hedhog/frontend/app/courses/[id]/structure/_components/highlighted-text.tsx.ejs +41 -0
  79. package/hedhog/frontend/app/courses/[id]/structure/_components/mock-data.ts.ejs +184 -0
  80. package/hedhog/frontend/app/courses/[id]/structure/_components/multi-select-bar.tsx.ejs +264 -0
  81. package/hedhog/frontend/app/courses/[id]/structure/_components/search-filter.tsx.ejs +96 -0
  82. package/hedhog/frontend/app/courses/[id]/structure/_components/session-picker-dialog.tsx.ejs +74 -0
  83. package/hedhog/frontend/app/courses/[id]/structure/_components/shortcuts-help.tsx.ejs +136 -0
  84. package/hedhog/frontend/app/courses/[id]/structure/_components/sortable-tree-row.tsx.ejs +80 -0
  85. package/hedhog/frontend/app/courses/[id]/structure/_components/store.ts.ejs +948 -0
  86. package/hedhog/frontend/app/courses/[id]/structure/_components/tree-context-menu.tsx.ejs +525 -0
  87. package/hedhog/frontend/app/courses/[id]/structure/_components/tree-display-settings-popover.tsx.ejs +150 -0
  88. package/hedhog/frontend/app/courses/[id]/structure/_components/tree-helpers.ts.ejs +182 -0
  89. package/hedhog/frontend/app/courses/[id]/structure/_components/tree-row-course.tsx.ejs +52 -0
  90. package/hedhog/frontend/app/courses/[id]/structure/_components/tree-row-lesson.tsx.ejs +271 -0
  91. package/hedhog/frontend/app/courses/[id]/structure/_components/tree-row-session.tsx.ejs +167 -0
  92. package/hedhog/frontend/app/courses/[id]/structure/_components/tree-row.tsx.ejs +108 -0
  93. package/hedhog/frontend/app/courses/[id]/structure/_components/types.ts.ejs +122 -0
  94. package/hedhog/frontend/app/courses/[id]/structure/_components/use-course-structure-shortcuts.ts.ejs +318 -0
  95. package/hedhog/frontend/app/courses/[id]/structure/_components/use-tree-display-settings.ts.ejs +97 -0
  96. package/hedhog/frontend/app/courses/[id]/structure/_data/adapters/course-structure.adapter.ts.ejs +347 -0
  97. package/hedhog/frontend/app/courses/[id]/structure/_data/course-structure-contract.ts.ejs +195 -0
  98. package/hedhog/frontend/app/courses/[id]/structure/_data/services/course-structure.service.ts.ejs +420 -0
  99. package/hedhog/frontend/app/courses/[id]/structure/_data/types/api-course.types.ts.ejs +254 -0
  100. package/hedhog/frontend/app/courses/[id]/structure/_data/use-course-structure-mutations.ts.ejs +987 -0
  101. package/hedhog/frontend/app/courses/[id]/structure/_data/use-course-structure-query.ts.ejs +86 -0
  102. package/hedhog/frontend/app/courses/[id]/structure/_data/use-course-structure.ts.ejs +160 -0
  103. package/hedhog/frontend/app/courses/[id]/structure/page.tsx.ejs +10 -3212
  104. package/hedhog/frontend/app/courses/page.tsx.ejs +45 -26
  105. package/hedhog/frontend/app/{training → paths}/page.tsx.ejs +29 -7
  106. package/hedhog/frontend/messages/en.json +91 -11
  107. package/hedhog/frontend/messages/pt.json +91 -11
  108. package/hedhog/table/course.yaml +1 -1
  109. package/hedhog/table/image_type.yaml +14 -0
  110. package/package.json +7 -7
  111. package/src/course/course-structure.controller.ts +63 -0
  112. package/src/course/course-structure.service.ts +390 -3
  113. package/src/course/course.service.ts +59 -27
  114. package/src/course/dto/create-course-structure-lesson.dto.ts +3 -2
  115. package/src/course/dto/create-course.dto.ts +4 -1
  116. package/src/course/dto/move-lesson.dto.ts +17 -0
  117. package/src/course/dto/paste-lessons.dto.ts +9 -0
  118. package/src/course/dto/reorder-lessons.dto.ts +10 -0
  119. package/src/course/dto/reorder-sessions.dto.ts +10 -0
  120. package/src/training/training.controller.ts +1 -1
@@ -1,6 +1,10 @@
1
1
  import { CourseStructureService } from './course-structure.service';
2
2
  import { CreateCourseStructureLessonDto } from './dto/create-course-structure-lesson.dto';
3
3
  import { CreateCourseStructureSessionDto } from './dto/create-course-structure-session.dto';
4
+ import { MoveLessonDto } from './dto/move-lesson.dto';
5
+ import { PasteLessonsDto } from './dto/paste-lessons.dto';
6
+ import { ReorderLessonsDto } from './dto/reorder-lessons.dto';
7
+ import { ReorderSessionsDto } from './dto/reorder-sessions.dto';
4
8
  import { UpdateCourseStructureLessonDto } from './dto/update-course-structure-lesson.dto';
5
9
  import { UpdateCourseStructureSessionDto } from './dto/update-course-structure-session.dto';
6
10
  export declare class CourseStructureController {
@@ -46,6 +50,12 @@ export declare class CourseStructureController {
46
50
  id: number;
47
51
  name: string;
48
52
  }[];
53
+ curso: {
54
+ id: string;
55
+ slug: string;
56
+ titulo: string;
57
+ descricao: string;
58
+ };
49
59
  }>;
50
60
  createSession(courseId: number, dto: CreateCourseStructureSessionDto): Promise<{
51
61
  id: string;
@@ -54,6 +64,9 @@ export declare class CourseStructureController {
54
64
  duracao: number;
55
65
  collapsed: boolean;
56
66
  }>;
67
+ reorderSessions(courseId: number, dto: ReorderSessionsDto): Promise<{
68
+ success: boolean;
69
+ }>;
57
70
  updateSession(courseId: number, sessionId: number, dto: UpdateCourseStructureSessionDto): Promise<{
58
71
  id: string;
59
72
  codigo: string;
@@ -64,6 +77,16 @@ export declare class CourseStructureController {
64
77
  deleteSession(courseId: number, sessionId: number): Promise<{
65
78
  success: boolean;
66
79
  }>;
80
+ duplicateSession(courseId: number, sessionId: number): Promise<{
81
+ session: {
82
+ id: string;
83
+ codigo: string;
84
+ titulo: string;
85
+ duracao: number;
86
+ collapsed: boolean;
87
+ };
88
+ lessons: any[];
89
+ }>;
67
90
  createLesson(courseId: number, sessionId: number, dto: CreateCourseStructureLessonDto): Promise<{
68
91
  id: string;
69
92
  codigo: string;
@@ -92,6 +115,12 @@ export declare class CourseStructureController {
92
115
  nome: string;
93
116
  }[];
94
117
  }>;
118
+ pasteLessons(courseId: number, sessionId: number, dto: PasteLessonsDto): Promise<{
119
+ lessons: any[];
120
+ }>;
121
+ reorderLessons(courseId: number, sessionId: number, dto: ReorderLessonsDto): Promise<{
122
+ success: boolean;
123
+ }>;
95
124
  updateLesson(courseId: number, sessionId: number, lessonId: number, dto: UpdateCourseStructureLessonDto): Promise<{
96
125
  id: string;
97
126
  codigo: string;
@@ -120,8 +149,39 @@ export declare class CourseStructureController {
120
149
  nome: string;
121
150
  }[];
122
151
  }>;
152
+ moveLesson(courseId: number, sessionId: number, lessonId: number, dto: MoveLessonDto): Promise<{
153
+ success: boolean;
154
+ }>;
123
155
  deleteLesson(courseId: number, sessionId: number, lessonId: number): Promise<{
124
156
  success: boolean;
125
157
  }>;
158
+ duplicateLesson(courseId: number, sessionId: number, lessonId: number): Promise<{
159
+ id: string;
160
+ codigo: string;
161
+ titulo: string;
162
+ descricaoPublica: string;
163
+ descricaoPrivada: any;
164
+ tipo: "video" | "questao" | "post" | "exercicio";
165
+ duracao: number;
166
+ sessaoId: string;
167
+ videoProvedor: any;
168
+ videoUrl: any;
169
+ duracaoAutomatica: any;
170
+ transcricao: any;
171
+ exameVinculado: string;
172
+ conteudoPost: any;
173
+ recursos: {
174
+ id: string;
175
+ nome: string;
176
+ tamanho: string;
177
+ tipo: string;
178
+ publico: boolean;
179
+ }[];
180
+ instrutores: {
181
+ id: string;
182
+ role: import("@prisma/client").$Enums.course_lesson_instructor_role_300ba1a5e9_enum;
183
+ nome: string;
184
+ }[];
185
+ }>;
126
186
  }
127
187
  //# sourceMappingURL=course-structure.controller.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"course-structure.controller.d.ts","sourceRoot":"","sources":["../../src/course/course-structure.controller.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,8BAA8B,EAAE,MAAM,0CAA0C,CAAC;AAC1F,OAAO,EAAE,+BAA+B,EAAE,MAAM,2CAA2C,CAAC;AAC5F,OAAO,EAAE,8BAA8B,EAAE,MAAM,0CAA0C,CAAC;AAC1F,OAAO,EAAE,+BAA+B,EAAE,MAAM,2CAA2C,CAAC;AAE5F,qBAEa,yBAAyB;IACxB,OAAO,CAAC,QAAQ,CAAC,sBAAsB;gBAAtB,sBAAsB,EAAE,sBAAsB;IAG3E,YAAY,CAA4B,QAAQ,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKxD,aAAa,CACgB,QAAQ,EAAE,MAAM,EACnC,GAAG,EAAE,+BAA+B;;;;;;;IAM9C,aAAa,CACgB,QAAQ,EAAE,MAAM,EACT,SAAS,EAAE,MAAM,EAC3C,GAAG,EAAE,+BAA+B;;;;;;;IAM9C,aAAa,CACgB,QAAQ,EAAE,MAAM,EACT,SAAS,EAAE,MAAM;;;IAMrD,YAAY,CACiB,QAAQ,EAAE,MAAM,EACT,SAAS,EAAE,MAAM,EAC3C,GAAG,EAAE,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAM7C,YAAY,CACiB,QAAQ,EAAE,MAAM,EACT,SAAS,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EACzC,GAAG,EAAE,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAW7C,YAAY,CACiB,QAAQ,EAAE,MAAM,EACT,SAAS,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM;;;CAIpD"}
1
+ {"version":3,"file":"course-structure.controller.d.ts","sourceRoot":"","sources":["../../src/course/course-structure.controller.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,8BAA8B,EAAE,MAAM,0CAA0C,CAAC;AAC1F,OAAO,EAAE,+BAA+B,EAAE,MAAM,2CAA2C,CAAC;AAC5F,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,8BAA8B,EAAE,MAAM,0CAA0C,CAAC;AAC1F,OAAO,EAAE,+BAA+B,EAAE,MAAM,2CAA2C,CAAC;AAE5F,qBAEa,yBAAyB;IACxB,OAAO,CAAC,QAAQ,CAAC,sBAAsB;gBAAtB,sBAAsB,EAAE,sBAAsB;IAG3E,YAAY,CAA4B,QAAQ,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAOxD,aAAa,CACgB,QAAQ,EAAE,MAAM,EACnC,GAAG,EAAE,+BAA+B;;;;;;;IAO9C,eAAe,CACc,QAAQ,EAAE,MAAM,EACnC,GAAG,EAAE,kBAAkB;;;IAMjC,aAAa,CACgB,QAAQ,EAAE,MAAM,EACT,SAAS,EAAE,MAAM,EAC3C,GAAG,EAAE,+BAA+B;;;;;;;IAM9C,aAAa,CACgB,QAAQ,EAAE,MAAM,EACT,SAAS,EAAE,MAAM;;;IAMrD,gBAAgB,CACa,QAAQ,EAAE,MAAM,EACT,SAAS,EAAE,MAAM;;;;;;;;;;IAQrD,YAAY,CACiB,QAAQ,EAAE,MAAM,EACT,SAAS,EAAE,MAAM,EAC3C,GAAG,EAAE,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAM7C,YAAY,CACiB,QAAQ,EAAE,MAAM,EACT,SAAS,EAAE,MAAM,EAC3C,GAAG,EAAE,eAAe;;;IAO9B,cAAc,CACe,QAAQ,EAAE,MAAM,EACT,SAAS,EAAE,MAAM,EAC3C,GAAG,EAAE,iBAAiB;;;IAMhC,YAAY,CACiB,QAAQ,EAAE,MAAM,EACT,SAAS,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EACzC,GAAG,EAAE,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAW7C,UAAU,CACmB,QAAQ,EAAE,MAAM,EACT,SAAS,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EACzC,GAAG,EAAE,aAAa;;;IAM5B,YAAY,CACiB,QAAQ,EAAE,MAAM,EACT,SAAS,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM;;;IAMnD,eAAe,CACc,QAAQ,EAAE,MAAM,EACT,SAAS,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIpD"}
@@ -18,6 +18,10 @@ const common_1 = require("@nestjs/common");
18
18
  const course_structure_service_1 = require("./course-structure.service");
19
19
  const create_course_structure_lesson_dto_1 = require("./dto/create-course-structure-lesson.dto");
20
20
  const create_course_structure_session_dto_1 = require("./dto/create-course-structure-session.dto");
21
+ const move_lesson_dto_1 = require("./dto/move-lesson.dto");
22
+ const paste_lessons_dto_1 = require("./dto/paste-lessons.dto");
23
+ const reorder_lessons_dto_1 = require("./dto/reorder-lessons.dto");
24
+ const reorder_sessions_dto_1 = require("./dto/reorder-sessions.dto");
21
25
  const update_course_structure_lesson_dto_1 = require("./dto/update-course-structure-lesson.dto");
22
26
  const update_course_structure_session_dto_1 = require("./dto/update-course-structure-session.dto");
23
27
  let CourseStructureController = class CourseStructureController {
@@ -27,24 +31,46 @@ let CourseStructureController = class CourseStructureController {
27
31
  getStructure(courseId) {
28
32
  return this.courseStructureService.getStructure(courseId);
29
33
  }
34
+ // ── Sessions ──────────────────────────────────────────────────────────────
30
35
  createSession(courseId, dto) {
31
36
  return this.courseStructureService.createSession(courseId, dto);
32
37
  }
38
+ // Static PATCH must come before dynamic PATCH sessions/:sessionId
39
+ reorderSessions(courseId, dto) {
40
+ return this.courseStructureService.reorderSessions(courseId, dto);
41
+ }
33
42
  updateSession(courseId, sessionId, dto) {
34
43
  return this.courseStructureService.updateSession(courseId, sessionId, dto);
35
44
  }
36
45
  deleteSession(courseId, sessionId) {
37
46
  return this.courseStructureService.deleteSession(courseId, sessionId);
38
47
  }
48
+ duplicateSession(courseId, sessionId) {
49
+ return this.courseStructureService.duplicateSession(courseId, sessionId);
50
+ }
51
+ // ── Lessons ───────────────────────────────────────────────────────────────
39
52
  createLesson(courseId, sessionId, dto) {
40
53
  return this.courseStructureService.createLesson(courseId, sessionId, dto);
41
54
  }
55
+ pasteLessons(courseId, sessionId, dto) {
56
+ return this.courseStructureService.pasteLessons(courseId, sessionId, dto);
57
+ }
58
+ // Static PATCH must come before dynamic PATCH sessions/:sessionId/lessons/:lessonId
59
+ reorderLessons(courseId, sessionId, dto) {
60
+ return this.courseStructureService.reorderLessons(courseId, sessionId, dto);
61
+ }
42
62
  updateLesson(courseId, sessionId, lessonId, dto) {
43
63
  return this.courseStructureService.updateLesson(courseId, sessionId, lessonId, dto);
44
64
  }
65
+ moveLesson(courseId, sessionId, lessonId, dto) {
66
+ return this.courseStructureService.moveLesson(courseId, sessionId, lessonId, dto);
67
+ }
45
68
  deleteLesson(courseId, sessionId, lessonId) {
46
69
  return this.courseStructureService.deleteLesson(courseId, sessionId, lessonId);
47
70
  }
71
+ duplicateLesson(courseId, sessionId, lessonId) {
72
+ return this.courseStructureService.duplicateLesson(courseId, sessionId, lessonId);
73
+ }
48
74
  };
49
75
  exports.CourseStructureController = CourseStructureController;
50
76
  __decorate([
@@ -62,6 +88,14 @@ __decorate([
62
88
  __metadata("design:paramtypes", [Number, create_course_structure_session_dto_1.CreateCourseStructureSessionDto]),
63
89
  __metadata("design:returntype", void 0)
64
90
  ], CourseStructureController.prototype, "createSession", null);
91
+ __decorate([
92
+ (0, common_1.Patch)('sessions/reorder'),
93
+ __param(0, (0, common_1.Param)('id', common_1.ParseIntPipe)),
94
+ __param(1, (0, common_1.Body)()),
95
+ __metadata("design:type", Function),
96
+ __metadata("design:paramtypes", [Number, reorder_sessions_dto_1.ReorderSessionsDto]),
97
+ __metadata("design:returntype", void 0)
98
+ ], CourseStructureController.prototype, "reorderSessions", null);
65
99
  __decorate([
66
100
  (0, common_1.Patch)('sessions/:sessionId'),
67
101
  __param(0, (0, common_1.Param)('id', common_1.ParseIntPipe)),
@@ -79,6 +113,14 @@ __decorate([
79
113
  __metadata("design:paramtypes", [Number, Number]),
80
114
  __metadata("design:returntype", void 0)
81
115
  ], CourseStructureController.prototype, "deleteSession", null);
116
+ __decorate([
117
+ (0, common_1.Post)('sessions/:sessionId/duplicate'),
118
+ __param(0, (0, common_1.Param)('id', common_1.ParseIntPipe)),
119
+ __param(1, (0, common_1.Param)('sessionId', common_1.ParseIntPipe)),
120
+ __metadata("design:type", Function),
121
+ __metadata("design:paramtypes", [Number, Number]),
122
+ __metadata("design:returntype", void 0)
123
+ ], CourseStructureController.prototype, "duplicateSession", null);
82
124
  __decorate([
83
125
  (0, common_1.Post)('sessions/:sessionId/lessons'),
84
126
  __param(0, (0, common_1.Param)('id', common_1.ParseIntPipe)),
@@ -88,6 +130,24 @@ __decorate([
88
130
  __metadata("design:paramtypes", [Number, Number, create_course_structure_lesson_dto_1.CreateCourseStructureLessonDto]),
89
131
  __metadata("design:returntype", void 0)
90
132
  ], CourseStructureController.prototype, "createLesson", null);
133
+ __decorate([
134
+ (0, common_1.Post)('sessions/:sessionId/lessons/paste'),
135
+ __param(0, (0, common_1.Param)('id', common_1.ParseIntPipe)),
136
+ __param(1, (0, common_1.Param)('sessionId', common_1.ParseIntPipe)),
137
+ __param(2, (0, common_1.Body)()),
138
+ __metadata("design:type", Function),
139
+ __metadata("design:paramtypes", [Number, Number, paste_lessons_dto_1.PasteLessonsDto]),
140
+ __metadata("design:returntype", void 0)
141
+ ], CourseStructureController.prototype, "pasteLessons", null);
142
+ __decorate([
143
+ (0, common_1.Patch)('sessions/:sessionId/lessons/reorder'),
144
+ __param(0, (0, common_1.Param)('id', common_1.ParseIntPipe)),
145
+ __param(1, (0, common_1.Param)('sessionId', common_1.ParseIntPipe)),
146
+ __param(2, (0, common_1.Body)()),
147
+ __metadata("design:type", Function),
148
+ __metadata("design:paramtypes", [Number, Number, reorder_lessons_dto_1.ReorderLessonsDto]),
149
+ __metadata("design:returntype", void 0)
150
+ ], CourseStructureController.prototype, "reorderLessons", null);
91
151
  __decorate([
92
152
  (0, common_1.Patch)('sessions/:sessionId/lessons/:lessonId'),
93
153
  __param(0, (0, common_1.Param)('id', common_1.ParseIntPipe)),
@@ -98,6 +158,16 @@ __decorate([
98
158
  __metadata("design:paramtypes", [Number, Number, Number, update_course_structure_lesson_dto_1.UpdateCourseStructureLessonDto]),
99
159
  __metadata("design:returntype", void 0)
100
160
  ], CourseStructureController.prototype, "updateLesson", null);
161
+ __decorate([
162
+ (0, common_1.Patch)('sessions/:sessionId/lessons/:lessonId/move'),
163
+ __param(0, (0, common_1.Param)('id', common_1.ParseIntPipe)),
164
+ __param(1, (0, common_1.Param)('sessionId', common_1.ParseIntPipe)),
165
+ __param(2, (0, common_1.Param)('lessonId', common_1.ParseIntPipe)),
166
+ __param(3, (0, common_1.Body)()),
167
+ __metadata("design:type", Function),
168
+ __metadata("design:paramtypes", [Number, Number, Number, move_lesson_dto_1.MoveLessonDto]),
169
+ __metadata("design:returntype", void 0)
170
+ ], CourseStructureController.prototype, "moveLesson", null);
101
171
  __decorate([
102
172
  (0, common_1.Delete)('sessions/:sessionId/lessons/:lessonId'),
103
173
  __param(0, (0, common_1.Param)('id', common_1.ParseIntPipe)),
@@ -107,6 +177,15 @@ __decorate([
107
177
  __metadata("design:paramtypes", [Number, Number, Number]),
108
178
  __metadata("design:returntype", void 0)
109
179
  ], CourseStructureController.prototype, "deleteLesson", null);
180
+ __decorate([
181
+ (0, common_1.Post)('sessions/:sessionId/lessons/:lessonId/duplicate'),
182
+ __param(0, (0, common_1.Param)('id', common_1.ParseIntPipe)),
183
+ __param(1, (0, common_1.Param)('sessionId', common_1.ParseIntPipe)),
184
+ __param(2, (0, common_1.Param)('lessonId', common_1.ParseIntPipe)),
185
+ __metadata("design:type", Function),
186
+ __metadata("design:paramtypes", [Number, Number, Number]),
187
+ __metadata("design:returntype", void 0)
188
+ ], CourseStructureController.prototype, "duplicateLesson", null);
110
189
  exports.CourseStructureController = CourseStructureController = __decorate([
111
190
  (0, api_1.Role)(),
112
191
  (0, common_1.Controller)('lms/courses/:id/structure'),
@@ -1 +1 @@
1
- {"version":3,"file":"course-structure.controller.js","sourceRoot":"","sources":["../../src/course/course-structure.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"course-structure.controller.js","sourceRoot":"","sources":["../../src/course/course-structure.controller.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,13 @@
1
1
  import { PrismaService } from '@hed-hog/api-prisma';
2
+ import { InstructorService } from '../instructor/instructor.service';
2
3
  import { CreateCourseStructureLessonDto } from './dto/create-course-structure-lesson.dto';
3
4
  import { CreateCourseStructureSessionDto } from './dto/create-course-structure-session.dto';
5
+ import { MoveLessonDto } from './dto/move-lesson.dto';
6
+ import { PasteLessonsDto } from './dto/paste-lessons.dto';
7
+ import { ReorderLessonsDto } from './dto/reorder-lessons.dto';
8
+ import { ReorderSessionsDto } from './dto/reorder-sessions.dto';
4
9
  import { UpdateCourseStructureLessonDto } from './dto/update-course-structure-lesson.dto';
5
10
  import { UpdateCourseStructureSessionDto } from './dto/update-course-structure-session.dto';
6
- import { InstructorService } from '../instructor/instructor.service';
7
11
  type LessonUiType = 'video' | 'questao' | 'post' | 'exercicio';
8
12
  export declare class CourseStructureService {
9
13
  private readonly prisma;
@@ -49,6 +53,12 @@ export declare class CourseStructureService {
49
53
  id: number;
50
54
  name: string;
51
55
  }[];
56
+ curso: {
57
+ id: string;
58
+ slug: string;
59
+ titulo: string;
60
+ descricao: string;
61
+ };
52
62
  }>;
53
63
  createSession(courseId: number, dto: CreateCourseStructureSessionDto): Promise<{
54
64
  id: string;
@@ -126,6 +136,56 @@ export declare class CourseStructureService {
126
136
  deleteLesson(courseId: number, sessionId: number, lessonId: number): Promise<{
127
137
  success: boolean;
128
138
  }>;
139
+ reorderSessions(courseId: number, dto: ReorderSessionsDto): Promise<{
140
+ success: boolean;
141
+ }>;
142
+ reorderLessons(courseId: number, sessionId: number, dto: ReorderLessonsDto): Promise<{
143
+ success: boolean;
144
+ }>;
145
+ moveLesson(courseId: number, sessionId: number, lessonId: number, dto: MoveLessonDto): Promise<{
146
+ success: boolean;
147
+ }>;
148
+ duplicateSession(courseId: number, sessionId: number): Promise<{
149
+ session: {
150
+ id: string;
151
+ codigo: string;
152
+ titulo: string;
153
+ duracao: number;
154
+ collapsed: boolean;
155
+ };
156
+ lessons: any[];
157
+ }>;
158
+ duplicateLesson(courseId: number, sessionId: number, lessonId: number): Promise<{
159
+ id: string;
160
+ codigo: string;
161
+ titulo: string;
162
+ descricaoPublica: string;
163
+ descricaoPrivada: any;
164
+ tipo: LessonUiType;
165
+ duracao: number;
166
+ sessaoId: string;
167
+ videoProvedor: any;
168
+ videoUrl: any;
169
+ duracaoAutomatica: any;
170
+ transcricao: any;
171
+ exameVinculado: string;
172
+ conteudoPost: any;
173
+ recursos: {
174
+ id: string;
175
+ nome: string;
176
+ tamanho: string;
177
+ tipo: string;
178
+ publico: boolean;
179
+ }[];
180
+ instrutores: {
181
+ id: string;
182
+ role: import("@prisma/client").$Enums.course_lesson_instructor_role_300ba1a5e9_enum;
183
+ nome: string;
184
+ }[];
185
+ }>;
186
+ pasteLessons(courseId: number, targetSessionId: number, dto: PasteLessonsDto): Promise<{
187
+ lessons: any[];
188
+ }>;
129
189
  private syncLessonRelations;
130
190
  private getLessonById;
131
191
  private ensureCourseExists;
@@ -1 +1 @@
1
- {"version":3,"file":"course-structure.service.d.ts","sourceRoot":"","sources":["../../src/course/course-structure.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,8BAA8B,EAAE,MAAM,0CAA0C,CAAC;AAC1F,OAAO,EAAE,+BAA+B,EAAE,MAAM,2CAA2C,CAAC;AAC5F,OAAO,EAAE,8BAA8B,EAAE,MAAM,0CAA0C,CAAC;AAC1F,OAAO,EAAE,+BAA+B,EAAE,MAAM,2CAA2C,CAAC;AAC5F,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAErE,KAAK,YAAY,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,WAAW,CAAC;AAG/D,qBACa,sBAAsB;IAE/B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBADjB,MAAM,EAAE,aAAa,EACrB,iBAAiB,EAAE,iBAAiB;IAGjD,YAAY,CAAC,QAAQ,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA+F7B,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,+BAA+B;;;;;;;IAuBpE,aAAa,CACjB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,+BAA+B;;;;;;;IA4BhC,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;;;IAcjD,YAAY,CAChB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA8B/B,YAAY,CAChB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA2C/B,YAAY,CAChB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM;;;YAmBJ,mBAAmB;YAgEnB,aAAa;YAsEb,kBAAkB;YAWlB,eAAe;YAUf,eAAe;IAU7B,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,iBAAiB;IAkBzB,OAAO,CAAC,gBAAgB;IAiCxB,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,UAAU;CAGnB"}
1
+ {"version":3,"file":"course-structure.service.d.ts","sourceRoot":"","sources":["../../src/course/course-structure.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,8BAA8B,EAAE,MAAM,0CAA0C,CAAC;AAC1F,OAAO,EAAE,+BAA+B,EAAE,MAAM,2CAA2C,CAAC;AAC5F,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,8BAA8B,EAAE,MAAM,0CAA0C,CAAC;AAC1F,OAAO,EAAE,+BAA+B,EAAE,MAAM,2CAA2C,CAAC;AAE5F,KAAK,YAAY,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,WAAW,CAAC;AAG/D,qBACa,sBAAsB;IAE/B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBADjB,MAAM,EAAE,aAAa,EACrB,iBAAiB,EAAE,iBAAiB;IAGjD,YAAY,CAAC,QAAQ,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA2G7B,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,+BAA+B;;;;;;;IAuBpE,aAAa,CACjB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,+BAA+B;;;;;;;IA4BhC,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;;;IAcjD,YAAY,CAChB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA8B/B,YAAY,CAChB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA2C/B,YAAY,CAChB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM;;;IAmBZ,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,kBAAkB;;;IA2BzD,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,iBAAiB;;;IAgC1E,UAAU,CACd,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,aAAa;;;IA4Ed,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;;;;;;;;;;IA2FpD,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAiErE,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,EAAE,eAAe;;;YA6EpE,mBAAmB;YA+DnB,aAAa;YAsEb,kBAAkB;YAWlB,eAAe;YAUf,eAAe;IAU7B,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,iBAAiB;IAkBzB,OAAO,CAAC,gBAAgB;IAiCxB,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,UAAU;CAGnB"}