@driveup/schema 0.2.6 → 0.2.9
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 +7 -7
- package/lib/catalog/addon/addon.entity.js.map +1 -1
- package/lib/catalog/addon/country.entity.d.ts +4 -4
- package/lib/catalog/addon/country.entity.js +5 -6
- package/lib/catalog/addon/country.entity.js.map +1 -1
- package/lib/catalog/priceplan/priceplan.entity.d.ts +8 -3
- package/lib/catalog/priceplan/priceplan.entity.js +14 -7
- package/lib/catalog/priceplan/priceplan.entity.js.map +1 -1
- package/lib/catalog/product/country.entity.d.ts +6 -6
- package/lib/catalog/product/country.entity.js +9 -10
- package/lib/catalog/product/country.entity.js.map +1 -1
- package/lib/catalog/product/priceplan.entity.d.ts +9 -4
- package/lib/catalog/product/priceplan.entity.js +19 -9
- 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 +8 -8
- package/lib/catalog/product/product.entity.js.map +1 -1
- package/lib/catalog/program/program.entity.d.ts +2 -2
- package/lib/catalog/program/program.entity.js +7 -7
- 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 +6 -6
- package/lib/catalog/seed/assets/asset.entity.js.map +1 -1
- package/lib/catalog/seed/courses/course.entity.d.ts +4 -4
- package/lib/catalog/seed/courses/course.entity.js +9 -9
- package/lib/catalog/seed/courses/course.entity.js.map +1 -1
- package/lib/catalog/seed/courses/lesson.entity.d.ts +3 -3
- package/lib/catalog/seed/courses/lesson.entity.js +7 -7
- package/lib/catalog/seed/courses/lesson.entity.js.map +1 -1
- package/lib/catalog/seed/courses/topic.entity.d.ts +3 -3
- package/lib/catalog/seed/courses/topic.entity.js +8 -8
- package/lib/catalog/seed/courses/topic.entity.js.map +1 -1
- package/lib/catalog/seed/expense/category.entity.d.ts +2 -2
- package/lib/catalog/seed/expense/category.entity.js +6 -6
- package/lib/catalog/seed/expense/category.entity.js.map +1 -1
- package/lib/index.d.ts +2 -2
- package/lib/index.js +2 -2
- package/lib/index.js.map +1 -1
- package/lib/profile/agent/agent.entity.d.ts +13 -4
- package/lib/profile/agent/agent.entity.js +46 -20
- 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 +3 -3
- package/lib/profile/agent/payout.entity.js +6 -6
- 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 +80 -9
- package/lib/profile/company/company.entity.js +246 -36
- package/lib/profile/company/company.entity.js.map +1 -1
- package/lib/profile/company/course/appointment.entity.d.ts +73 -4
- package/lib/profile/company/course/appointment.entity.js +247 -0
- package/lib/profile/company/course/appointment.entity.js.map +1 -1
- package/lib/profile/company/course/course.entity.d.ts +41 -8
- package/lib/profile/company/course/course.entity.js +58 -12
- package/lib/profile/company/course/course.entity.js.map +1 -1
- package/lib/profile/company/course/lesson.entity.d.ts +30 -7
- package/lib/profile/company/course/lesson.entity.js +93 -12
- package/lib/profile/company/course/lesson.entity.js.map +1 -1
- package/lib/profile/company/course/schedule.entity.d.ts +276 -0
- package/lib/profile/company/course/schedule.entity.js +744 -0
- package/lib/profile/company/course/schedule.entity.js.map +1 -0
- package/lib/profile/company/course/topic.entity.d.ts +9 -4
- package/lib/profile/company/course/topic.entity.js +14 -7
- package/lib/profile/company/course/topic.entity.js.map +1 -1
- package/lib/profile/company/finances/billing/bill.entity.d.ts +9 -2
- package/lib/profile/company/finances/billing/bill.entity.js +38 -4
- package/lib/profile/company/finances/billing/bill.entity.js.map +1 -1
- package/lib/profile/company/finances/billing/item.entity.d.ts +8 -3
- package/lib/profile/company/finances/billing/item.entity.js +10 -6
- package/lib/profile/company/finances/billing/item.entity.js.map +1 -1
- package/lib/profile/company/finances/billing/transaction.entity.d.ts +7 -5
- 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 +8 -7
- package/lib/profile/company/finances/invoice/invoice.entity.js +15 -14
- 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 +24 -4
- package/lib/profile/company/finances/payment/method.entity.js +40 -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 +34 -17
- package/lib/profile/company/instructor/instructor.entity.js +143 -25
- 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 +4 -4
- package/lib/profile/company/medical/examination.entity.js +6 -6
- package/lib/profile/company/medical/examination.entity.js.map +1 -1
- package/lib/profile/company/medical/product.entity.d.ts +4 -5
- package/lib/profile/company/medical/product.entity.js +13 -14
- package/lib/profile/company/medical/product.entity.js.map +1 -1
- package/lib/profile/company/product/addon.entity.d.ts +3 -3
- package/lib/profile/company/product/addon.entity.js +6 -7
- package/lib/profile/company/product/addon.entity.js.map +1 -1
- package/lib/profile/company/product/priceplan.entity.d.ts +15 -13
- package/lib/profile/company/product/priceplan.entity.js +20 -16
- package/lib/profile/company/product/priceplan.entity.js.map +1 -1
- package/lib/profile/company/product/product.entity.d.ts +34 -8
- package/lib/profile/company/product/product.entity.js +70 -12
- 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 +31 -9
- package/lib/profile/instructor/instructor.entity.js.map +1 -1
- package/lib/profile/student/program/licence/licence.entity.d.ts +13 -5
- package/lib/profile/student/program/licence/licence.entity.js +19 -8
- package/lib/profile/student/program/licence/licence.entity.js.map +1 -1
- package/lib/profile/student/program/medical/certificate.entity.d.ts +3 -3
- package/lib/profile/student/program/medical/certificate.entity.js +6 -6
- package/lib/profile/student/program/medical/certificate.entity.js.map +1 -1
- package/lib/profile/student/program/medical/examination.entity.d.ts +4 -4
- package/lib/profile/student/program/medical/examination.entity.js +14 -14
- package/lib/profile/student/program/medical/examination.entity.js.map +1 -1
- package/lib/profile/student/program/program.entity.d.ts +4 -4
- package/lib/profile/student/program/program.entity.js +8 -13
- package/lib/profile/student/program/program.entity.js.map +1 -1
- package/lib/profile/student/program/training/appointment.entity.d.ts +32 -9
- package/lib/profile/student/program/training/appointment.entity.js +144 -21
- package/lib/profile/student/program/training/appointment.entity.js.map +1 -1
- package/lib/profile/student/program/training/exam.entity.d.ts +9 -2
- package/lib/profile/student/program/training/exam.entity.js +28 -12
- package/lib/profile/student/program/training/exam.entity.js.map +1 -1
- package/lib/profile/student/program/training/lesson.entity.d.ts +8 -3
- package/lib/profile/student/program/training/lesson.entity.js +28 -6
- 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 +16 -4
- package/lib/profile/student/program/training/topic.entity.js +36 -9
- package/lib/profile/student/program/training/topic.entity.js.map +1 -1
- package/lib/profile/student/program/training/training.entity.d.ts +50 -6
- package/lib/profile/student/program/training/training.entity.js +217 -33
- 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 +43 -6
- 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 +59 -11
- package/lib/profile/student/student.entity.js.map +1 -1
- package/lib/system/campaign/campaign.entity.d.ts +4 -4
- package/lib/system/campaign/campaign.entity.js +10 -10
- package/lib/system/campaign/campaign.entity.js.map +1 -1
- package/lib/system/campaign/gifcode.entity.d.ts +4 -4
- package/lib/system/campaign/gifcode.entity.js +8 -8
- package/lib/system/campaign/gifcode.entity.js.map +1 -1
- package/lib/system/country/country.entity.d.ts +8 -6
- 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 +14 -14
- 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/ical/ical.entity.d.ts +63 -0
- package/lib/system/ical/ical.entity.js +70 -0
- package/lib/system/ical/ical.entity.js.map +1 -0
- package/lib/system/policy/policy.entity.d.ts +2 -2
- package/lib/system/policy/policy.entity.js +8 -8
- 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 +5 -4
- package/lib/system/staff/staff.entity.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/user/alert.entity.d.ts +4 -3
- 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 +17 -2
- package/lib/user/device.entity.js +29 -3
- package/lib/user/device.entity.js.map +1 -1
- package/lib/user/notification.entity.d.ts +3 -3
- package/lib/user/notification.entity.js +8 -8
- package/lib/user/notification.entity.js.map +1 -1
- package/lib/user/ticket.entity.d.ts +8 -3
- package/lib/user/ticket.entity.js +16 -7
- package/lib/user/ticket.entity.js.map +1 -1
- package/lib/user/user.entity.d.ts +101 -89
- package/lib/user/user.entity.js +272 -270
- 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 +13 -2
- package/lib/utils/trackable.js +55 -0
- package/lib/utils/trackable.js.map +1 -1
- package/package.json +3 -3
|
@@ -105,6 +105,153 @@ let CompanyCourseScheduleEntity = class CompanyCourseScheduleEntity extends trac
|
|
|
105
105
|
const d = this.instructors?.find(i => i.date === date);
|
|
106
106
|
return d?.id ? await instructor_entity_1.CompanyInstructorEntity.findOneBy({ id: d.id }) : null;
|
|
107
107
|
}
|
|
108
|
+
/************************* Manage student appointments *************************/
|
|
109
|
+
/**
|
|
110
|
+
* Get list of related student training appointments, which's training is not terminated
|
|
111
|
+
* @param date Date - defaulted to this.startDate - Must be provided for flexible course appointments
|
|
112
|
+
* @returns StudentTrainingAppointmentEntity[]
|
|
113
|
+
*/
|
|
114
|
+
async getStudentAppointments(date = this.startDate) {
|
|
115
|
+
const course = await (await this.lesson).course;
|
|
116
|
+
if (!course.isFixed && !date) {
|
|
117
|
+
return [];
|
|
118
|
+
}
|
|
119
|
+
return await appointment_entity_1.StudentTrainingAppointmentEntity.createQueryBuilder('ta') // training appointment
|
|
120
|
+
.innerJoin('ta.training', 't') // training
|
|
121
|
+
.where('ta.scheduleId = :id', { id: this.id })
|
|
122
|
+
.andWhere('ta.startDate = :date', { date: date })
|
|
123
|
+
.andWhere('t.status != :terminatedStatus', { terminatedStatus: shared_1.StatusType.Terminated })
|
|
124
|
+
.getMany();
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Get total number of students who attended the appointment in the given date
|
|
128
|
+
* @param date Date - defaulted to this.startDate - Must be provided for flexible course appointments
|
|
129
|
+
*/
|
|
130
|
+
async getTotalAttended(date = this.startDate) {
|
|
131
|
+
const course = await (await this.lesson).course;
|
|
132
|
+
if (!course.isFixed && !date) {
|
|
133
|
+
return null;
|
|
134
|
+
}
|
|
135
|
+
return await appointment_entity_1.StudentTrainingAppointmentEntity.countBy({
|
|
136
|
+
scheduleId: this.id,
|
|
137
|
+
startDate: date,
|
|
138
|
+
attended: true
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Get total number of students who where absent in the appointment in the given date
|
|
143
|
+
* @param date Date - defaulted to this.startDate - Must be provided for flexible course appointments
|
|
144
|
+
*/
|
|
145
|
+
async getTotalAbsent(date = this.startDate) {
|
|
146
|
+
const course = await (await this.lesson).course;
|
|
147
|
+
if (!course.isFixed && !date) {
|
|
148
|
+
return null;
|
|
149
|
+
}
|
|
150
|
+
return await appointment_entity_1.StudentTrainingAppointmentEntity.countBy({
|
|
151
|
+
scheduleId: this.id,
|
|
152
|
+
startDate: date,
|
|
153
|
+
attended: false
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Get the count of taken seats for this appointment
|
|
158
|
+
* - Only applicable for preparation catalog type courses. Returns null for other catalog types.
|
|
159
|
+
* @param startDate Date - Optional - Only send for flexible courses to specify the desired appointment's startDate
|
|
160
|
+
* @returns number - count of registered student appointments for this appointment
|
|
161
|
+
*/
|
|
162
|
+
async getTakenSeats(startDate) {
|
|
163
|
+
const course = await this.getCourse();
|
|
164
|
+
const product = await course.product;
|
|
165
|
+
if (product.catalogType !== shared_1.CatalogType.Preparation) {
|
|
166
|
+
return null;
|
|
167
|
+
}
|
|
168
|
+
const count = await appointment_entity_1.StudentTrainingAppointmentEntity.countBy({
|
|
169
|
+
scheduleId: this.id,
|
|
170
|
+
startDate: startDate ?? this.startDate
|
|
171
|
+
});
|
|
172
|
+
return count;
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Get the count of present students for this appointment
|
|
176
|
+
* - Only applicable for preparation catalog type courses. Returns null for other catalog types.
|
|
177
|
+
* @param startDate Date - Optional - Only send for flexible courses to specify the desired appointment's startDate
|
|
178
|
+
* @returns number - count of attended student appointments for this appointment
|
|
179
|
+
*/
|
|
180
|
+
async getTotalPresentStudents(startDate) {
|
|
181
|
+
const course = await this.getCourse();
|
|
182
|
+
const product = await course.product;
|
|
183
|
+
if (product.catalogType !== shared_1.CatalogType.Preparation) {
|
|
184
|
+
return null;
|
|
185
|
+
}
|
|
186
|
+
const count = await appointment_entity_1.StudentTrainingAppointmentEntity.countBy({
|
|
187
|
+
scheduleId: this.id,
|
|
188
|
+
startDate: startDate ?? this.startDate,
|
|
189
|
+
attended: true
|
|
190
|
+
});
|
|
191
|
+
return count;
|
|
192
|
+
}
|
|
193
|
+
/************************* Flexible courses *************************/
|
|
194
|
+
/**
|
|
195
|
+
* Finds if there is an appointment in the given date (checking all of the updates), and returning it if is found
|
|
196
|
+
* @param date Date - the date to check if belongs to an existing appointment
|
|
197
|
+
* @returns Appointment if an appointment is found in the given date, null otherwise
|
|
198
|
+
*/
|
|
199
|
+
async getAppointment(date) {
|
|
200
|
+
// Note: other parts of the app depend on this method returning the instructor
|
|
201
|
+
// do not remove unless the dependencies are covered
|
|
202
|
+
// step 0 : prepare local variables
|
|
203
|
+
date = new Date(date);
|
|
204
|
+
let appointmentDate = luxon_1.DateTime.fromJSDate(date);
|
|
205
|
+
// step 1 : manage single appointment
|
|
206
|
+
if (!this.repetition) {
|
|
207
|
+
// if the start date matches the given date, return appointment information
|
|
208
|
+
// otherwise, appointment is not found
|
|
209
|
+
if (this.startDate.getTime() === date.getTime()) {
|
|
210
|
+
const instructor = await this.getAppointmentInstructor(appointmentDate);
|
|
211
|
+
const endDate = luxon_1.DateTime.fromJSDate(this.startDate)
|
|
212
|
+
.plus({ minutes: this.duration })
|
|
213
|
+
.toJSDate();
|
|
214
|
+
return new common_1.Appointment({
|
|
215
|
+
id: this.id,
|
|
216
|
+
startDate: this.startDate,
|
|
217
|
+
endDate,
|
|
218
|
+
instructor: instructor
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
return null;
|
|
222
|
+
}
|
|
223
|
+
// step 2 : make sure the date is inside the definition's time frame
|
|
224
|
+
if (date < this.startDate || (this.endDate && date > this.endDate)) {
|
|
225
|
+
return null;
|
|
226
|
+
}
|
|
227
|
+
// step 3 : check if the weekday of the given date, is one of the weekdays of the series
|
|
228
|
+
const weekdayMatches = this.weekdays.some(i => appointmentDate.weekday === common_1.DateHelper.getWeekdayNumber(i));
|
|
229
|
+
if (!weekdayMatches) {
|
|
230
|
+
return null;
|
|
231
|
+
}
|
|
232
|
+
// step 4 : check for updates in the time of the appointment
|
|
233
|
+
// if an update is made, then the given date doesn't point to an existing appointment
|
|
234
|
+
appointmentDate = this.getUpdatedDate(appointmentDate);
|
|
235
|
+
if (appointmentDate.toJSDate().getTime() !== date.getTime()) {
|
|
236
|
+
return null;
|
|
237
|
+
}
|
|
238
|
+
// step 5 : check if the appointment is deleted
|
|
239
|
+
const isDeleted = this.isDateSkipped(appointmentDate);
|
|
240
|
+
if (isDeleted) {
|
|
241
|
+
return null;
|
|
242
|
+
}
|
|
243
|
+
// step 6 : get the appointment instructor
|
|
244
|
+
const instructor = await this.getAppointmentInstructor(appointmentDate);
|
|
245
|
+
// step 7 : get the appointment duration and calculate the endDate
|
|
246
|
+
const appointmentDuration = this.getAppointmentDuration(appointmentDate);
|
|
247
|
+
const endDate = appointmentDate.plus({ minutes: appointmentDuration });
|
|
248
|
+
return new common_1.Appointment({
|
|
249
|
+
id: this.id,
|
|
250
|
+
startDate: appointmentDate.toJSDate(),
|
|
251
|
+
endDate: endDate.toJSDate(),
|
|
252
|
+
instructor: instructor
|
|
253
|
+
});
|
|
254
|
+
}
|
|
108
255
|
/**
|
|
109
256
|
* Load all appointments of the definition within the given period
|
|
110
257
|
* @description currently only works for flexible course schedules, and will return an empty array if the related course is fixed. but can and must be extended in the future to return the entire appointment list of the schedule, even if the appointment is fixed, or for another product type entirely.
|
|
@@ -178,6 +325,56 @@ let CompanyCourseScheduleEntity = class CompanyCourseScheduleEntity extends trac
|
|
|
178
325
|
// return the found appointments
|
|
179
326
|
return appointments;
|
|
180
327
|
}
|
|
328
|
+
/**
|
|
329
|
+
* Check if there is one appointment with empty seats
|
|
330
|
+
*
|
|
331
|
+
* If the definition has no appointments in the given period, returns true.
|
|
332
|
+
* Since the functions is supposed to return wether any of the definition's appointments have empty seats
|
|
333
|
+
*/
|
|
334
|
+
async hasAppointmentWithEmptySeats(period) {
|
|
335
|
+
// step 0 : prepare local variables
|
|
336
|
+
period.startDate = new Date(period.startDate);
|
|
337
|
+
period.endDate = new Date(period.endDate);
|
|
338
|
+
// step 1 : get first appointment date
|
|
339
|
+
// if there is no match for given period, first appointment is not found
|
|
340
|
+
// if not found, return empty array (not appointments)
|
|
341
|
+
let current = this.getFirstAppointmentDateInPeriod(period);
|
|
342
|
+
if (!current) {
|
|
343
|
+
return true;
|
|
344
|
+
}
|
|
345
|
+
if (current.toJSDate() > period.endDate ||
|
|
346
|
+
(this.endDate && current.toJSDate() > this.endDate)) {
|
|
347
|
+
return true;
|
|
348
|
+
}
|
|
349
|
+
// step 2 : from the first appointment and forward
|
|
350
|
+
// 1 -> set appointment information (and check for filtered instructor)
|
|
351
|
+
// 2 -> if appointment is found, and there are remaining seats, return true
|
|
352
|
+
// 3 -> find the next appointment date "inside the given period"
|
|
353
|
+
// repeat the process
|
|
354
|
+
let appointment = await this.getAppointmentInformation(current);
|
|
355
|
+
if (appointment) {
|
|
356
|
+
const remainingSeats = await this.getRemainingSeats(current.toJSDate());
|
|
357
|
+
if (remainingSeats > 0) {
|
|
358
|
+
return true;
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
current = this.getNextAppointmentDate(current);
|
|
362
|
+
if (!current) {
|
|
363
|
+
return false;
|
|
364
|
+
}
|
|
365
|
+
while (current.toJSDate() <= period.endDate &&
|
|
366
|
+
(!this.endDate || current.toJSDate() <= this.endDate)) {
|
|
367
|
+
appointment = await this.getAppointmentInformation(current);
|
|
368
|
+
if (appointment) {
|
|
369
|
+
const remainingSeats = await this.getRemainingSeats(current.toJSDate());
|
|
370
|
+
if (remainingSeats > 0) {
|
|
371
|
+
return true;
|
|
372
|
+
}
|
|
373
|
+
}
|
|
374
|
+
current = this.getNextAppointmentDate(current);
|
|
375
|
+
}
|
|
376
|
+
return false;
|
|
377
|
+
}
|
|
181
378
|
/**
|
|
182
379
|
*
|
|
183
380
|
* @param period Period
|
|
@@ -398,6 +595,56 @@ let CompanyCourseScheduleEntity = class CompanyCourseScheduleEntity extends trac
|
|
|
398
595
|
calendarLinks: companyInstructor.calendarLinks || []
|
|
399
596
|
};
|
|
400
597
|
}
|
|
598
|
+
/**
|
|
599
|
+
* Get total number of appointments that have any update (duration/instructor/date) after the given date
|
|
600
|
+
* @param from Date - if null, from definition start date
|
|
601
|
+
* @returns number - total updated appointments
|
|
602
|
+
*/
|
|
603
|
+
getTotalUpdatedAppointments(from) {
|
|
604
|
+
if (!from) {
|
|
605
|
+
from = this.startDate;
|
|
606
|
+
}
|
|
607
|
+
const durationExceptions = this.durations?.filter(i => new Date(i.date) > from);
|
|
608
|
+
const updateExceptions = this.updates?.filter(i => new Date(i.from) > from || new Date(i.to) > from);
|
|
609
|
+
const instructorExceptions = this.instructors?.filter(i => new Date(i.date) > from);
|
|
610
|
+
// Collect unique appointment dates that have any exception
|
|
611
|
+
// This is to avoid counting multiple exceptions for the same appointment more than once
|
|
612
|
+
// i.e if an appointment has duration and instructor and date (updates) exceptions, it should be counted once, not three times
|
|
613
|
+
const uniqueExceptionDates = new Set();
|
|
614
|
+
durationExceptions?.forEach(i => {
|
|
615
|
+
uniqueExceptionDates.add(new Date(i.date).toISOString());
|
|
616
|
+
});
|
|
617
|
+
updateExceptions?.forEach(i => {
|
|
618
|
+
uniqueExceptionDates.add(new Date(i.to).toISOString());
|
|
619
|
+
});
|
|
620
|
+
instructorExceptions?.forEach(i => {
|
|
621
|
+
uniqueExceptionDates.add(new Date(i.date).toISOString());
|
|
622
|
+
});
|
|
623
|
+
// Count unique appointments with exceptions
|
|
624
|
+
return uniqueExceptionDates.size;
|
|
625
|
+
}
|
|
626
|
+
async getRemainingSeats(date) {
|
|
627
|
+
const lesson = await lesson_entity_1.CompanyCourseLessonEntity.findOneBy({ id: this.lessonId });
|
|
628
|
+
const course = await lesson.course;
|
|
629
|
+
if (!course.maxStudents)
|
|
630
|
+
return;
|
|
631
|
+
const takenSeats = await this.getTakenSeats(date);
|
|
632
|
+
return +course.maxStudents - (takenSeats || 0);
|
|
633
|
+
}
|
|
634
|
+
/**
|
|
635
|
+
* This method must be called anytime when definition's endDate is changed to a value other than null/undefined
|
|
636
|
+
*
|
|
637
|
+
* Removes all 'updates', 'skippedDates', 'instructors' and 'durations' after the definition's endDate
|
|
638
|
+
*
|
|
639
|
+
* - Does not save the definition
|
|
640
|
+
*/
|
|
641
|
+
removeUpdatesAfterEndDate() {
|
|
642
|
+
this.updates = (this.updates ?? []).filter(i => new Date(i.from) <= this.endDate);
|
|
643
|
+
this.skippedDates = (this.skippedDates ?? []).filter(i => new Date(i) <= this.endDate);
|
|
644
|
+
this.instructors = (this.instructors ?? []).filter(i => new Date(i.date) <= this.endDate);
|
|
645
|
+
this.durations = (this.durations ?? []).filter(i => new Date(i.date) <= this.endDate);
|
|
646
|
+
return true;
|
|
647
|
+
}
|
|
401
648
|
};
|
|
402
649
|
exports.CompanyCourseScheduleEntity = CompanyCourseScheduleEntity;
|
|
403
650
|
__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"appointment.entity.js","sourceRoot":"","sources":["../../../../src/profile/company/course/appointment.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAA+D;AAC/D,4CAA+G;AAC/G,mDAA4D;AAC5D,0FAAqG;AACrG,uEAA0E;AAC1E,wDAA2D;AAC3D,oEAA4D;AAC5D,4CAAqG;AACrG,iCAAiC;AAEjC;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEI,IAAM,2BAA2B,GAAjC,MAAM,2BAA4B,SAAQ,2BAAqC;IAqHrF;;;OAGG;IACH,YAAY,KAA4C;QACvD,KAAK,EAAE,CAAC;QACR,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,OAAO;QACZ,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACtE,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACxF,OAAO,IAAI,6BAAoB,CAAC;YAC/B,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,MAAM,EAAE,MAAM;YACd,UAAU,EAAE,UAAU;YACtB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,SAAS,EAAE,IAAI,CAAC,SAAS;SACzB,CAAC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,SAAS;QACd,OAAO,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED;;;;OAIG;IACH,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;IAED,KAAK,CAAC,UAAU;QACf,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC;QACjC,OAAO,MAAM,CAAC,UAAU,EAAE,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,SAAS;QACd,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC;QACjC,OAAO,MAAM,CAAC,SAAS,EAAE,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,aAAa;QAClB,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,IAAU;QACnC,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAG,IAAI,CAAC,CAAC;QACrD,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,2CAAuB,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7E,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,eAAe,CACpB,MAAc,EACd,aAAwB,EACxB,YAAqB;QAErB,8BAA8B;QAC9B,MAAM,MAAM,GAAG,MAAM,yCAAyB,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAChF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC;QACnC,IAAI,MAAM,CAAC,OAAO;YAAE,OAAO,EAAE,CAAC;QAE9B,mCAAmC;QACnC,MAAM,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC1C,MAAM,YAAY,GAAkB,EAAE,CAAC;QAEvC,sCAAsC;QACtC,wEAAwE;QACxE,sDAAsD;QACtD,IAAI,OAAO,GAAG,IAAI,CAAC,+BAA+B,CAAC,MAAM,CAAC,CAAC;QAC3D,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,CAAC;QACxB,IACC,OAAO,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC,OAAO;YACnC,CAAC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;YAEnD,OAAO,EAAE,CAAC;QAEX,kDAAkD;QAClD,uEAAuE;QACvE,uGAAuG;QACvG,sCAAsC;QACtC,gEAAgE;QAChE,qBAAqB;QACrB,IAAI,WAAW,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAC/E,IAAI,WAAW,EAAE,CAAC;YACjB,IAAI,YAAY,EAAE,CAAC;gBAClB,MAAM,OAAO,GACZ,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;oBAC/D,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;oBAC/D,CAAC,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;gBAC7D,IAAI,OAAO,EAAE,CAAC;oBACb,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAChC,CAAC;YACF,CAAC;iBAAM,CAAC;gBACP,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAChC,CAAC;QACF,CAAC;QAED,OAAO,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,OAAO,YAAY,CAAC;QACrB,CAAC;QAED,OACC,OAAO,CAAC,QAAQ,EAAE,IAAI,MAAM,CAAC,OAAO;YACpC,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,EACpD,CAAC;YACF,WAAW,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;YAC3E,IAAI,WAAW,EAAE,CAAC;gBACjB,IAAI,YAAY,EAAE,CAAC;oBAClB,MAAM,OAAO,GACZ,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;wBAC/D,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;wBAC/D,CAAC,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;oBAC7D,IAAI,OAAO,EAAE,CAAC;wBACb,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBAChC,CAAC;gBACF,CAAC;qBAAM,CAAC;oBACP,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAChC,CAAC;YACF,CAAC;YACD,OAAO,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAChD,CAAC;QAED,uEAAuE;QACvE,gCAAgC;QAChC,OAAO,YAAY,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACH,+BAA+B,CAAC,MAAc;QAC7C,kCAAkC;QAClC,uEAAuE;QACvE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACtB,IAAI,mBAAU,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC5E,OAAO,gBAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC5C,CAAC;YACD,OAAO,IAAI,CAAC;QACb,CAAC;QAED,iFAAiF;QACjF,MAAM,aAAa,GAClB,mBAAU,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC;YACtE,CAAC,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,OAAO;gBAChC,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QACvD,IAAI,CAAC,aAAa;YAAE,OAAO,IAAI,CAAC;QAEhC,MAAM,QAAQ,GAAG,gBAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAErD,mEAAmE;QACnE,iDAAiD;QACjD,IAAI,IAAI,GACP,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QACtF,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC;YACf,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,WAAW,EAAE,QAAQ,CAAC,WAAW;SACjC,CAAC,CAAC;QAEH,2CAA2C;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ;aAC5B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,mBAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;aACxC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAExB,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;YAC1C,2GAA2G;YAC3G,OAAO,IAAI,CAAC;QACb,CAAC;QAED,yFAAyF;QACzF,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACzD,IAAI,QAAQ,CAAC,QAAQ,CAAC,mBAAU,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;gBACjE,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;gBAC9C,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC;oBACtC,OAAO,WAAW,CAAC;gBACpB,CAAC;YACF,CAAC;YAED,uBAAuB;YACvB,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QAC/B,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,yBAAyB,CAC9B,IAAc,EACd,qBAAgC;QAEhC,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAEjC,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,SAAS;YAAE,OAAO,IAAI,CAAC;QAE3B,MAAM,YAAY,GAAG,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;QAC3D,IAAI,qBAAqB,EAAE,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,YAAY,CAAC;YACjF,OAAO,IAAI,CAAC;QACb,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;QAE9D,MAAM,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;QAEjD,MAAM,WAAW,GAAG,IAAI,oBAAW,CAAC;YACnC,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE;YAC1B,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE;YAC3B,UAAU,EAAE,UAAiB;SAC7B,CAAC,CAAC;QAEH,OAAO,WAAW,CAAC;IACpB,CAAC;IAED;;;;;;OAMG;IACK,cAAc,CAAC,IAAc;QACpC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM;YAAE,OAAO,IAAI,CAAC;QAEvC,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAClC,OAAO;gBACN,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;gBACtB,EAAE,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;aAClB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QAE9E,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QACb,CAAC;QAED,OAAO,mBAAU,CAAC,kBAAkB,CAAC,oBAAW,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED;;;;;OAKG;IACK,aAAa,CAAC,IAAc;QACnC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM;YAAE,OAAO,KAAK,CAAC;QAE7C,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CACpC,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,CACxD,CAAC;QACF,OAAO,MAAM,CAAC;IACf,CAAC;IAED;;;;;;OAMG;IACH,sBAAsB,CAAC,IAAc;QACpC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAC;QAElD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CACtC,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,CAC7D,CAAC;QACF,IAAI,CAAC,SAAS,EAAE,MAAM;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAC;QAC7C,OAAO,oBAAW,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC;IACpD,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,mBAAmB,CAAC,WAAwB,EAAE,WAAmB;QACtE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACtC,OAAO,MAAM,qDAAgC;aAC3C,kBAAkB,CAAC,GAAG,CAAC;aACvB,SAAS,CAAC,YAAY,EAAE,GAAG,CAAC;aAC5B,SAAS,CAAC,UAAU,EAAE,GAAG,CAAC;aAC1B,KAAK,CAAC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;aAClD,QAAQ,CAAC,oBAAoB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;aAChD,QAAQ,CAAC,wBAAwB,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;aAC/D,QAAQ,CAAC,4BAA4B,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;aAC/D,QAAQ,CAAC,0BAA0B,EAAE,EAAE,SAAS,EAAE,WAAW,CAAC,SAAS,EAAE,CAAC;aAC1E,QAAQ,CAAC,kDAAkD,EAAE,EAAE,WAAW,EAAE,IAAI,WAAW,GAAG,EAAE,CAAC;aACjG,SAAS,EAAE,CAAC;IACf,CAAC;IAED;;;OAGG;IACK,sBAAsB,CAAC,IAAc;QAC5C,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM;YAAE,OAAO,IAAI,CAAC;QACxC,MAAM,SAAS,GAAG,mBAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,oEAAoE;QACpE,iHAAiH;QACjH,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC;YACjC,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,WAAW,EAAE,SAAS,CAAC,WAAW;SAClC,CAAC,CAAC;QAEH,2CAA2C;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ;aAC5B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,mBAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;aACxC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAExB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,mBAAU,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;YACrE,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC;gBACjC,IAAI,EAAE,SAAS,CAAC,IAAI;gBACpB,MAAM,EAAE,SAAS,CAAC,MAAM;gBACxB,MAAM,EAAE,SAAS,CAAC,MAAM;gBACxB,WAAW,EAAE,SAAS,CAAC,WAAW;aAClC,CAAC,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,wBAAwB,CAAC,IAAc;QAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;QAC3D,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;IACnD,CAAC;IAED;;;OAGG;IACH,0BAA0B,CAAC,IAAc;QACxC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM;YAAE,OAAO,IAAI,CAAC,YAAY,CAAC;QAExD,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAC1C,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,CAC7D,CAAC;QACF,IAAI,CAAC,WAAW,EAAE,MAAM;YAAE,OAAO,IAAI,CAAC,YAAY,CAAC;QAEnD,OAAO,oBAAW,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;IAChD,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,iBAAiB,CAAC,EAAU;QACzC,MAAM,iBAAiB,GAAG,MAAM,2CAAuB,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC1E,IAAI,CAAC,iBAAiB;YAAE,OAAO,IAAI,CAAC;QACpC,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,UAAU,CAAC;QACtD,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC;QACnC,OAAO;YACN,EAAE,EAAE,iBAAiB,CAAC,EAAE;YACxB,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,KAAK,EAAE,UAAU,CAAC,QAAQ;YAC1B,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,iBAAiB,CAAC,IAAI;YAC5B,MAAM,EAAE,iBAAiB,CAAC,MAAM;YAChC,YAAY,EAAE,MAAM,iBAAiB,CAAC,YAAY,EAAE;YACpD,aAAa,EAAE,iBAAiB,CAAC,aAAa,IAAI,EAAE;SACpD,CAAC;IACH,CAAC;CACD,CAAA;AAhhBY,kEAA2B;AAMvC;IADC,IAAA,gBAAM,GAAE;;6DACQ;AAUjB;IAJC,IAAA,gBAAM,EAAC;QACP,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,IAAI;KACb,CAAC;;iEACmB;AAOrB;IADC,IAAA,gBAAM,GAAE;8BACE,IAAI;8DAAC;AAUhB;IAJC,IAAA,gBAAM,EAAC;QACP,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,IAAI;KACb,CAAC;8BACO,IAAI;4DAAC;AAOd;IADC,IAAA,gBAAM,EAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;;6DACP;AAMjB;IADC,IAAA,gBAAM,EAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;+DACP;AAUpB;IALC,IAAA,gBAAM,EAAC;QACP,IAAI,EAAE,aAAa;QACnB,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,IAAI;KACb,CAAC;;6DACkB;AAUpB;IALC,IAAA,gBAAM,EAAC;QACP,IAAI,EAAE,aAAa;QACnB,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,IAAI;KACb,CAAC;;iEACmB;AAUrB;IALC,IAAA,gBAAM,EAAC;QACP,IAAI,EAAE,aAAa;QACnB,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,IAAI;KACb,CAAC;;4DACqB;AAUvB;IALC,IAAA,gBAAM,EAAC;QACP,IAAI,EAAE,aAAa;QACnB,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,IAAI;KACb,CAAC;;gEAC6B;AAU/B;IALC,IAAA,gBAAM,EAAC;QACP,IAAI,EAAE,aAAa;QACnB,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,IAAI;KACb,CAAC;;8DACyB;AAM3B;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,yCAAyB,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC;;2DAC3B;AAM3C;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,2CAAuB,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC;;+DACpC;AAO7C;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,qDAAgC,EAAE,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC;;oEAC1B;sCAnHjD,2BAA2B;IADvC,IAAA,gBAAM,EAAC,wBAAwB,CAAC;;GACpB,2BAA2B,CAghBvC"}
|
|
1
|
+
{"version":3,"file":"appointment.entity.js","sourceRoot":"","sources":["../../../../src/profile/company/course/appointment.entity.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { AddonUsage,
|
|
3
|
-
import { CompanyEntity } from '../company.entity';
|
|
4
|
-
import { CompanyProductEntity } from '../product/product.entity';
|
|
1
|
+
import { Activity, Course } from '@driveup/common';
|
|
2
|
+
import { AddonUsage, Address, ColorContext, StatusType } from '@driveup/shared';
|
|
5
3
|
import { DrivingCategoryEntity } from '../../../system/driving/category.entity';
|
|
6
|
-
import {
|
|
7
|
-
import { CompanyInstructorEntity } from '../instructor/instructor.entity';
|
|
8
|
-
import { StudentTrainingEntity } from '../../student/program/training/training.entity';
|
|
4
|
+
import { TrackableEntity } from '../../../utils/trackable';
|
|
9
5
|
import { StudentTrainingRequestEntity } from '../../student/program/training/request.entity';
|
|
6
|
+
import { StudentTrainingEntity } from '../../student/program/training/training.entity';
|
|
7
|
+
import { CompanyEntity } from '../company.entity';
|
|
10
8
|
import { CompanyBillItemEntity } from '../finances/billing/item.entity';
|
|
11
|
-
import {
|
|
9
|
+
import { CompanyInstructorEntity } from '../instructor/instructor.entity';
|
|
10
|
+
import { CompanyProductEntity } from '../product/product.entity';
|
|
11
|
+
import { CompanyCourseLessonEntity } from './lesson.entity';
|
|
12
12
|
/**
|
|
13
13
|
* Represents a company-managed training course.
|
|
14
14
|
* Courses define training programs that can be offered to students,
|
|
@@ -92,6 +92,12 @@ export declare class CompanyCourseEntity extends TrackableEntity<Course> {
|
|
|
92
92
|
* Activate addons for this course
|
|
93
93
|
*/
|
|
94
94
|
addons: AddonUsage[];
|
|
95
|
+
/**
|
|
96
|
+
* The date on which the course must be marked as ended by the cron job
|
|
97
|
+
* This field is populated by the company
|
|
98
|
+
* Only used for flexible courses
|
|
99
|
+
*/
|
|
100
|
+
scheduledEndDate: Date;
|
|
95
101
|
/******************* Tracks *******************/
|
|
96
102
|
/**
|
|
97
103
|
* ID of the user who published the course
|
|
@@ -145,6 +151,23 @@ export declare class CompanyCourseEntity extends TrackableEntity<Course> {
|
|
|
145
151
|
* @param props - Partial properties to initialize the entity with
|
|
146
152
|
*/
|
|
147
153
|
constructor(props?: Partial<CompanyCourseEntity>);
|
|
154
|
+
/**
|
|
155
|
+
* Checks if the course is editable (Draft or Active)
|
|
156
|
+
* * Driving course can be Active or Inactive
|
|
157
|
+
* * All other courses can be Draft, Published, or Ended
|
|
158
|
+
* @returns boolean
|
|
159
|
+
*/
|
|
160
|
+
isEditable: () => boolean;
|
|
161
|
+
/**
|
|
162
|
+
* Checks if the course is published
|
|
163
|
+
* @returns boolean
|
|
164
|
+
*/
|
|
165
|
+
isPublished: () => boolean;
|
|
166
|
+
/**
|
|
167
|
+
* Checks if the course has ended
|
|
168
|
+
* @returns boolean
|
|
169
|
+
*/
|
|
170
|
+
isEnded: () => boolean;
|
|
148
171
|
/**
|
|
149
172
|
* Converts the entity to a Course model instance
|
|
150
173
|
* @returns Promise resolving to Course model with category, instructor, and all course details
|
|
@@ -167,6 +190,16 @@ export declare class CompanyCourseEntity extends TrackableEntity<Course> {
|
|
|
167
190
|
*/
|
|
168
191
|
getActivities(): Promise<Activity[]>;
|
|
169
192
|
getCompany(): Promise<CompanyEntity>;
|
|
193
|
+
/**
|
|
194
|
+
* @returns Number of parts
|
|
195
|
+
*/
|
|
196
|
+
getTotalParts(): Promise<number>;
|
|
197
|
+
/**
|
|
198
|
+
* Gets the color context from this course's driving category
|
|
199
|
+
* Will return null if the course isn't related to any driving categories
|
|
200
|
+
* @returns ColorContext - The color context of the course's driving category
|
|
201
|
+
*/
|
|
202
|
+
getColorContext(): Promise<ColorContext>;
|
|
170
203
|
getProduct(): Promise<CompanyProductEntity>;
|
|
171
204
|
getInstructor(): Promise<CompanyInstructorEntity>;
|
|
172
205
|
}
|
|
@@ -11,19 +11,19 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
11
11
|
var CompanyCourseEntity_1;
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
13
|
exports.CompanyCourseEntity = void 0;
|
|
14
|
-
const typeorm_1 = require("typeorm");
|
|
15
|
-
const shared_1 = require("@driveup/shared");
|
|
16
14
|
const common_1 = require("@driveup/common");
|
|
17
|
-
const
|
|
18
|
-
const
|
|
15
|
+
const shared_1 = require("@driveup/shared");
|
|
16
|
+
const typeorm_1 = require("typeorm");
|
|
19
17
|
const category_entity_1 = require("../../../system/driving/category.entity");
|
|
20
|
-
const
|
|
21
|
-
const
|
|
22
|
-
const training_entity_1 = require("../../student/program/training/training.entity");
|
|
18
|
+
const activity_helper_1 = require("../../../utils/activity.helper");
|
|
19
|
+
const trackable_1 = require("../../../utils/trackable");
|
|
23
20
|
const request_entity_1 = require("../../student/program/training/request.entity");
|
|
21
|
+
const training_entity_1 = require("../../student/program/training/training.entity");
|
|
22
|
+
const company_entity_1 = require("../company.entity");
|
|
24
23
|
const item_entity_1 = require("../finances/billing/item.entity");
|
|
25
|
-
const
|
|
26
|
-
const
|
|
24
|
+
const instructor_entity_1 = require("../instructor/instructor.entity");
|
|
25
|
+
const product_entity_1 = require("../product/product.entity");
|
|
26
|
+
const lesson_entity_1 = require("./lesson.entity");
|
|
27
27
|
/**
|
|
28
28
|
* Represents a company-managed training course.
|
|
29
29
|
* Courses define training programs that can be offered to students,
|
|
@@ -42,6 +42,23 @@ let CompanyCourseEntity = CompanyCourseEntity_1 = class CompanyCourseEntity exte
|
|
|
42
42
|
*/
|
|
43
43
|
constructor(props) {
|
|
44
44
|
super();
|
|
45
|
+
/**
|
|
46
|
+
* Checks if the course is editable (Draft or Active)
|
|
47
|
+
* * Driving course can be Active or Inactive
|
|
48
|
+
* * All other courses can be Draft, Published, or Ended
|
|
49
|
+
* @returns boolean
|
|
50
|
+
*/
|
|
51
|
+
this.isEditable = () => this.status === shared_1.StatusType.Draft || this.status === shared_1.StatusType.Active;
|
|
52
|
+
/**
|
|
53
|
+
* Checks if the course is published
|
|
54
|
+
* @returns boolean
|
|
55
|
+
*/
|
|
56
|
+
this.isPublished = () => this.status === shared_1.StatusType.Published;
|
|
57
|
+
/**
|
|
58
|
+
* Checks if the course has ended
|
|
59
|
+
* @returns boolean
|
|
60
|
+
*/
|
|
61
|
+
this.isEnded = () => this.status === shared_1.StatusType.Ended;
|
|
45
62
|
Object.assign(this, props);
|
|
46
63
|
}
|
|
47
64
|
/**
|
|
@@ -63,8 +80,8 @@ let CompanyCourseEntity = CompanyCourseEntity_1 = class CompanyCourseEntity exte
|
|
|
63
80
|
administrationFee: this.administrationFee,
|
|
64
81
|
maxStudents: this.maxStudents,
|
|
65
82
|
isFixed: this.isFixed,
|
|
66
|
-
location: this.location ?
|
|
67
|
-
addons: this.addons ? this.addons.map(
|
|
83
|
+
location: this.location ? shared_1.Address.toInstance(this.location) : null,
|
|
84
|
+
addons: this.addons ? this.addons.map(shared_1.AddonUsage.toInstance) : null
|
|
68
85
|
});
|
|
69
86
|
}
|
|
70
87
|
/**
|
|
@@ -112,6 +129,28 @@ let CompanyCourseEntity = CompanyCourseEntity_1 = class CompanyCourseEntity exte
|
|
|
112
129
|
.where('course.id = :courseId', { courseId: this.id })
|
|
113
130
|
.getOne();
|
|
114
131
|
}
|
|
132
|
+
/**
|
|
133
|
+
* @returns Number of parts
|
|
134
|
+
*/
|
|
135
|
+
async getTotalParts() {
|
|
136
|
+
const product = await this.getProduct();
|
|
137
|
+
if (!product || product.catalogType !== shared_1.CatalogType.Preparation) {
|
|
138
|
+
return 0;
|
|
139
|
+
}
|
|
140
|
+
return await lesson_entity_1.CompanyCourseLessonEntity.countBy({
|
|
141
|
+
courseId: this.id,
|
|
142
|
+
canceled: false
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Gets the color context from this course's driving category
|
|
147
|
+
* Will return null if the course isn't related to any driving categories
|
|
148
|
+
* @returns ColorContext - The color context of the course's driving category
|
|
149
|
+
*/
|
|
150
|
+
async getColorContext() {
|
|
151
|
+
const category = await this.category;
|
|
152
|
+
return category?.color ?? null;
|
|
153
|
+
}
|
|
115
154
|
async getProduct() {
|
|
116
155
|
return await this.product;
|
|
117
156
|
}
|
|
@@ -218,7 +257,7 @@ __decorate([
|
|
|
218
257
|
nullable: true,
|
|
219
258
|
default: null
|
|
220
259
|
}),
|
|
221
|
-
__metadata("design:type",
|
|
260
|
+
__metadata("design:type", shared_1.Address)
|
|
222
261
|
], CompanyCourseEntity.prototype, "location", void 0);
|
|
223
262
|
__decorate([
|
|
224
263
|
(0, typeorm_1.Column)({
|
|
@@ -228,6 +267,13 @@ __decorate([
|
|
|
228
267
|
}),
|
|
229
268
|
__metadata("design:type", Array)
|
|
230
269
|
], CompanyCourseEntity.prototype, "addons", void 0);
|
|
270
|
+
__decorate([
|
|
271
|
+
(0, typeorm_1.Column)({
|
|
272
|
+
nullable: true,
|
|
273
|
+
default: null
|
|
274
|
+
}),
|
|
275
|
+
__metadata("design:type", Date)
|
|
276
|
+
], CompanyCourseEntity.prototype, "scheduledEndDate", void 0);
|
|
231
277
|
__decorate([
|
|
232
278
|
(0, typeorm_1.Column)({ nullable: true, default: null }),
|
|
233
279
|
__metadata("design:type", Number)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"course.entity.js","sourceRoot":"","sources":["../../../../src/profile/company/course/course.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,qCAA+D;
|
|
1
|
+
{"version":3,"file":"course.entity.js","sourceRoot":"","sources":["../../../../src/profile/company/course/course.entity.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { Activity, Appointment, Lesson, Period, Picture } from '@driveup/common';
|
|
2
|
+
import { Address } from '@driveup/shared';
|
|
3
|
+
import { StudentTrainingLessonEntity } from '../../student/program/training/lesson.entity';
|
|
4
|
+
import { CompanyInstructorEntity } from '../instructor/instructor.entity';
|
|
4
5
|
import { StudentEntity } from '../../student/student.entity';
|
|
6
|
+
import { CompanyProductEntity } from '../product/product.entity';
|
|
7
|
+
import { TrackableEntity } from '../../../utils/trackable';
|
|
8
|
+
import { CompanyEntity } from '../company.entity';
|
|
9
|
+
import { CompanyCourseScheduleEntity } from './schedule.entity';
|
|
5
10
|
import { CompanyCourseEntity } from './course.entity';
|
|
6
11
|
import { CompanyCourseTopicEntity } from './topic.entity';
|
|
7
|
-
import { CompanyCourseScheduleEntity } from './appointment.entity';
|
|
8
|
-
import { CompanyInstructorEntity } from '../instructor/instructor.entity';
|
|
9
|
-
import { StudentTrainingLessonEntity } from '../../student/program/training/lesson.entity';
|
|
10
|
-
import { TrackableEntity } from '../../../utils/trackable';
|
|
11
12
|
/**
|
|
12
13
|
* Company Course Lesson Entity
|
|
13
14
|
*
|
|
@@ -75,6 +76,14 @@ export declare class CompanyCourseLessonEntity extends TrackableEntity<Lesson> {
|
|
|
75
76
|
* Location where the lesson takes place
|
|
76
77
|
*/
|
|
77
78
|
location: Address;
|
|
79
|
+
/**
|
|
80
|
+
* The date on which the lesson was marked as deleted, and because of related training topics, it is not deleted in the db, and only deactivatedOn is set
|
|
81
|
+
*/
|
|
82
|
+
deactivatedOn: Date;
|
|
83
|
+
/**
|
|
84
|
+
* Used for theory courses
|
|
85
|
+
*/
|
|
86
|
+
canceled: boolean;
|
|
78
87
|
/***************** Tracks *****************/
|
|
79
88
|
/**
|
|
80
89
|
* Timestamp when the lesson was canceled
|
|
@@ -129,5 +138,19 @@ export declare class CompanyCourseLessonEntity extends TrackableEntity<Lesson> {
|
|
|
129
138
|
getProduct(): Promise<CompanyProductEntity>;
|
|
130
139
|
getCourse(): Promise<CompanyCourseEntity>;
|
|
131
140
|
getInstructor(): Promise<CompanyInstructorEntity>;
|
|
141
|
+
/**
|
|
142
|
+
* For flexible courses only. data is sorted based on appointment date ascending
|
|
143
|
+
*/
|
|
144
|
+
getAppointments(period: Period, filteredInstructorIds?: number[]): Promise<Appointment[]>;
|
|
132
145
|
getActiveStudentsByAppointments(): Promise<StudentEntity[]>;
|
|
146
|
+
/**
|
|
147
|
+
* For both fixed and flexible courses
|
|
148
|
+
* @param appointment - mandatory for flexible courses. for fixed courses, don't send this argument
|
|
149
|
+
*/
|
|
150
|
+
getTakenSeats(appointment?: Appointment): Promise<number>;
|
|
151
|
+
/**
|
|
152
|
+
* For both fixed and flexible courses
|
|
153
|
+
* * @param appointment - mandatory for flexible courses. for fixed courses, don't send this argument
|
|
154
|
+
*/
|
|
155
|
+
getRemainingSeats(appointment?: Appointment): Promise<number>;
|
|
133
156
|
}
|