@hed-hog/lms 0.0.330 → 0.0.338

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 (128) hide show
  1. package/dist/class-group/class-group.controller.d.ts +3 -3
  2. package/dist/class-group/class-group.service.d.ts +3 -3
  3. package/dist/course/course.service.d.ts.map +1 -1
  4. package/dist/course/course.service.js +12 -20
  5. package/dist/course/course.service.js.map +1 -1
  6. package/dist/enterprise/enterprise.controller.d.ts +72 -0
  7. package/dist/enterprise/enterprise.controller.d.ts.map +1 -1
  8. package/dist/enterprise/enterprise.controller.js +10 -0
  9. package/dist/enterprise/enterprise.controller.js.map +1 -1
  10. package/dist/enterprise/enterprise.service.d.ts +78 -0
  11. package/dist/enterprise/enterprise.service.d.ts.map +1 -1
  12. package/dist/enterprise/enterprise.service.js +413 -40
  13. package/dist/enterprise/enterprise.service.js.map +1 -1
  14. package/dist/enterprise/training/training-admin.controller.d.ts +6 -3
  15. package/dist/enterprise/training/training-admin.controller.d.ts.map +1 -1
  16. package/dist/enterprise/training/training-admin.controller.js +10 -6
  17. package/dist/enterprise/training/training-admin.controller.js.map +1 -1
  18. package/dist/enterprise/training/training-admin.service.d.ts +8 -2
  19. package/dist/enterprise/training/training-admin.service.d.ts.map +1 -1
  20. package/dist/enterprise/training/training-admin.service.js +108 -52
  21. package/dist/enterprise/training/training-admin.service.js.map +1 -1
  22. package/dist/enterprise/training/training-viewer.controller.d.ts +3 -0
  23. package/dist/enterprise/training/training-viewer.controller.d.ts.map +1 -1
  24. package/dist/evaluation/evaluation.controller.d.ts +4 -4
  25. package/dist/evaluation/evaluation.service.d.ts +4 -4
  26. package/dist/instructor/dto/create-instructor-skill.dto.d.ts +0 -4
  27. package/dist/instructor/dto/create-instructor-skill.dto.d.ts.map +1 -1
  28. package/dist/instructor/dto/create-instructor-skill.dto.js +0 -21
  29. package/dist/instructor/dto/create-instructor-skill.dto.js.map +1 -1
  30. package/dist/instructor/dto/update-instructor-skill.dto.d.ts +0 -4
  31. package/dist/instructor/dto/update-instructor-skill.dto.d.ts.map +1 -1
  32. package/dist/instructor/dto/update-instructor-skill.dto.js +0 -22
  33. package/dist/instructor/dto/update-instructor-skill.dto.js.map +1 -1
  34. package/dist/instructor/instructor-skill.controller.d.ts +4 -4
  35. package/dist/instructor/instructor-skill.service.d.ts +4 -7
  36. package/dist/instructor/instructor-skill.service.d.ts.map +1 -1
  37. package/dist/instructor/instructor-skill.service.js +2 -89
  38. package/dist/instructor/instructor-skill.service.js.map +1 -1
  39. package/dist/instructor/instructor.controller.d.ts +20 -0
  40. package/dist/instructor/instructor.controller.d.ts.map +1 -1
  41. package/dist/instructor/instructor.controller.js +19 -0
  42. package/dist/instructor/instructor.controller.js.map +1 -1
  43. package/dist/instructor/instructor.service.d.ts +25 -0
  44. package/dist/instructor/instructor.service.d.ts.map +1 -1
  45. package/dist/instructor/instructor.service.js +70 -18
  46. package/dist/instructor/instructor.service.js.map +1 -1
  47. package/dist/lms.module.d.ts.map +1 -1
  48. package/dist/lms.module.js.map +1 -1
  49. package/hedhog/data/route.yaml +23 -1
  50. package/hedhog/frontend/app/_components/class-form-sheet.tsx.ejs +42 -24
  51. package/hedhog/frontend/app/_components/create-lms-instructor-sheet.tsx.ejs +591 -0
  52. package/hedhog/frontend/app/certificates/issued/page.tsx.ejs +6 -1
  53. package/hedhog/frontend/app/certificates/models/page.tsx.ejs +7 -2
  54. package/hedhog/frontend/app/classes/[id]/page.tsx.ejs +17 -17
  55. package/hedhog/frontend/app/classes/page.tsx.ejs +6 -1
  56. package/hedhog/frontend/app/courses/[id]/_components/CourseClassificationCard.tsx.ejs +3 -33
  57. package/hedhog/frontend/app/courses/[id]/_components/CourseContentCard.tsx.ejs +9 -9
  58. package/hedhog/frontend/app/courses/[id]/_components/CourseMainInfoCard.tsx.ejs +109 -0
  59. package/hedhog/frontend/app/courses/[id]/_components/CourseMultiEntityPicker.tsx.ejs +42 -15
  60. package/hedhog/frontend/app/courses/[id]/_components/CourseRelationsCard.tsx.ejs +76 -81
  61. package/hedhog/frontend/app/courses/[id]/_components/CourseSummaryCard.tsx.ejs +60 -0
  62. package/hedhog/frontend/app/courses/[id]/page.tsx.ejs +3 -3
  63. package/hedhog/frontend/app/courses/[id]/structure/_components/course-scheduled-classes-tab.tsx.ejs +406 -0
  64. package/hedhog/frontend/app/courses/[id]/structure/_components/course-tree-dnd.tsx.ejs +1 -1
  65. package/hedhog/frontend/app/courses/[id]/structure/_components/course-tree.tsx.ejs +134 -0
  66. package/hedhog/frontend/app/courses/[id]/structure/_components/detail-course.tsx.ejs +113 -0
  67. package/hedhog/frontend/app/courses/[id]/structure/_components/detail-lesson.tsx.ejs +314 -0
  68. package/hedhog/frontend/app/courses/[id]/structure/_components/detail-session.tsx.ejs +174 -0
  69. package/hedhog/frontend/app/courses/[id]/structure/_components/editor-course.tsx.ejs +242 -33
  70. package/hedhog/frontend/app/courses/[id]/structure/_components/editor-lesson.tsx.ejs +228 -152
  71. package/hedhog/frontend/app/courses/[id]/structure/_components/mock-data.ts.ejs +185 -0
  72. package/hedhog/frontend/app/courses/[id]/structure/_components/shortcuts-help.tsx.ejs +71 -31
  73. package/hedhog/frontend/app/courses/page.tsx.ejs +6 -1
  74. package/hedhog/frontend/app/enterprise/[id]/page.tsx.ejs +37 -41
  75. package/hedhog/frontend/app/enterprise/_components/enterprise-activity-timeline.tsx.ejs +87 -0
  76. package/hedhog/frontend/app/enterprise/_components/enterprise-admin-create-sheet.tsx.ejs +4 -0
  77. package/hedhog/frontend/app/enterprise/_components/enterprise-administrators-tab.tsx.ejs +31 -5
  78. package/hedhog/frontend/app/enterprise/_components/enterprise-classes-tab.tsx.ejs +79 -20
  79. package/hedhog/frontend/app/enterprise/_components/enterprise-company-identity-card.tsx.ejs +11 -2
  80. package/hedhog/frontend/app/enterprise/_components/enterprise-course-edit-sheet.tsx.ejs +201 -0
  81. package/hedhog/frontend/app/enterprise/_components/enterprise-courses-tab.tsx.ejs +55 -24
  82. package/hedhog/frontend/app/enterprise/_components/enterprise-detail-sheet.tsx.ejs +430 -296
  83. package/hedhog/frontend/app/enterprise/_components/enterprise-mocks.ts.ejs +277 -0
  84. package/hedhog/frontend/app/enterprise/_components/enterprise-overview-analytics.tsx.ejs +205 -0
  85. package/hedhog/frontend/app/enterprise/_components/enterprise-person-edit-sheet.tsx.ejs +97 -0
  86. package/hedhog/frontend/app/enterprise/_components/enterprise-sheet.tsx.ejs +82 -57
  87. package/hedhog/frontend/app/enterprise/_components/enterprise-student-create-sheet.tsx.ejs +4 -0
  88. package/hedhog/frontend/app/enterprise/_components/enterprise-students-tab.tsx.ejs +60 -22
  89. package/hedhog/frontend/app/enterprise/_components/enterprise-types.ts.ejs +54 -0
  90. package/hedhog/frontend/app/enterprise/_components/enterprise-user-create-sheet.tsx.ejs +211 -0
  91. package/hedhog/frontend/app/enterprise/page.tsx.ejs +39 -7
  92. package/hedhog/frontend/app/evaluations/_components/evaluation-topic-form-sheet.tsx.ejs +1 -1
  93. package/hedhog/frontend/app/exams/[id]/questions/page.tsx.ejs +6 -1
  94. package/hedhog/frontend/app/exams/page.tsx.ejs +12 -3
  95. package/hedhog/frontend/app/instructor-skills/page.tsx.ejs +51 -104
  96. package/hedhog/frontend/app/instructors/_components/instructor-form-sheet.tsx.ejs +712 -427
  97. package/hedhog/frontend/app/instructors/page.tsx.ejs +77 -53
  98. package/hedhog/frontend/app/paths/page.tsx.ejs +14 -5
  99. package/hedhog/frontend/app/reports/courses/page.tsx.ejs +5 -5
  100. package/hedhog/frontend/app/reports/dashboard/page.tsx.ejs +8 -8
  101. package/hedhog/frontend/app/reports/evaluations/page.tsx.ejs +6 -1
  102. package/hedhog/frontend/app/reports/page.tsx.ejs +7 -7
  103. package/hedhog/frontend/app/reports/students/page.tsx.ejs +6 -6
  104. package/hedhog/frontend/app/training/page.tsx.ejs +8 -3
  105. package/hedhog/frontend/messages/en.json +394 -55
  106. package/hedhog/frontend/messages/pt.json +389 -48
  107. package/hedhog/frontend/widgets/active-classes-kpi.tsx.ejs +1 -1
  108. package/hedhog/frontend/widgets/active-courses-kpi.tsx.ejs +1 -1
  109. package/hedhog/frontend/widgets/approval-rate-kpi.tsx.ejs +1 -1
  110. package/hedhog/frontend/widgets/class-calendar.tsx.ejs +2 -2
  111. package/hedhog/frontend/widgets/completion-rate-kpi.tsx.ejs +1 -1
  112. package/hedhog/frontend/widgets/issued-certificates-kpi.tsx.ejs +1 -1
  113. package/hedhog/frontend/widgets/total-students-kpi.tsx.ejs +1 -1
  114. package/hedhog/table/enterprise_student_license_event.yaml +30 -0
  115. package/hedhog/table/instructor_qualification.yaml +1 -1
  116. package/hedhog/table/instructor_skill.yaml +0 -11
  117. package/package.json +8 -8
  118. package/src/course/course.service.ts +12 -24
  119. package/src/enterprise/enterprise.controller.ts +5 -0
  120. package/src/enterprise/enterprise.service.ts +507 -29
  121. package/src/enterprise/training/training-admin.controller.ts +4 -0
  122. package/src/enterprise/training/training-admin.service.ts +115 -51
  123. package/src/instructor/dto/create-instructor-skill.dto.ts +0 -17
  124. package/src/instructor/dto/update-instructor-skill.dto.ts +0 -18
  125. package/src/instructor/instructor-skill.service.ts +2 -97
  126. package/src/instructor/instructor.controller.ts +16 -0
  127. package/src/instructor/instructor.service.ts +85 -10
  128. package/src/lms.module.ts +1 -0
@@ -47,7 +47,7 @@ export default function TotalStudentsKpi({ widget, onRemove }: Props) {
47
47
  onRemove={onRemove}
48
48
  >
49
49
  <Card className="h-full overflow-hidden border-border/70">
50
- <div className="h-1 w-full bg-gradient-to-r from-orange-500/60 via-amber-500/30 to-transparent" />
50
+ <div className="h-1 w-full bg-linear-to-r from-orange-500/60 via-amber-500/30 to-transparent" />
51
51
  <CardContent className="flex h-full flex-col justify-between p-5">
52
52
  <div className="flex items-start justify-between gap-2">
53
53
  <p className="text-sm font-medium text-muted-foreground">
@@ -0,0 +1,30 @@
1
+ columns:
2
+ - type: pk
3
+ - name: enterprise_id
4
+ type: fk
5
+ references:
6
+ table: enterprise
7
+ column: id
8
+ onDelete: CASCADE
9
+ - name: person_id
10
+ type: fk
11
+ references:
12
+ table: person
13
+ column: id
14
+ onDelete: CASCADE
15
+ - name: event_type
16
+ type: enum
17
+ values: [assigned, revoked, status_changed]
18
+ - name: previous_status
19
+ type: varchar
20
+ length: 32
21
+ isNullable: true
22
+ - name: next_status
23
+ type: varchar
24
+ length: 32
25
+ isNullable: true
26
+ - type: created_at
27
+
28
+ indices:
29
+ - columns: [enterprise_id, created_at]
30
+ - columns: [person_id, created_at]
@@ -11,7 +11,7 @@ columns:
11
11
  type: locale_text
12
12
  isNullable: true
13
13
  locale:
14
- pt: Descricao
14
+ pt: Descrição
15
15
  en: Description
16
16
  - name: status
17
17
  type: enum
@@ -2,17 +2,6 @@ columns:
2
2
  - type: pk
3
3
  - name: slug
4
4
  isUnique: true
5
- - name: name
6
- type: locale_varchar
7
- locale:
8
- pt: Nome
9
- en: Name
10
- - name: description
11
- type: locale_text
12
- isNullable: true
13
- locale:
14
- pt: Descricao
15
- en: Description
16
5
  - name: status
17
6
  type: enum
18
7
  values: [active, inactive]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hed-hog/lms",
3
- "version": "0.0.330",
3
+ "version": "0.0.338",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "dependencies": {
@@ -9,15 +9,15 @@
9
9
  "@nestjs/core": "^11",
10
10
  "@nestjs/jwt": "^11",
11
11
  "@nestjs/mapped-types": "*",
12
- "@hed-hog/api": "0.0.8",
13
- "@hed-hog/category": "0.0.330",
12
+ "@hed-hog/api-prisma": "0.0.6",
14
13
  "@hed-hog/api-types": "0.0.1",
15
- "@hed-hog/finance": "0.0.330",
16
- "@hed-hog/core": "0.0.330",
14
+ "@hed-hog/api": "0.0.8",
15
+ "@hed-hog/api-pagination": "0.0.7",
17
16
  "@hed-hog/api-locale": "0.0.14",
18
- "@hed-hog/api-prisma": "0.0.6",
19
- "@hed-hog/contact": "0.0.330",
20
- "@hed-hog/api-pagination": "0.0.7"
17
+ "@hed-hog/contact": "0.0.338",
18
+ "@hed-hog/category": "0.0.338",
19
+ "@hed-hog/core": "0.0.338",
20
+ "@hed-hog/finance": "0.0.338"
21
21
  },
22
22
  "exports": {
23
23
  ".": {
@@ -808,51 +808,39 @@ export class CourseService {
808
808
  id: number,
809
809
  data: PersistCourseExtrasInput,
810
810
  ) {
811
- const sets: string[] = [];
812
- const params: Array<string | boolean | number> = [];
811
+ const updateData: Record<string, string | boolean> = {};
813
812
 
814
813
  if (data.name !== undefined) {
815
- params.push(data.name);
816
- sets.push(`name = $${params.length}`);
814
+ updateData.name = data.name;
817
815
  }
818
816
 
819
817
  if (data.isFeatured !== undefined) {
820
- params.push(data.isFeatured);
821
- sets.push(`is_featured = $${params.length}`);
818
+ updateData.is_featured = data.isFeatured;
822
819
  }
823
820
 
824
821
  if (data.hasCertificate !== undefined) {
825
- params.push(data.hasCertificate);
826
- sets.push(`has_certificate = $${params.length}`);
822
+ updateData.has_certificate = data.hasCertificate;
827
823
  }
828
824
 
829
825
  if (data.isListed !== undefined) {
830
- params.push(data.isListed);
831
- sets.push(`is_listed = $${params.length}`);
826
+ updateData.is_listed = data.isListed;
832
827
  }
833
828
 
834
829
  if (data.offeringType !== undefined) {
835
- params.push(data.offeringType);
836
- sets.push(`offering_type = $${params.length}`);
830
+ updateData.offering_type = data.offeringType;
837
831
  }
838
832
 
839
- if (sets.length === 0) {
833
+ if (Object.keys(updateData).length === 0) {
840
834
  return;
841
835
  }
842
836
 
843
- params.push(id);
844
-
845
837
  try {
846
- await this.prisma.$executeRawUnsafe(
847
- `
848
- UPDATE course
849
- SET ${sets.join(', ')}, updated_at = NOW()
850
- WHERE id = $${params.length}
851
- `,
852
- ...params,
853
- );
838
+ await this.prisma.course.update({
839
+ where: { id },
840
+ data: updateData as any,
841
+ });
854
842
  } catch {
855
- // Columns may not exist yet in environments with outdated schema.
843
+ // Some environments may still be behind the current course schema.
856
844
  }
857
845
  }
858
846
 
@@ -126,6 +126,11 @@ export class EnterpriseController {
126
126
  return { profiles };
127
127
  }
128
128
 
129
+ @Get(':id/overview')
130
+ getOverview(@Param('id', ParseIntPipe) id: number) {
131
+ return this.enterpriseService.getOverview(id);
132
+ }
133
+
129
134
  @Get(':id')
130
135
  getById(@Param('id', ParseIntPipe) id: number) {
131
136
  return this.enterpriseService.getById(id);