@driveup/schema 0.2.4 → 0.2.5
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/profile/company/course/appointment.entity.d.ts +87 -1
- package/lib/profile/company/course/appointment.entity.js +294 -0
- package/lib/profile/company/course/appointment.entity.js.map +1 -1
- package/lib/profile/company/course/course.entity.d.ts +1 -3
- package/lib/profile/company/course/course.entity.js +0 -18
- package/lib/profile/company/course/course.entity.js.map +1 -1
- package/lib/profile/company/instructor/activity.entity.d.ts +11 -1
- package/lib/profile/company/instructor/activity.entity.js +14 -0
- package/lib/profile/company/instructor/activity.entity.js.map +1 -1
- package/lib/profile/student/program/program.entity.js +4 -1
- package/lib/profile/student/program/program.entity.js.map +1 -1
- package/lib/profile/student/program/training/appointment.entity.d.ts +8 -1
- package/lib/profile/student/program/training/appointment.entity.js +17 -3
- package/lib/profile/student/program/training/appointment.entity.js.map +1 -1
- package/lib/profile/student/program/training/training.entity.d.ts +12 -0
- package/lib/profile/student/program/training/training.entity.js +21 -4
- package/lib/profile/student/program/training/training.entity.js.map +1 -1
- package/lib/profile/student/student.entity.d.ts +13 -0
- package/lib/profile/student/student.entity.js +36 -0
- package/lib/profile/student/student.entity.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/user/user.entity.d.ts +0 -4
- package/lib/user/user.entity.js +0 -8
- package/lib/user/user.entity.js.map +1 -1
- package/package.json +2 -2
- package/lib/profile/student/program/medical/examination.model.d.ts +0 -63
- package/lib/profile/student/program/medical/examination.model.js +0 -158
- package/lib/profile/student/program/medical/examination.model.js.map +0 -1
- package/lib/system/campaigne/campaign.entity.d.ts +0 -69
- package/lib/system/campaigne/campaign.entity.js +0 -153
- package/lib/system/campaigne/campaign.entity.js.map +0 -1
- package/lib/system/campaigne/gifcode.entity.d.ts +0 -54
- package/lib/system/campaigne/gifcode.entity.js +0 -102
- package/lib/system/campaigne/gifcode.entity.js.map +0 -1
- package/lib/system/event/business.entity.d.ts +0 -75
- package/lib/system/event/business.entity.js +0 -128
- package/lib/system/event/business.entity.js.map +0 -1
- package/lib/utils/index.d.ts +0 -4
- package/lib/utils/index.js +0 -21
- package/lib/utils/index.js.map +0 -1
- package/lib/utils/json-metrics.transform.d.ts +0 -35
- package/lib/utils/json-metrics.transform.js +0 -83
- package/lib/utils/json-metrics.transform.js.map +0 -1
- package/lib/utils/trackable.entity.d.ts +0 -82
- package/lib/utils/trackable.entity.js +0 -69
- package/lib/utils/trackable.entity.js.map +0 -1
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { Activity, RecurringAppointment } from '@driveup/common';
|
|
1
|
+
import { Activity, Appointment, Period, RecurringAppointment } from '@driveup/common';
|
|
2
2
|
import { CompanyCourseLessonEntity } from './lesson.entity';
|
|
3
3
|
import { StudentTrainingAppointmentEntity } from '../../student/program/training/appointment.entity';
|
|
4
4
|
import { CompanyInstructorEntity } from '../instructor/instructor.entity';
|
|
5
5
|
import { TrackableEntity } from '../../../utils/trackable';
|
|
6
6
|
import { IDateAssignment, IDateDuration, IDateUpdate, WeekDay } from '@driveup/shared';
|
|
7
|
+
import { DateTime } from 'luxon';
|
|
7
8
|
/**
|
|
8
9
|
* Represents a series of training appointment offers managed by the company.
|
|
9
10
|
*
|
|
@@ -113,4 +114,89 @@ export declare class CompanyCourseScheduleEntity extends TrackableEntity<Recurri
|
|
|
113
114
|
getCourse(): Promise<import("./course.entity").CompanyCourseEntity>;
|
|
114
115
|
getInstructor(): Promise<CompanyInstructorEntity>;
|
|
115
116
|
getInstructorByDate(date: Date): Promise<CompanyInstructorEntity>;
|
|
117
|
+
/**
|
|
118
|
+
* Load all appointments of the definition within the given period
|
|
119
|
+
* @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.
|
|
120
|
+
* @param period Period
|
|
121
|
+
* @param instructorIds number[] - instructorId to filter by (return only appointments related to this instructor id)
|
|
122
|
+
* @param searchPhrase string - optional search phrase to filter appointments by (course title / part title / registered student name)
|
|
123
|
+
* @returns All appointments of the definition within the given period, filtered by instructorId if provided
|
|
124
|
+
*/
|
|
125
|
+
getAppointments(period: Period, instructorIds?: number[], searchPhrase?: string): Promise<Appointment[]>;
|
|
126
|
+
/**
|
|
127
|
+
*
|
|
128
|
+
* @param period Period
|
|
129
|
+
* @returns DateTime if a first appointment is found, null otherwise
|
|
130
|
+
*/
|
|
131
|
+
getFirstAppointmentDateInPeriod(period: Period): DateTime;
|
|
132
|
+
/**
|
|
133
|
+
* @description Get detailed information about an appointment
|
|
134
|
+
* @param date - DateTime - is presumed to be related to an appointment in this definition
|
|
135
|
+
* @param filteredInstructorIds - number - optional - instrucotr id to filter the appointment by
|
|
136
|
+
* @returns Appointment - appointment information (id, start and end date, instructor information)
|
|
137
|
+
*/
|
|
138
|
+
getAppointmentInformation(date: DateTime, filteredInstructorIds?: number[]): Promise<Appointment>;
|
|
139
|
+
/**
|
|
140
|
+
* @description Only for repeted definitions (repetition = true)
|
|
141
|
+
* @description Finds the final date of the appointment, considering any date updates (updates in the startDate)
|
|
142
|
+
* @description If no date updates are found, the original date will be returned
|
|
143
|
+
* @param date DateTime - original date of the appointment (default return value, if no date updates are found)
|
|
144
|
+
* @returns DateTime - final date of the appointment
|
|
145
|
+
*/
|
|
146
|
+
private getUpdatedDate;
|
|
147
|
+
/**
|
|
148
|
+
* @description Only for repeted definitions (repetition = true)
|
|
149
|
+
* @description Checks wether or not the appointment related to the given date has been removed from schedule (pushed in the skippedDates array)
|
|
150
|
+
* @param date DateTime - date of the appointment
|
|
151
|
+
* @returns DateTime - true if the appointment is skipped, false otherwise
|
|
152
|
+
*/
|
|
153
|
+
private isDateSkipped;
|
|
154
|
+
/**
|
|
155
|
+
* @description Only for repeted definitions (repetition = true)
|
|
156
|
+
* @description Finds the final duration of the appointment, considering any duration updates
|
|
157
|
+
* @description If no duration updates are found, this.duration will be returned by default
|
|
158
|
+
* @param date DateTime - date of the appointment
|
|
159
|
+
* @returns number - duration of the appointment (in minutes)
|
|
160
|
+
*/
|
|
161
|
+
getAppointmentDuration(date: DateTime): number;
|
|
162
|
+
/**
|
|
163
|
+
* @description Checks weather or not there is a student with a matching name registered in this schedule for the given appointment
|
|
164
|
+
* @description Currently only works for flexible course trainings (MVP logic), and will always return false for fixed course trainings
|
|
165
|
+
* Must be renamed and extended in the future to support fixed course trainings as well, but will remain as is for the sake of MVP Migration
|
|
166
|
+
* @param appointment Appointment - appointment to check for registered students
|
|
167
|
+
* @param studentName string - name of the student to check for registration
|
|
168
|
+
* @returns boolean - Weather or not there a student with the given name registered for the appointment
|
|
169
|
+
*/
|
|
170
|
+
isStudentRegistered(appointment: Appointment, studentName: string): Promise<boolean>;
|
|
171
|
+
/**
|
|
172
|
+
* @description Doesn't check for the definition's endDate, or updates and skippedDates
|
|
173
|
+
* @returns the next appointment based on repetition logic and weekdays assigned
|
|
174
|
+
*/
|
|
175
|
+
private getNextAppointmentDate;
|
|
176
|
+
/**
|
|
177
|
+
* Get the instructor registered for the appointment (works for repeated and single appointments)
|
|
178
|
+
* @param date Date - the date of the appointment
|
|
179
|
+
* @returns Instructor - simple instructor model
|
|
180
|
+
*/
|
|
181
|
+
getAppointmentInstructor(date: DateTime): Promise<{
|
|
182
|
+
id: number;
|
|
183
|
+
name: string;
|
|
184
|
+
image: string;
|
|
185
|
+
phone: string;
|
|
186
|
+
role: import("@driveup/shared").Role;
|
|
187
|
+
status: import("@driveup/shared").AccountStatus;
|
|
188
|
+
canReinstate: boolean;
|
|
189
|
+
calendarLinks: import("@driveup/common").Link[];
|
|
190
|
+
}>;
|
|
191
|
+
/**
|
|
192
|
+
* @param date DateTime - is presumed to belong to an existing appointment
|
|
193
|
+
* @returns number - instructor id for the appointment of the given date
|
|
194
|
+
*/
|
|
195
|
+
getAppointmentInstructorId(date: DateTime): number;
|
|
196
|
+
/**
|
|
197
|
+
* Find instructor by id and map with simple information to User model
|
|
198
|
+
* @param id instructor id
|
|
199
|
+
* @returns Object - For the MVP it returns an object mapped like CompanyInstructorMapper.toSimple with the same interface. should be replaced with Person model in the future
|
|
200
|
+
*/
|
|
201
|
+
private getInstructorById;
|
|
116
202
|
}
|
|
@@ -18,6 +18,7 @@ const instructor_entity_1 = require("../instructor/instructor.entity");
|
|
|
18
18
|
const trackable_1 = require("../../../utils/trackable");
|
|
19
19
|
const activity_helper_1 = require("../../../utils/activity.helper");
|
|
20
20
|
const shared_1 = require("@driveup/shared");
|
|
21
|
+
const luxon_1 = require("luxon");
|
|
21
22
|
/**
|
|
22
23
|
* Represents a series of training appointment offers managed by the company.
|
|
23
24
|
*
|
|
@@ -104,6 +105,299 @@ let CompanyCourseScheduleEntity = class CompanyCourseScheduleEntity extends trac
|
|
|
104
105
|
const d = this.instructors?.find(i => i.date === date);
|
|
105
106
|
return d?.id ? await instructor_entity_1.CompanyInstructorEntity.findOneBy({ id: d.id }) : null;
|
|
106
107
|
}
|
|
108
|
+
/**
|
|
109
|
+
* Load all appointments of the definition within the given period
|
|
110
|
+
* @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.
|
|
111
|
+
* @param period Period
|
|
112
|
+
* @param instructorIds number[] - instructorId to filter by (return only appointments related to this instructor id)
|
|
113
|
+
* @param searchPhrase string - optional search phrase to filter appointments by (course title / part title / registered student name)
|
|
114
|
+
* @returns All appointments of the definition within the given period, filtered by instructorId if provided
|
|
115
|
+
*/
|
|
116
|
+
async getAppointments(period, instructorIds, searchPhrase) {
|
|
117
|
+
// check if course if flexible
|
|
118
|
+
const lesson = await lesson_entity_1.CompanyCourseLessonEntity.findOneBy({ id: this.lessonId });
|
|
119
|
+
const course = await lesson.course;
|
|
120
|
+
if (course.isFixed)
|
|
121
|
+
return [];
|
|
122
|
+
// step 0 : prepare local variables
|
|
123
|
+
period.startDate = new Date(period.startDate);
|
|
124
|
+
period.endDate = new Date(period.endDate);
|
|
125
|
+
const appointments = [];
|
|
126
|
+
// step 1 : get first appointment date
|
|
127
|
+
// if there is no match for given period, first appointment is not found
|
|
128
|
+
// if not found, return empty array (not appointments)
|
|
129
|
+
let current = this.getFirstAppointmentDateInPeriod(period);
|
|
130
|
+
if (!current)
|
|
131
|
+
return [];
|
|
132
|
+
if (current.toJSDate() > period.endDate ||
|
|
133
|
+
(this.endDate && current.toJSDate() > this.endDate))
|
|
134
|
+
return [];
|
|
135
|
+
// step 2 : from the first appointment and forward
|
|
136
|
+
// 1 -> set appointment information (and check for filtered instructor)
|
|
137
|
+
// 2 -> check if there is a filter by course title / part title / student name required and apply if so
|
|
138
|
+
// 3 -> push to the appointments array
|
|
139
|
+
// 4 -> find the next appointment date "inside the given period"
|
|
140
|
+
// repeat the process
|
|
141
|
+
let appointment = await this.getAppointmentInformation(current, instructorIds);
|
|
142
|
+
if (appointment) {
|
|
143
|
+
if (searchPhrase) {
|
|
144
|
+
const isMatch = lesson.title.toLowerCase().includes(searchPhrase.toLowerCase()) ||
|
|
145
|
+
course.title.toLowerCase().includes(searchPhrase.toLowerCase()) ||
|
|
146
|
+
(await this.isStudentRegistered(appointment, searchPhrase));
|
|
147
|
+
if (isMatch) {
|
|
148
|
+
appointments.push(appointment);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
else {
|
|
152
|
+
appointments.push(appointment);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
current = this.getNextAppointmentDate(current);
|
|
156
|
+
if (!current) {
|
|
157
|
+
return appointments;
|
|
158
|
+
}
|
|
159
|
+
while (current.toJSDate() <= period.endDate &&
|
|
160
|
+
(!this.endDate || current.toJSDate() <= this.endDate)) {
|
|
161
|
+
appointment = await this.getAppointmentInformation(current, instructorIds);
|
|
162
|
+
if (appointment) {
|
|
163
|
+
if (searchPhrase) {
|
|
164
|
+
const isMatch = lesson.title.toLowerCase().includes(searchPhrase.toLowerCase()) ||
|
|
165
|
+
course.title.toLowerCase().includes(searchPhrase.toLowerCase()) ||
|
|
166
|
+
(await this.isStudentRegistered(appointment, searchPhrase));
|
|
167
|
+
if (isMatch) {
|
|
168
|
+
appointments.push(appointment);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
else {
|
|
172
|
+
appointments.push(appointment);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
current = this.getNextAppointmentDate(current);
|
|
176
|
+
}
|
|
177
|
+
// step 3 : when no more appointments are found inside the given period
|
|
178
|
+
// return the found appointments
|
|
179
|
+
return appointments;
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
*
|
|
183
|
+
* @param period Period
|
|
184
|
+
* @returns DateTime if a first appointment is found, null otherwise
|
|
185
|
+
*/
|
|
186
|
+
getFirstAppointmentDateInPeriod(period) {
|
|
187
|
+
// if this is a single appointment
|
|
188
|
+
// only check if the definition's start date is within the given period
|
|
189
|
+
if (!this.repetition) {
|
|
190
|
+
if (common_1.DateHelper.isBetween(this.startDate, period.startDate, period.endDate)) {
|
|
191
|
+
return luxon_1.DateTime.fromJSDate(this.startDate);
|
|
192
|
+
}
|
|
193
|
+
return null;
|
|
194
|
+
}
|
|
195
|
+
// check if given period contains some/all of the definition's start and end date
|
|
196
|
+
const periodMatches = common_1.DateHelper.isBetween(this.startDate, period.startDate, period.endDate) ||
|
|
197
|
+
(this.startDate <= period.endDate &&
|
|
198
|
+
(!this.endDate || this.endDate >= period.startDate));
|
|
199
|
+
if (!periodMatches)
|
|
200
|
+
return null;
|
|
201
|
+
const defStart = luxon_1.DateTime.fromJSDate(this.startDate);
|
|
202
|
+
// get the greater from period start date and definition start date
|
|
203
|
+
// to start counting days from that point forward
|
|
204
|
+
let date = period.startDate > this.startDate ? luxon_1.DateTime.fromJSDate(period.startDate) : defStart;
|
|
205
|
+
date = date.set({
|
|
206
|
+
hour: defStart.hour,
|
|
207
|
+
minute: defStart.minute,
|
|
208
|
+
second: defStart.second,
|
|
209
|
+
millisecond: defStart.millisecond
|
|
210
|
+
});
|
|
211
|
+
// weekdays: sorted array of WeekdayNumbers
|
|
212
|
+
const weekdays = this.weekdays
|
|
213
|
+
.map(i => common_1.DateHelper.getWeekdayNumber(i))
|
|
214
|
+
.sort((a, b) => a - b);
|
|
215
|
+
if (this.repetition && !weekdays?.length) {
|
|
216
|
+
// to avoid infinite loop, if the definition is repeated, but somehow no weekdays are assigned, return null
|
|
217
|
+
return null;
|
|
218
|
+
}
|
|
219
|
+
// find the first valid appointment date considering weekdays, updates, and skipped dates
|
|
220
|
+
while (!this.endDate || date.toJSDate() <= this.endDate) {
|
|
221
|
+
if (weekdays.includes(common_1.DateHelper.toWeekdayNumber(date.weekday))) {
|
|
222
|
+
const updatedDate = this.getUpdatedDate(date);
|
|
223
|
+
if (!this.isDateSkipped(updatedDate)) {
|
|
224
|
+
return updatedDate;
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
// move to the next day
|
|
228
|
+
date = date.plus({ days: 1 });
|
|
229
|
+
}
|
|
230
|
+
return null;
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* @description Get detailed information about an appointment
|
|
234
|
+
* @param date - DateTime - is presumed to be related to an appointment in this definition
|
|
235
|
+
* @param filteredInstructorIds - number - optional - instrucotr id to filter the appointment by
|
|
236
|
+
* @returns Appointment - appointment information (id, start and end date, instructor information)
|
|
237
|
+
*/
|
|
238
|
+
async getAppointmentInformation(date, filteredInstructorIds) {
|
|
239
|
+
date = this.getUpdatedDate(date);
|
|
240
|
+
const isDeleted = this.isDateSkipped(date);
|
|
241
|
+
if (isDeleted)
|
|
242
|
+
return null;
|
|
243
|
+
const instructorId = this.getAppointmentInstructorId(date);
|
|
244
|
+
if (filteredInstructorIds?.length && !filteredInstructorIds.includes(instructorId))
|
|
245
|
+
return null;
|
|
246
|
+
const instructor = await this.getInstructorById(instructorId);
|
|
247
|
+
const duration = this.getAppointmentDuration(date);
|
|
248
|
+
const endDate = date.plus({ minutes: duration });
|
|
249
|
+
const appointment = new common_1.Appointment({
|
|
250
|
+
id: this.id,
|
|
251
|
+
startDate: date.toJSDate(),
|
|
252
|
+
endDate: endDate.toJSDate(),
|
|
253
|
+
instructor: instructor
|
|
254
|
+
});
|
|
255
|
+
return appointment;
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
* @description Only for repeted definitions (repetition = true)
|
|
259
|
+
* @description Finds the final date of the appointment, considering any date updates (updates in the startDate)
|
|
260
|
+
* @description If no date updates are found, the original date will be returned
|
|
261
|
+
* @param date DateTime - original date of the appointment (default return value, if no date updates are found)
|
|
262
|
+
* @returns DateTime - final date of the appointment
|
|
263
|
+
*/
|
|
264
|
+
getUpdatedDate(date) {
|
|
265
|
+
if (!this.updates?.length)
|
|
266
|
+
return date;
|
|
267
|
+
let updates = this.updates.map(i => {
|
|
268
|
+
return {
|
|
269
|
+
from: new Date(i.from),
|
|
270
|
+
to: new Date(i.to)
|
|
271
|
+
};
|
|
272
|
+
});
|
|
273
|
+
updates = updates.filter(i => i.from.getTime() === date.toJSDate().getTime());
|
|
274
|
+
if (!updates?.length) {
|
|
275
|
+
return date;
|
|
276
|
+
}
|
|
277
|
+
return common_1.DateHelper.toDateTimeInstance(common_1.ArrayHelper.getLastItem(updates).to);
|
|
278
|
+
}
|
|
279
|
+
/**
|
|
280
|
+
* @description Only for repeted definitions (repetition = true)
|
|
281
|
+
* @description Checks wether or not the appointment related to the given date has been removed from schedule (pushed in the skippedDates array)
|
|
282
|
+
* @param date DateTime - date of the appointment
|
|
283
|
+
* @returns DateTime - true if the appointment is skipped, false otherwise
|
|
284
|
+
*/
|
|
285
|
+
isDateSkipped(date) {
|
|
286
|
+
if (!this.skippedDates?.length)
|
|
287
|
+
return false;
|
|
288
|
+
const exists = this.skippedDates.some(i => new Date(i).getTime() === date.toJSDate().getTime());
|
|
289
|
+
return exists;
|
|
290
|
+
}
|
|
291
|
+
/**
|
|
292
|
+
* @description Only for repeted definitions (repetition = true)
|
|
293
|
+
* @description Finds the final duration of the appointment, considering any duration updates
|
|
294
|
+
* @description If no duration updates are found, this.duration will be returned by default
|
|
295
|
+
* @param date DateTime - date of the appointment
|
|
296
|
+
* @returns number - duration of the appointment (in minutes)
|
|
297
|
+
*/
|
|
298
|
+
getAppointmentDuration(date) {
|
|
299
|
+
if (!this.durations?.length)
|
|
300
|
+
return this.duration;
|
|
301
|
+
const durations = this.durations.filter(i => new Date(i.date).getTime() === date.toJSDate().getTime());
|
|
302
|
+
if (!durations?.length)
|
|
303
|
+
return this.duration;
|
|
304
|
+
return common_1.ArrayHelper.getLastItem(durations).duration;
|
|
305
|
+
}
|
|
306
|
+
/**
|
|
307
|
+
* @description Checks weather or not there is a student with a matching name registered in this schedule for the given appointment
|
|
308
|
+
* @description Currently only works for flexible course trainings (MVP logic), and will always return false for fixed course trainings
|
|
309
|
+
* Must be renamed and extended in the future to support fixed course trainings as well, but will remain as is for the sake of MVP Migration
|
|
310
|
+
* @param appointment Appointment - appointment to check for registered students
|
|
311
|
+
* @param studentName string - name of the student to check for registration
|
|
312
|
+
* @returns boolean - Weather or not there a student with the given name registered for the appointment
|
|
313
|
+
*/
|
|
314
|
+
async isStudentRegistered(appointment, studentName) {
|
|
315
|
+
const course = await this.getCourse();
|
|
316
|
+
return await appointment_entity_1.StudentTrainingAppointmentEntity
|
|
317
|
+
.createQueryBuilder('a')
|
|
318
|
+
.innerJoin('a.training', 't')
|
|
319
|
+
.innerJoin('t.course', 'c')
|
|
320
|
+
.where('c.id = :courseid', { courseId: course.id })
|
|
321
|
+
.andWhere('c.isFixed = :false', { false: false })
|
|
322
|
+
.andWhere('a.lessonId = :lessonId', { lessonId: this.lessonId })
|
|
323
|
+
.andWhere('a.scheduleId = :scheduleId', { scheduleId: this.id })
|
|
324
|
+
.andWhere('a.startDate = :startDate', { startDate: appointment.startDate })
|
|
325
|
+
.andWhere(`t.studentSnapshot ->> '$.name' like :studentname`, { studentname: `%${studentName}%` })
|
|
326
|
+
.getExists();
|
|
327
|
+
}
|
|
328
|
+
/**
|
|
329
|
+
* @description Doesn't check for the definition's endDate, or updates and skippedDates
|
|
330
|
+
* @returns the next appointment based on repetition logic and weekdays assigned
|
|
331
|
+
*/
|
|
332
|
+
getNextAppointmentDate(date) {
|
|
333
|
+
if (!this.weekdays?.length)
|
|
334
|
+
return null;
|
|
335
|
+
const startDate = common_1.DateHelper.toDateTimeInstance(this.startDate);
|
|
336
|
+
// after going to the next day, set the time to the startDate's time
|
|
337
|
+
// since the param date can be the last appointment's date, and the last appointment's time could've been updated
|
|
338
|
+
date = date.plus({ days: 1 }).set({
|
|
339
|
+
hour: startDate.hour,
|
|
340
|
+
minute: startDate.minute,
|
|
341
|
+
second: startDate.second,
|
|
342
|
+
millisecond: startDate.millisecond
|
|
343
|
+
});
|
|
344
|
+
// weekdays: sorted array of WeekdayNumbers
|
|
345
|
+
const weekdays = this.weekdays
|
|
346
|
+
.map(i => common_1.DateHelper.getWeekdayNumber(i))
|
|
347
|
+
.sort((a, b) => a - b);
|
|
348
|
+
while (!weekdays.includes(common_1.DateHelper.toWeekdayNumber(date.weekday))) {
|
|
349
|
+
date = date.plus({ days: 1 }).set({
|
|
350
|
+
hour: startDate.hour,
|
|
351
|
+
minute: startDate.minute,
|
|
352
|
+
second: startDate.second,
|
|
353
|
+
millisecond: startDate.millisecond
|
|
354
|
+
});
|
|
355
|
+
}
|
|
356
|
+
return date;
|
|
357
|
+
}
|
|
358
|
+
/**
|
|
359
|
+
* Get the instructor registered for the appointment (works for repeated and single appointments)
|
|
360
|
+
* @param date Date - the date of the appointment
|
|
361
|
+
* @returns Instructor - simple instructor model
|
|
362
|
+
*/
|
|
363
|
+
async getAppointmentInstructor(date) {
|
|
364
|
+
const instructorId = this.getAppointmentInstructorId(date);
|
|
365
|
+
return await this.getInstructorById(instructorId);
|
|
366
|
+
}
|
|
367
|
+
/**
|
|
368
|
+
* @param date DateTime - is presumed to belong to an existing appointment
|
|
369
|
+
* @returns number - instructor id for the appointment of the given date
|
|
370
|
+
*/
|
|
371
|
+
getAppointmentInstructorId(date) {
|
|
372
|
+
if (!this.instructors?.length)
|
|
373
|
+
return this.instructorId;
|
|
374
|
+
const instructors = this.instructors.filter(i => new Date(i.date).getTime() === date.toJSDate().getTime());
|
|
375
|
+
if (!instructors?.length)
|
|
376
|
+
return this.instructorId;
|
|
377
|
+
return common_1.ArrayHelper.getLastItem(instructors).id;
|
|
378
|
+
}
|
|
379
|
+
/**
|
|
380
|
+
* Find instructor by id and map with simple information to User model
|
|
381
|
+
* @param id instructor id
|
|
382
|
+
* @returns Object - For the MVP it returns an object mapped like CompanyInstructorMapper.toSimple with the same interface. should be replaced with Person model in the future
|
|
383
|
+
*/
|
|
384
|
+
async getInstructorById(id) {
|
|
385
|
+
const companyInstructor = await instructor_entity_1.CompanyInstructorEntity.findOneBy({ id });
|
|
386
|
+
if (!companyInstructor)
|
|
387
|
+
return null;
|
|
388
|
+
const instructor = await companyInstructor.instructor;
|
|
389
|
+
const user = await instructor.user;
|
|
390
|
+
return {
|
|
391
|
+
id: companyInstructor.id,
|
|
392
|
+
name: instructor.name,
|
|
393
|
+
image: instructor.imageUrl,
|
|
394
|
+
phone: user.phone,
|
|
395
|
+
role: companyInstructor.role,
|
|
396
|
+
status: companyInstructor.status,
|
|
397
|
+
canReinstate: await companyInstructor.canReinstate(),
|
|
398
|
+
calendarLinks: companyInstructor.calendarLinks || []
|
|
399
|
+
};
|
|
400
|
+
}
|
|
107
401
|
};
|
|
108
402
|
exports.CompanyCourseScheduleEntity = CompanyCourseScheduleEntity;
|
|
109
403
|
__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"appointment.entity.js","sourceRoot":"","sources":["../../../../src/profile/company/course/appointment.entity.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"appointment.entity.js","sourceRoot":"","sources":["../../../../src/profile/company/course/appointment.entity.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { StatusType
|
|
1
|
+
import { StatusType } from '@driveup/shared';
|
|
2
2
|
import { AddonUsage, Activity, Course, Address } from '@driveup/common';
|
|
3
3
|
import { CompanyEntity } from '../company.entity';
|
|
4
4
|
import { CompanyProductEntity } from '../product/product.entity';
|
|
@@ -44,8 +44,6 @@ export declare class CompanyCourseEntity extends TrackableEntity<Course> {
|
|
|
44
44
|
* For Others such as Preparation, Completion etc... , the status can be Draft, Published, or Ended
|
|
45
45
|
*/
|
|
46
46
|
status: StatusType;
|
|
47
|
-
catalogType: CatalogType;
|
|
48
|
-
productType: ProductType;
|
|
49
47
|
/******************* Content *******************/
|
|
50
48
|
/**
|
|
51
49
|
* Course name
|
|
@@ -153,24 +153,6 @@ __decorate([
|
|
|
153
153
|
}),
|
|
154
154
|
__metadata("design:type", String)
|
|
155
155
|
], CompanyCourseEntity.prototype, "status", void 0);
|
|
156
|
-
__decorate([
|
|
157
|
-
(0, typeorm_1.Column)({
|
|
158
|
-
type: 'enum',
|
|
159
|
-
enum: shared_1.CatalogType,
|
|
160
|
-
default: shared_1.CatalogType.Driving,
|
|
161
|
-
nullable: false
|
|
162
|
-
}),
|
|
163
|
-
__metadata("design:type", String)
|
|
164
|
-
], CompanyCourseEntity.prototype, "catalogType", void 0);
|
|
165
|
-
__decorate([
|
|
166
|
-
(0, typeorm_1.Column)({
|
|
167
|
-
type: 'enum',
|
|
168
|
-
enum: shared_1.ProductType,
|
|
169
|
-
default: shared_1.ProductType.DrivingCar,
|
|
170
|
-
nullable: false
|
|
171
|
-
}),
|
|
172
|
-
__metadata("design:type", String)
|
|
173
|
-
], CompanyCourseEntity.prototype, "productType", void 0);
|
|
174
156
|
__decorate([
|
|
175
157
|
(0, typeorm_1.Column)(),
|
|
176
158
|
__metadata("design:type", String)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"course.entity.js","sourceRoot":"","sources":["../../../../src/profile/company/course/course.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,qCAA+D;AAC/D,4CAAqF;AACrF,4CAAwE;AACxE,sDAAkD;AAClD,8DAAiE;AACjE,6EAAgF;AAChF,mDAA4D;AAC5D,uEAA0E;AAC1E,oFAAuF;AACvF,kFAA6F;AAC7F,iEAAwE;AACxE,wDAA2D;AAC3D,oEAA4D;AAE5D;;;;;;;;;;GAUG;AAEI,IAAM,mBAAmB,2BAAzB,MAAM,mBAAoB,SAAQ,2BAAuB;
|
|
1
|
+
{"version":3,"file":"course.entity.js","sourceRoot":"","sources":["../../../../src/profile/company/course/course.entity.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,9 +22,19 @@ export declare class CompanyInstructorActivityEntity {
|
|
|
22
22
|
*/
|
|
23
23
|
date: Date;
|
|
24
24
|
/**
|
|
25
|
-
* ID of the company instructor who submitted the activity
|
|
25
|
+
* User ID of the company instructor who submitted the activity (ID of the user account, not instructor / company instructor profile)
|
|
26
26
|
*/
|
|
27
27
|
submittedBy: number;
|
|
28
|
+
/**
|
|
29
|
+
* Previous data state before the activity
|
|
30
|
+
* Could be used for different purposes, e.g., storing previous and next role of the company instructor
|
|
31
|
+
*/
|
|
32
|
+
previousData: string;
|
|
33
|
+
/**
|
|
34
|
+
* New data state after the activity
|
|
35
|
+
* Could be used for different purposes, e.g., storing previous and next role of the company instructor
|
|
36
|
+
*/
|
|
37
|
+
newData: string;
|
|
28
38
|
/**
|
|
29
39
|
* Related company instructor of the activity
|
|
30
40
|
*/
|
|
@@ -42,6 +42,20 @@ __decorate([
|
|
|
42
42
|
(0, typeorm_1.Column)(),
|
|
43
43
|
__metadata("design:type", Number)
|
|
44
44
|
], CompanyInstructorActivityEntity.prototype, "submittedBy", void 0);
|
|
45
|
+
__decorate([
|
|
46
|
+
(0, typeorm_1.Column)({
|
|
47
|
+
nullable: true,
|
|
48
|
+
default: null
|
|
49
|
+
}),
|
|
50
|
+
__metadata("design:type", String)
|
|
51
|
+
], CompanyInstructorActivityEntity.prototype, "previousData", void 0);
|
|
52
|
+
__decorate([
|
|
53
|
+
(0, typeorm_1.Column)({
|
|
54
|
+
nullable: true,
|
|
55
|
+
default: null
|
|
56
|
+
}),
|
|
57
|
+
__metadata("design:type", String)
|
|
58
|
+
], CompanyInstructorActivityEntity.prototype, "newData", void 0);
|
|
45
59
|
__decorate([
|
|
46
60
|
(0, typeorm_1.ManyToOne)(() => instructor_entity_1.CompanyInstructorEntity, instructor => instructor.activities),
|
|
47
61
|
__metadata("design:type", Promise)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activity.entity.js","sourceRoot":"","sources":["../../../../src/profile/company/instructor/activity.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAA8F;AAC9F,2DAA8D;AAGvD,IAAM,+BAA+B,GAArC,MAAM,+BAA+B;
|
|
1
|
+
{"version":3,"file":"activity.entity.js","sourceRoot":"","sources":["../../../../src/profile/company/instructor/activity.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAA8F;AAC9F,2DAA8D;AAGvD,IAAM,+BAA+B,GAArC,MAAM,+BAA+B;IAiE3C,YAAY,KAAgD;QAC3D,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC5B,CAAC;CACD,CAAA;AApEY,0EAA+B;AAM3C;IADC,IAAA,gCAAsB,GAAE;;2DACd;AAMX;IADC,IAAA,0BAAgB,GAAE;8BACR,IAAI;kEAAC;AAMhB;IADC,IAAA,gBAAM,GAAE;;qEACY;AAOrB;IADC,IAAA,gBAAM,GAAE;;8DACK;AAMd;IADC,IAAA,gBAAM,GAAE;8BACH,IAAI;6DAAC;AAMX;IADC,IAAA,gBAAM,GAAE;;oEACW;AAUpB;IAJC,IAAA,gBAAM,EAAC;QACP,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,IAAI;KACb,CAAC;;qEACmB;AAUrB;IAJC,IAAA,gBAAM,EAAC;QACP,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,IAAI;KACb,CAAC;;gEACc;AAMhB;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,2CAAuB,EAAE,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;;mEACjC;0CA/DjC,+BAA+B;IAD3C,IAAA,gBAAM,EAAC,6BAA6B,CAAC;;GACzB,+BAA+B,CAoE3C"}
|
|
@@ -59,7 +59,10 @@ let StudentProgramEntity = class StudentProgramEntity extends trackable_1.Tracka
|
|
|
59
59
|
Object.assign(this, props);
|
|
60
60
|
}
|
|
61
61
|
async getStudent() {
|
|
62
|
-
return await
|
|
62
|
+
return await student_entity_1.StudentEntity.findOne({
|
|
63
|
+
where: { id: this.studentId },
|
|
64
|
+
withDeleted: true
|
|
65
|
+
});
|
|
63
66
|
}
|
|
64
67
|
async getProgram() {
|
|
65
68
|
return await this.program;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"program.entity.js","sourceRoot":"","sources":["../../../../src/profile/student/program/program.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAsF;AACtF,4CAA2D;AAC3D,4CAA2D;AAC3D,sDAAkD;AAClD,4EAAwE;AACxE,qEAA+E;AAC/E,6DAAgE;AAChE,gEAAmE;AACnE,8DAAyE;AACzE,wDAA2D;AAC3D,oEAA4D;AAGrD,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,2BAA+B;IAgIxE,KAAK,CAAC,OAAO;QACZ,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;QACxD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;QACxD,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QAC3F,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QACnF,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QACrF,OAAO,IAAI,uBAAc,CAAC;YACzB,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,OAAO;YAChB,YAAY,EAAE,YAAY;YAC1B,QAAQ,EAAE,QAAQ;YAClB,SAAS,EAAE,SAAS;YACpB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI;SACf,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,SAAS;QACd,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;QACxD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;QACxD,OAAO,IAAI,uBAAc,CAAC;YACzB,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,OAAO;YAChB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI;SACf,CAAC,CAAC;IACJ,CAAC;IAED,YAAY,KAA8B;QACzC,KAAK,EAAE,CAAC;QACR,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,UAAU;QACf,OAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"program.entity.js","sourceRoot":"","sources":["../../../../src/profile/student/program/program.entity.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,10 +21,11 @@ export declare class StudentTrainingAppointmentEntity extends TrackableEntity<Ap
|
|
|
21
21
|
/**
|
|
22
22
|
* Only for company course trainings with flexible appointments
|
|
23
23
|
*/
|
|
24
|
-
|
|
24
|
+
scheduleId: number;
|
|
25
25
|
/**
|
|
26
26
|
* Only for student driving trainings
|
|
27
27
|
* Each session appointment can have a different instructor
|
|
28
|
+
* For course training appointments will be null (MVP logic)
|
|
28
29
|
*/
|
|
29
30
|
instructorId: number;
|
|
30
31
|
/**
|
|
@@ -138,6 +139,12 @@ export declare class StudentTrainingAppointmentEntity extends TrackableEntity<Ap
|
|
|
138
139
|
constructor(props?: Partial<StudentTrainingAppointmentEntity>);
|
|
139
140
|
toModel(): Promise<Appointment>;
|
|
140
141
|
toSummary(): Appointment;
|
|
142
|
+
/**
|
|
143
|
+
* Gets the end date of the appointment
|
|
144
|
+
* If the field "endDate" is not set, it calculates it based on the start date and duration
|
|
145
|
+
* @returns Date - The end date of the training appointment
|
|
146
|
+
*/
|
|
147
|
+
getEndDate(): Date;
|
|
141
148
|
/**
|
|
142
149
|
* Student traning session
|
|
143
150
|
* Extended version of appointment with training session details
|