@hed-hog/lms 0.0.305 → 0.0.309

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 (130) 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 +81 -60
  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/{enterprise/dto/add-enterprise-lead.dto.js → course/dto/move-lesson.dto.js} +12 -6
  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/dashboard_component.yaml +152 -152
  41. package/hedhog/data/dashboard_item.yaml +166 -166
  42. package/hedhog/data/image_type.yaml +20 -0
  43. package/hedhog/data/menu.yaml +2 -2
  44. package/hedhog/data/route.yaml +60 -6
  45. package/hedhog/frontend/app/_components/class-form-sheet.tsx.ejs +146 -165
  46. package/hedhog/frontend/app/_components/course-avatar.tsx.ejs +70 -0
  47. package/hedhog/frontend/app/_components/course-form-sheet.tsx.ejs +372 -22
  48. package/hedhog/frontend/app/classes/[id]/page.tsx.ejs +437 -77
  49. package/hedhog/frontend/app/classes/page.tsx.ejs +311 -289
  50. package/hedhog/frontend/app/courses/[id]/_components/CourseCertificateCard.tsx.ejs +10 -7
  51. package/hedhog/frontend/app/courses/[id]/_components/CourseClassificationCard.tsx.ejs +23 -32
  52. package/hedhog/frontend/app/courses/[id]/_components/CourseContentCard.tsx.ejs +3 -9
  53. package/hedhog/frontend/app/courses/[id]/_components/CourseDangerZoneCard.tsx.ejs +26 -16
  54. package/hedhog/frontend/app/courses/[id]/_components/CourseFlagsCard.tsx.ejs +19 -5
  55. package/hedhog/frontend/app/courses/[id]/_components/CourseMainInfoCard.tsx.ejs +10 -14
  56. package/hedhog/frontend/app/courses/[id]/_components/CourseMediaCard.tsx.ejs +131 -107
  57. package/hedhog/frontend/app/courses/[id]/_components/CourseRelationsCard.tsx.ejs +10 -7
  58. package/hedhog/frontend/app/courses/[id]/_components/CourseSectionCard.tsx.ejs +38 -19
  59. package/hedhog/frontend/app/courses/[id]/_components/CourseSummaryCard.tsx.ejs +1 -1
  60. package/hedhog/frontend/app/courses/[id]/_components/course-edit-types.ts.ejs +1 -1
  61. package/hedhog/frontend/app/courses/[id]/page.tsx.ejs +336 -1057
  62. package/hedhog/frontend/app/courses/[id]/structure/_components/confirm-dialog.tsx.ejs +45 -0
  63. package/hedhog/frontend/app/courses/[id]/structure/_components/course-tree-dnd.tsx.ejs +362 -0
  64. package/hedhog/frontend/app/courses/[id]/structure/_components/course-tree-panel.tsx.ejs +111 -0
  65. package/hedhog/frontend/app/courses/[id]/structure/_components/course-tree-skeleton.tsx.ejs +64 -0
  66. package/hedhog/frontend/app/courses/[id]/structure/_components/course-tree.tsx.ejs +134 -0
  67. package/hedhog/frontend/app/courses/[id]/structure/_components/detail-course.tsx.ejs +113 -0
  68. package/hedhog/frontend/app/courses/[id]/structure/_components/detail-lesson.tsx.ejs +314 -0
  69. package/hedhog/frontend/app/courses/[id]/structure/_components/detail-panel.tsx.ejs +62 -0
  70. package/hedhog/frontend/app/courses/[id]/structure/_components/detail-session.tsx.ejs +174 -0
  71. package/hedhog/frontend/app/courses/[id]/structure/_components/drag-handle.tsx.ejs +58 -0
  72. package/hedhog/frontend/app/courses/[id]/structure/_components/drag-overlay.tsx.ejs +52 -0
  73. package/hedhog/frontend/app/courses/[id]/structure/_components/editor-bulk.tsx.ejs +276 -0
  74. package/hedhog/frontend/app/courses/[id]/structure/_components/editor-course.tsx.ejs +1216 -0
  75. package/hedhog/frontend/app/courses/[id]/structure/_components/editor-lesson.tsx.ejs +1827 -0
  76. package/hedhog/frontend/app/courses/[id]/structure/_components/editor-session.tsx.ejs +443 -0
  77. package/hedhog/frontend/app/courses/[id]/structure/_components/highlighted-text.tsx.ejs +41 -0
  78. package/hedhog/frontend/app/courses/[id]/structure/_components/mock-data.ts.ejs +184 -0
  79. package/hedhog/frontend/app/courses/[id]/structure/_components/multi-select-bar.tsx.ejs +264 -0
  80. package/hedhog/frontend/app/courses/[id]/structure/_components/search-filter.tsx.ejs +96 -0
  81. package/hedhog/frontend/app/courses/[id]/structure/_components/session-picker-dialog.tsx.ejs +74 -0
  82. package/hedhog/frontend/app/courses/[id]/structure/_components/shortcuts-help.tsx.ejs +136 -0
  83. package/hedhog/frontend/app/courses/[id]/structure/_components/sortable-tree-row.tsx.ejs +80 -0
  84. package/hedhog/frontend/app/courses/[id]/structure/_components/store.ts.ejs +948 -0
  85. package/hedhog/frontend/app/courses/[id]/structure/_components/tree-context-menu.tsx.ejs +525 -0
  86. package/hedhog/frontend/app/courses/[id]/structure/_components/tree-display-settings-popover.tsx.ejs +150 -0
  87. package/hedhog/frontend/app/courses/[id]/structure/_components/tree-helpers.ts.ejs +182 -0
  88. package/hedhog/frontend/app/courses/[id]/structure/_components/tree-row-course.tsx.ejs +52 -0
  89. package/hedhog/frontend/app/courses/[id]/structure/_components/tree-row-lesson.tsx.ejs +271 -0
  90. package/hedhog/frontend/app/courses/[id]/structure/_components/tree-row-session.tsx.ejs +167 -0
  91. package/hedhog/frontend/app/courses/[id]/structure/_components/tree-row.tsx.ejs +108 -0
  92. package/hedhog/frontend/app/courses/[id]/structure/_components/types.ts.ejs +122 -0
  93. package/hedhog/frontend/app/courses/[id]/structure/_components/use-course-structure-shortcuts.ts.ejs +318 -0
  94. package/hedhog/frontend/app/courses/[id]/structure/_components/use-tree-display-settings.ts.ejs +97 -0
  95. package/hedhog/frontend/app/courses/[id]/structure/_data/adapters/course-structure.adapter.ts.ejs +347 -0
  96. package/hedhog/frontend/app/courses/[id]/structure/_data/course-structure-contract.ts.ejs +195 -0
  97. package/hedhog/frontend/app/courses/[id]/structure/_data/services/course-structure.service.ts.ejs +420 -0
  98. package/hedhog/frontend/app/courses/[id]/structure/_data/types/api-course.types.ts.ejs +254 -0
  99. package/hedhog/frontend/app/courses/[id]/structure/_data/use-course-structure-mutations.ts.ejs +987 -0
  100. package/hedhog/frontend/app/courses/[id]/structure/_data/use-course-structure-query.ts.ejs +86 -0
  101. package/hedhog/frontend/app/courses/[id]/structure/_data/use-course-structure.ts.ejs +160 -0
  102. package/hedhog/frontend/app/courses/[id]/structure/page.tsx.ejs +10 -3212
  103. package/hedhog/frontend/app/courses/page.tsx.ejs +45 -26
  104. package/hedhog/frontend/app/enterprise/[id]/page.tsx.ejs +317 -317
  105. package/hedhog/frontend/app/enterprise/_components/enterprise-class-create-sheet.tsx.ejs +1 -0
  106. package/hedhog/frontend/app/enterprise/_components/enterprise-mocks.ts.ejs +12 -1
  107. package/hedhog/frontend/app/enterprise/_components/enterprise-related-tab.tsx.ejs +44 -7
  108. package/hedhog/frontend/app/enterprise/_components/enterprise-types.ts.ejs +96 -96
  109. package/hedhog/frontend/app/page.tsx.ejs +5 -5
  110. package/hedhog/frontend/app/{training → paths}/page.tsx.ejs +29 -7
  111. package/hedhog/frontend/messages/en.json +88 -10
  112. package/hedhog/frontend/messages/pt.json +88 -10
  113. package/hedhog/table/course.yaml +16 -16
  114. package/hedhog/table/image_type.yaml +14 -0
  115. package/package.json +6 -6
  116. package/src/class-group/class-group.service.ts +413 -413
  117. package/src/class-group/dto/create-class-group.dto.ts +77 -77
  118. package/src/course/course-structure.controller.ts +63 -0
  119. package/src/course/course-structure.service.ts +390 -3
  120. package/src/course/course.service.ts +214 -182
  121. package/src/course/dto/create-course-structure-lesson.dto.ts +3 -2
  122. package/src/course/dto/create-course.dto.ts +19 -16
  123. package/src/course/dto/move-lesson.dto.ts +17 -0
  124. package/src/course/dto/paste-lessons.dto.ts +9 -0
  125. package/src/course/dto/reorder-lessons.dto.ts +10 -0
  126. package/src/course/dto/reorder-sessions.dto.ts +10 -0
  127. package/src/training/training.controller.ts +1 -1
  128. package/dist/enterprise/dto/add-enterprise-lead.dto.d.ts +0 -4
  129. package/dist/enterprise/dto/add-enterprise-lead.dto.d.ts.map +0 -1
  130. package/dist/enterprise/dto/add-enterprise-lead.dto.js.map +0 -1
@@ -253,7 +253,7 @@
253
253
  "internalName": {
254
254
  "label": "Nome Interno *",
255
255
  "placeholder": "Ex: react-avancado",
256
- "description": "Slug interno para uso do sistema"
256
+ "description": "Nome Interno para uso do sistema"
257
257
  },
258
258
  "title": {
259
259
  "label": "Título Comercial *",
@@ -535,15 +535,15 @@
535
535
  "edit": "Atualize as informações do curso abaixo."
536
536
  },
537
537
  "fields": {
538
- "code": {
539
- "label": "Código do Curso",
540
- "placeholder": "Ex: REACT-ADV",
541
- "description": "Identificador único do curso (ex: REACT-ADV)"
542
- },
543
538
  "internalName": {
544
539
  "label": "Nome Interno",
540
+ "placeholder": "Ex: React Avançado",
541
+ "description": "Nome interno do curso para uso administrativo"
542
+ },
543
+ "slug": {
544
+ "label": "Slug",
545
545
  "placeholder": "Ex: react-avancado",
546
- "description": "Slug interno para uso do sistema"
546
+ "description": "Identificador único na URL (letras minúsculas, números e hífens)"
547
547
  },
548
548
  "commercialTitle": {
549
549
  "label": "Título Comercial",
@@ -605,6 +605,7 @@
605
605
  "codeMaxLength": "Código deve ter no máximo 16 caracteres",
606
606
  "codePattern": "Apenas letras, números e hífens",
607
607
  "internalNameMinLength": "Nome interno deve ter pelo menos 3 caracteres",
608
+ "slugPattern": "Slug deve conter apenas letras minúsculas, números e hífens",
608
609
  "commercialTitleMinLength": "Título comercial deve ter pelo menos 3 caracteres",
609
610
  "descriptionMinLength": "Descrição deve ter pelo menos 10 caracteres",
610
611
  "levelRequired": "Selecione um nível",
@@ -675,7 +676,8 @@
675
676
  "autoSaveSaved": "Sessão salva automaticamente",
676
677
  "autoSaveError": "Falha no salvamento automático da sessão",
677
678
  "create": "Criar Sessão",
678
- "update": "Atualizar"
679
+ "update": "Atualizar",
680
+ "save": "Salvar sessão"
679
681
  },
680
682
  "lessonForm": {
681
683
  "titleCreate": "Nova Aula",
@@ -745,7 +747,25 @@
745
747
  "autoSaveError": "Falha no salvamento automático",
746
748
  "cancel": "Cancelar",
747
749
  "create": "Criar Aula",
748
- "update": "Atualizar"
750
+ "update": "Atualizar",
751
+ "save": "Salvar aula",
752
+ "tabData": "Dados",
753
+ "tabTranscription": "Transcrição",
754
+ "tabResources": "Recursos",
755
+ "videoProvider": "Provedor de vídeo",
756
+ "videoUrl": "URL do vídeo",
757
+ "autoDuration": "Duração automática",
758
+ "postContent": "Conteúdo",
759
+ "linkedExam": "Exame vinculado",
760
+ "linkedExamPlaceholder": "ID do exame...",
761
+ "transcriptionHint": "Transcrição completa do vídeo.",
762
+ "transcriptionVideoOnly": "A transcrição está disponível somente para aulas do tipo vídeo.",
763
+ "transcriptionPlaceholder": "Escreva ou cole a transcrição aqui...",
764
+ "resourcesCount": "{count} recurso(s)",
765
+ "addResource": "Adicionar recurso",
766
+ "noResources": "Nenhum recurso adicionado",
767
+ "public": "Público",
768
+ "private": "Privado"
749
769
  },
750
770
  "deleteSession": {
751
771
  "title": "Excluir Sessão",
@@ -808,9 +828,13 @@
808
828
  "sessionUpdated": "Sessão atualizada!",
809
829
  "sessionCreated": "Sessão criada!",
810
830
  "sessionDeleted": "Sessão removida!",
831
+ "sessionDuplicated": "Sessão duplicada!",
811
832
  "lessonUpdated": "Aula atualizada!",
812
833
  "lessonCreated": "Aula criada!",
813
834
  "lessonDeleted": "Aula removida!",
835
+ "lessonDuplicated": "Aula duplicada!",
836
+ "lessonMoved": "Aula movida!",
837
+ "courseUpdated": "Curso atualizado!",
814
838
  "resourceAdded": "Recurso adicionado!",
815
839
  "resourceRemoved": "Recurso removido!",
816
840
  "lessonsDeleted": "{count} aula(s) removida(s)!",
@@ -837,6 +861,56 @@
837
861
  "titleMin": "Título deve ter pelo menos 3 caracteres",
838
862
  "durationMin": "Duração mínima de 1 minuto",
839
863
  "typeRequired": "Selecione um tipo"
864
+ },
865
+ "pageDescription": "{sessions} sessões · {lessons} aulas · {hours}h {minutes}min",
866
+ "mobileTabs": {
867
+ "tree": "Árvore",
868
+ "detail": "Detalhes"
869
+ },
870
+ "breadcrumbs": {
871
+ "lms": "LMS",
872
+ "courses": "Cursos",
873
+ "structure": "Estrutura"
874
+ },
875
+ "search": {
876
+ "placeholder": "Buscar..."
877
+ },
878
+ "tree": {
879
+ "collapseAll": "Recolher tudo",
880
+ "expandAll": "Expandir tudo",
881
+ "addItem": "Adicionar item",
882
+ "addSession": "Nova sessão"
883
+ },
884
+ "contextMenu": {
885
+ "edit": "Editar",
886
+ "addLesson": "Adicionar aula",
887
+ "addSession": "Nova sessão",
888
+ "duplicate": "Duplicar",
889
+ "mergeWith": "Mesclar com...",
890
+ "moveTo": "Mover para...",
891
+ "delete": "Excluir"
892
+ },
893
+ "deleteDialog": {
894
+ "title": "Confirmar exclusão",
895
+ "sessionMessage": "Tem certeza? Todas as aulas desta sessão serão removidas.",
896
+ "lessonMessage": "Tem certeza? Esta aula será removida permanentemente.",
897
+ "cancel": "Cancelar",
898
+ "confirm": "Excluir"
899
+ },
900
+ "detailPanel": {
901
+ "emptyHint": "Selecione um item na árvore para ver os detalhes"
902
+ },
903
+ "detailCourse": {
904
+ "subtitle": "Dados gerais do curso",
905
+ "title": "Título",
906
+ "code": "Código",
907
+ "slug": "Slug",
908
+ "description": "Descrição",
909
+ "published": "Publicado",
910
+ "save": "Salvar curso"
911
+ },
912
+ "detailSession": {
913
+ "subtitle": "{lessons} aulas · {minutes}min"
840
914
  }
841
915
  }
842
916
  },
@@ -2441,7 +2515,11 @@
2441
2515
  "helper": "Clique em uma aula para editar ou criar novas aulas.",
2442
2516
  "viewSingle": "Mês",
2443
2517
  "viewQuarter": "Trimestre",
2444
- "viewYear": "Ano"
2518
+ "viewYear": "Ano",
2519
+ "empty": {
2520
+ "title": "Nenhuma aula cadastrada",
2521
+ "description": "Cadastre a primeira aula para começar."
2522
+ }
2445
2523
  },
2446
2524
  "info": {
2447
2525
  "period": "Período",
@@ -1,6 +1,6 @@
1
1
  columns:
2
2
  - type: pk
3
- - name: code
3
+ - name: name
4
4
  type: varchar
5
5
  length: 32
6
6
  isNullable: true
@@ -24,18 +24,18 @@ columns:
24
24
  - name: duration_hours
25
25
  type: int
26
26
  default: 0
27
- - name: status
28
- type: enum
29
- values: [draft, published, archived]
30
- default: draft
31
- - name: offering_type
32
- type: enum
33
- values: [scheduled, on_demand, blended]
34
- default: on_demand
35
- - name: primary_color
36
- type: varchar
37
- length: 9
38
- isNullable: true
27
+ - name: status
28
+ type: enum
29
+ values: [draft, published, archived]
30
+ default: draft
31
+ - name: offering_type
32
+ type: enum
33
+ values: [scheduled, on_demand, blended]
34
+ default: on_demand
35
+ - name: primary_color
36
+ type: varchar
37
+ length: 9
38
+ isNullable: true
39
39
  - name: primary_contrast_color
40
40
  type: varchar
41
41
  length: 9
@@ -82,6 +82,6 @@ columns:
82
82
  indices:
83
83
  - columns: [slug]
84
84
  isUnique: true
85
- - columns: [certificate_template_id]
86
- - columns: [status]
87
- - columns: [offering_type]
85
+ - columns: [certificate_template_id]
86
+ - columns: [status]
87
+ - columns: [offering_type]
@@ -15,6 +15,20 @@ columns:
15
15
  - name: applies_to_learning_path
16
16
  type: boolean
17
17
  default: false
18
+ - name: suggested_width
19
+ type: int
20
+ isNullable: true
21
+ - name: suggested_height
22
+ type: int
23
+ isNullable: true
24
+ - name: allowed_extensions
25
+ type: varchar
26
+ length: 100
27
+ isNullable: true
28
+ - name: aspect_ratio
29
+ type: varchar
30
+ length: 20
31
+ isNullable: true
18
32
  - name: status
19
33
  type: enum
20
34
  values: [active, inactive]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hed-hog/lms",
3
- "version": "0.0.305",
3
+ "version": "0.0.309",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "dependencies": {
@@ -11,13 +11,13 @@
11
11
  "@nestjs/mapped-types": "*",
12
12
  "@hed-hog/api-prisma": "0.0.6",
13
13
  "@hed-hog/api-types": "0.0.1",
14
+ "@hed-hog/contact": "0.0.309",
14
15
  "@hed-hog/api-pagination": "0.0.7",
15
- "@hed-hog/core": "0.0.305",
16
- "@hed-hog/finance": "0.0.305",
17
- "@hed-hog/category": "0.0.305",
18
- "@hed-hog/api": "0.0.6",
16
+ "@hed-hog/core": "0.0.309",
19
17
  "@hed-hog/api-locale": "0.0.14",
20
- "@hed-hog/contact": "0.0.305"
18
+ "@hed-hog/api": "0.0.6",
19
+ "@hed-hog/finance": "0.0.309",
20
+ "@hed-hog/category": "0.0.309"
21
21
  },
22
22
  "exports": {
23
23
  ".": {