@hed-hog/lms 0.0.318 → 0.0.320

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 +65 -2
  2. package/dist/class-group/class-group.controller.d.ts.map +1 -1
  3. package/dist/class-group/class-group.controller.js +35 -0
  4. package/dist/class-group/class-group.controller.js.map +1 -1
  5. package/dist/class-group/class-group.service.d.ts +67 -2
  6. package/dist/class-group/class-group.service.d.ts.map +1 -1
  7. package/dist/class-group/class-group.service.js +164 -13
  8. package/dist/class-group/class-group.service.js.map +1 -1
  9. package/dist/class-group/dto/create-class-group.dto.d.ts.map +1 -1
  10. package/dist/class-group/dto/create-class-group.dto.js +2 -1
  11. package/dist/class-group/dto/create-class-group.dto.js.map +1 -1
  12. package/dist/class-group/dto/material.dto.d.ts +18 -0
  13. package/dist/class-group/dto/material.dto.d.ts.map +1 -0
  14. package/dist/class-group/dto/material.dto.js +86 -0
  15. package/dist/class-group/dto/material.dto.js.map +1 -0
  16. package/dist/course/course.service.d.ts +2 -0
  17. package/dist/course/course.service.d.ts.map +1 -1
  18. package/dist/course/course.service.js +27 -2
  19. package/dist/course/course.service.js.map +1 -1
  20. package/dist/course/dto/create-course.dto.d.ts +2 -2
  21. package/dist/course/dto/create-course.dto.d.ts.map +1 -1
  22. package/dist/course/dto/create-course.dto.js.map +1 -1
  23. package/dist/enterprise/enterprise.controller.d.ts +7 -1
  24. package/dist/enterprise/enterprise.controller.d.ts.map +1 -1
  25. package/dist/enterprise/enterprise.controller.js +72 -2
  26. package/dist/enterprise/enterprise.controller.js.map +1 -1
  27. package/dist/enterprise/enterprise.module.d.ts.map +1 -1
  28. package/dist/enterprise/enterprise.module.js +2 -1
  29. package/dist/enterprise/enterprise.module.js.map +1 -1
  30. package/dist/enterprise/enterprise.service.d.ts +3 -0
  31. package/dist/enterprise/enterprise.service.d.ts.map +1 -1
  32. package/dist/enterprise/enterprise.service.js +84 -1
  33. package/dist/enterprise/enterprise.service.js.map +1 -1
  34. package/dist/enterprise/training/enterprise-training.module.d.ts +3 -0
  35. package/dist/enterprise/training/enterprise-training.module.d.ts.map +1 -0
  36. package/dist/enterprise/training/enterprise-training.module.js +40 -0
  37. package/dist/enterprise/training/enterprise-training.module.js.map +1 -0
  38. package/dist/enterprise/training/training-admin.controller.d.ts +525 -0
  39. package/dist/enterprise/training/training-admin.controller.d.ts.map +1 -0
  40. package/dist/enterprise/training/training-admin.controller.js +385 -0
  41. package/dist/enterprise/training/training-admin.controller.js.map +1 -0
  42. package/dist/enterprise/training/training-admin.service.d.ts +582 -0
  43. package/dist/enterprise/training/training-admin.service.d.ts.map +1 -0
  44. package/dist/enterprise/training/training-admin.service.js +2283 -0
  45. package/dist/enterprise/training/training-admin.service.js.map +1 -0
  46. package/dist/enterprise/training/training-instructor.controller.d.ts +260 -0
  47. package/dist/enterprise/training/training-instructor.controller.d.ts.map +1 -0
  48. package/dist/enterprise/training/training-instructor.controller.js +199 -0
  49. package/dist/enterprise/training/training-instructor.controller.js.map +1 -0
  50. package/dist/enterprise/training/training-instructor.service.d.ts +280 -0
  51. package/dist/enterprise/training/training-instructor.service.d.ts.map +1 -0
  52. package/dist/enterprise/training/training-instructor.service.js +1218 -0
  53. package/dist/enterprise/training/training-instructor.service.js.map +1 -0
  54. package/dist/enterprise/training/training-student.controller.d.ts +168 -0
  55. package/dist/enterprise/training/training-student.controller.d.ts.map +1 -0
  56. package/dist/enterprise/training/training-student.controller.js +104 -0
  57. package/dist/enterprise/training/training-student.controller.js.map +1 -0
  58. package/dist/enterprise/training/training-student.service.d.ts +185 -0
  59. package/dist/enterprise/training/training-student.service.d.ts.map +1 -0
  60. package/dist/enterprise/training/training-student.service.js +674 -0
  61. package/dist/enterprise/training/training-student.service.js.map +1 -0
  62. package/dist/enterprise/training/training-viewer.controller.d.ts +298 -0
  63. package/dist/enterprise/training/training-viewer.controller.d.ts.map +1 -0
  64. package/dist/enterprise/training/training-viewer.controller.js +178 -0
  65. package/dist/enterprise/training/training-viewer.controller.js.map +1 -0
  66. package/dist/evaluation/dto/create-evaluation-topic.dto.d.ts +18 -0
  67. package/dist/evaluation/dto/create-evaluation-topic.dto.d.ts.map +1 -0
  68. package/dist/evaluation/dto/create-evaluation-topic.dto.js +59 -0
  69. package/dist/evaluation/dto/create-evaluation-topic.dto.js.map +1 -0
  70. package/dist/evaluation/dto/update-evaluation-topic.dto.d.ts +6 -0
  71. package/dist/evaluation/dto/update-evaluation-topic.dto.d.ts.map +1 -0
  72. package/dist/evaluation/dto/update-evaluation-topic.dto.js +9 -0
  73. package/dist/evaluation/dto/update-evaluation-topic.dto.js.map +1 -0
  74. package/dist/evaluation/evaluation.controller.d.ts +66 -0
  75. package/dist/evaluation/evaluation.controller.d.ts.map +1 -1
  76. package/dist/evaluation/evaluation.controller.js +73 -0
  77. package/dist/evaluation/evaluation.controller.js.map +1 -1
  78. package/dist/evaluation/evaluation.service.d.ts +71 -0
  79. package/dist/evaluation/evaluation.service.d.ts.map +1 -1
  80. package/dist/evaluation/evaluation.service.js +121 -0
  81. package/dist/evaluation/evaluation.service.js.map +1 -1
  82. package/dist/instructor/instructor.service.js +6 -6
  83. package/dist/instructor/instructor.service.js.map +1 -1
  84. package/dist/lms.module.d.ts.map +1 -1
  85. package/dist/lms.module.js +3 -0
  86. package/dist/lms.module.js.map +1 -1
  87. package/hedhog/data/menu.yaml +19 -2
  88. package/hedhog/data/route.yaml +730 -0
  89. package/hedhog/frontend/app/_components/class-form-sheet.tsx.ejs +74 -8
  90. package/hedhog/frontend/app/_components/course-avatar.tsx.ejs +27 -47
  91. package/hedhog/frontend/app/classes/[id]/_components/event-summary-popover.tsx.ejs +15 -15
  92. package/hedhog/frontend/app/classes/[id]/_components/quick-create-session-popover.tsx.ejs +5 -5
  93. package/hedhog/frontend/app/classes/[id]/page.tsx.ejs +2141 -308
  94. package/hedhog/frontend/app/classes/page.tsx.ejs +8 -7
  95. package/hedhog/frontend/app/courses/[id]/page.tsx.ejs +21 -8
  96. package/hedhog/frontend/app/courses/[id]/structure/_components/editor-course.tsx.ejs +10 -6
  97. package/hedhog/frontend/app/evaluations/_components/evaluation-topic-form-sheet.tsx.ejs +201 -0
  98. package/hedhog/frontend/app/evaluations/_components/evaluation-topic-types.ts.ejs +49 -0
  99. package/hedhog/frontend/app/evaluations/page.tsx.ejs +621 -1250
  100. package/hedhog/frontend/app/instructors/page.tsx.ejs +22 -20
  101. package/hedhog/frontend/app/reports/evaluations/page.tsx.ejs +1278 -0
  102. package/hedhog/frontend/messages/en.json +98 -7
  103. package/hedhog/frontend/messages/pt.json +98 -7
  104. package/hedhog/table/course_class_group_material.yaml +45 -0
  105. package/package.json +5 -5
  106. package/src/class-group/class-group.controller.ts +30 -0
  107. package/src/class-group/class-group.service.ts +176 -5
  108. package/src/class-group/dto/create-class-group.dto.ts +8 -8
  109. package/src/class-group/dto/material.dto.ts +69 -0
  110. package/src/course/course.service.ts +54 -21
  111. package/src/course/dto/create-course.dto.ts +8 -8
  112. package/src/enterprise/enterprise.controller.ts +62 -1
  113. package/src/enterprise/enterprise.module.ts +2 -1
  114. package/src/enterprise/enterprise.service.ts +84 -1
  115. package/src/enterprise/training/enterprise-training.module.ts +27 -0
  116. package/src/enterprise/training/training-admin.controller.ts +278 -0
  117. package/src/enterprise/training/training-admin.service.ts +2523 -0
  118. package/src/enterprise/training/training-instructor.controller.ts +141 -0
  119. package/src/enterprise/training/training-instructor.service.ts +1303 -0
  120. package/src/enterprise/training/training-student.controller.ts +65 -0
  121. package/src/enterprise/training/training-student.service.ts +762 -0
  122. package/src/enterprise/training/training-viewer.controller.ts +115 -0
  123. package/src/evaluation/dto/create-evaluation-topic.dto.ts +48 -0
  124. package/src/evaluation/dto/update-evaluation-topic.dto.ts +6 -0
  125. package/src/evaluation/evaluation.controller.ts +63 -1
  126. package/src/evaluation/evaluation.service.ts +150 -1
  127. package/src/instructor/instructor.service.ts +4 -4
  128. package/src/lms.module.ts +3 -0
@@ -0,0 +1,199 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.TrainingInstructorController = void 0;
16
+ const api_1 = require("@hed-hog/api");
17
+ const common_1 = require("@nestjs/common");
18
+ const platform_express_1 = require("@nestjs/platform-express");
19
+ const training_instructor_service_1 = require("./training-instructor.service");
20
+ let TrainingInstructorController = class TrainingInstructorController {
21
+ constructor(trainingInstructorService) {
22
+ this.trainingInstructorService = trainingInstructorService;
23
+ }
24
+ getDashboard(userId, enterpriseId) {
25
+ return this.trainingInstructorService.getDashboard(userId, enterpriseId);
26
+ }
27
+ getClassGroups(userId, enterpriseId, search, status, deliveryMode) {
28
+ return this.trainingInstructorService.getClassGroups(userId, {
29
+ enterpriseId,
30
+ search,
31
+ status,
32
+ deliveryMode,
33
+ });
34
+ }
35
+ getReports(userId, enterpriseId, dateFrom, dateTo) {
36
+ return this.trainingInstructorService.getReports(userId, enterpriseId, dateFrom, dateTo);
37
+ }
38
+ getClassEvaluations(userId, classGroupId) {
39
+ return this.trainingInstructorService.getClassEvaluations(userId, classGroupId);
40
+ }
41
+ getClassGroupDetail(userId, classGroupId) {
42
+ return this.trainingInstructorService.getClassGroupDetail(userId, classGroupId);
43
+ }
44
+ getClassGroupStudents(userId, classGroupId, page, pageSize, search, status) {
45
+ return this.trainingInstructorService.getClassGroupStudents(userId, classGroupId, {
46
+ page,
47
+ pageSize,
48
+ search,
49
+ status,
50
+ });
51
+ }
52
+ getClassGroupSessions(userId, classGroupId) {
53
+ return this.trainingInstructorService.getClassGroupSessions(userId, classGroupId);
54
+ }
55
+ getClassGroupAttendance(userId, classGroupId) {
56
+ return this.trainingInstructorService.getClassGroupAttendance(userId, classGroupId);
57
+ }
58
+ getClassGroupMaterials(userId, classGroupId) {
59
+ return this.trainingInstructorService.getClassGroupMaterials(userId, classGroupId);
60
+ }
61
+ getMaterialDownloadUrl(userId, classGroupId, materialId) {
62
+ return this.trainingInstructorService.getMaterialDownloadUrl(userId, classGroupId, materialId);
63
+ }
64
+ uploadMaterial(userId, classGroupId, file) {
65
+ return this.trainingInstructorService.uploadMaterial(userId, classGroupId, file);
66
+ }
67
+ deleteMaterial(userId, classGroupId, materialId) {
68
+ return this.trainingInstructorService.deleteMaterial(userId, classGroupId, materialId);
69
+ }
70
+ submitSessionAttendance(userId, classGroupId, sessionId, body) {
71
+ return this.trainingInstructorService.submitSessionAttendance(userId, classGroupId, sessionId, body.records);
72
+ }
73
+ };
74
+ exports.TrainingInstructorController = TrainingInstructorController;
75
+ __decorate([
76
+ (0, common_1.Get)(),
77
+ __param(0, (0, api_1.User)('id')),
78
+ __param(1, (0, common_1.Query)('enterpriseId', new common_1.ParseIntPipe({ optional: true }))),
79
+ __metadata("design:type", Function),
80
+ __metadata("design:paramtypes", [Number, Number]),
81
+ __metadata("design:returntype", void 0)
82
+ ], TrainingInstructorController.prototype, "getDashboard", null);
83
+ __decorate([
84
+ (0, common_1.Get)('class-groups'),
85
+ __param(0, (0, api_1.User)('id')),
86
+ __param(1, (0, common_1.Query)('enterpriseId', new common_1.ParseIntPipe({ optional: true }))),
87
+ __param(2, (0, common_1.Query)('search')),
88
+ __param(3, (0, common_1.Query)('status')),
89
+ __param(4, (0, common_1.Query)('deliveryMode')),
90
+ __metadata("design:type", Function),
91
+ __metadata("design:paramtypes", [Number, Number, String, String, String]),
92
+ __metadata("design:returntype", void 0)
93
+ ], TrainingInstructorController.prototype, "getClassGroups", null);
94
+ __decorate([
95
+ (0, common_1.Get)('reports'),
96
+ __param(0, (0, api_1.User)('id')),
97
+ __param(1, (0, common_1.Query)('enterpriseId', new common_1.ParseIntPipe({ optional: true }))),
98
+ __param(2, (0, common_1.Query)('dateFrom')),
99
+ __param(3, (0, common_1.Query)('dateTo')),
100
+ __metadata("design:type", Function),
101
+ __metadata("design:paramtypes", [Number, Number, String, String]),
102
+ __metadata("design:returntype", void 0)
103
+ ], TrainingInstructorController.prototype, "getReports", null);
104
+ __decorate([
105
+ (0, common_1.Get)('class-groups/:id/evaluations'),
106
+ __param(0, (0, api_1.User)('id')),
107
+ __param(1, (0, common_1.Param)('id', common_1.ParseIntPipe)),
108
+ __metadata("design:type", Function),
109
+ __metadata("design:paramtypes", [Number, Number]),
110
+ __metadata("design:returntype", void 0)
111
+ ], TrainingInstructorController.prototype, "getClassEvaluations", null);
112
+ __decorate([
113
+ (0, common_1.Get)('class-groups/:id'),
114
+ __param(0, (0, api_1.User)('id')),
115
+ __param(1, (0, common_1.Param)('id', common_1.ParseIntPipe)),
116
+ __metadata("design:type", Function),
117
+ __metadata("design:paramtypes", [Number, Number]),
118
+ __metadata("design:returntype", void 0)
119
+ ], TrainingInstructorController.prototype, "getClassGroupDetail", null);
120
+ __decorate([
121
+ (0, common_1.Get)('class-groups/:id/students'),
122
+ __param(0, (0, api_1.User)('id')),
123
+ __param(1, (0, common_1.Param)('id', common_1.ParseIntPipe)),
124
+ __param(2, (0, common_1.Query)('page', new common_1.ParseIntPipe({ optional: true }))),
125
+ __param(3, (0, common_1.Query)('pageSize', new common_1.ParseIntPipe({ optional: true }))),
126
+ __param(4, (0, common_1.Query)('search')),
127
+ __param(5, (0, common_1.Query)('status')),
128
+ __metadata("design:type", Function),
129
+ __metadata("design:paramtypes", [Number, Number, Number, Number, String, String]),
130
+ __metadata("design:returntype", void 0)
131
+ ], TrainingInstructorController.prototype, "getClassGroupStudents", null);
132
+ __decorate([
133
+ (0, common_1.Get)('class-groups/:id/sessions'),
134
+ __param(0, (0, api_1.User)('id')),
135
+ __param(1, (0, common_1.Param)('id', common_1.ParseIntPipe)),
136
+ __metadata("design:type", Function),
137
+ __metadata("design:paramtypes", [Number, Number]),
138
+ __metadata("design:returntype", void 0)
139
+ ], TrainingInstructorController.prototype, "getClassGroupSessions", null);
140
+ __decorate([
141
+ (0, common_1.Get)('class-groups/:id/attendance'),
142
+ __param(0, (0, api_1.User)('id')),
143
+ __param(1, (0, common_1.Param)('id', common_1.ParseIntPipe)),
144
+ __metadata("design:type", Function),
145
+ __metadata("design:paramtypes", [Number, Number]),
146
+ __metadata("design:returntype", void 0)
147
+ ], TrainingInstructorController.prototype, "getClassGroupAttendance", null);
148
+ __decorate([
149
+ (0, common_1.Get)('class-groups/:id/materials'),
150
+ __param(0, (0, api_1.User)('id')),
151
+ __param(1, (0, common_1.Param)('id', common_1.ParseIntPipe)),
152
+ __metadata("design:type", Function),
153
+ __metadata("design:paramtypes", [Number, Number]),
154
+ __metadata("design:returntype", void 0)
155
+ ], TrainingInstructorController.prototype, "getClassGroupMaterials", null);
156
+ __decorate([
157
+ (0, common_1.Get)('class-groups/:id/materials/:materialId/download'),
158
+ __param(0, (0, api_1.User)('id')),
159
+ __param(1, (0, common_1.Param)('id', common_1.ParseIntPipe)),
160
+ __param(2, (0, common_1.Param)('materialId', common_1.ParseIntPipe)),
161
+ __metadata("design:type", Function),
162
+ __metadata("design:paramtypes", [Number, Number, Number]),
163
+ __metadata("design:returntype", void 0)
164
+ ], TrainingInstructorController.prototype, "getMaterialDownloadUrl", null);
165
+ __decorate([
166
+ (0, common_1.Post)('class-groups/:id/materials/upload'),
167
+ (0, common_1.UseInterceptors)((0, platform_express_1.FileInterceptor)('file')),
168
+ __param(0, (0, api_1.User)('id')),
169
+ __param(1, (0, common_1.Param)('id', common_1.ParseIntPipe)),
170
+ __param(2, (0, common_1.UploadedFile)()),
171
+ __metadata("design:type", Function),
172
+ __metadata("design:paramtypes", [Number, Number, Object]),
173
+ __metadata("design:returntype", void 0)
174
+ ], TrainingInstructorController.prototype, "uploadMaterial", null);
175
+ __decorate([
176
+ (0, common_1.Delete)('class-groups/:id/materials/:materialId'),
177
+ __param(0, (0, api_1.User)('id')),
178
+ __param(1, (0, common_1.Param)('id', common_1.ParseIntPipe)),
179
+ __param(2, (0, common_1.Param)('materialId', common_1.ParseIntPipe)),
180
+ __metadata("design:type", Function),
181
+ __metadata("design:paramtypes", [Number, Number, Number]),
182
+ __metadata("design:returntype", void 0)
183
+ ], TrainingInstructorController.prototype, "deleteMaterial", null);
184
+ __decorate([
185
+ (0, common_1.Post)('class-groups/:id/sessions/:sessionId/attendance'),
186
+ __param(0, (0, api_1.User)('id')),
187
+ __param(1, (0, common_1.Param)('id', common_1.ParseIntPipe)),
188
+ __param(2, (0, common_1.Param)('sessionId', common_1.ParseIntPipe)),
189
+ __param(3, (0, common_1.Body)()),
190
+ __metadata("design:type", Function),
191
+ __metadata("design:paramtypes", [Number, Number, Number, Object]),
192
+ __metadata("design:returntype", void 0)
193
+ ], TrainingInstructorController.prototype, "submitSessionAttendance", null);
194
+ exports.TrainingInstructorController = TrainingInstructorController = __decorate([
195
+ (0, api_1.Role)(),
196
+ (0, common_1.Controller)('lms/enterprise/training/instructor'),
197
+ __metadata("design:paramtypes", [training_instructor_service_1.TrainingInstructorService])
198
+ ], TrainingInstructorController);
199
+ //# sourceMappingURL=training-instructor.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"training-instructor.controller.js","sourceRoot":"","sources":["../../../src/enterprise/training/training-instructor.controller.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,280 @@
1
+ import { PrismaService } from '@hed-hog/api-prisma';
2
+ import { FileService } from '@hed-hog/core';
3
+ export declare class TrainingInstructorService {
4
+ private readonly prisma;
5
+ private readonly fileService;
6
+ constructor(prisma: PrismaService, fileService: FileService);
7
+ getDashboard(userId: number, enterpriseId?: number): Promise<{
8
+ kpis: {
9
+ activeClasses: {
10
+ value: number;
11
+ change: any;
12
+ changeType: "absolute";
13
+ };
14
+ totalStudents: {
15
+ value: number;
16
+ change: any;
17
+ changeType: "absolute";
18
+ };
19
+ sessionsThisWeek: {
20
+ value: number;
21
+ change: any;
22
+ changeType: "absolute";
23
+ };
24
+ averageScore: {
25
+ value: number;
26
+ change: any;
27
+ changeType: "absolute";
28
+ };
29
+ };
30
+ weeklyAgenda: {
31
+ sessionId: number;
32
+ classGroupId: number;
33
+ date: Date;
34
+ time: string;
35
+ endTime: string;
36
+ className: string;
37
+ courseName: string;
38
+ topic: any;
39
+ location: string;
40
+ meetingUrl: string;
41
+ deliveryMode: import("@prisma/client").$Enums.course_class_group_delivery_mode_1f1dcad009_enum;
42
+ studentCount: number;
43
+ }[];
44
+ myClasses: {
45
+ id: number;
46
+ name: string;
47
+ code: string;
48
+ courseId: number;
49
+ courseName: string;
50
+ courseLogoUrl: string;
51
+ studentCount: number;
52
+ nextSession: {
53
+ date: Date;
54
+ time: string;
55
+ location: string;
56
+ };
57
+ progress: number;
58
+ status: import("@prisma/client").$Enums.course_class_group_status_d840783477_enum;
59
+ deliveryMode: import("@prisma/client").$Enums.course_class_group_delivery_mode_1f1dcad009_enum;
60
+ pendingEvaluations: number;
61
+ }[];
62
+ receivedFeedback: {
63
+ totalRatings: number;
64
+ averageScore: number;
65
+ recentItems: {
66
+ sessionTitle: string;
67
+ className: string;
68
+ sessionDate: Date;
69
+ avgScore: number;
70
+ ratingCount: number;
71
+ }[];
72
+ };
73
+ }>;
74
+ private getKpis;
75
+ private getWeeklyAgenda;
76
+ private getMyClasses;
77
+ private getReceivedFeedbackSummary;
78
+ private getPendingEvals;
79
+ getClassGroups(userId: number, options?: {
80
+ enterpriseId?: number;
81
+ search?: string;
82
+ status?: string;
83
+ deliveryMode?: string;
84
+ }): Promise<{
85
+ data: {
86
+ id: number;
87
+ name: string;
88
+ code: string;
89
+ courseId: number;
90
+ courseName: string;
91
+ courseLogoUrl: string;
92
+ courseBannerUrl: string;
93
+ studentCount: number;
94
+ maxStudents: number;
95
+ nextSession: {
96
+ date: Date;
97
+ time: string;
98
+ location: string;
99
+ meetingUrl: string;
100
+ };
101
+ progress: number;
102
+ status: import("@prisma/client").$Enums.course_class_group_status_d840783477_enum;
103
+ deliveryMode: import("@prisma/client").$Enums.course_class_group_delivery_mode_1f1dcad009_enum;
104
+ startDate: Date;
105
+ endDate: Date;
106
+ pendingEvaluations: number;
107
+ }[];
108
+ total: number;
109
+ }>;
110
+ private assertInstructorOwnsClass;
111
+ getClassGroupDetail(userId: number, classGroupId: number): Promise<{
112
+ id: number;
113
+ courseName: string;
114
+ className: string;
115
+ code: string;
116
+ instructorName: string;
117
+ startDate: Date;
118
+ endDate: Date;
119
+ status: import("@prisma/client").$Enums.course_class_group_status_d840783477_enum;
120
+ deliveryMode: import("@prisma/client").$Enums.course_class_group_delivery_mode_1f1dcad009_enum;
121
+ totalSlots: number;
122
+ enrolledCount: number;
123
+ totalSessions: number;
124
+ completedSessions: number;
125
+ avgAttendance: number;
126
+ nextSession: {
127
+ date: Date;
128
+ time: string;
129
+ location: string;
130
+ meetingUrl: string;
131
+ };
132
+ }>;
133
+ getClassGroupStudents(userId: number, classGroupId: number, params: {
134
+ page?: number;
135
+ pageSize?: number;
136
+ search?: string;
137
+ status?: string;
138
+ }): Promise<{
139
+ total: number;
140
+ page: number;
141
+ pageSize: number;
142
+ lastPage: number;
143
+ data: {
144
+ id: number;
145
+ name: string;
146
+ avatarUrl: any;
147
+ progress: number;
148
+ attendance: number;
149
+ grade: number;
150
+ status: "ok" | "inactive" | "risk";
151
+ }[];
152
+ }>;
153
+ getClassGroupSessions(userId: number, classGroupId: number): Promise<{
154
+ id: number;
155
+ title: string;
156
+ date: Date;
157
+ time: string;
158
+ endTime: string;
159
+ location: string;
160
+ meetingUrl: string;
161
+ status: "next" | "completed" | "upcoming";
162
+ attendanceCount: number;
163
+ totalStudents: number;
164
+ }[]>;
165
+ getClassGroupAttendance(userId: number, classGroupId: number): Promise<{
166
+ students: {
167
+ studentId: number;
168
+ studentName: string;
169
+ }[];
170
+ sessions: {
171
+ sessionId: number;
172
+ title: string;
173
+ date: Date;
174
+ records: {
175
+ studentId: number;
176
+ present: boolean;
177
+ }[];
178
+ }[];
179
+ }>;
180
+ getClassGroupMaterials(userId: number, classGroupId: number): Promise<{
181
+ id: number;
182
+ title: string;
183
+ description: string;
184
+ materialType: import("@prisma/client").$Enums.course_class_group_material_material_type_6e6c399501_enum;
185
+ fileId: number;
186
+ url: string;
187
+ sessionId: number;
188
+ sortOrder: number;
189
+ createdAt: string;
190
+ }[]>;
191
+ getMaterialDownloadUrl(userId: number, classGroupId: number, materialId: number): Promise<{
192
+ url: any;
193
+ }>;
194
+ uploadMaterial(userId: number, classGroupId: number, file: MulterFile): Promise<{
195
+ id: number;
196
+ title: string;
197
+ description: string;
198
+ materialType: import("@prisma/client").$Enums.course_class_group_material_material_type_6e6c399501_enum;
199
+ fileId: number;
200
+ url: string;
201
+ sessionId: number;
202
+ sortOrder: number;
203
+ createdAt: string;
204
+ }>;
205
+ deleteMaterial(userId: number, classGroupId: number, materialId: number): Promise<{
206
+ success: boolean;
207
+ }>;
208
+ getClassEvaluations(userId: number, classGroupId: number): Promise<{
209
+ totalRatings: number;
210
+ averageScore: number;
211
+ distribution: {
212
+ range: string;
213
+ count: number;
214
+ }[];
215
+ sessions: {
216
+ sessionId: number;
217
+ title: string;
218
+ date: Date;
219
+ avgScore: number;
220
+ ratingCount: number;
221
+ topics: {
222
+ topicId: number;
223
+ name: string;
224
+ avgScore: number;
225
+ }[];
226
+ comments: string[];
227
+ }[];
228
+ }>;
229
+ getReports(userId: number, enterpriseId?: number, dateFrom?: string, dateTo?: string): Promise<{
230
+ kpis: {
231
+ totalStudents: number;
232
+ averageEvaluationScore: number;
233
+ averageAttendance: number;
234
+ sessionsCompleted: number;
235
+ };
236
+ classes: {
237
+ key: string;
238
+ name: string;
239
+ color: string;
240
+ }[];
241
+ topicNames: string[];
242
+ evaluationsBySession: {
243
+ sessionId: number;
244
+ label: string;
245
+ date: Date;
246
+ classKey: string;
247
+ className: string;
248
+ topics: Record<string, number>;
249
+ media: number;
250
+ hi: number;
251
+ lo: number;
252
+ }[];
253
+ attendanceBySession: {
254
+ sessionId: number;
255
+ label: string;
256
+ date: Date;
257
+ classKey: string;
258
+ className: string;
259
+ presentCount: number;
260
+ }[];
261
+ studentGrades: {
262
+ name: string;
263
+ grade: number;
264
+ classKey: string;
265
+ className: string;
266
+ }[];
267
+ }>;
268
+ private round;
269
+ private addDays;
270
+ submitSessionAttendance(userId: number, classGroupId: number, sessionId: number, records: {
271
+ studentId: number;
272
+ present: boolean;
273
+ }[]): Promise<{
274
+ success: boolean;
275
+ count: number;
276
+ }>;
277
+ private endOfDay;
278
+ private startOfWeek;
279
+ }
280
+ //# sourceMappingURL=training-instructor.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"training-instructor.service.d.ts","sourceRoot":"","sources":["../../../src/enterprise/training/training-instructor.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,qBACa,yBAAyB;IAElC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,WAAW;gBADX,MAAM,EAAE,aAAa,EACrB,WAAW,EAAE,WAAW;IAGrC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAiD1C,OAAO;YAyDP,eAAe;YAqCf,YAAY;YA8DZ,0BAA0B;YAqF1B,eAAe;IAiCvB,cAAc,CAClB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;QACP,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,YAAY,CAAC,EAAE,MAAM,CAAC;KAClB;;;;;;;;;;;;;;;;;;;;;;;;;;YAkJM,yBAAyB;IA2BjC,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;IAgFxD,qBAAqB,CACzB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;;;;;;;;;;;;;;;IAiE1E,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM;;;;;;;;;;;;IAuD1D,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM;;;;;;;;;;;;;;;IA4C5D,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM;;;;;;;;;;;IAgC3D,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;;;IAoB/E,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU;;;;;;;;;;;IAuCrE,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;;;IAmBvE,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;IA6GxD,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;;;;;;;;iBAwDlE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAmN9B,OAAO,CAAC,KAAK;IAKb,OAAO,CAAC,OAAO;IAMT,uBAAuB,CAC3B,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,EAAE;;;;IA0BpD,OAAO,CAAC,QAAQ;IAMhB,OAAO,CAAC,WAAW;CAQpB"}