@hed-hog/lms 0.0.361 → 0.0.364
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.
- package/dist/bitcode-wallet/bitcode-wallet.service.d.ts +65 -0
- package/dist/bitcode-wallet/bitcode-wallet.service.d.ts.map +1 -1
- package/dist/bitcode-wallet/bitcode-wallet.service.js +72 -0
- package/dist/bitcode-wallet/bitcode-wallet.service.js.map +1 -1
- package/dist/bitcode-wallet/dto/create-current-bitcode-wallet-transaction.dto.d.ts +8 -0
- package/dist/bitcode-wallet/dto/create-current-bitcode-wallet-transaction.dto.d.ts.map +1 -0
- package/dist/bitcode-wallet/dto/create-current-bitcode-wallet-transaction.dto.js +40 -0
- package/dist/bitcode-wallet/dto/create-current-bitcode-wallet-transaction.dto.js.map +1 -0
- package/dist/class-group/class-group.controller.d.ts +16 -16
- package/dist/class-group/class-group.service.d.ts +12 -12
- package/dist/course/course-audio-transcription.service.d.ts +3 -2
- package/dist/course/course-audio-transcription.service.d.ts.map +1 -1
- package/dist/course/course-audio-transcription.service.js +49 -8
- package/dist/course/course-audio-transcription.service.js.map +1 -1
- package/dist/course/course-lesson.controller.d.ts +4 -0
- package/dist/course/course-lesson.controller.d.ts.map +1 -1
- package/dist/course/course-lesson.controller.js +10 -0
- package/dist/course/course-lesson.controller.js.map +1 -1
- package/dist/course/course-structure.controller.d.ts +11 -4
- package/dist/course/course-structure.controller.d.ts.map +1 -1
- package/dist/course/course-structure.controller.js +14 -0
- package/dist/course/course-structure.controller.js.map +1 -1
- package/dist/course/course-structure.service.d.ts +15 -1
- package/dist/course/course-structure.service.d.ts.map +1 -1
- package/dist/course/course-structure.service.js +139 -4
- package/dist/course/course-structure.service.js.map +1 -1
- package/dist/course/course-video-conversion.service.d.ts +8 -0
- package/dist/course/course-video-conversion.service.d.ts.map +1 -1
- package/dist/course/course-video-conversion.service.js +87 -51
- package/dist/course/course-video-conversion.service.js.map +1 -1
- package/dist/course/course.controller.d.ts +73 -1
- package/dist/course/course.controller.d.ts.map +1 -1
- package/dist/course/course.controller.js +27 -3
- package/dist/course/course.controller.js.map +1 -1
- package/dist/course/course.module.d.ts.map +1 -1
- package/dist/course/course.module.js +2 -0
- package/dist/course/course.module.js.map +1 -1
- package/dist/course/course.service.d.ts +108 -4
- package/dist/course/course.service.d.ts.map +1 -1
- package/dist/course/course.service.js +631 -30
- package/dist/course/course.service.js.map +1 -1
- package/dist/course/dto/cleanup-course-storage.dto.d.ts +6 -0
- package/dist/course/dto/cleanup-course-storage.dto.d.ts.map +1 -0
- package/dist/course/dto/cleanup-course-storage.dto.js +33 -0
- package/dist/course/dto/cleanup-course-storage.dto.js.map +1 -0
- package/dist/course/dto/cleanup-upload-history.dto.d.ts +9 -0
- package/dist/course/dto/cleanup-upload-history.dto.d.ts.map +1 -0
- package/dist/course/dto/cleanup-upload-history.dto.js +36 -0
- package/dist/course/dto/cleanup-upload-history.dto.js.map +1 -0
- package/dist/course/dto/create-course-bulk-job.dto.d.ts +4 -0
- package/dist/course/dto/create-course-bulk-job.dto.d.ts.map +1 -0
- package/dist/course/dto/create-course-bulk-job.dto.js +21 -0
- package/dist/course/dto/create-course-bulk-job.dto.js.map +1 -0
- package/dist/course/lms-bulk-upload-automation.service.d.ts +39 -0
- package/dist/course/lms-bulk-upload-automation.service.d.ts.map +1 -0
- package/dist/course/lms-bulk-upload-automation.service.js +443 -0
- package/dist/course/lms-bulk-upload-automation.service.js.map +1 -0
- package/dist/course/lms-bulk-upload-infra.service.d.ts +31 -0
- package/dist/course/lms-bulk-upload-infra.service.d.ts.map +1 -0
- package/dist/course/lms-bulk-upload-infra.service.js +277 -0
- package/dist/course/lms-bulk-upload-infra.service.js.map +1 -0
- package/dist/course/lms-bulk-upload.constants.d.ts +4 -0
- package/dist/course/lms-bulk-upload.constants.d.ts.map +1 -0
- package/dist/course/lms-bulk-upload.constants.js +7 -0
- package/dist/course/lms-bulk-upload.constants.js.map +1 -0
- package/dist/course/lms-bulk-upload.controller.d.ts +116 -0
- package/dist/course/lms-bulk-upload.controller.d.ts.map +1 -1
- package/dist/course/lms-bulk-upload.controller.js +71 -2
- package/dist/course/lms-bulk-upload.controller.js.map +1 -1
- package/dist/course/lms-bulk-upload.service.d.ts +142 -3
- package/dist/course/lms-bulk-upload.service.d.ts.map +1 -1
- package/dist/course/lms-bulk-upload.service.js +606 -21
- package/dist/course/lms-bulk-upload.service.js.map +1 -1
- package/dist/course/lms-setting.controller.d.ts +4 -1
- package/dist/course/lms-setting.controller.d.ts.map +1 -1
- package/dist/course/lms-setting.controller.js +21 -6
- package/dist/course/lms-setting.controller.js.map +1 -1
- package/dist/enterprise/enterprise.controller.d.ts +20 -20
- package/dist/enterprise/enterprise.service.d.ts +20 -20
- package/dist/enterprise/training/training-admin.controller.d.ts +11 -11
- package/dist/enterprise/training/training-admin.service.d.ts +11 -11
- package/dist/enterprise/training/training-instructor.controller.d.ts +2 -2
- package/dist/enterprise/training/training-instructor.service.d.ts +2 -2
- package/dist/enterprise/training/training-student.controller.d.ts +1 -1
- package/dist/enterprise/training/training-student.service.d.ts +1 -1
- package/dist/enterprise/training/training-viewer.controller.d.ts +2 -2
- package/dist/evaluation/evaluation.controller.d.ts +8 -8
- package/dist/evaluation/evaluation.service.d.ts +8 -8
- package/dist/lesson-xp-map/dto/create-lesson-xp-map.dto.d.ts +6 -0
- package/dist/lesson-xp-map/dto/create-lesson-xp-map.dto.d.ts.map +1 -0
- package/dist/lesson-xp-map/dto/create-lesson-xp-map.dto.js +34 -0
- package/dist/lesson-xp-map/dto/create-lesson-xp-map.dto.js.map +1 -0
- package/dist/lesson-xp-map/dto/create-lesson-xp-segment.dto.d.ts +28 -0
- package/dist/lesson-xp-map/dto/create-lesson-xp-segment.dto.d.ts.map +1 -0
- package/dist/lesson-xp-map/dto/create-lesson-xp-segment.dto.js +123 -0
- package/dist/lesson-xp-map/dto/create-lesson-xp-segment.dto.js.map +1 -0
- package/dist/lesson-xp-map/dto/review-lesson-xp-map.dto.d.ts +4 -0
- package/dist/lesson-xp-map/dto/review-lesson-xp-map.dto.d.ts.map +1 -0
- package/dist/lesson-xp-map/dto/review-lesson-xp-map.dto.js +22 -0
- package/dist/lesson-xp-map/dto/review-lesson-xp-map.dto.js.map +1 -0
- package/dist/lesson-xp-map/dto/update-lesson-xp-map.dto.d.ts +10 -0
- package/dist/lesson-xp-map/dto/update-lesson-xp-map.dto.d.ts.map +1 -0
- package/dist/lesson-xp-map/dto/update-lesson-xp-map.dto.js +52 -0
- package/dist/lesson-xp-map/dto/update-lesson-xp-map.dto.js.map +1 -0
- package/dist/lesson-xp-map/dto/update-lesson-xp-segment.dto.d.ts +15 -0
- package/dist/lesson-xp-map/dto/update-lesson-xp-segment.dto.d.ts.map +1 -0
- package/dist/lesson-xp-map/dto/update-lesson-xp-segment.dto.js +86 -0
- package/dist/lesson-xp-map/dto/update-lesson-xp-segment.dto.js.map +1 -0
- package/dist/lesson-xp-map/lesson-xp-ai-calculation.service.d.ts +26 -0
- package/dist/lesson-xp-map/lesson-xp-ai-calculation.service.d.ts.map +1 -0
- package/dist/lesson-xp-map/lesson-xp-ai-calculation.service.js +304 -0
- package/dist/lesson-xp-map/lesson-xp-ai-calculation.service.js.map +1 -0
- package/dist/lesson-xp-map/lesson-xp-map.controller.d.ts +87 -0
- package/dist/lesson-xp-map/lesson-xp-map.controller.d.ts.map +1 -0
- package/dist/lesson-xp-map/lesson-xp-map.controller.js +185 -0
- package/dist/lesson-xp-map/lesson-xp-map.controller.js.map +1 -0
- package/dist/lesson-xp-map/lesson-xp-map.module.d.ts +3 -0
- package/dist/lesson-xp-map/lesson-xp-map.module.d.ts.map +1 -0
- package/dist/lesson-xp-map/lesson-xp-map.module.js +34 -0
- package/dist/lesson-xp-map/lesson-xp-map.module.js.map +1 -0
- package/dist/lesson-xp-map/lesson-xp-map.service.d.ts +84 -0
- package/dist/lesson-xp-map/lesson-xp-map.service.d.ts.map +1 -0
- package/dist/lesson-xp-map/lesson-xp-map.service.js +353 -0
- package/dist/lesson-xp-map/lesson-xp-map.service.js.map +1 -0
- package/dist/lesson-xp-map/lesson-xp-segment.controller.d.ts +10 -0
- package/dist/lesson-xp-map/lesson-xp-segment.controller.d.ts.map +1 -0
- package/dist/lesson-xp-map/lesson-xp-segment.controller.js +63 -0
- package/dist/lesson-xp-map/lesson-xp-segment.controller.js.map +1 -0
- package/dist/lesson-xp-map/lesson-xp-segment.service.d.ts +27 -0
- package/dist/lesson-xp-map/lesson-xp-segment.service.d.ts.map +1 -0
- package/dist/lesson-xp-map/lesson-xp-segment.service.js +194 -0
- package/dist/lesson-xp-map/lesson-xp-segment.service.js.map +1 -0
- package/dist/libraries/lms/tsconfig.tsbuildinfo +1 -0
- package/dist/lms.module.d.ts.map +1 -1
- package/dist/lms.module.js +17 -2
- package/dist/lms.module.js.map +1 -1
- package/dist/platforma/dto/update-profile.dto.d.ts +17 -0
- package/dist/platforma/dto/update-profile.dto.d.ts.map +1 -0
- package/dist/platforma/dto/update-profile.dto.js +87 -0
- package/dist/platforma/dto/update-profile.dto.js.map +1 -0
- package/dist/platforma/platforma.controller.d.ts +88 -1
- package/dist/platforma/platforma.controller.d.ts.map +1 -1
- package/dist/platforma/platforma.controller.js +85 -2
- package/dist/platforma/platforma.controller.js.map +1 -1
- package/dist/platforma/platforma.service.d.ts +27 -0
- package/dist/platforma/platforma.service.d.ts.map +1 -0
- package/dist/platforma/platforma.service.js +274 -0
- package/dist/platforma/platforma.service.js.map +1 -0
- package/dist/student-xp/student-xp.controller.d.ts +41 -0
- package/dist/student-xp/student-xp.controller.d.ts.map +1 -0
- package/dist/student-xp/student-xp.controller.js +114 -0
- package/dist/student-xp/student-xp.controller.js.map +1 -0
- package/dist/student-xp/student-xp.module.d.ts +3 -0
- package/dist/student-xp/student-xp.module.d.ts.map +1 -0
- package/dist/student-xp/student-xp.module.js +25 -0
- package/dist/student-xp/student-xp.module.js.map +1 -0
- package/dist/student-xp/student-xp.service.d.ts +65 -0
- package/dist/student-xp/student-xp.service.d.ts.map +1 -0
- package/dist/student-xp/student-xp.service.js +197 -0
- package/dist/student-xp/student-xp.service.js.map +1 -0
- package/dist/xp-catalog/dto/create-xp-area.dto.d.ts +12 -0
- package/dist/xp-catalog/dto/create-xp-area.dto.d.ts.map +1 -0
- package/dist/xp-catalog/dto/create-xp-area.dto.js +63 -0
- package/dist/xp-catalog/dto/create-xp-area.dto.js.map +1 -0
- package/dist/xp-catalog/dto/create-xp-learning-type.dto.d.ts +11 -0
- package/dist/xp-catalog/dto/create-xp-learning-type.dto.d.ts.map +1 -0
- package/dist/xp-catalog/dto/create-xp-learning-type.dto.js +57 -0
- package/dist/xp-catalog/dto/create-xp-learning-type.dto.js.map +1 -0
- package/dist/xp-catalog/dto/create-xp-skill.dto.d.ts +11 -0
- package/dist/xp-catalog/dto/create-xp-skill.dto.d.ts.map +1 -0
- package/dist/xp-catalog/dto/create-xp-skill.dto.js +57 -0
- package/dist/xp-catalog/dto/create-xp-skill.dto.js.map +1 -0
- package/dist/xp-catalog/dto/update-xp-area.dto.d.ts +12 -0
- package/dist/xp-catalog/dto/update-xp-area.dto.d.ts.map +1 -0
- package/dist/xp-catalog/dto/update-xp-area.dto.js +66 -0
- package/dist/xp-catalog/dto/update-xp-area.dto.js.map +1 -0
- package/dist/xp-catalog/dto/update-xp-learning-type.dto.d.ts +11 -0
- package/dist/xp-catalog/dto/update-xp-learning-type.dto.d.ts.map +1 -0
- package/dist/xp-catalog/dto/update-xp-learning-type.dto.js +60 -0
- package/dist/xp-catalog/dto/update-xp-learning-type.dto.js.map +1 -0
- package/dist/xp-catalog/dto/update-xp-skill.dto.d.ts +11 -0
- package/dist/xp-catalog/dto/update-xp-skill.dto.d.ts.map +1 -0
- package/dist/xp-catalog/dto/update-xp-skill.dto.js +60 -0
- package/dist/xp-catalog/dto/update-xp-skill.dto.js.map +1 -0
- package/dist/xp-catalog/xp-area.controller.d.ts +25 -0
- package/dist/xp-catalog/xp-area.controller.d.ts.map +1 -0
- package/dist/xp-catalog/xp-area.controller.js +105 -0
- package/dist/xp-catalog/xp-area.controller.js.map +1 -0
- package/dist/xp-catalog/xp-area.service.d.ts +35 -0
- package/dist/xp-catalog/xp-area.service.d.ts.map +1 -0
- package/dist/xp-catalog/xp-area.service.js +168 -0
- package/dist/xp-catalog/xp-area.service.js.map +1 -0
- package/dist/xp-catalog/xp-catalog.module.d.ts +3 -0
- package/dist/xp-catalog/xp-catalog.module.d.ts.map +1 -0
- package/dist/xp-catalog/xp-catalog.module.js +29 -0
- package/dist/xp-catalog/xp-catalog.module.js.map +1 -0
- package/dist/xp-catalog/xp-learning-type.controller.d.ts +20 -0
- package/dist/xp-catalog/xp-learning-type.controller.d.ts.map +1 -0
- package/dist/xp-catalog/xp-learning-type.controller.js +96 -0
- package/dist/xp-catalog/xp-learning-type.controller.js.map +1 -0
- package/dist/xp-catalog/xp-learning-type.service.d.ts +30 -0
- package/dist/xp-catalog/xp-learning-type.service.d.ts.map +1 -0
- package/dist/xp-catalog/xp-learning-type.service.js +146 -0
- package/dist/xp-catalog/xp-learning-type.service.js.map +1 -0
- package/dist/xp-catalog/xp-skill.controller.d.ts +26 -0
- package/dist/xp-catalog/xp-skill.controller.d.ts.map +1 -0
- package/dist/xp-catalog/xp-skill.controller.js +113 -0
- package/dist/xp-catalog/xp-skill.controller.js.map +1 -0
- package/dist/xp-catalog/xp-skill.service.d.ts +37 -0
- package/dist/xp-catalog/xp-skill.service.d.ts.map +1 -0
- package/dist/xp-catalog/xp-skill.service.js +174 -0
- package/dist/xp-catalog/xp-skill.service.js.map +1 -0
- package/hedhog/data/menu.yaml +101 -0
- package/hedhog/data/route.yaml +512 -0
- package/hedhog/data/setting_group.yaml +1 -1
- package/hedhog/data/xp_area.yaml +164 -0
- package/hedhog/data/xp_learning_type.yaml +131 -0
- package/hedhog/data/xp_skill.yaml +1834 -0
- package/hedhog/frontend/app/achievements/page.tsx.ejs +108 -118
- package/hedhog/frontend/app/bitcodes/page.tsx.ejs +22 -34
- package/hedhog/frontend/app/bulk-upload-sessions/page.tsx.ejs +1453 -0
- package/hedhog/frontend/app/certificates/models/page.tsx.ejs +21 -45
- package/hedhog/frontend/app/classes/[id]/page.tsx.ejs +40 -74
- package/hedhog/frontend/app/classes/page.tsx.ejs +56 -85
- package/hedhog/frontend/app/courses/[id]/_components/CourseDangerZoneCard.tsx.ejs +3 -2
- package/hedhog/frontend/app/courses/[id]/_components/CourseMediaCard.tsx.ejs +48 -5
- package/hedhog/frontend/app/courses/[id]/page.tsx.ejs +4 -4
- package/hedhog/frontend/app/courses/[id]/structure/_components/course-operations-tab.tsx.ejs +19 -2
- package/hedhog/frontend/app/courses/[id]/structure/_components/course-overview-tab.tsx.ejs +1170 -0
- package/hedhog/frontend/app/courses/[id]/structure/_components/course-tree-dnd.tsx.ejs +16 -0
- package/hedhog/frontend/app/courses/[id]/structure/_components/course-tree.tsx.ejs +2 -0
- package/hedhog/frontend/app/courses/[id]/structure/_components/course-xp-overview-tab.tsx.ejs +623 -0
- package/hedhog/frontend/app/courses/[id]/structure/_components/detail-lesson-xp-tab.tsx.ejs +1458 -0
- package/hedhog/frontend/app/courses/[id]/structure/_components/detail-lesson.tsx.ejs +55 -2
- package/hedhog/frontend/app/courses/[id]/structure/_components/editor-course.tsx.ejs +442 -104
- package/hedhog/frontend/app/courses/[id]/structure/_components/editor-lesson.tsx.ejs +296 -49
- package/hedhog/frontend/app/courses/[id]/structure/_components/sortable-tree-row.tsx.ejs +3 -0
- package/hedhog/frontend/app/courses/[id]/structure/_components/store.ts.ejs +1 -0
- package/hedhog/frontend/app/courses/[id]/structure/_components/tree-display-settings-popover.tsx.ejs +101 -85
- package/hedhog/frontend/app/courses/[id]/structure/_components/tree-row-lesson.tsx.ejs +21 -1
- package/hedhog/frontend/app/courses/[id]/structure/_components/tree-row.tsx.ejs +3 -0
- package/hedhog/frontend/app/courses/[id]/structure/_components/use-tree-display-settings.ts.ejs +7 -1
- package/hedhog/frontend/app/courses/[id]/structure/_components/xp-premium-pills.tsx.ejs +44 -0
- package/hedhog/frontend/app/courses/[id]/structure/_data/use-course-content-overview.ts.ejs +54 -0
- package/hedhog/frontend/app/courses/[id]/structure/_data/use-course-structure-mutations.ts.ejs +52 -0
- package/hedhog/frontend/app/courses/[id]/structure/_data/use-course-xp-overview.ts.ejs +76 -0
- package/hedhog/frontend/app/courses/[id]/structure/_data/use-lesson-xp-map.ts.ejs +128 -0
- package/hedhog/frontend/app/courses/[id]/structure/_data/use-transcription-segments.ts.ejs +30 -0
- package/hedhog/frontend/app/courses/[id]/structure/_utils/xp-color-config.ts.ejs +115 -0
- package/hedhog/frontend/app/courses/_components/CourseDeleteDialog.tsx.ejs +223 -0
- package/hedhog/frontend/app/courses/_components/CourseRowActions.tsx.ejs +89 -0
- package/hedhog/frontend/app/courses/page.tsx.ejs +400 -230
- package/hedhog/frontend/app/enterprise/page.tsx.ejs +39 -63
- package/hedhog/frontend/app/exams/[id]/questions/page.tsx.ejs +53 -77
- package/hedhog/frontend/app/exams/page.tsx.ejs +54 -90
- package/hedhog/frontend/app/instructor-skills/page.tsx.ejs +23 -36
- package/hedhog/frontend/app/instructors/page.tsx.ejs +72 -81
- package/hedhog/frontend/app/paths/page.tsx.ejs +40 -68
- package/hedhog/frontend/app/training/page.tsx.ejs +40 -68
- package/hedhog/frontend/app/xp/areas/page.tsx.ejs +782 -0
- package/hedhog/frontend/app/xp/learning-types/page.tsx.ejs +690 -0
- package/hedhog/frontend/app/xp/skills/page.tsx.ejs +811 -0
- package/hedhog/frontend/messages/en.json +386 -3
- package/hedhog/frontend/messages/pt.json +386 -3
- package/hedhog/table/lesson_xp_map.yaml +50 -0
- package/hedhog/table/lesson_xp_segment.yaml +40 -0
- package/hedhog/table/lesson_xp_segment_area.yaml +24 -0
- package/hedhog/table/lesson_xp_segment_learning_type.yaml +24 -0
- package/hedhog/table/lesson_xp_segment_skill.yaml +24 -0
- package/hedhog/table/lms_bulk_upload_item.yaml +44 -0
- package/hedhog/table/lms_bulk_upload_session.yaml +42 -0
- package/hedhog/table/student_area_xp.yaml +30 -0
- package/hedhog/table/student_learning_type_xp.yaml +30 -0
- package/hedhog/table/student_skill_xp.yaml +30 -0
- package/hedhog/table/student_xp_event.yaml +34 -0
- package/hedhog/table/xp_area.yaml +39 -0
- package/hedhog/table/xp_learning_type.yaml +34 -0
- package/hedhog/table/xp_skill.yaml +39 -0
- package/package.json +8 -7
- package/src/bitcode-wallet/bitcode-wallet.service.ts +113 -0
- package/src/bitcode-wallet/dto/create-current-bitcode-wallet-transaction.dto.ts +32 -0
- package/src/course/course-audio-transcription.service.ts +58 -21
- package/src/course/course-lesson.controller.ts +6 -1
- package/src/course/course-structure.controller.ts +10 -0
- package/src/course/course-structure.service.ts +174 -1
- package/src/course/course-video-conversion.service.ts +113 -75
- package/src/course/course.controller.ts +22 -3
- package/src/course/course.module.ts +2 -0
- package/src/course/course.service.ts +847 -30
- package/src/course/dto/cleanup-course-storage.dto.ts +22 -0
- package/src/course/dto/cleanup-upload-history.dto.ts +26 -0
- package/src/course/dto/create-course-bulk-job.dto.ts +6 -0
- package/src/course/lms-bulk-upload-automation.service.ts +560 -0
- package/src/course/lms-bulk-upload-infra.service.ts +327 -0
- package/src/course/lms-bulk-upload.constants.ts +5 -0
- package/src/course/lms-bulk-upload.controller.ts +79 -3
- package/src/course/lms-bulk-upload.service.ts +1029 -204
- package/src/course/lms-setting.controller.ts +22 -6
- package/src/lesson-xp-map/dto/create-lesson-xp-map.dto.ts +17 -0
- package/src/lesson-xp-map/dto/create-lesson-xp-segment.dto.ts +102 -0
- package/src/lesson-xp-map/dto/review-lesson-xp-map.dto.ts +7 -0
- package/src/lesson-xp-map/dto/update-lesson-xp-map.dto.ts +36 -0
- package/src/lesson-xp-map/dto/update-lesson-xp-segment.dto.ts +78 -0
- package/src/lesson-xp-map/lesson-xp-ai-calculation.service.ts +396 -0
- package/src/lesson-xp-map/lesson-xp-map.controller.ts +116 -0
- package/src/lesson-xp-map/lesson-xp-map.module.ts +21 -0
- package/src/lesson-xp-map/lesson-xp-map.service.ts +442 -0
- package/src/lesson-xp-map/lesson-xp-segment.controller.ts +36 -0
- package/src/lesson-xp-map/lesson-xp-segment.service.ts +229 -0
- package/src/lms.module.ts +17 -2
- package/src/platforma/dto/update-profile.dto.ts +59 -0
- package/src/platforma/platforma.controller.ts +57 -2
- package/src/platforma/platforma.service.ts +268 -0
- package/src/student-xp/student-xp.controller.ts +76 -0
- package/src/student-xp/student-xp.module.ts +12 -0
- package/src/student-xp/student-xp.service.ts +236 -0
- package/src/xp-catalog/dto/create-xp-area.dto.ts +40 -0
- package/src/xp-catalog/dto/create-xp-learning-type.dto.ts +35 -0
- package/src/xp-catalog/dto/create-xp-skill.dto.ts +35 -0
- package/src/xp-catalog/dto/update-xp-area.dto.ts +43 -0
- package/src/xp-catalog/dto/update-xp-learning-type.dto.ts +38 -0
- package/src/xp-catalog/dto/update-xp-skill.dto.ts +38 -0
- package/src/xp-catalog/xp-area.controller.ts +64 -0
- package/src/xp-catalog/xp-area.service.ts +196 -0
- package/src/xp-catalog/xp-catalog.module.ts +16 -0
- package/src/xp-catalog/xp-learning-type.controller.ts +59 -0
- package/src/xp-catalog/xp-learning-type.service.ts +170 -0
- package/src/xp-catalog/xp-skill.controller.ts +71 -0
- package/src/xp-catalog/xp-skill.service.ts +205 -0
|
@@ -422,8 +422,9 @@
|
|
|
422
422
|
},
|
|
423
423
|
"structureEditor": {
|
|
424
424
|
"tabs": {
|
|
425
|
-
"
|
|
426
|
-
"
|
|
425
|
+
"overview": "Visão Geral",
|
|
426
|
+
"details": "Detalhes",
|
|
427
|
+
"xp": "XP",
|
|
427
428
|
"media": "Mídia",
|
|
428
429
|
"resources": "Recursos",
|
|
429
430
|
"extra": "Extra",
|
|
@@ -493,6 +494,85 @@
|
|
|
493
494
|
}
|
|
494
495
|
}
|
|
495
496
|
},
|
|
497
|
+
"xpOverview": {
|
|
498
|
+
"emptyTitle": "Sem dados de XP agregados",
|
|
499
|
+
"emptyDescription": "Calcule o XP das aulas para visualizar o panorama geral do curso por áreas macro, skills e tipos de aprendizado.",
|
|
500
|
+
"errorTitle": "Não foi possível carregar o overview de XP",
|
|
501
|
+
"errorDescription": "Tente novamente em alguns instantes. Quando houver mapas de XP disponíveis, esta aba exibirá a consolidação do curso.",
|
|
502
|
+
"kpis": {
|
|
503
|
+
"totalXp": "XP total",
|
|
504
|
+
"totalXpDescription": "Soma do XP já calculado nas aulas do curso",
|
|
505
|
+
"mappedLessons": "Aulas mapeadas",
|
|
506
|
+
"mappedLessonsDescription": "Aulas que já possuem mapa de XP disponível",
|
|
507
|
+
"segments": "Segmentos válidos",
|
|
508
|
+
"segmentsDescription": "Trechos das aulas que concedem XP",
|
|
509
|
+
"avgXpPerMappedLesson": "XP médio por aula",
|
|
510
|
+
"avgXpPerMappedLessonDescription": "Média considerando apenas aulas com mapa"
|
|
511
|
+
},
|
|
512
|
+
"charts": {
|
|
513
|
+
"lessonDistribution": {
|
|
514
|
+
"title": "Distribuição por aula",
|
|
515
|
+
"description": "Quais aulas mais concentram XP dentro do curso"
|
|
516
|
+
},
|
|
517
|
+
"lessons": {
|
|
518
|
+
"metricXp": "XP da aula",
|
|
519
|
+
"lessonFallback": "Aula sem título"
|
|
520
|
+
},
|
|
521
|
+
"macroAreas": {
|
|
522
|
+
"title": "Ângulos macro por área",
|
|
523
|
+
"description": "Leitura radial das áreas macro com maior peso no curso"
|
|
524
|
+
},
|
|
525
|
+
"skills": {
|
|
526
|
+
"title": "Skills predominantes",
|
|
527
|
+
"description": "Ranking das skills mais recorrentes no conjunto das aulas"
|
|
528
|
+
},
|
|
529
|
+
"learningTypes": {
|
|
530
|
+
"title": "Tipos de aprendizado",
|
|
531
|
+
"description": "Visão proporcional dos formatos de aprendizagem mais usados no curso",
|
|
532
|
+
"metricXp": "XP agregado",
|
|
533
|
+
"metricMultiplier": "Multiplicador"
|
|
534
|
+
}
|
|
535
|
+
},
|
|
536
|
+
"table": {
|
|
537
|
+
"title": "Leitura por aula",
|
|
538
|
+
"description": "Resumo das aulas consideradas na consolidação do XP do curso",
|
|
539
|
+
"segments": "segmentos",
|
|
540
|
+
"lessonCodeFallback": "Aula #{id}"
|
|
541
|
+
}
|
|
542
|
+
},
|
|
543
|
+
"courseOverview": {
|
|
544
|
+
"errorTitle": "Não foi possível carregar a visão geral",
|
|
545
|
+
"errorDescription": "Tente novamente em instantes.",
|
|
546
|
+
"kpis": {
|
|
547
|
+
"modules": "Módulos",
|
|
548
|
+
"modulesDescription": "Total de módulos do curso",
|
|
549
|
+
"lessons": "Aulas",
|
|
550
|
+
"lessonsDescription": "Total de aulas em todos os módulos",
|
|
551
|
+
"extractedImages": "Imagens extraídas",
|
|
552
|
+
"extractedImagesDescription": "Capturas de frame extraídas das aulas de vídeo",
|
|
553
|
+
"resourceFiles": "Arquivos de recursos",
|
|
554
|
+
"resourceFilesDescription": "Arquivos para download vinculados às aulas"
|
|
555
|
+
},
|
|
556
|
+
"lessonTypes": {
|
|
557
|
+
"title": "Tipos de aulas",
|
|
558
|
+
"description": "Distribuição de todas as aulas por tipo"
|
|
559
|
+
},
|
|
560
|
+
"videos": {
|
|
561
|
+
"title": "Aulas de vídeo",
|
|
562
|
+
"description": "Cobertura de transcrição e XP nas aulas de vídeo",
|
|
563
|
+
"total": "Aulas de vídeo",
|
|
564
|
+
"withTranscription": "Com transcrição",
|
|
565
|
+
"withXp": "Com XP"
|
|
566
|
+
},
|
|
567
|
+
"areas": {
|
|
568
|
+
"title": "Áreas macro",
|
|
569
|
+
"description": "Áreas mapeadas nas aulas, ordenadas por peso de XP"
|
|
570
|
+
},
|
|
571
|
+
"skills": {
|
|
572
|
+
"title": "Skills",
|
|
573
|
+
"description": "Skills mapeadas nas aulas, ordenadas por peso de XP"
|
|
574
|
+
}
|
|
575
|
+
},
|
|
496
576
|
"footer": {
|
|
497
577
|
"cancel": "Cancelar",
|
|
498
578
|
"newSession": "Nova sessão",
|
|
@@ -632,6 +712,8 @@
|
|
|
632
712
|
"level": "Nível",
|
|
633
713
|
"status": "Status",
|
|
634
714
|
"categories": "Categorias",
|
|
715
|
+
"sessions": "Sessões",
|
|
716
|
+
"lessons": "Aulas",
|
|
635
717
|
"students": "Alunos"
|
|
636
718
|
},
|
|
637
719
|
"empty": {
|
|
@@ -770,8 +852,24 @@
|
|
|
770
852
|
"title": "Confirmar Exclusão",
|
|
771
853
|
"description": "Tem certeza que deseja excluir o curso",
|
|
772
854
|
"warning": "Este curso possui {count} aluno(s) matriculado(s). A exclusão é irreversível.",
|
|
855
|
+
"archiveFirst": "Arquive o curso para habilitar a exclusão completa.",
|
|
856
|
+
"archiveReady": "Curso arquivado. A exclusão completa já pode ser iniciada.",
|
|
857
|
+
"relatedContentWarning": "Serão excluídos em background todos os vídeos, áudios, materiais e demais arquivos relacionados ao curso.",
|
|
858
|
+
"impactTitle": "Impacto da exclusão",
|
|
859
|
+
"impactLoading": "Carregando o volume de arquivos e armazenamento que será removido...",
|
|
860
|
+
"impact": {
|
|
861
|
+
"files": "Arquivos",
|
|
862
|
+
"storage": "Armazenamento",
|
|
863
|
+
"students": "Alunos"
|
|
864
|
+
},
|
|
865
|
+
"expectedNameLabel": "Nome exato que deve ser digitado",
|
|
866
|
+
"confirmationLabel": "Digite o nome exato do curso para confirmar:",
|
|
867
|
+
"confirmationPlaceholder": "Nome do curso",
|
|
868
|
+
"confirmationHint": "Digite o nome completo e exato do curso acima.",
|
|
773
869
|
"actions": {
|
|
774
870
|
"cancel": "Cancelar",
|
|
871
|
+
"archive": "Arquivar",
|
|
872
|
+
"archived": "Arquivado",
|
|
775
873
|
"delete": "Excluir Curso"
|
|
776
874
|
}
|
|
777
875
|
},
|
|
@@ -779,13 +877,22 @@
|
|
|
779
877
|
"courseUpdated": "Curso atualizado com sucesso!",
|
|
780
878
|
"courseCreated": "Curso criado com sucesso! Redirecionando...",
|
|
781
879
|
"courseRemoved": "Curso \"{title}\" removido.",
|
|
880
|
+
"courseArchived": "Curso \"{title}\" arquivado com sucesso.",
|
|
881
|
+
"courseArchiveError": "Não foi possível arquivar o curso.",
|
|
882
|
+
"courseDeleteQueued": "Exclusão do curso \"{title}\" iniciada. {files} arquivo(s) serão removidos em background.",
|
|
883
|
+
"courseDeleteQueueError": "Não foi possível iniciar a exclusão assíncrona do curso.",
|
|
884
|
+
"courseDeleteImpactLoadError": "Não foi possível carregar o impacto da exclusão do curso.",
|
|
782
885
|
"coursesRemoved": "{count} curso(s) removido(s).",
|
|
783
886
|
"coursesArchived": "{count} curso(s) arquivado(s).",
|
|
784
887
|
"deleteOnlyArchived": "Apenas cursos arquivados podem ser excluídos.",
|
|
785
888
|
"bulkDeleteArchivedOnly": "Somente cursos arquivados selecionados serão excluídos.",
|
|
889
|
+
"bulkDeleteUseSingleFlow": "Use a exclusão individual para revisar o impacto e acompanhar o job assíncrono.",
|
|
786
890
|
"codeCopied": "Código \"{code}\" copiado."
|
|
787
891
|
},
|
|
788
892
|
"StructurePage": {
|
|
893
|
+
"common": {
|
|
894
|
+
"all": "Todos"
|
|
895
|
+
},
|
|
789
896
|
"pageHeader": {
|
|
790
897
|
"title": "Estrutura do Curso",
|
|
791
898
|
"description": "{sessions} sessões - {lessons} aulas - {hours}h {minutes}min de conteúdo"
|
|
@@ -816,6 +923,10 @@
|
|
|
816
923
|
"action": "Criar Primeira Sessão"
|
|
817
924
|
},
|
|
818
925
|
"loading": "Carregando estrutura do curso",
|
|
926
|
+
"error": {
|
|
927
|
+
"loadFailed": "Não foi possível carregar a estrutura do curso.",
|
|
928
|
+
"tryAgain": "Tentar novamente"
|
|
929
|
+
},
|
|
819
930
|
"dragHandle": {
|
|
820
931
|
"disabled": "Limpe a busca para reordenar",
|
|
821
932
|
"enabled": "Arrastar para reordenar"
|
|
@@ -950,6 +1061,10 @@
|
|
|
950
1061
|
"showTranscriptionIndicator": {
|
|
951
1062
|
"label": "Transcrição",
|
|
952
1063
|
"description": "Ícone quando vídeo tem transcrição"
|
|
1064
|
+
},
|
|
1065
|
+
"showXpCalculatedIndicator": {
|
|
1066
|
+
"label": "XP calculado",
|
|
1067
|
+
"description": "Ícone quando a aula já possui mapa de XP"
|
|
953
1068
|
}
|
|
954
1069
|
},
|
|
955
1070
|
"lessonRow": {
|
|
@@ -963,7 +1078,8 @@
|
|
|
963
1078
|
"resourcesAria": "{count} recursos",
|
|
964
1079
|
"uploadedVideos": "{count} vídeo(s) enviado(s)",
|
|
965
1080
|
"uploadedVideosAria": "{count} vídeos enviados",
|
|
966
|
-
"hasTranscription": "Possui transcrição"
|
|
1081
|
+
"hasTranscription": "Possui transcrição",
|
|
1082
|
+
"xpCalculated": "XP calculado"
|
|
967
1083
|
},
|
|
968
1084
|
"sessionRow": {
|
|
969
1085
|
"collapse": "Recolher sessão",
|
|
@@ -1079,6 +1195,15 @@
|
|
|
1079
1195
|
"removeTranscriptionSegment": "Remover trecho {count}",
|
|
1080
1196
|
"transcriptionAcceptedFormats": "Formatos aceitos: mm:ss e hh:mm:ss.",
|
|
1081
1197
|
"resourcesCount": "{count} recurso(s)",
|
|
1198
|
+
"filterBy": "Filtrar por",
|
|
1199
|
+
"resourceType": "Tipo",
|
|
1200
|
+
"resourceTypes": {
|
|
1201
|
+
"supplementary_material": "Material complementar",
|
|
1202
|
+
"student_download": "Download do aluno",
|
|
1203
|
+
"attachment": "Anexo",
|
|
1204
|
+
"document": "Documento",
|
|
1205
|
+
"lesson_audio": "Áudio da aula"
|
|
1206
|
+
},
|
|
1082
1207
|
"addResource": "Adicionar recurso",
|
|
1083
1208
|
"noResources": "Nenhum recurso adicionado",
|
|
1084
1209
|
"fileStorageVideosByResolution": "Vídeos por resolução (File Storage)",
|
|
@@ -4635,6 +4760,10 @@
|
|
|
4635
4760
|
"duplicateError": "Erro ao duplicar aula",
|
|
4636
4761
|
"pasteError": "Erro ao colar aulas"
|
|
4637
4762
|
},
|
|
4763
|
+
"resource": {
|
|
4764
|
+
"updateTypeSuccess": "Tipo do recurso alterado para {type}.",
|
|
4765
|
+
"updateTypeError": "Erro ao alterar tipo do recurso"
|
|
4766
|
+
},
|
|
4638
4767
|
"item": {
|
|
4639
4768
|
"deleteError": "Erro ao excluir itens"
|
|
4640
4769
|
}
|
|
@@ -4700,5 +4829,259 @@
|
|
|
4700
4829
|
"title": "Excluir perfil",
|
|
4701
4830
|
"description": "Tem certeza que deseja excluir o perfil \"{name}\"? Esta ação não pode ser desfeita."
|
|
4702
4831
|
}
|
|
4832
|
+
},
|
|
4833
|
+
"XpAreasPage": {
|
|
4834
|
+
"title": "Áreas de XP",
|
|
4835
|
+
"description": "Gerencie as macro áreas de competências para distribuição de XP.",
|
|
4836
|
+
"breadcrumbs": {
|
|
4837
|
+
"home": "Início",
|
|
4838
|
+
"lms": "LMS",
|
|
4839
|
+
"xp": "XP e Competências",
|
|
4840
|
+
"current": "Áreas"
|
|
4841
|
+
},
|
|
4842
|
+
"sheet": {
|
|
4843
|
+
"createTitle": "Nova Área",
|
|
4844
|
+
"editTitle": "Editar Área"
|
|
4845
|
+
},
|
|
4846
|
+
"form": {
|
|
4847
|
+
"slug": "Slug",
|
|
4848
|
+
"slugPlaceholder": "ex: frontend",
|
|
4849
|
+
"namePt": "Nome (PT)",
|
|
4850
|
+
"namePtPlaceholder": "ex: Frontend",
|
|
4851
|
+
"nameEn": "Nome (EN)",
|
|
4852
|
+
"nameEnPlaceholder": "ex: Frontend",
|
|
4853
|
+
"descriptionPt": "Descrição (PT)",
|
|
4854
|
+
"descriptionPtPlaceholder": "Breve descrição em português...",
|
|
4855
|
+
"descriptionEn": "Descrição (EN)",
|
|
4856
|
+
"descriptionEnPlaceholder": "Breve descrição em inglês...",
|
|
4857
|
+
"color": "Cor",
|
|
4858
|
+
"iconSlug": "Ícone (slug)",
|
|
4859
|
+
"iconSlugPlaceholder": "ex: code",
|
|
4860
|
+
"sortOrder": "Ordem",
|
|
4861
|
+
"status": "Status",
|
|
4862
|
+
"statusPlaceholder": "Selecione o status",
|
|
4863
|
+
"validation": {
|
|
4864
|
+
"required": "Campo obrigatório",
|
|
4865
|
+
"max100": "Máximo de 100 caracteres",
|
|
4866
|
+
"slugPattern": "Apenas letras minúsculas, números e hífens"
|
|
4867
|
+
}
|
|
4868
|
+
},
|
|
4869
|
+
"table": {
|
|
4870
|
+
"color": "Cor",
|
|
4871
|
+
"name": "Nome",
|
|
4872
|
+
"slug": "Slug",
|
|
4873
|
+
"status": "Status"
|
|
4874
|
+
},
|
|
4875
|
+
"status": {
|
|
4876
|
+
"active": "Ativo",
|
|
4877
|
+
"inactive": "Inativo"
|
|
4878
|
+
},
|
|
4879
|
+
"actions": {
|
|
4880
|
+
"create": "Nova Área",
|
|
4881
|
+
"edit": "Editar",
|
|
4882
|
+
"delete": "Excluir",
|
|
4883
|
+
"save": "Salvar",
|
|
4884
|
+
"saving": "Salvando...",
|
|
4885
|
+
"cancel": "Cancelar",
|
|
4886
|
+
"deleting": "Excluindo..."
|
|
4887
|
+
},
|
|
4888
|
+
"filters": {
|
|
4889
|
+
"searchPlaceholder": "Buscar áreas..."
|
|
4890
|
+
},
|
|
4891
|
+
"empty": {
|
|
4892
|
+
"title": "Nenhuma área encontrada",
|
|
4893
|
+
"description": "Crie a primeira área de competência XP para começar."
|
|
4894
|
+
},
|
|
4895
|
+
"kpis": {
|
|
4896
|
+
"total": {
|
|
4897
|
+
"label": "Total de Áreas",
|
|
4898
|
+
"description": "Todas as áreas cadastradas"
|
|
4899
|
+
},
|
|
4900
|
+
"active": {
|
|
4901
|
+
"label": "Ativas",
|
|
4902
|
+
"description": "Áreas atualmente ativas"
|
|
4903
|
+
},
|
|
4904
|
+
"inactive": {
|
|
4905
|
+
"label": "Inativas",
|
|
4906
|
+
"description": "Áreas desativadas"
|
|
4907
|
+
}
|
|
4908
|
+
},
|
|
4909
|
+
"messages": {
|
|
4910
|
+
"createSuccess": "Área criada com sucesso.",
|
|
4911
|
+
"updateSuccess": "Área atualizada com sucesso.",
|
|
4912
|
+
"deleteSuccess": "Área excluída com sucesso.",
|
|
4913
|
+
"saveError": "Erro ao salvar a área.",
|
|
4914
|
+
"deleteError": "Erro ao excluir a área."
|
|
4915
|
+
},
|
|
4916
|
+
"deleteDialog": {
|
|
4917
|
+
"title": "Excluir área",
|
|
4918
|
+
"description": "Tem certeza que deseja excluir a área \"{slug}\"? Esta ação não pode ser desfeita."
|
|
4919
|
+
}
|
|
4920
|
+
},
|
|
4921
|
+
"XpSkillsPage": {
|
|
4922
|
+
"title": "Skills de XP",
|
|
4923
|
+
"description": "Gerencie as skills e competências vinculadas às áreas de XP.",
|
|
4924
|
+
"breadcrumbs": {
|
|
4925
|
+
"home": "Início",
|
|
4926
|
+
"lms": "LMS",
|
|
4927
|
+
"xp": "XP e Competências",
|
|
4928
|
+
"current": "Skills"
|
|
4929
|
+
},
|
|
4930
|
+
"sheet": {
|
|
4931
|
+
"createTitle": "Nova Skill",
|
|
4932
|
+
"editTitle": "Editar Skill"
|
|
4933
|
+
},
|
|
4934
|
+
"form": {
|
|
4935
|
+
"slug": "Slug",
|
|
4936
|
+
"slugPlaceholder": "ex: react-hooks",
|
|
4937
|
+
"namePt": "Nome (PT)",
|
|
4938
|
+
"namePtPlaceholder": "ex: React Hooks",
|
|
4939
|
+
"nameEn": "Nome (EN)",
|
|
4940
|
+
"nameEnPlaceholder": "ex: React Hooks",
|
|
4941
|
+
"descriptionPt": "Descrição (PT)",
|
|
4942
|
+
"descriptionPtPlaceholder": "Breve descrição em português...",
|
|
4943
|
+
"descriptionEn": "Descrição (EN)",
|
|
4944
|
+
"descriptionEnPlaceholder": "Breve descrição em inglês...",
|
|
4945
|
+
"area": "Área",
|
|
4946
|
+
"areaPlaceholder": "Selecione uma área",
|
|
4947
|
+
"areaNone": "Sem área",
|
|
4948
|
+
"sortOrder": "Ordem",
|
|
4949
|
+
"status": "Status",
|
|
4950
|
+
"statusPlaceholder": "Selecione o status",
|
|
4951
|
+
"validation": {
|
|
4952
|
+
"required": "Campo obrigatório",
|
|
4953
|
+
"max100": "Máximo de 100 caracteres",
|
|
4954
|
+
"slugPattern": "Apenas letras minúsculas, números e hífens"
|
|
4955
|
+
}
|
|
4956
|
+
},
|
|
4957
|
+
"table": {
|
|
4958
|
+
"name": "Nome",
|
|
4959
|
+
"slug": "Slug",
|
|
4960
|
+
"area": "Área",
|
|
4961
|
+
"status": "Status"
|
|
4962
|
+
},
|
|
4963
|
+
"status": {
|
|
4964
|
+
"active": "Ativo",
|
|
4965
|
+
"inactive": "Inativo"
|
|
4966
|
+
},
|
|
4967
|
+
"actions": {
|
|
4968
|
+
"create": "Nova Skill",
|
|
4969
|
+
"edit": "Editar",
|
|
4970
|
+
"delete": "Excluir",
|
|
4971
|
+
"save": "Salvar",
|
|
4972
|
+
"saving": "Salvando...",
|
|
4973
|
+
"cancel": "Cancelar",
|
|
4974
|
+
"deleting": "Excluindo..."
|
|
4975
|
+
},
|
|
4976
|
+
"filters": {
|
|
4977
|
+
"searchPlaceholder": "Buscar skills..."
|
|
4978
|
+
},
|
|
4979
|
+
"empty": {
|
|
4980
|
+
"title": "Nenhuma skill encontrada",
|
|
4981
|
+
"description": "Crie a primeira skill de XP para começar a mapear competências."
|
|
4982
|
+
},
|
|
4983
|
+
"kpis": {
|
|
4984
|
+
"total": {
|
|
4985
|
+
"label": "Total de Skills",
|
|
4986
|
+
"description": "Todas as skills cadastradas"
|
|
4987
|
+
},
|
|
4988
|
+
"active": {
|
|
4989
|
+
"label": "Ativas",
|
|
4990
|
+
"description": "Skills atualmente ativas"
|
|
4991
|
+
},
|
|
4992
|
+
"inactive": {
|
|
4993
|
+
"label": "Inativas",
|
|
4994
|
+
"description": "Skills desativadas"
|
|
4995
|
+
},
|
|
4996
|
+
"unassigned": {
|
|
4997
|
+
"label": "Sem Área",
|
|
4998
|
+
"description": "Skills sem área vinculada"
|
|
4999
|
+
}
|
|
5000
|
+
},
|
|
5001
|
+
"messages": {
|
|
5002
|
+
"createSuccess": "Skill criada com sucesso.",
|
|
5003
|
+
"updateSuccess": "Skill atualizada com sucesso.",
|
|
5004
|
+
"deleteSuccess": "Skill excluída com sucesso.",
|
|
5005
|
+
"saveError": "Erro ao salvar a skill.",
|
|
5006
|
+
"deleteError": "Erro ao excluir a skill."
|
|
5007
|
+
},
|
|
5008
|
+
"deleteDialog": {
|
|
5009
|
+
"title": "Excluir skill",
|
|
5010
|
+
"description": "Tem certeza que deseja excluir a skill \"{slug}\"? Esta ação não pode ser desfeita."
|
|
5011
|
+
}
|
|
5012
|
+
},
|
|
5013
|
+
"XpLearningTypesPage": {
|
|
5014
|
+
"title": "Tipos de Aprendizado",
|
|
5015
|
+
"description": "Gerencie os tipos de atividades de aprendizado usados nos segmentos de XP.",
|
|
5016
|
+
"breadcrumbs": {
|
|
5017
|
+
"home": "Início",
|
|
5018
|
+
"lms": "LMS",
|
|
5019
|
+
"xp": "XP e Competências",
|
|
5020
|
+
"current": "Tipos de Aprendizado"
|
|
5021
|
+
},
|
|
5022
|
+
"sheet": {
|
|
5023
|
+
"createTitle": "Novo Tipo de Aprendizado",
|
|
5024
|
+
"editTitle": "Editar Tipo de Aprendizado"
|
|
5025
|
+
},
|
|
5026
|
+
"form": {
|
|
5027
|
+
"slug": "Slug",
|
|
5028
|
+
"slugPlaceholder": "ex: live-coding",
|
|
5029
|
+
"namePt": "Nome (PT)",
|
|
5030
|
+
"namePtPlaceholder": "ex: Codificação ao vivo",
|
|
5031
|
+
"nameEn": "Nome (EN)",
|
|
5032
|
+
"nameEnPlaceholder": "ex: Live Coding",
|
|
5033
|
+
"descriptionPt": "Descrição (PT)",
|
|
5034
|
+
"descriptionPtPlaceholder": "Breve descrição em português...",
|
|
5035
|
+
"descriptionEn": "Descrição (EN)",
|
|
5036
|
+
"descriptionEnPlaceholder": "Breve descrição em inglês...",
|
|
5037
|
+
"multiplier": "Multiplicador",
|
|
5038
|
+
"multiplierPlaceholder": "ex: 1.5",
|
|
5039
|
+
"sortOrder": "Ordem",
|
|
5040
|
+
"status": "Status",
|
|
5041
|
+
"statusPlaceholder": "Selecione o status",
|
|
5042
|
+
"validation": {
|
|
5043
|
+
"required": "Campo obrigatório",
|
|
5044
|
+
"max100": "Máximo de 100 caracteres",
|
|
5045
|
+
"slugPattern": "Apenas letras minúsculas, números e hífens",
|
|
5046
|
+
"minZero": "O valor deve ser maior ou igual a zero"
|
|
5047
|
+
}
|
|
5048
|
+
},
|
|
5049
|
+
"table": {
|
|
5050
|
+
"name": "Nome",
|
|
5051
|
+
"slug": "Slug",
|
|
5052
|
+
"multiplier": "Multiplicador",
|
|
5053
|
+
"status": "Status"
|
|
5054
|
+
},
|
|
5055
|
+
"status": {
|
|
5056
|
+
"active": "Ativo",
|
|
5057
|
+
"inactive": "Inativo"
|
|
5058
|
+
},
|
|
5059
|
+
"actions": {
|
|
5060
|
+
"create": "Novo Tipo",
|
|
5061
|
+
"edit": "Editar",
|
|
5062
|
+
"delete": "Excluir",
|
|
5063
|
+
"save": "Salvar",
|
|
5064
|
+
"saving": "Salvando...",
|
|
5065
|
+
"cancel": "Cancelar",
|
|
5066
|
+
"deleting": "Excluindo..."
|
|
5067
|
+
},
|
|
5068
|
+
"filters": {
|
|
5069
|
+
"searchPlaceholder": "Buscar tipos de aprendizado..."
|
|
5070
|
+
},
|
|
5071
|
+
"empty": {
|
|
5072
|
+
"title": "Nenhum tipo de aprendizado encontrado",
|
|
5073
|
+
"description": "Crie o primeiro tipo de aprendizado para categorizar os segmentos de XP."
|
|
5074
|
+
},
|
|
5075
|
+
"messages": {
|
|
5076
|
+
"createSuccess": "Tipo de aprendizado criado com sucesso.",
|
|
5077
|
+
"updateSuccess": "Tipo de aprendizado atualizado com sucesso.",
|
|
5078
|
+
"deleteSuccess": "Tipo de aprendizado excluído com sucesso.",
|
|
5079
|
+
"saveError": "Erro ao salvar o tipo de aprendizado.",
|
|
5080
|
+
"deleteError": "Erro ao excluir o tipo de aprendizado."
|
|
5081
|
+
},
|
|
5082
|
+
"deleteDialog": {
|
|
5083
|
+
"title": "Excluir tipo de aprendizado",
|
|
5084
|
+
"description": "Tem certeza que deseja excluir o tipo \"{slug}\"? Esta ação não pode ser desfeita."
|
|
5085
|
+
}
|
|
4703
5086
|
}
|
|
4704
5087
|
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
columns:
|
|
2
|
+
- type: pk
|
|
3
|
+
- name: course_lesson_id
|
|
4
|
+
type: fk
|
|
5
|
+
references:
|
|
6
|
+
table: course_lesson
|
|
7
|
+
column: id
|
|
8
|
+
onDelete: CASCADE
|
|
9
|
+
isUnique: true
|
|
10
|
+
- name: version
|
|
11
|
+
type: int
|
|
12
|
+
default: 1
|
|
13
|
+
- name: total_xp
|
|
14
|
+
type: int
|
|
15
|
+
default: 0
|
|
16
|
+
- name: status
|
|
17
|
+
type: enum
|
|
18
|
+
values: [pending, processing, ready, needs_review, approved, rejected]
|
|
19
|
+
default: pending
|
|
20
|
+
- name: generated_at
|
|
21
|
+
type: datetime
|
|
22
|
+
isNullable: true
|
|
23
|
+
- name: reviewed_at
|
|
24
|
+
type: datetime
|
|
25
|
+
isNullable: true
|
|
26
|
+
- name: reviewed_by_person_id
|
|
27
|
+
type: fk
|
|
28
|
+
references:
|
|
29
|
+
table: person
|
|
30
|
+
column: id
|
|
31
|
+
onDelete: SET NULL
|
|
32
|
+
isNullable: true
|
|
33
|
+
- name: review_notes
|
|
34
|
+
type: text
|
|
35
|
+
isNullable: true
|
|
36
|
+
- name: ai_model_version
|
|
37
|
+
type: varchar
|
|
38
|
+
length: 100
|
|
39
|
+
isNullable: true
|
|
40
|
+
- name: processing_error
|
|
41
|
+
type: text
|
|
42
|
+
isNullable: true
|
|
43
|
+
- type: created_at
|
|
44
|
+
- type: updated_at
|
|
45
|
+
|
|
46
|
+
indices:
|
|
47
|
+
- columns: [course_lesson_id]
|
|
48
|
+
isUnique: true
|
|
49
|
+
- columns: [status]
|
|
50
|
+
- columns: [reviewed_by_person_id]
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
columns:
|
|
2
|
+
- type: pk
|
|
3
|
+
- name: lesson_xp_map_id
|
|
4
|
+
type: fk
|
|
5
|
+
references:
|
|
6
|
+
table: lesson_xp_map
|
|
7
|
+
column: id
|
|
8
|
+
onDelete: CASCADE
|
|
9
|
+
- name: start_seconds
|
|
10
|
+
type: NUMERIC(10,3)
|
|
11
|
+
default: 0
|
|
12
|
+
- name: end_seconds
|
|
13
|
+
type: NUMERIC(10,3)
|
|
14
|
+
default: 0
|
|
15
|
+
- name: xp_value
|
|
16
|
+
type: int
|
|
17
|
+
default: 0
|
|
18
|
+
- name: difficulty
|
|
19
|
+
type: enum
|
|
20
|
+
values: [easy, medium, hard, expert]
|
|
21
|
+
default: medium
|
|
22
|
+
- name: should_grant_xp
|
|
23
|
+
type: boolean
|
|
24
|
+
default: true
|
|
25
|
+
- name: ai_summary
|
|
26
|
+
type: text
|
|
27
|
+
isNullable: true
|
|
28
|
+
- name: ai_confidence
|
|
29
|
+
type: NUMERIC(4,3)
|
|
30
|
+
isNullable: true
|
|
31
|
+
- name: sort_order
|
|
32
|
+
type: int
|
|
33
|
+
default: 0
|
|
34
|
+
- type: created_at
|
|
35
|
+
- type: updated_at
|
|
36
|
+
|
|
37
|
+
indices:
|
|
38
|
+
- columns: [lesson_xp_map_id]
|
|
39
|
+
- columns: [lesson_xp_map_id, start_seconds]
|
|
40
|
+
- columns: [lesson_xp_map_id, sort_order]
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
columns:
|
|
2
|
+
- type: pk
|
|
3
|
+
- name: lesson_xp_segment_id
|
|
4
|
+
type: fk
|
|
5
|
+
references:
|
|
6
|
+
table: lesson_xp_segment
|
|
7
|
+
column: id
|
|
8
|
+
onDelete: CASCADE
|
|
9
|
+
- name: xp_area_id
|
|
10
|
+
type: fk
|
|
11
|
+
references:
|
|
12
|
+
table: xp_area
|
|
13
|
+
column: id
|
|
14
|
+
onDelete: CASCADE
|
|
15
|
+
- name: weight_percent
|
|
16
|
+
type: NUMERIC(5,2)
|
|
17
|
+
default: 100.00
|
|
18
|
+
- type: created_at
|
|
19
|
+
- type: updated_at
|
|
20
|
+
|
|
21
|
+
indices:
|
|
22
|
+
- columns: [lesson_xp_segment_id, xp_area_id]
|
|
23
|
+
isUnique: true
|
|
24
|
+
- columns: [xp_area_id]
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
columns:
|
|
2
|
+
- type: pk
|
|
3
|
+
- name: lesson_xp_segment_id
|
|
4
|
+
type: fk
|
|
5
|
+
references:
|
|
6
|
+
table: lesson_xp_segment
|
|
7
|
+
column: id
|
|
8
|
+
onDelete: CASCADE
|
|
9
|
+
- name: xp_learning_type_id
|
|
10
|
+
type: fk
|
|
11
|
+
references:
|
|
12
|
+
table: xp_learning_type
|
|
13
|
+
column: id
|
|
14
|
+
onDelete: CASCADE
|
|
15
|
+
- name: weight_percent
|
|
16
|
+
type: NUMERIC(5,2)
|
|
17
|
+
default: 100.00
|
|
18
|
+
- type: created_at
|
|
19
|
+
- type: updated_at
|
|
20
|
+
|
|
21
|
+
indices:
|
|
22
|
+
- columns: [lesson_xp_segment_id, xp_learning_type_id]
|
|
23
|
+
isUnique: true
|
|
24
|
+
- columns: [xp_learning_type_id]
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
columns:
|
|
2
|
+
- type: pk
|
|
3
|
+
- name: lesson_xp_segment_id
|
|
4
|
+
type: fk
|
|
5
|
+
references:
|
|
6
|
+
table: lesson_xp_segment
|
|
7
|
+
column: id
|
|
8
|
+
onDelete: CASCADE
|
|
9
|
+
- name: xp_skill_id
|
|
10
|
+
type: fk
|
|
11
|
+
references:
|
|
12
|
+
table: xp_skill
|
|
13
|
+
column: id
|
|
14
|
+
onDelete: CASCADE
|
|
15
|
+
- name: weight_percent
|
|
16
|
+
type: NUMERIC(5,2)
|
|
17
|
+
default: 100.00
|
|
18
|
+
- type: created_at
|
|
19
|
+
- type: updated_at
|
|
20
|
+
|
|
21
|
+
indices:
|
|
22
|
+
- columns: [lesson_xp_segment_id, xp_skill_id]
|
|
23
|
+
isUnique: true
|
|
24
|
+
- columns: [xp_skill_id]
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
columns:
|
|
2
|
+
- type: pk
|
|
3
|
+
- name: session_id
|
|
4
|
+
type: fk
|
|
5
|
+
references:
|
|
6
|
+
table: lms_bulk_upload_session
|
|
7
|
+
column: id
|
|
8
|
+
onDelete: CASCADE
|
|
9
|
+
- name: upload_id
|
|
10
|
+
type: varchar
|
|
11
|
+
length: 120
|
|
12
|
+
- name: file_name
|
|
13
|
+
type: varchar
|
|
14
|
+
length: 500
|
|
15
|
+
- name: size_bytes
|
|
16
|
+
type: bigint
|
|
17
|
+
default: 0
|
|
18
|
+
- name: status
|
|
19
|
+
type: enum
|
|
20
|
+
values: [queued, uploading, cancelling, done, error, cancelled]
|
|
21
|
+
default: queued
|
|
22
|
+
- name: progress_percent
|
|
23
|
+
type: int
|
|
24
|
+
default: 0
|
|
25
|
+
- name: uploaded_key
|
|
26
|
+
type: text
|
|
27
|
+
isNullable: true
|
|
28
|
+
- name: error_message
|
|
29
|
+
type: text
|
|
30
|
+
isNullable: true
|
|
31
|
+
- name: last_heartbeat_at
|
|
32
|
+
type: datetime
|
|
33
|
+
isNullable: true
|
|
34
|
+
- name: completed_at
|
|
35
|
+
type: datetime
|
|
36
|
+
isNullable: true
|
|
37
|
+
- type: created_at
|
|
38
|
+
- type: updated_at
|
|
39
|
+
|
|
40
|
+
indices:
|
|
41
|
+
- columns: [session_id, upload_id]
|
|
42
|
+
isUnique: true
|
|
43
|
+
- columns: [status, updated_at]
|
|
44
|
+
- columns: [session_id, status]
|