@driveup/schema 0.2.5 → 0.2.7
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/lib/catalog/addon/addon.entity.d.ts +3 -3
- package/lib/catalog/addon/addon.entity.js +5 -5
- package/lib/catalog/addon/addon.entity.js.map +1 -1
- package/lib/catalog/addon/country.entity.d.ts +3 -3
- package/lib/catalog/addon/country.entity.js +5 -5
- package/lib/catalog/addon/country.entity.js.map +1 -1
- package/lib/catalog/priceplan/priceplan.entity.d.ts +2 -2
- package/lib/catalog/priceplan/priceplan.entity.js +4 -4
- package/lib/catalog/priceplan/priceplan.entity.js.map +1 -1
- package/lib/catalog/product/country.entity.d.ts +4 -4
- package/lib/catalog/product/country.entity.js +9 -9
- package/lib/catalog/product/country.entity.js.map +1 -1
- package/lib/catalog/product/priceplan.entity.d.ts +3 -3
- package/lib/catalog/product/priceplan.entity.js +8 -8
- package/lib/catalog/product/priceplan.entity.js.map +1 -1
- package/lib/catalog/product/product.entity.d.ts +3 -3
- package/lib/catalog/product/product.entity.js +6 -6
- package/lib/catalog/product/product.entity.js.map +1 -1
- package/lib/catalog/program/program.entity.d.ts +1 -1
- package/lib/catalog/program/program.entity.js +5 -5
- package/lib/catalog/program/program.entity.js.map +1 -1
- package/lib/catalog/seed/assets/asset.entity.d.ts +2 -2
- package/lib/catalog/seed/assets/asset.entity.js +4 -4
- package/lib/catalog/seed/assets/asset.entity.js.map +1 -1
- package/lib/catalog/seed/courses/course.entity.d.ts +3 -3
- package/lib/catalog/seed/courses/course.entity.js +7 -7
- package/lib/catalog/seed/courses/course.entity.js.map +1 -1
- package/lib/catalog/seed/courses/lesson.entity.d.ts +2 -2
- package/lib/catalog/seed/courses/lesson.entity.js +5 -5
- package/lib/catalog/seed/courses/lesson.entity.js.map +1 -1
- package/lib/catalog/seed/courses/topic.entity.d.ts +2 -2
- package/lib/catalog/seed/courses/topic.entity.js +5 -5
- package/lib/catalog/seed/courses/topic.entity.js.map +1 -1
- package/lib/catalog/seed/expense/category.entity.d.ts +1 -1
- package/lib/catalog/seed/expense/category.entity.js +4 -4
- package/lib/catalog/seed/expense/category.entity.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/profile/agent/agent.entity.d.ts +12 -4
- package/lib/profile/agent/agent.entity.js +30 -6
- package/lib/profile/agent/agent.entity.js.map +1 -1
- package/lib/profile/agent/asset.entity.d.ts +1 -1
- package/lib/profile/agent/asset.entity.js +2 -2
- package/lib/profile/agent/asset.entity.js.map +1 -1
- package/lib/profile/agent/payout.entity.d.ts +2 -2
- package/lib/profile/agent/payout.entity.js +4 -4
- package/lib/profile/agent/payout.entity.js.map +1 -1
- package/lib/profile/agent/promotion.entity.d.ts +3 -3
- package/lib/profile/agent/promotion.entity.js +6 -6
- package/lib/profile/agent/promotion.entity.js.map +1 -1
- package/lib/profile/company/company.entity.d.ts +39 -8
- package/lib/profile/company/company.entity.js +147 -10
- package/lib/profile/company/company.entity.js.map +1 -1
- package/lib/profile/company/course/course.entity.d.ts +35 -8
- package/lib/profile/company/course/course.entity.js +48 -9
- package/lib/profile/company/course/course.entity.js.map +1 -1
- package/lib/profile/company/course/lesson.entity.d.ts +20 -6
- package/lib/profile/company/course/lesson.entity.js +77 -10
- package/lib/profile/company/course/lesson.entity.js.map +1 -1
- package/lib/profile/company/course/{appointment.entity.d.ts → schedule.entity.d.ts} +78 -8
- package/lib/profile/company/course/{appointment.entity.js → schedule.entity.js} +257 -7
- package/lib/profile/company/course/schedule.entity.js.map +1 -0
- package/lib/profile/company/course/topic.entity.d.ts +6 -2
- package/lib/profile/company/course/topic.entity.js +12 -5
- package/lib/profile/company/course/topic.entity.js.map +1 -1
- package/lib/profile/company/finances/billing/bill.entity.d.ts +3 -3
- package/lib/profile/company/finances/billing/bill.entity.js +5 -5
- package/lib/profile/company/finances/billing/bill.entity.js.map +1 -1
- package/lib/profile/company/finances/billing/item.entity.d.ts +2 -2
- package/lib/profile/company/finances/billing/item.entity.js +5 -5
- package/lib/profile/company/finances/billing/item.entity.js.map +1 -1
- package/lib/profile/company/finances/billing/transaction.entity.d.ts +3 -3
- package/lib/profile/company/finances/billing/transaction.entity.js +6 -6
- package/lib/profile/company/finances/billing/transaction.entity.js.map +1 -1
- package/lib/profile/company/finances/expense/category.entity.d.ts +1 -1
- package/lib/profile/company/finances/expense/category.entity.js +4 -4
- package/lib/profile/company/finances/expense/category.entity.js.map +1 -1
- package/lib/profile/company/finances/expense/expense.entity.d.ts +6 -2
- package/lib/profile/company/finances/expense/expense.entity.js +32 -4
- package/lib/profile/company/finances/expense/expense.entity.js.map +1 -1
- package/lib/profile/company/finances/handover/handover.entity.d.ts +3 -3
- package/lib/profile/company/finances/handover/handover.entity.js +6 -6
- package/lib/profile/company/finances/handover/handover.entity.js.map +1 -1
- package/lib/profile/company/finances/invoice/invoice.entity.d.ts +7 -6
- package/lib/profile/company/finances/invoice/invoice.entity.js +9 -8
- package/lib/profile/company/finances/invoice/invoice.entity.js.map +1 -1
- package/lib/profile/company/finances/invoice/item.entity.d.ts +2 -2
- package/lib/profile/company/finances/invoice/item.entity.js +4 -4
- package/lib/profile/company/finances/invoice/item.entity.js.map +1 -1
- package/lib/profile/company/finances/payment/method.entity.d.ts +10 -4
- package/lib/profile/company/finances/payment/method.entity.js +24 -5
- package/lib/profile/company/finances/payment/method.entity.js.map +1 -1
- package/lib/profile/company/instructor/activity.entity.js.map +1 -1
- package/lib/profile/company/instructor/calendar-state.entity.js.map +1 -1
- package/lib/profile/company/instructor/instructor.entity.d.ts +20 -11
- package/lib/profile/company/instructor/instructor.entity.js +111 -16
- package/lib/profile/company/instructor/instructor.entity.js.map +1 -1
- package/lib/profile/company/instructor/task.entity.d.ts +2 -1
- package/lib/profile/company/instructor/task.entity.js +9 -4
- package/lib/profile/company/instructor/task.entity.js.map +1 -1
- package/lib/profile/company/medical/examination.entity.d.ts +3 -3
- package/lib/profile/company/medical/examination.entity.js +5 -5
- package/lib/profile/company/medical/examination.entity.js.map +1 -1
- package/lib/profile/company/medical/product.entity.d.ts +4 -4
- package/lib/profile/company/medical/product.entity.js +5 -5
- package/lib/profile/company/medical/product.entity.js.map +1 -1
- package/lib/profile/company/product/addon.entity.d.ts +2 -2
- package/lib/profile/company/product/addon.entity.js +5 -5
- package/lib/profile/company/product/addon.entity.js.map +1 -1
- package/lib/profile/company/product/priceplan.entity.d.ts +4 -3
- package/lib/profile/company/product/priceplan.entity.js +9 -4
- package/lib/profile/company/product/priceplan.entity.js.map +1 -1
- package/lib/profile/company/product/product.entity.d.ts +8 -7
- package/lib/profile/company/product/product.entity.js +19 -9
- package/lib/profile/company/product/product.entity.js.map +1 -1
- package/lib/profile/company/product/vehicle.entity.d.ts +2 -2
- package/lib/profile/company/product/vehicle.entity.js +4 -4
- package/lib/profile/company/product/vehicle.entity.js.map +1 -1
- package/lib/profile/instructor/instructor.entity.d.ts +6 -3
- package/lib/profile/instructor/instructor.entity.js +28 -7
- package/lib/profile/instructor/instructor.entity.js.map +1 -1
- package/lib/profile/student/program/licence/licence.entity.d.ts +3 -3
- package/lib/profile/student/program/licence/licence.entity.js +5 -5
- package/lib/profile/student/program/licence/licence.entity.js.map +1 -1
- package/lib/profile/student/program/medical/certificate.entity.d.ts +2 -2
- package/lib/profile/student/program/medical/certificate.entity.js +4 -4
- package/lib/profile/student/program/medical/certificate.entity.js.map +1 -1
- package/lib/profile/student/program/medical/examination.entity.d.ts +3 -3
- package/lib/profile/student/program/medical/examination.entity.js +10 -10
- package/lib/profile/student/program/medical/examination.entity.js.map +1 -1
- package/lib/profile/student/program/program.entity.d.ts +11 -6
- package/lib/profile/student/program/program.entity.js +14 -9
- package/lib/profile/student/program/program.entity.js.map +1 -1
- package/lib/profile/student/program/training/appointment.entity.d.ts +23 -9
- package/lib/profile/student/program/training/appointment.entity.js +115 -13
- package/lib/profile/student/program/training/appointment.entity.js.map +1 -1
- package/lib/profile/student/program/training/exam.entity.d.ts +4 -2
- package/lib/profile/student/program/training/exam.entity.js +12 -4
- package/lib/profile/student/program/training/exam.entity.js.map +1 -1
- package/lib/profile/student/program/training/lesson.entity.d.ts +10 -4
- package/lib/profile/student/program/training/lesson.entity.js +32 -7
- package/lib/profile/student/program/training/lesson.entity.js.map +1 -1
- package/lib/profile/student/program/training/request.entity.d.ts +6 -3
- package/lib/profile/student/program/training/request.entity.js +26 -5
- package/lib/profile/student/program/training/request.entity.js.map +1 -1
- package/lib/profile/student/program/training/topic.entity.d.ts +14 -3
- package/lib/profile/student/program/training/topic.entity.js +29 -5
- package/lib/profile/student/program/training/topic.entity.js.map +1 -1
- package/lib/profile/student/program/training/training.entity.d.ts +76 -8
- package/lib/profile/student/program/training/training.entity.js +226 -9
- package/lib/profile/student/program/training/training.entity.js.map +1 -1
- package/lib/profile/student/program/training/transaction.entity.d.ts +8 -3
- package/lib/profile/student/program/training/transaction.entity.js +41 -4
- package/lib/profile/student/program/training/transaction.entity.js.map +1 -1
- package/lib/profile/student/student.entity.d.ts +11 -6
- package/lib/profile/student/student.entity.js +57 -10
- package/lib/profile/student/student.entity.js.map +1 -1
- package/lib/system/campaign/campaign.entity.d.ts +2 -2
- package/lib/system/campaign/campaign.entity.js +6 -6
- package/lib/system/campaign/campaign.entity.js.map +1 -1
- package/lib/system/campaign/gifcode.entity.d.ts +2 -2
- package/lib/system/campaign/gifcode.entity.js +6 -6
- package/lib/system/campaign/gifcode.entity.js.map +1 -1
- package/lib/system/country/country.entity.d.ts +7 -5
- package/lib/system/country/country.entity.js +15 -9
- package/lib/system/country/country.entity.js.map +1 -1
- package/lib/system/currency/currency.entity.d.ts +1 -1
- package/lib/system/currency/currency.entity.js +4 -4
- package/lib/system/currency/currency.entity.js.map +1 -1
- package/lib/system/driving/category.entity.d.ts +7 -7
- package/lib/system/driving/category.entity.js +12 -12
- package/lib/system/driving/category.entity.js.map +1 -1
- package/lib/system/driving/vehicle.entity.d.ts +2 -2
- package/lib/system/driving/vehicle.entity.js +4 -4
- package/lib/system/driving/vehicle.entity.js.map +1 -1
- package/lib/system/event/event.entity.d.ts +2 -2
- package/lib/system/event/event.entity.js +4 -4
- package/lib/system/event/event.entity.js.map +1 -1
- package/lib/system/event/log.entity.d.ts +2 -2
- package/lib/system/event/log.entity.js +3 -3
- package/lib/system/event/log.entity.js.map +1 -1
- package/lib/system/policy/policy.entity.d.ts +1 -1
- package/lib/system/policy/policy.entity.js +5 -5
- package/lib/system/policy/policy.entity.js.map +1 -1
- package/lib/system/staff/staff.entity.d.ts +1 -1
- package/lib/system/staff/staff.entity.js +3 -3
- package/lib/system/staff/staff.entity.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/user/alert.entity.d.ts +3 -2
- package/lib/user/alert.entity.js +11 -4
- package/lib/user/alert.entity.js.map +1 -1
- package/lib/user/blocked.entity.js +2 -2
- package/lib/user/blocked.entity.js.map +1 -1
- package/lib/user/device.entity.d.ts +15 -0
- package/lib/user/device.entity.js +26 -0
- package/lib/user/device.entity.js.map +1 -1
- package/lib/user/notification.entity.d.ts +2 -2
- package/lib/user/notification.entity.js +4 -4
- package/lib/user/notification.entity.js.map +1 -1
- package/lib/user/ticket.entity.d.ts +8 -3
- package/lib/user/ticket.entity.js +11 -4
- package/lib/user/ticket.entity.js.map +1 -1
- package/lib/user/user.entity.d.ts +91 -82
- package/lib/user/user.entity.js +257 -259
- package/lib/user/user.entity.js.map +1 -1
- package/lib/user/verification.entity.js +2 -2
- package/lib/user/verification.entity.js.map +1 -1
- package/lib/utils/activity.helper.d.ts +2 -2
- package/lib/utils/activity.helper.js.map +1 -1
- package/lib/utils/trackable.d.ts +2 -2
- package/lib/utils/trackable.js.map +1 -1
- package/package.json +2 -2
- package/lib/profile/company/course/appointment.entity.js.map +0 -1
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { CompanyCourseScheduleEntity } from '../../../company/course/
|
|
1
|
+
import { Appointment, Note, SkillScore, TopicProgress } from '@driveup/common';
|
|
2
|
+
import { Activity, Address, TrainingSession } from '@driveup/common';
|
|
3
|
+
import { AppointmentType, StatusType } from '@driveup/shared';
|
|
4
|
+
import { TrackableEntity } from '../../../../utils/trackable';
|
|
5
|
+
import { CompanyCourseEntity } from '../../../company/course/course.entity';
|
|
6
|
+
import { CompanyCourseScheduleEntity } from '../../../company/course/schedule.entity';
|
|
7
7
|
import { CompanyInstructorEntity } from '../../../company/instructor/instructor.entity';
|
|
8
|
+
import { StudentEntity } from '../../student.entity';
|
|
8
9
|
import { StudentTrainingExamEntity } from './exam.entity';
|
|
9
|
-
import {
|
|
10
|
+
import { StudentTrainingLessonEntity } from './lesson.entity';
|
|
11
|
+
import { StudentTrainingEntity } from './training.entity';
|
|
10
12
|
export declare class StudentTrainingAppointmentEntity extends TrackableEntity<Appointment> {
|
|
11
13
|
/**
|
|
12
14
|
* Reference to the training this appointment belongs to
|
|
@@ -19,7 +21,7 @@ export declare class StudentTrainingAppointmentEntity extends TrackableEntity<Ap
|
|
|
19
21
|
*/
|
|
20
22
|
lessonId: number;
|
|
21
23
|
/**
|
|
22
|
-
* Only for company course trainings with flexible appointments
|
|
24
|
+
* Only for company course trainings with fixed/flexible appointments
|
|
23
25
|
*/
|
|
24
26
|
scheduleId: number;
|
|
25
27
|
/**
|
|
@@ -46,6 +48,7 @@ export declare class StudentTrainingAppointmentEntity extends TrackableEntity<Ap
|
|
|
46
48
|
* Appointment end date
|
|
47
49
|
* @description In Flexible courses, this field is set to null, and will be calculated each time based on the appointment duration
|
|
48
50
|
* @description In Fixed courses, this field must have a value, which is equal to the part.endDate
|
|
51
|
+
* @description In Driving appointments, this field is set to null, and will be calculated each tie based on the appointment duration
|
|
49
52
|
*/
|
|
50
53
|
endDate: Date;
|
|
51
54
|
/**
|
|
@@ -84,11 +87,14 @@ export declare class StudentTrainingAppointmentEntity extends TrackableEntity<Ap
|
|
|
84
87
|
/**
|
|
85
88
|
* Lesson topics invloved in the appointment with scores
|
|
86
89
|
* Currently implemented oonly by driving trainings
|
|
90
|
+
* - field "topicId" points to "StudentTrainingTopicEntity->id"
|
|
87
91
|
*/
|
|
88
92
|
topics: TopicProgress[];
|
|
89
93
|
/**
|
|
90
94
|
* Lesson skills involved in the appointment with scores
|
|
91
95
|
* Currently implemented oonly by driving trainings
|
|
96
|
+
* - field "topicId" points to "this/StudentTrainingAppointmentEntity->topics->id"
|
|
97
|
+
* - field "skillId" points to "StudentTrainingTopicEntity->skills->id"
|
|
92
98
|
*/
|
|
93
99
|
skills: SkillScore[];
|
|
94
100
|
/**
|
|
@@ -144,7 +150,8 @@ export declare class StudentTrainingAppointmentEntity extends TrackableEntity<Ap
|
|
|
144
150
|
* If the field "endDate" is not set, it calculates it based on the start date and duration
|
|
145
151
|
* @returns Date - The end date of the training appointment
|
|
146
152
|
*/
|
|
147
|
-
getEndDate(): Date
|
|
153
|
+
getEndDate(): Promise<Date>;
|
|
154
|
+
getSessionPrice(): Promise<number>;
|
|
148
155
|
/**
|
|
149
156
|
* Student traning session
|
|
150
157
|
* Extended version of appointment with training session details
|
|
@@ -152,5 +159,12 @@ export declare class StudentTrainingAppointmentEntity extends TrackableEntity<Ap
|
|
|
152
159
|
*/
|
|
153
160
|
toSession(): Promise<TrainingSession>;
|
|
154
161
|
isFixed(): Promise<boolean>;
|
|
162
|
+
getTrainingLesson(): Promise<StudentTrainingLessonEntity>;
|
|
163
|
+
getCourseLesson(): Promise<import("../../../..").CompanyCourseLessonEntity>;
|
|
164
|
+
getCourse(): Promise<CompanyCourseEntity>;
|
|
165
|
+
getStudent(): Promise<StudentEntity>;
|
|
166
|
+
getSessionNumber(): Promise<number>;
|
|
167
|
+
isInObligationPeriod(): Promise<boolean>;
|
|
168
|
+
getAppointmentInstructor(): Promise<CompanyInstructorEntity>;
|
|
155
169
|
getActivities(): Promise<Activity[]>;
|
|
156
170
|
}
|
|
@@ -11,19 +11,20 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
11
11
|
var StudentTrainingAppointmentEntity_1;
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
13
|
exports.StudentTrainingAppointmentEntity = void 0;
|
|
14
|
-
const typeorm_1 = require("typeorm");
|
|
15
|
-
const shared_1 = require("@driveup/shared");
|
|
16
14
|
const common_1 = require("@driveup/common");
|
|
17
15
|
const common_2 = require("@driveup/common");
|
|
18
|
-
const
|
|
19
|
-
const
|
|
20
|
-
const
|
|
16
|
+
const shared_1 = require("@driveup/shared");
|
|
17
|
+
const luxon_1 = require("luxon");
|
|
18
|
+
const typeorm_1 = require("typeorm");
|
|
19
|
+
const activity_helper_1 = require("../../../../utils/activity.helper");
|
|
20
|
+
const trackable_1 = require("../../../../utils/trackable");
|
|
21
|
+
const course_entity_1 = require("../../../company/course/course.entity");
|
|
22
|
+
const schedule_entity_1 = require("../../../company/course/schedule.entity");
|
|
21
23
|
const instructor_entity_1 = require("../../../company/instructor/instructor.entity");
|
|
24
|
+
const student_entity_1 = require("../../student.entity");
|
|
22
25
|
const exam_entity_1 = require("./exam.entity");
|
|
23
|
-
const
|
|
24
|
-
const
|
|
25
|
-
const activity_helper_1 = require("../../../../utils/activity.helper");
|
|
26
|
-
const luxon_1 = require("luxon");
|
|
26
|
+
const lesson_entity_1 = require("./lesson.entity");
|
|
27
|
+
const training_entity_1 = require("./training.entity");
|
|
27
28
|
let StudentTrainingAppointmentEntity = StudentTrainingAppointmentEntity_1 = class StudentTrainingAppointmentEntity extends trackable_1.TrackableEntity {
|
|
28
29
|
constructor(props) {
|
|
29
30
|
super();
|
|
@@ -63,15 +64,45 @@ let StudentTrainingAppointmentEntity = StudentTrainingAppointmentEntity_1 = clas
|
|
|
63
64
|
* If the field "endDate" is not set, it calculates it based on the start date and duration
|
|
64
65
|
* @returns Date - The end date of the training appointment
|
|
65
66
|
*/
|
|
66
|
-
getEndDate() {
|
|
67
|
+
async getEndDate() {
|
|
67
68
|
let endDate = this.endDate;
|
|
68
69
|
if (!endDate) {
|
|
69
|
-
if (this.duration) {
|
|
70
|
-
endDate = luxon_1.DateTime.fromJSDate(this.startDate).plus({ minutes: this.duration }).toJSDate();
|
|
70
|
+
if (this.duration !== null && this.duration !== undefined) {
|
|
71
|
+
endDate = luxon_1.DateTime.fromJSDate(this.startDate).plus({ minutes: Number(this.duration) }).toJSDate();
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
const training = await this.training;
|
|
75
|
+
const course = await training.course;
|
|
76
|
+
const product = await course.product;
|
|
77
|
+
if (product.catalogType === shared_1.CatalogType.Preparation && !course.isFixed) {
|
|
78
|
+
const schedule = await this.schedule;
|
|
79
|
+
const appointment = await schedule?.getAppointment(this.startDate);
|
|
80
|
+
endDate = appointment?.endDate ?? null;
|
|
81
|
+
}
|
|
71
82
|
}
|
|
72
83
|
}
|
|
73
84
|
return endDate;
|
|
74
85
|
}
|
|
86
|
+
async getSessionPrice() {
|
|
87
|
+
const training = await this.training;
|
|
88
|
+
const course = await training.course;
|
|
89
|
+
if (!course.price) {
|
|
90
|
+
return 0;
|
|
91
|
+
}
|
|
92
|
+
const product = await course.getProduct();
|
|
93
|
+
if (!product) {
|
|
94
|
+
return null;
|
|
95
|
+
}
|
|
96
|
+
if (product.catalogType === shared_1.CatalogType.Driving) {
|
|
97
|
+
return course.price;
|
|
98
|
+
}
|
|
99
|
+
const totalParts = await course.getTotalParts();
|
|
100
|
+
if (!totalParts) {
|
|
101
|
+
return 0;
|
|
102
|
+
}
|
|
103
|
+
const price = course.price / totalParts;
|
|
104
|
+
return Number(price.toFixed(2));
|
|
105
|
+
}
|
|
75
106
|
/**
|
|
76
107
|
* Student traning session
|
|
77
108
|
* Extended version of appointment with training session details
|
|
@@ -141,6 +172,77 @@ let StudentTrainingAppointmentEntity = StudentTrainingAppointmentEntity_1 = clas
|
|
|
141
172
|
const companyTraining = await training.getCourse();
|
|
142
173
|
return companyTraining.isFixed;
|
|
143
174
|
}
|
|
175
|
+
async getTrainingLesson() {
|
|
176
|
+
return await this.lesson;
|
|
177
|
+
}
|
|
178
|
+
async getCourseLesson() {
|
|
179
|
+
const trainingLesson = await this.lesson;
|
|
180
|
+
return trainingLesson ? await trainingLesson.getCourseLesson() : null;
|
|
181
|
+
}
|
|
182
|
+
async getCourse() {
|
|
183
|
+
return await course_entity_1.CompanyCourseEntity.createQueryBuilder('course')
|
|
184
|
+
.innerJoin('course.trainings', 'training')
|
|
185
|
+
.innerJoin('training.appointments', 'appointment')
|
|
186
|
+
.where('appointment.id = :appointmentId', { appointmentId: this.id })
|
|
187
|
+
.getOne();
|
|
188
|
+
}
|
|
189
|
+
async getStudent() {
|
|
190
|
+
return await student_entity_1.StudentEntity.createQueryBuilder('student')
|
|
191
|
+
.innerJoin('student.trainings', 'training')
|
|
192
|
+
.innerJoin('training.appointments', 'appointment')
|
|
193
|
+
.where('appointment.id = :appointmentId', { appointmentId: this.id })
|
|
194
|
+
.getOne();
|
|
195
|
+
}
|
|
196
|
+
async getSessionNumber() {
|
|
197
|
+
if (this.status === shared_1.StatusType.Canceled) {
|
|
198
|
+
return null;
|
|
199
|
+
}
|
|
200
|
+
const count = await StudentTrainingAppointmentEntity_1.countBy({
|
|
201
|
+
trainingId: this.trainingId,
|
|
202
|
+
startDate: (0, typeorm_1.LessThan)(this.startDate)
|
|
203
|
+
});
|
|
204
|
+
return count + 1;
|
|
205
|
+
}
|
|
206
|
+
async isInObligationPeriod() {
|
|
207
|
+
const training = await this.training;
|
|
208
|
+
const course = await training.course;
|
|
209
|
+
const company = await course.getCompany();
|
|
210
|
+
if (company.obligationPeriod === null || company.obligationPeriod === undefined) {
|
|
211
|
+
return false;
|
|
212
|
+
}
|
|
213
|
+
const obligationPeriodStart = luxon_1.DateTime.fromJSDate(this.startDate)
|
|
214
|
+
.minus({ days: company.obligationPeriod })
|
|
215
|
+
.toJSDate();
|
|
216
|
+
const now = luxon_1.DateTime.now().toJSDate();
|
|
217
|
+
if (now >= obligationPeriodStart) {
|
|
218
|
+
return true;
|
|
219
|
+
}
|
|
220
|
+
return false;
|
|
221
|
+
}
|
|
222
|
+
async getAppointmentInstructor() {
|
|
223
|
+
const training = await this.training;
|
|
224
|
+
const course = await training.getCourse();
|
|
225
|
+
const product = await course.getProduct();
|
|
226
|
+
if (product.catalogType === shared_1.CatalogType.Preparation) {
|
|
227
|
+
if (this.scheduleId) {
|
|
228
|
+
// flexible course
|
|
229
|
+
const schedule = await this.schedule;
|
|
230
|
+
const instructorId = schedule.getAppointmentInstructorId(luxon_1.DateTime.fromJSDate(this.startDate));
|
|
231
|
+
return instructor_entity_1.CompanyInstructorEntity.findOneBy({ id: instructorId });
|
|
232
|
+
}
|
|
233
|
+
else {
|
|
234
|
+
// fixed course
|
|
235
|
+
const lesson = await this.lesson;
|
|
236
|
+
return lesson.instructor;
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
else if (product.catalogType === shared_1.CatalogType.Driving) {
|
|
240
|
+
return this.instructor;
|
|
241
|
+
}
|
|
242
|
+
else {
|
|
243
|
+
return null;
|
|
244
|
+
}
|
|
245
|
+
}
|
|
144
246
|
async getActivities() {
|
|
145
247
|
const activities = [];
|
|
146
248
|
activities.push(await (0, activity_helper_1.toActivity)(this.createdBy, this.createdOn, shared_1.ActivityType.created));
|
|
@@ -307,7 +409,7 @@ __decorate([
|
|
|
307
409
|
__metadata("design:type", Promise)
|
|
308
410
|
], StudentTrainingAppointmentEntity.prototype, "lesson", void 0);
|
|
309
411
|
__decorate([
|
|
310
|
-
(0, typeorm_1.ManyToOne)(() =>
|
|
412
|
+
(0, typeorm_1.ManyToOne)(() => schedule_entity_1.CompanyCourseScheduleEntity, schedule => schedule.studentSchedule),
|
|
311
413
|
__metadata("design:type", Promise)
|
|
312
414
|
], StudentTrainingAppointmentEntity.prototype, "schedule", void 0);
|
|
313
415
|
__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"appointment.entity.js","sourceRoot":"","sources":["../../../../../src/profile/student/program/training/appointment.entity.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"appointment.entity.js","sourceRoot":"","sources":["../../../../../src/profile/student/program/training/appointment.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,4CAA+E;AAC/E,4CAAqE;AACrE,4CAAuG;AACvG,iCAAiC;AACjC,qCAAwE;AAExE,uEAA+D;AAC/D,2DAA8D;AAC9D,yEAA4E;AAC5E,6EAAsF;AACtF,qFAAwF;AACxF,yDAAqD;AACrD,+CAA0D;AAC1D,mDAA8D;AAC9D,uDAA0D;AAGnD,IAAM,gCAAgC,wCAAtC,MAAM,gCAAiC,SAAQ,2BAA4B;IAyPjF,YAAY,KAAiD;QAC5D,KAAK,EAAE,CAAC;QACR,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,OAAO;QACZ,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC;QACrC,OAAO,IAAI,oBAAW,CAAC;YACtB,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAO,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;YAClE,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI;YAC9E,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,IAAI,CAAC,OAAO;SACrB,CAAC,CAAC;IACJ,CAAC;IAED,SAAS;QACR,OAAO,IAAI,oBAAW,CAAC;YACtB,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,IAAI,CAAC,OAAO;SACrB,CAAC,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,UAAU;QACf,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC3B,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3D,OAAO,GAAG,gBAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;YACnG,CAAC;iBAAM,CAAC;gBACP,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC;gBACrC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;gBACrC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;gBACrC,IAAI,OAAO,CAAC,WAAW,KAAK,oBAAW,CAAC,WAAW,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACxE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC;oBACrC,MAAM,WAAW,GAAG,MAAM,QAAQ,EAAE,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBACnE,OAAO,GAAG,WAAW,EAAE,OAAO,IAAI,IAAI,CAAC;gBACxC,CAAC;YACF,CAAC;QACF,CAAC;QACD,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,eAAe;QACpB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC;QACrC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACnB,OAAO,CAAC,CAAC;QACV,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;QAC1C,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,OAAO,IAAI,CAAC;QACb,CAAC;QAED,IAAI,OAAO,CAAC,WAAW,KAAK,oBAAW,CAAC,OAAO,EAAE,CAAC;YACjD,OAAO,MAAM,CAAC,KAAK,CAAC;QACrB,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,aAAa,EAAE,CAAC;QAChD,IAAI,CAAC,UAAU,EAAE,CAAC;YACjB,OAAO,CAAC,CAAC;QACV,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC;QACxC,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,SAAS;QAEd,MAAM,OAAO,GAAG,IAAI,wBAAe,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACrD,OAAO,CAAC,WAAW,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QAC3C,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAEzC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC;QACrC,OAAO,CAAC,QAAQ,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;QAE5C,MAAM,aAAa,GAAG,MAAM,mCAAmB,CAAC,kBAAkB,CAAC,IAAI,CAAC;aACtE,SAAS,CAAC,uCAAqB,EAAE,IAAI,EAAE,qBAAqB,CAAC;aAC7D,KAAK,CAAC,qBAAqB,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;aAC7D,MAAM,EAAE,CAAC;QACX,OAAO,CAAC,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,EAAE,CAAC;QAE/C,iBAAiB;QACjB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QACxD,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAExD,iBAAiB;QACjB,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QACnD,OAAO,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAEzF,gDAAgD;QAChD,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,sBAAa,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC;QACzE,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,mBAAU,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC;QAEnE,mCAAmC;QACnC,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE;YAC5C,MAAM,QAAQ,GAAG,aAAa,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC;YACpE,KAAK,CAAC,KAAK,GAAG,QAAQ,EAAE,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC;YAC7C,KAAK,CAAC,WAAW,GAAG,QAAQ,EAAE,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC;YAC/D,KAAK,CAAC,IAAI,GAAG,QAAQ,EAAE,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC;YAC1C,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE;gBACxC,MAAM,KAAK,GAAG,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC9D,KAAK,CAAC,KAAK,GAAG,KAAK,EAAE,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC;gBAC1C,OAAO,KAAK,CAAC;YACd,CAAC,CAAC,IAAI,EAAE,CAAC;YACT,OAAO,KAAK,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,uBAAuB;QACvB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,aAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAE7D,qBAAqB;QACrB,MAAM,oBAAoB,GAAG,MAAM,kCAAgC,CAAC,kBAAkB,CAAC,KAAK,CAAC;aAC3F,KAAK,CAAC,8BAA8B,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;aACtE,QAAQ,CAAC,0BAA0B,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;aAChE,QAAQ,CAAC,sBAAsB,CAAC;aAChC,OAAO,EAAE,CAAC;QAEZ,OAAO,CAAC,KAAK,GAAG,oBAAoB,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,aAAI,CAAC,UAAU,CAAC,CAAC;QAE5E,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,mBAAmB;YACnB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC;YAC7B,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACnD,CAAC;QAED,yCAAyC;QACzC,MAAM,qBAAqB,GAAG,MAAM,kCAAgC;aAClE,kBAAkB,CAAC,KAAK,CAAC;aACzB,KAAK,CAAC,8BAA8B,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;aACtE,QAAQ,CAAC,4BAA4B,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;aACrE,QAAQ,CAAC,+BAA+B,EAAE,EAAE,cAAc,EAAE,mBAAU,CAAC,QAAQ,EAAE,CAAC;aAClF,QAAQ,EAAE,CAAC;QAEb,4CAA4C;QAC5C,OAAO,CAAC,MAAM,GAAG,qBAAqB,GAAG,CAAC,CAAC;QAE3C,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,OAAO;QACZ,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC;QACrC,MAAM,eAAe,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,CAAC;QACnD,OAAO,eAAe,CAAC,OAAO,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,iBAAiB;QACtB,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,eAAe;QACpB,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC;QACzC,OAAO,cAAc,CAAC,CAAC,CAAC,MAAM,cAAc,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,SAAS;QACd,OAAO,MAAM,mCAAmB,CAAC,kBAAkB,CAAC,QAAQ,CAAC;aAC3D,SAAS,CAAC,kBAAkB,EAAE,UAAU,CAAC;aACzC,SAAS,CAAC,uBAAuB,EAAE,aAAa,CAAC;aACjD,KAAK,CAAC,iCAAiC,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;aACpE,MAAM,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,CAAC,UAAU;QACf,OAAO,MAAM,8BAAa,CAAC,kBAAkB,CAAC,SAAS,CAAC;aACtD,SAAS,CAAC,mBAAmB,EAAE,UAAU,CAAC;aAC1C,SAAS,CAAC,uBAAuB,EAAE,aAAa,CAAC;aACjD,KAAK,CAAC,iCAAiC,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;aACpE,MAAM,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,CAAC,gBAAgB;QACrB,IAAI,IAAI,CAAC,MAAM,KAAK,mBAAU,CAAC,QAAQ,EAAE,CAAC;YACzC,OAAO,IAAI,CAAC;QACb,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,kCAAgC,CAAC,OAAO,CAAC;YAC5D,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,SAAS,EAAE,IAAA,kBAAQ,EAAC,IAAI,CAAC,SAAS,CAAC;SACnC,CAAC,CAAC;QACH,OAAO,KAAK,GAAG,CAAC,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,oBAAoB;QACzB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC;QACrC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;QACrC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;QAE1C,IAAI,OAAO,CAAC,gBAAgB,KAAK,IAAI,IAAI,OAAO,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACjF,OAAO,KAAK,CAAC;QACd,CAAC;QAED,MAAM,qBAAqB,GAAG,gBAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;aAC/D,KAAK,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,gBAAgB,EAAE,CAAC;aACzC,QAAQ,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,gBAAQ,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;QACtC,IAAI,GAAG,IAAI,qBAAqB,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC;QACb,CAAC;QAED,OAAO,KAAK,CAAC;IACd,CAAC;IAED,KAAK,CAAC,wBAAwB;QAC7B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC;QACrC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;QAC1C,IAAI,OAAO,CAAC,WAAW,KAAK,oBAAW,CAAC,WAAW,EAAE,CAAC;YACrD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACrB,kBAAkB;gBAClB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC;gBACrC,MAAM,YAAY,GAAG,QAAQ,CAAC,0BAA0B,CACvD,gBAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CACnC,CAAC;gBACF,OAAO,2CAAuB,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;YAChE,CAAC;iBAAM,CAAC;gBACP,eAAe;gBACf,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC;gBACjC,OAAO,MAAM,CAAC,UAAU,CAAC;YAC1B,CAAC;QACF,CAAC;aAAM,IAAI,OAAO,CAAC,WAAW,KAAK,oBAAW,CAAC,OAAO,EAAE,CAAC;YACxD,OAAO,IAAI,CAAC,UAAU,CAAC;QACxB,CAAC;aAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACb,CAAC;IACF,CAAC;IAED,KAAK,CAAC,aAAa;QAClB,MAAM,UAAU,GAAe,EAAE,CAAC;QAClC,UAAU,CAAC,IAAI,CAAC,MAAM,IAAA,4BAAU,EAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,qBAAY,CAAC,OAAO,CAAC,CAAC,CAAC;QACxF,UAAU,CAAC,IAAI,CAAC,MAAM,IAAA,4BAAU,EAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,qBAAY,CAAC,OAAO,CAAC,CAAC,CAAC;QACxF,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;CACD,CAAA;AAxfY,4EAAgC;AAM5C;IADC,IAAA,gBAAM,GAAE;;oEACU;AAWnB;IAJC,IAAA,gBAAM,EAAC;QACP,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,IAAI;KACb,CAAC;;kEACe;AASjB;IAJC,IAAA,gBAAM,EAAC;QACP,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,IAAI;KACb,CAAC;;oEACiB;AAWnB;IAJC,IAAA,gBAAM,EAAC;QACP,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,IAAI;KACb,CAAC;;sEACmB;AAYrB;IANC,IAAA,gBAAM,EAAC;QACP,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,CAAC,wBAAe,CAAC,MAAM,EAAE,wBAAe,CAAC,OAAO,EAAE,wBAAe,CAAC,OAAO,EAAE,wBAAe,CAAC,OAAO,EAAE,wBAAe,CAAC,UAAU,EAAE,wBAAe,CAAC,MAAM,EAAE,wBAAe,CAAC,IAAI,CAAC;QACnL,OAAO,EAAE,wBAAe,CAAC,OAAO;KAChC,CAAC;;8DACoB;AAiBtB;IAVC,IAAA,gBAAM,EAAC;QACP,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE;YACL,mBAAU,CAAC,OAAO;YAClB,mBAAU,CAAC,SAAS;YACpB,mBAAU,CAAC,QAAQ;SACnB;QACD,OAAO,EAAE,mBAAU,CAAC,OAAO;KAC3B,CAAC;;gEACiB;AAMnB;IADC,IAAA,gBAAM,GAAE;8BACE,IAAI;mEAAC;AAahB;IAJC,IAAA,gBAAM,EAAC;QACP,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,IAAI;KACb,CAAC;8BACO,IAAI;iEAAC;AAMd;IADC,IAAA,gBAAM,EAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;kEACT;AAalB;IAPC,IAAA,gBAAM,EAAC;QACP,IAAI,EAAE,SAAS;QACf,SAAS,EAAE,CAAC;QACZ,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,CAAC;KACV,CAAC;;+DACY;AAUd;IAJC,IAAA,gBAAM,EAAC;QACP,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,EAAE;KACX,CAAC;;kEACe;AAWjB;IALC,IAAA,gBAAM,EAAC;QACP,IAAI,EAAE,aAAa;QACnB,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,IAAI;KACb,CAAC;8BACQ,gBAAO;kEAAC;AAUlB;IAJC,IAAA,gBAAM,EAAC;QACP,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,KAAK;KACd,CAAC;;gEACc;AAOhB;IADC,IAAA,gBAAM,EAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;iEACT;AASjB;IAJC,IAAA,gBAAM,EAAC;QACP,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,IAAI;KACb,CAAC;;sEACmB;AAYrB;IALC,IAAA,gBAAM,EAAC;QACP,IAAI,EAAE,aAAa;QACnB,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,IAAI;KACb,CAAC;;gEACsB;AAaxB;IALC,IAAA,gBAAM,EAAC;QACP,IAAI,EAAE,aAAa;QACnB,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,IAAI;KACb,CAAC;;gEACmB;AAUrB;IALC,IAAA,gBAAM,EAAC;QACP,IAAI,EAAE,aAAa;QACnB,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,IAAI;KACb,CAAC;8BACI,aAAI;8DAAC;AAMX;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;8BAC9B,IAAI;oEAAC;AAMjB;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;8BAC3B,IAAI;uEAAC;AAMpB;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;uEACpB;AAMtB;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;8BAC9B,IAAI;oEAAC;AAMjB;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;oEACvB;AAMnB;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,uCAAqB,EAAE,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;;kEACjC;AAMzC;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,2CAA2B,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC;;gEAC/B;AAO7C;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,6CAA2B,EAAE,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;;kEACpC;AAM/C;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,2CAAuB,EAAE,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,2BAA2B,CAAC;;oEAClD;AAM7C;IADC,IAAA,kBAAQ,EAAC,GAAG,EAAE,CAAC,uCAAyB,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC;;8DAC3B;2CAvP7B,gCAAgC;IAD5C,IAAA,gBAAM,EAAC,6BAA6B,CAAC;;GACzB,gCAAgC,CAwf5C"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { StudentTrainingAppointmentEntity } from './appointment.entity';
|
|
1
|
+
import { Activity, Feedback, Note, Person, TrainingExam } from '@driveup/common';
|
|
3
2
|
import { TrackableEntity } from '../../../../utils/trackable';
|
|
3
|
+
import { StudentEntity } from '../../student.entity';
|
|
4
|
+
import { StudentTrainingAppointmentEntity } from './appointment.entity';
|
|
4
5
|
export declare class StudentTrainingExamEntity extends TrackableEntity<TrainingExam> {
|
|
5
6
|
/**
|
|
6
7
|
* Reference to the appointment during which this exam took place
|
|
@@ -36,5 +37,6 @@ export declare class StudentTrainingExamEntity extends TrackableEntity<TrainingE
|
|
|
36
37
|
constructor(props?: Partial<StudentTrainingExamEntity>);
|
|
37
38
|
toModel(): Promise<TrainingExam>;
|
|
38
39
|
toSummary(): Promise<TrainingExam>;
|
|
40
|
+
getStudent(): Promise<StudentEntity>;
|
|
39
41
|
getActivities(): Promise<Activity[]>;
|
|
40
42
|
}
|
|
@@ -10,13 +10,14 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.StudentTrainingExamEntity = void 0;
|
|
13
|
-
const typeorm_1 = require("typeorm");
|
|
14
|
-
const shared_1 = require("@driveup/shared");
|
|
15
13
|
const common_1 = require("@driveup/common");
|
|
14
|
+
const shared_1 = require("@driveup/shared");
|
|
15
|
+
const typeorm_1 = require("typeorm");
|
|
16
|
+
const activity_helper_1 = require("../../../../utils/activity.helper");
|
|
17
|
+
const trackable_1 = require("../../../../utils/trackable");
|
|
18
|
+
const student_entity_1 = require("../../student.entity");
|
|
16
19
|
const appointment_entity_1 = require("./appointment.entity");
|
|
17
20
|
const topic_entity_1 = require("./topic.entity");
|
|
18
|
-
const trackable_1 = require("../../../../utils/trackable");
|
|
19
|
-
const activity_helper_1 = require("../../../../utils/activity.helper");
|
|
20
21
|
let StudentTrainingExamEntity = class StudentTrainingExamEntity extends trackable_1.TrackableEntity {
|
|
21
22
|
constructor(props) {
|
|
22
23
|
super();
|
|
@@ -46,6 +47,13 @@ let StudentTrainingExamEntity = class StudentTrainingExamEntity extends trackabl
|
|
|
46
47
|
passed: this.passed
|
|
47
48
|
});
|
|
48
49
|
}
|
|
50
|
+
async getStudent() {
|
|
51
|
+
return await student_entity_1.StudentEntity.createQueryBuilder('student')
|
|
52
|
+
.innerJoin('student.trainings', 'training')
|
|
53
|
+
.innerJoin('training.appointments', 'appointment')
|
|
54
|
+
.where('appointment.id = :appointmentId', { appointmentId: this.appointmentId })
|
|
55
|
+
.getOne();
|
|
56
|
+
}
|
|
49
57
|
async getActivities() {
|
|
50
58
|
const activities = [];
|
|
51
59
|
activities.push(await (0, activity_helper_1.toActivity)(this.createdBy, this.createdOn, shared_1.ActivityType.created));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exam.entity.js","sourceRoot":"","sources":["../../../../../src/profile/student/program/training/exam.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAA+D;
|
|
1
|
+
{"version":3,"file":"exam.entity.js","sourceRoot":"","sources":["../../../../../src/profile/student/program/training/exam.entity.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { Activity, Lesson } from '@driveup/common';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { CompanyInstructorEntity } from '../../../company/instructor/instructor.entity';
|
|
2
|
+
import { TrackableEntity } from '../../../../utils/trackable';
|
|
3
|
+
import { CompanyCourseEntity } from '../../../company/course/course.entity';
|
|
5
4
|
import { CompanyCourseLessonEntity } from '../../../company/course/lesson.entity';
|
|
5
|
+
import { CompanyInstructorEntity } from '../../../company/instructor/instructor.entity';
|
|
6
|
+
import { StudentEntity } from '../../student.entity';
|
|
7
|
+
import { StudentTrainingAppointmentEntity } from './appointment.entity';
|
|
6
8
|
import { StudentTrainingTopicEntity } from './topic.entity';
|
|
7
|
-
import {
|
|
9
|
+
import { StudentTrainingEntity } from './training.entity';
|
|
8
10
|
export declare class StudentTrainingLessonEntity extends TrackableEntity<Lesson> {
|
|
9
11
|
/**
|
|
10
12
|
* Student training
|
|
@@ -80,5 +82,9 @@ export declare class StudentTrainingLessonEntity extends TrackableEntity<Lesson>
|
|
|
80
82
|
constructor(props?: Partial<StudentTrainingLessonEntity>);
|
|
81
83
|
toModel(): Promise<Lesson>;
|
|
82
84
|
toSummary(): Promise<Lesson>;
|
|
85
|
+
getCourse(): Promise<CompanyCourseEntity>;
|
|
86
|
+
getTraining(): Promise<StudentTrainingEntity>;
|
|
87
|
+
getCourseLesson(): Promise<CompanyCourseLessonEntity>;
|
|
88
|
+
getStudent(): Promise<StudentEntity>;
|
|
83
89
|
getActivities(): Promise<Activity[]>;
|
|
84
90
|
}
|
|
@@ -10,16 +10,18 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.StudentTrainingLessonEntity = void 0;
|
|
13
|
-
const typeorm_1 = require("typeorm");
|
|
14
|
-
const shared_1 = require("@driveup/shared");
|
|
15
13
|
const common_1 = require("@driveup/common");
|
|
16
|
-
const
|
|
17
|
-
const
|
|
18
|
-
const
|
|
14
|
+
const shared_1 = require("@driveup/shared");
|
|
15
|
+
const typeorm_1 = require("typeorm");
|
|
16
|
+
const activity_helper_1 = require("../../../../utils/activity.helper");
|
|
17
|
+
const trackable_1 = require("../../../../utils/trackable");
|
|
18
|
+
const course_entity_1 = require("../../../company/course/course.entity");
|
|
19
19
|
const lesson_entity_1 = require("../../../company/course/lesson.entity");
|
|
20
|
+
const instructor_entity_1 = require("../../../company/instructor/instructor.entity");
|
|
21
|
+
const student_entity_1 = require("../../student.entity");
|
|
22
|
+
const appointment_entity_1 = require("./appointment.entity");
|
|
20
23
|
const topic_entity_1 = require("./topic.entity");
|
|
21
|
-
const
|
|
22
|
-
const activity_helper_1 = require("../../../../utils/activity.helper");
|
|
24
|
+
const training_entity_1 = require("./training.entity");
|
|
23
25
|
let StudentTrainingLessonEntity = class StudentTrainingLessonEntity extends trackable_1.TrackableEntity {
|
|
24
26
|
constructor(props) {
|
|
25
27
|
super();
|
|
@@ -42,6 +44,29 @@ let StudentTrainingLessonEntity = class StudentTrainingLessonEntity extends trac
|
|
|
42
44
|
toSummary() {
|
|
43
45
|
return this.toModel();
|
|
44
46
|
}
|
|
47
|
+
async getCourse() {
|
|
48
|
+
return await course_entity_1.CompanyCourseEntity.createQueryBuilder('course')
|
|
49
|
+
.innerJoin('course.lessons', 'lesson')
|
|
50
|
+
.innerJoin('lesson.studentLessons', 'studentLesson')
|
|
51
|
+
.where('studentLesson.id = :lessonId', { lessonId: this.id })
|
|
52
|
+
.getOne();
|
|
53
|
+
}
|
|
54
|
+
async getTraining() {
|
|
55
|
+
return await training_entity_1.StudentTrainingEntity.createQueryBuilder('training')
|
|
56
|
+
.innerJoin('training.lessons', 'lesson')
|
|
57
|
+
.where('lesson.id = :lessonId', { lessonId: this.id })
|
|
58
|
+
.getOne();
|
|
59
|
+
}
|
|
60
|
+
async getCourseLesson() {
|
|
61
|
+
return await this.lesson;
|
|
62
|
+
}
|
|
63
|
+
async getStudent() {
|
|
64
|
+
return await student_entity_1.StudentEntity.createQueryBuilder('student')
|
|
65
|
+
.innerJoin('student.trainings', 'training')
|
|
66
|
+
.innerJoin('training.lessons', 'lesson')
|
|
67
|
+
.where('lesson.id = :lessonId', { lessonId: this.id })
|
|
68
|
+
.getOne();
|
|
69
|
+
}
|
|
45
70
|
async getActivities() {
|
|
46
71
|
const activities = [];
|
|
47
72
|
activities.push(await (0, activity_helper_1.toActivity)(this.createdBy, this.createdOn, shared_1.ActivityType.created));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lesson.entity.js","sourceRoot":"","sources":["../../../../../src/profile/student/program/training/lesson.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"lesson.entity.js","sourceRoot":"","sources":["../../../../../src/profile/student/program/training/lesson.entity.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { CarTransmission, StatusType } from '@driveup/shared';
|
|
2
1
|
import { Activity, TrainingRequest } from '@driveup/common';
|
|
3
|
-
import {
|
|
4
|
-
import { CompanyCourseEntity } from '../../../company/course/course.entity';
|
|
2
|
+
import { CarTransmission, StatusType } from '@driveup/shared';
|
|
5
3
|
import { TrackableEntity } from '../../../../utils/trackable';
|
|
4
|
+
import { CompanyCourseEntity } from '../../../company/course/course.entity';
|
|
5
|
+
import { CompanyInstructorEntity } from '../../../company/instructor/instructor.entity';
|
|
6
|
+
import { StudentProgramEntity } from '../program.entity';
|
|
6
7
|
export declare class StudentTrainingRequestEntity extends TrackableEntity<TrainingRequest> {
|
|
7
8
|
/**
|
|
8
9
|
* Student program
|
|
@@ -54,4 +55,6 @@ export declare class StudentTrainingRequestEntity extends TrackableEntity<Traini
|
|
|
54
55
|
toModel(): Promise<TrainingRequest>;
|
|
55
56
|
toSummary(): Promise<TrainingRequest>;
|
|
56
57
|
getActivities(): Promise<Activity[]>;
|
|
58
|
+
getAcceptedBy(): Promise<CompanyInstructorEntity>;
|
|
59
|
+
getRejectedBy(): Promise<CompanyInstructorEntity>;
|
|
57
60
|
}
|
|
@@ -10,13 +10,14 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.StudentTrainingRequestEntity = void 0;
|
|
13
|
-
const typeorm_1 = require("typeorm");
|
|
14
|
-
const shared_1 = require("@driveup/shared");
|
|
15
13
|
const common_1 = require("@driveup/common");
|
|
16
|
-
const
|
|
17
|
-
const
|
|
18
|
-
const trackable_1 = require("../../../../utils/trackable");
|
|
14
|
+
const shared_1 = require("@driveup/shared");
|
|
15
|
+
const typeorm_1 = require("typeorm");
|
|
19
16
|
const activity_helper_1 = require("../../../../utils/activity.helper");
|
|
17
|
+
const trackable_1 = require("../../../../utils/trackable");
|
|
18
|
+
const course_entity_1 = require("../../../company/course/course.entity");
|
|
19
|
+
const instructor_entity_1 = require("../../../company/instructor/instructor.entity");
|
|
20
|
+
const program_entity_1 = require("../program.entity");
|
|
20
21
|
let StudentTrainingRequestEntity = class StudentTrainingRequestEntity extends trackable_1.TrackableEntity {
|
|
21
22
|
constructor(props) {
|
|
22
23
|
super();
|
|
@@ -44,6 +45,26 @@ let StudentTrainingRequestEntity = class StudentTrainingRequestEntity extends tr
|
|
|
44
45
|
activities.push(await (0, activity_helper_1.toActivity)(this.rejectedBy, this.rejectedOn, shared_1.ActivityType.rejected));
|
|
45
46
|
return activities.filter(a => a);
|
|
46
47
|
}
|
|
48
|
+
async getAcceptedBy() {
|
|
49
|
+
if (!this.acceptedBy)
|
|
50
|
+
return null;
|
|
51
|
+
const company = await (await this.course).getCompany();
|
|
52
|
+
return await instructor_entity_1.CompanyInstructorEntity.createQueryBuilder('ci')
|
|
53
|
+
.innerJoin('ci.instructor', 'i') // instructor profile
|
|
54
|
+
.where('i.userId = :userId', { userId: this.acceptedBy })
|
|
55
|
+
.andWhere('ci.companyId = :companyId', { companyId: company.id })
|
|
56
|
+
.getOne();
|
|
57
|
+
}
|
|
58
|
+
async getRejectedBy() {
|
|
59
|
+
if (!this.rejectedBy)
|
|
60
|
+
return null;
|
|
61
|
+
const company = await (await this.course).getCompany();
|
|
62
|
+
return await instructor_entity_1.CompanyInstructorEntity.createQueryBuilder('ci')
|
|
63
|
+
.innerJoin('ci.instructor', 'i') // instructor profile
|
|
64
|
+
.where('i.userId = :userId', { userId: this.rejectedBy })
|
|
65
|
+
.andWhere('ci.companyId = :companyId', { companyId: company.id })
|
|
66
|
+
.getOne();
|
|
67
|
+
}
|
|
47
68
|
};
|
|
48
69
|
exports.StudentTrainingRequestEntity = StudentTrainingRequestEntity;
|
|
49
70
|
__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.entity.js","sourceRoot":"","sources":["../../../../../src/profile/student/program/training/request.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"request.entity.js","sourceRoot":"","sources":["../../../../../src/profile/student/program/training/request.entity.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
import { Activity,
|
|
1
|
+
import { Activity, Skill, Topic } from '@driveup/common';
|
|
2
|
+
import { StatusType } from '@driveup/shared';
|
|
3
|
+
import { TrackableEntity } from '../../../../utils/trackable';
|
|
2
4
|
import { CompanyCourseTopicEntity } from '../../../company/course/topic.entity';
|
|
3
|
-
import {
|
|
5
|
+
import { StudentEntity } from '../../student.entity';
|
|
4
6
|
import { StudentTrainingAppointmentEntity } from './appointment.entity';
|
|
5
|
-
import {
|
|
7
|
+
import { StudentTrainingLessonEntity } from './lesson.entity';
|
|
8
|
+
import { StudentTrainingEntity } from './training.entity';
|
|
6
9
|
/**
|
|
7
10
|
* Student training topic entity representing topics within a training lesson.
|
|
8
11
|
* Topics are copied from company course topics and tracked individually per student.
|
|
@@ -43,8 +46,14 @@ export declare class StudentTrainingTopicEntity extends TrackableEntity<Topic> {
|
|
|
43
46
|
* Indicate if the topic has been completed by the student
|
|
44
47
|
*/
|
|
45
48
|
done: boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Training Topic status.
|
|
51
|
+
* Can be a value from [StatusType.Planned, StatusType.Progress, StatusType.Completed, StatusType.Skipped, StatusType.Failed]
|
|
52
|
+
*/
|
|
53
|
+
status: StatusType;
|
|
46
54
|
/**
|
|
47
55
|
* Skills associated with this topic and their assessment scores
|
|
56
|
+
* - field "skillId" points to "CompanyCourseTopicEntity->skills->id"
|
|
48
57
|
*/
|
|
49
58
|
skills: Skill[];
|
|
50
59
|
/**
|
|
@@ -79,6 +88,8 @@ export declare class StudentTrainingTopicEntity extends TrackableEntity<Topic> {
|
|
|
79
88
|
* @returns Topic model instance (same as toModel())
|
|
80
89
|
*/
|
|
81
90
|
toSummary(): Topic;
|
|
91
|
+
getStudent(): Promise<StudentEntity>;
|
|
92
|
+
getTraining(): Promise<StudentTrainingEntity>;
|
|
82
93
|
/**
|
|
83
94
|
* Calculates the average score for this topic across all appointments
|
|
84
95
|
* @returns The average score or 0 if no scores are available
|