@hed-hog/lms 0.0.269 → 0.0.274

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 (41) hide show
  1. package/README.md +487 -0
  2. package/hedhog/query/triggers.sql +0 -0
  3. package/hedhog/table/certificate.yaml +89 -0
  4. package/hedhog/table/certificate_template.yaml +24 -0
  5. package/hedhog/table/course.yaml +67 -1
  6. package/hedhog/table/course_category.yaml +22 -0
  7. package/hedhog/table/course_class_attendance.yaml +34 -0
  8. package/hedhog/table/course_class_group.yaml +58 -0
  9. package/hedhog/table/course_class_session.yaml +38 -0
  10. package/hedhog/table/course_class_session_instructor.yaml +27 -0
  11. package/hedhog/table/course_enrollment.yaml +45 -0
  12. package/hedhog/table/course_image.yaml +33 -0
  13. package/hedhog/table/course_lesson.yaml +35 -0
  14. package/hedhog/table/course_lesson_file.yaml +23 -0
  15. package/hedhog/table/course_lesson_instructor.yaml +27 -0
  16. package/hedhog/table/course_lesson_progress.yaml +40 -0
  17. package/hedhog/table/course_lesson_question.yaml +24 -0
  18. package/hedhog/table/course_module.yaml +25 -0
  19. package/hedhog/table/course_prerequisite.yaml +48 -0
  20. package/hedhog/table/evaluation_rating.yaml +30 -0
  21. package/hedhog/table/evaluation_topic.yaml +68 -0
  22. package/hedhog/table/exam.yaml +91 -0
  23. package/hedhog/table/exam_answer.yaml +40 -0
  24. package/hedhog/table/exam_attempt.yaml +51 -0
  25. package/hedhog/table/exam_image.yaml +33 -0
  26. package/hedhog/table/exam_option.yaml +25 -0
  27. package/hedhog/table/exam_question.yaml +24 -0
  28. package/hedhog/table/image_type.yaml +28 -0
  29. package/hedhog/table/instructor.yaml +23 -0
  30. package/hedhog/table/learning_path.yaml +49 -0
  31. package/hedhog/table/learning_path_enrollment.yaml +33 -0
  32. package/hedhog/table/learning_path_image.yaml +33 -0
  33. package/hedhog/table/learning_path_step.yaml +43 -0
  34. package/hedhog/table/question.yaml +15 -0
  35. package/package.json +10 -7
  36. package/src/index.ts +1 -1
  37. package/src/lms.module.ts +15 -15
  38. package/hedhog/table/classes.yaml +0 -3
  39. package/hedhog/table/exams.yaml +0 -3
  40. package/hedhog/table/reports.yaml +0 -3
  41. package/hedhog/table/training.yaml +0 -3
@@ -0,0 +1,51 @@
1
+ columns:
2
+ - type: pk
3
+ - name: exam_id
4
+ type: fk
5
+ references:
6
+ table: exam
7
+ column: id
8
+ onDelete: CASCADE
9
+ - name: student_id
10
+ type: fk
11
+ references:
12
+ table: person
13
+ column: id
14
+ onDelete: CASCADE
15
+ - name: course_enrollment_id
16
+ type: fk
17
+ isNullable: true
18
+ references:
19
+ table: course_enrollment
20
+ column: id
21
+ onDelete: SET NULL
22
+ - name: attempt_number
23
+ type: int
24
+ default: 1
25
+ - name: started_at
26
+ type: datetime
27
+ - name: finished_at
28
+ type: datetime
29
+ isNullable: true
30
+ - name: duration_seconds
31
+ type: int
32
+ isNullable: true
33
+ - name: score
34
+ type: int
35
+ isNullable: true
36
+ - name: status
37
+ type: enum
38
+ values: [in_progress, completed, abandoned, voided]
39
+ default: in_progress
40
+ - name: ip_address
41
+ type: varchar
42
+ length: 45
43
+ isNullable: true
44
+ - type: created_at
45
+ - type: updated_at
46
+
47
+ indices:
48
+ - columns: [exam_id]
49
+ - columns: [student_id]
50
+ - columns: [exam_id, student_id, attempt_number]
51
+ isUnique: true
@@ -0,0 +1,33 @@
1
+ columns:
2
+ - type: pk
3
+ - name: exam_id
4
+ type: fk
5
+ references:
6
+ table: exam
7
+ column: id
8
+ onDelete: CASCADE
9
+ - name: file_id
10
+ type: fk
11
+ references:
12
+ table: file
13
+ column: id
14
+ onDelete: CASCADE
15
+ - name: image_type_id
16
+ type: fk
17
+ references:
18
+ table: image_type
19
+ column: id
20
+ onDelete: CASCADE
21
+ - type: order
22
+ - name: is_primary
23
+ type: boolean
24
+ default: false
25
+ - type: created_at
26
+ - type: updated_at
27
+
28
+ indices:
29
+ - columns: [exam_id]
30
+ - columns: [file_id]
31
+ - columns: [image_type_id]
32
+ - columns: [exam_id, image_type_id, order]
33
+ isUnique: true
@@ -0,0 +1,25 @@
1
+ columns:
2
+ - type: pk
3
+ - name: question_id
4
+ type: fk
5
+ references:
6
+ table: question
7
+ column: id
8
+ onDelete: CASCADE
9
+ - name: option_text
10
+ type: text
11
+ - name: is_correct
12
+ type: boolean
13
+ default: false
14
+ - name: position
15
+ type: int
16
+ default: 0
17
+ - name: feedback
18
+ type: text
19
+ isNullable: true
20
+ - type: created_at
21
+ - type: updated_at
22
+
23
+ indices:
24
+ - columns: [question_id, position]
25
+ isUnique: true
@@ -0,0 +1,24 @@
1
+ columns:
2
+ - type: pk
3
+ - name: exam_id
4
+ type: fk
5
+ references:
6
+ table: exam
7
+ column: id
8
+ onDelete: CASCADE
9
+ - name: question_id
10
+ type: fk
11
+ references:
12
+ table: question
13
+ column: id
14
+ onDelete: CASCADE
15
+ - type: order
16
+ - type: created_at
17
+ - type: updated_at
18
+
19
+ indices:
20
+ - columns: [exam_id, question_id]
21
+ isUnique: true
22
+ - columns: [exam_id, order]
23
+ isUnique: true
24
+ - columns: [question_id]
@@ -0,0 +1,28 @@
1
+ columns:
2
+ - type: pk
3
+ - name: name
4
+ type: varchar
5
+ length: 100
6
+ - name: slug
7
+ type: varchar
8
+ length: 100
9
+ - name: applies_to_course
10
+ type: boolean
11
+ default: false
12
+ - name: applies_to_exam
13
+ type: boolean
14
+ default: false
15
+ - name: applies_to_learning_path
16
+ type: boolean
17
+ default: false
18
+ - name: status
19
+ type: enum
20
+ values: [active, inactive]
21
+ default: active
22
+ - type: created_at
23
+ - type: updated_at
24
+
25
+ indices:
26
+ - columns: [slug]
27
+ isUnique: true
28
+ - columns: [status]
@@ -0,0 +1,23 @@
1
+ columns:
2
+ - type: pk
3
+ - name: person_id
4
+ type: fk
5
+ references:
6
+ table: person
7
+ column: id
8
+ onDelete: CASCADE
9
+ - name: status
10
+ type: enum
11
+ values: [active, inactive]
12
+ default: active
13
+ - name: can_teach_courses
14
+ type: boolean
15
+ default: true
16
+ - type: created_at
17
+ - type: updated_at
18
+
19
+ indices:
20
+ - columns: [person_id]
21
+ isUnique: true
22
+ - columns: [status]
23
+ - columns: [can_teach_courses]
@@ -0,0 +1,49 @@
1
+ columns:
2
+ - type: pk
3
+ - name: title
4
+ type: varchar
5
+ length: 255
6
+ - name: slug
7
+ type: varchar
8
+ length: 255
9
+ - name: description
10
+ type: text
11
+ isNullable: true
12
+ - name: short_description
13
+ type: varchar
14
+ length: 500
15
+ isNullable: true
16
+ - name: level
17
+ type: enum
18
+ values: [beginner, intermediate, advanced]
19
+ default: beginner
20
+ - name: duration_hours
21
+ type: int
22
+ default: 0
23
+ - name: status
24
+ type: enum
25
+ values: [draft, active, archived]
26
+ default: draft
27
+ - name: primary_color
28
+ type: varchar
29
+ length: 9
30
+ isNullable: true
31
+ - name: primary_contrast_color
32
+ type: varchar
33
+ length: 9
34
+ isNullable: true
35
+ - name: secondary_color
36
+ type: varchar
37
+ length: 9
38
+ isNullable: true
39
+ - name: secondary_contrast_color
40
+ type: varchar
41
+ length: 9
42
+ isNullable: true
43
+ - type: created_at
44
+ - type: updated_at
45
+
46
+ indices:
47
+ - columns: [slug]
48
+ isUnique: true
49
+ - columns: [status]
@@ -0,0 +1,33 @@
1
+ columns:
2
+ - type: pk
3
+ - name: learning_path_id
4
+ type: fk
5
+ references:
6
+ table: learning_path
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: status
16
+ type: enum
17
+ values: [active, completed, cancelled]
18
+ default: active
19
+ - name: progress_percent
20
+ type: int
21
+ default: 0
22
+ - name: enrolled_at
23
+ type: datetime
24
+ - name: completed_at
25
+ type: datetime
26
+ isNullable: true
27
+ - type: created_at
28
+ - type: updated_at
29
+
30
+ indices:
31
+ - columns: [learning_path_id, person_id]
32
+ isUnique: true
33
+ - columns: [person_id, status]
@@ -0,0 +1,33 @@
1
+ columns:
2
+ - type: pk
3
+ - name: learning_path_id
4
+ type: fk
5
+ references:
6
+ table: learning_path
7
+ column: id
8
+ onDelete: CASCADE
9
+ - name: file_id
10
+ type: fk
11
+ references:
12
+ table: file
13
+ column: id
14
+ onDelete: CASCADE
15
+ - name: image_type_id
16
+ type: fk
17
+ references:
18
+ table: image_type
19
+ column: id
20
+ onDelete: CASCADE
21
+ - type: order
22
+ - name: is_primary
23
+ type: boolean
24
+ default: false
25
+ - type: created_at
26
+ - type: updated_at
27
+
28
+ indices:
29
+ - columns: [learning_path_id]
30
+ - columns: [file_id]
31
+ - columns: [image_type_id]
32
+ - columns: [learning_path_id, image_type_id, order]
33
+ isUnique: true
@@ -0,0 +1,43 @@
1
+ columns:
2
+ - type: pk
3
+ - name: learning_path_id
4
+ type: fk
5
+ references:
6
+ table: learning_path
7
+ column: id
8
+ onDelete: CASCADE
9
+ - name: step_type
10
+ type: enum
11
+ values: [course, exam]
12
+ - name: course_id
13
+ type: fk
14
+ isNullable: true
15
+ references:
16
+ table: course
17
+ column: id
18
+ onDelete: CASCADE
19
+ - name: exam_id
20
+ type: fk
21
+ isNullable: true
22
+ references:
23
+ table: exam
24
+ column: id
25
+ onDelete: CASCADE
26
+ - type: order
27
+ - name: is_required
28
+ type: boolean
29
+ default: true
30
+ - type: created_at
31
+ - type: updated_at
32
+
33
+ indices:
34
+ - columns: [learning_path_id, order]
35
+ isUnique: true
36
+ - columns: [learning_path_id, course_id]
37
+ isUnique: true
38
+ - columns: [learning_path_id, exam_id]
39
+ isUnique: true
40
+ - columns: [learning_path_id]
41
+ - columns: [step_type]
42
+ - columns: [course_id]
43
+ - columns: [exam_id]
@@ -0,0 +1,15 @@
1
+ columns:
2
+ - type: pk
3
+ - name: question_type
4
+ type: enum
5
+ values: [multiple_choice, true_false, essay, fill_blank, matching]
6
+ - name: statement
7
+ type: text
8
+ - name: explanation
9
+ type: text
10
+ isNullable: true
11
+ - name: points
12
+ type: int
13
+ default: 1
14
+ - type: created_at
15
+ - type: updated_at
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hed-hog/lms",
3
- "version": "0.0.269",
3
+ "version": "0.0.274",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "dependencies": {
@@ -9,12 +9,15 @@
9
9
  "@nestjs/core": "^11",
10
10
  "@nestjs/jwt": "^11",
11
11
  "@nestjs/mapped-types": "*",
12
- "@hed-hog/api-pagination": "0.0.5",
13
- "@hed-hog/api": "0.0.3",
14
- "@hed-hog/api-locale": "0.0.11",
15
- "@hed-hog/api-prisma": "0.0.4",
16
- "@hed-hog/core": "0.0.262",
17
- "@hed-hog/api-types": "0.0.1"
12
+ "@hed-hog/api-pagination": "0.0.6",
13
+ "@hed-hog/core": "0.0.274",
14
+ "@hed-hog/api": "0.0.4",
15
+ "@hed-hog/api-locale": "0.0.13",
16
+ "@hed-hog/finance": "0.0.274",
17
+ "@hed-hog/api-types": "0.0.1",
18
+ "@hed-hog/contact": "0.0.274",
19
+ "@hed-hog/category": "0.0.274",
20
+ "@hed-hog/api-prisma": "0.0.5"
18
21
  },
19
22
  "exports": {
20
23
  ".": {
package/src/index.ts CHANGED
@@ -1 +1 @@
1
- export * from './lms.module';
1
+ export * from './lms.module';
package/src/lms.module.ts CHANGED
@@ -1,15 +1,15 @@
1
- import { forwardRef, Module } from '@nestjs/common';
2
- import { ConfigModule } from '@nestjs/config';
3
- import { LocaleModule } from '@hed-hog/api-locale';
4
- import { PaginationModule } from '@hed-hog/api-pagination';
5
- import { PrismaModule } from '@hed-hog/api-prisma';
6
-
7
- @Module({
8
- imports: [
9
- ConfigModule.forRoot(),
10
- forwardRef(() => PaginationModule),
11
- forwardRef(() => PrismaModule),
12
- forwardRef(() => LocaleModule)
13
- ]
14
- })
15
- export class LmsModule {}
1
+ import { forwardRef, Module } from '@nestjs/common';
2
+ import { ConfigModule } from '@nestjs/config';
3
+ import { LocaleModule } from '@hed-hog/api-locale';
4
+ import { PaginationModule } from '@hed-hog/api-pagination';
5
+ import { PrismaModule } from '@hed-hog/api-prisma';
6
+
7
+ @Module({
8
+ imports: [
9
+ ConfigModule.forRoot(),
10
+ forwardRef(() => PaginationModule),
11
+ forwardRef(() => PrismaModule),
12
+ forwardRef(() => LocaleModule)
13
+ ]
14
+ })
15
+ export class LmsModule {}
@@ -1,3 +0,0 @@
1
- columns:
2
- - type: pk
3
- - name: name
@@ -1,3 +0,0 @@
1
- columns:
2
- - type: pk
3
- - name: name
@@ -1,3 +0,0 @@
1
- columns:
2
- - type: pk
3
- - name: name
@@ -1,3 +0,0 @@
1
- columns:
2
- - type: pk
3
- - name: name