@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.
Files changed (214) hide show
  1. package/lib/catalog/addon/addon.entity.d.ts +3 -3
  2. package/lib/catalog/addon/addon.entity.js +5 -5
  3. package/lib/catalog/addon/addon.entity.js.map +1 -1
  4. package/lib/catalog/addon/country.entity.d.ts +3 -3
  5. package/lib/catalog/addon/country.entity.js +5 -5
  6. package/lib/catalog/addon/country.entity.js.map +1 -1
  7. package/lib/catalog/priceplan/priceplan.entity.d.ts +2 -2
  8. package/lib/catalog/priceplan/priceplan.entity.js +4 -4
  9. package/lib/catalog/priceplan/priceplan.entity.js.map +1 -1
  10. package/lib/catalog/product/country.entity.d.ts +4 -4
  11. package/lib/catalog/product/country.entity.js +9 -9
  12. package/lib/catalog/product/country.entity.js.map +1 -1
  13. package/lib/catalog/product/priceplan.entity.d.ts +3 -3
  14. package/lib/catalog/product/priceplan.entity.js +8 -8
  15. package/lib/catalog/product/priceplan.entity.js.map +1 -1
  16. package/lib/catalog/product/product.entity.d.ts +3 -3
  17. package/lib/catalog/product/product.entity.js +6 -6
  18. package/lib/catalog/product/product.entity.js.map +1 -1
  19. package/lib/catalog/program/program.entity.d.ts +1 -1
  20. package/lib/catalog/program/program.entity.js +5 -5
  21. package/lib/catalog/program/program.entity.js.map +1 -1
  22. package/lib/catalog/seed/assets/asset.entity.d.ts +2 -2
  23. package/lib/catalog/seed/assets/asset.entity.js +4 -4
  24. package/lib/catalog/seed/assets/asset.entity.js.map +1 -1
  25. package/lib/catalog/seed/courses/course.entity.d.ts +3 -3
  26. package/lib/catalog/seed/courses/course.entity.js +7 -7
  27. package/lib/catalog/seed/courses/course.entity.js.map +1 -1
  28. package/lib/catalog/seed/courses/lesson.entity.d.ts +2 -2
  29. package/lib/catalog/seed/courses/lesson.entity.js +5 -5
  30. package/lib/catalog/seed/courses/lesson.entity.js.map +1 -1
  31. package/lib/catalog/seed/courses/topic.entity.d.ts +2 -2
  32. package/lib/catalog/seed/courses/topic.entity.js +5 -5
  33. package/lib/catalog/seed/courses/topic.entity.js.map +1 -1
  34. package/lib/catalog/seed/expense/category.entity.d.ts +1 -1
  35. package/lib/catalog/seed/expense/category.entity.js +4 -4
  36. package/lib/catalog/seed/expense/category.entity.js.map +1 -1
  37. package/lib/index.d.ts +1 -1
  38. package/lib/index.js +1 -1
  39. package/lib/index.js.map +1 -1
  40. package/lib/profile/agent/agent.entity.d.ts +12 -4
  41. package/lib/profile/agent/agent.entity.js +30 -6
  42. package/lib/profile/agent/agent.entity.js.map +1 -1
  43. package/lib/profile/agent/asset.entity.d.ts +1 -1
  44. package/lib/profile/agent/asset.entity.js +2 -2
  45. package/lib/profile/agent/asset.entity.js.map +1 -1
  46. package/lib/profile/agent/payout.entity.d.ts +2 -2
  47. package/lib/profile/agent/payout.entity.js +4 -4
  48. package/lib/profile/agent/payout.entity.js.map +1 -1
  49. package/lib/profile/agent/promotion.entity.d.ts +3 -3
  50. package/lib/profile/agent/promotion.entity.js +6 -6
  51. package/lib/profile/agent/promotion.entity.js.map +1 -1
  52. package/lib/profile/company/company.entity.d.ts +39 -8
  53. package/lib/profile/company/company.entity.js +147 -10
  54. package/lib/profile/company/company.entity.js.map +1 -1
  55. package/lib/profile/company/course/course.entity.d.ts +35 -8
  56. package/lib/profile/company/course/course.entity.js +48 -9
  57. package/lib/profile/company/course/course.entity.js.map +1 -1
  58. package/lib/profile/company/course/lesson.entity.d.ts +20 -6
  59. package/lib/profile/company/course/lesson.entity.js +77 -10
  60. package/lib/profile/company/course/lesson.entity.js.map +1 -1
  61. package/lib/profile/company/course/{appointment.entity.d.ts → schedule.entity.d.ts} +78 -8
  62. package/lib/profile/company/course/{appointment.entity.js → schedule.entity.js} +257 -7
  63. package/lib/profile/company/course/schedule.entity.js.map +1 -0
  64. package/lib/profile/company/course/topic.entity.d.ts +6 -2
  65. package/lib/profile/company/course/topic.entity.js +12 -5
  66. package/lib/profile/company/course/topic.entity.js.map +1 -1
  67. package/lib/profile/company/finances/billing/bill.entity.d.ts +3 -3
  68. package/lib/profile/company/finances/billing/bill.entity.js +5 -5
  69. package/lib/profile/company/finances/billing/bill.entity.js.map +1 -1
  70. package/lib/profile/company/finances/billing/item.entity.d.ts +2 -2
  71. package/lib/profile/company/finances/billing/item.entity.js +5 -5
  72. package/lib/profile/company/finances/billing/item.entity.js.map +1 -1
  73. package/lib/profile/company/finances/billing/transaction.entity.d.ts +3 -3
  74. package/lib/profile/company/finances/billing/transaction.entity.js +6 -6
  75. package/lib/profile/company/finances/billing/transaction.entity.js.map +1 -1
  76. package/lib/profile/company/finances/expense/category.entity.d.ts +1 -1
  77. package/lib/profile/company/finances/expense/category.entity.js +4 -4
  78. package/lib/profile/company/finances/expense/category.entity.js.map +1 -1
  79. package/lib/profile/company/finances/expense/expense.entity.d.ts +6 -2
  80. package/lib/profile/company/finances/expense/expense.entity.js +32 -4
  81. package/lib/profile/company/finances/expense/expense.entity.js.map +1 -1
  82. package/lib/profile/company/finances/handover/handover.entity.d.ts +3 -3
  83. package/lib/profile/company/finances/handover/handover.entity.js +6 -6
  84. package/lib/profile/company/finances/handover/handover.entity.js.map +1 -1
  85. package/lib/profile/company/finances/invoice/invoice.entity.d.ts +7 -6
  86. package/lib/profile/company/finances/invoice/invoice.entity.js +9 -8
  87. package/lib/profile/company/finances/invoice/invoice.entity.js.map +1 -1
  88. package/lib/profile/company/finances/invoice/item.entity.d.ts +2 -2
  89. package/lib/profile/company/finances/invoice/item.entity.js +4 -4
  90. package/lib/profile/company/finances/invoice/item.entity.js.map +1 -1
  91. package/lib/profile/company/finances/payment/method.entity.d.ts +10 -4
  92. package/lib/profile/company/finances/payment/method.entity.js +24 -5
  93. package/lib/profile/company/finances/payment/method.entity.js.map +1 -1
  94. package/lib/profile/company/instructor/activity.entity.js.map +1 -1
  95. package/lib/profile/company/instructor/calendar-state.entity.js.map +1 -1
  96. package/lib/profile/company/instructor/instructor.entity.d.ts +20 -11
  97. package/lib/profile/company/instructor/instructor.entity.js +111 -16
  98. package/lib/profile/company/instructor/instructor.entity.js.map +1 -1
  99. package/lib/profile/company/instructor/task.entity.d.ts +2 -1
  100. package/lib/profile/company/instructor/task.entity.js +9 -4
  101. package/lib/profile/company/instructor/task.entity.js.map +1 -1
  102. package/lib/profile/company/medical/examination.entity.d.ts +3 -3
  103. package/lib/profile/company/medical/examination.entity.js +5 -5
  104. package/lib/profile/company/medical/examination.entity.js.map +1 -1
  105. package/lib/profile/company/medical/product.entity.d.ts +4 -4
  106. package/lib/profile/company/medical/product.entity.js +5 -5
  107. package/lib/profile/company/medical/product.entity.js.map +1 -1
  108. package/lib/profile/company/product/addon.entity.d.ts +2 -2
  109. package/lib/profile/company/product/addon.entity.js +5 -5
  110. package/lib/profile/company/product/addon.entity.js.map +1 -1
  111. package/lib/profile/company/product/priceplan.entity.d.ts +4 -3
  112. package/lib/profile/company/product/priceplan.entity.js +9 -4
  113. package/lib/profile/company/product/priceplan.entity.js.map +1 -1
  114. package/lib/profile/company/product/product.entity.d.ts +8 -7
  115. package/lib/profile/company/product/product.entity.js +19 -9
  116. package/lib/profile/company/product/product.entity.js.map +1 -1
  117. package/lib/profile/company/product/vehicle.entity.d.ts +2 -2
  118. package/lib/profile/company/product/vehicle.entity.js +4 -4
  119. package/lib/profile/company/product/vehicle.entity.js.map +1 -1
  120. package/lib/profile/instructor/instructor.entity.d.ts +6 -3
  121. package/lib/profile/instructor/instructor.entity.js +28 -7
  122. package/lib/profile/instructor/instructor.entity.js.map +1 -1
  123. package/lib/profile/student/program/licence/licence.entity.d.ts +3 -3
  124. package/lib/profile/student/program/licence/licence.entity.js +5 -5
  125. package/lib/profile/student/program/licence/licence.entity.js.map +1 -1
  126. package/lib/profile/student/program/medical/certificate.entity.d.ts +2 -2
  127. package/lib/profile/student/program/medical/certificate.entity.js +4 -4
  128. package/lib/profile/student/program/medical/certificate.entity.js.map +1 -1
  129. package/lib/profile/student/program/medical/examination.entity.d.ts +3 -3
  130. package/lib/profile/student/program/medical/examination.entity.js +10 -10
  131. package/lib/profile/student/program/medical/examination.entity.js.map +1 -1
  132. package/lib/profile/student/program/program.entity.d.ts +11 -6
  133. package/lib/profile/student/program/program.entity.js +14 -9
  134. package/lib/profile/student/program/program.entity.js.map +1 -1
  135. package/lib/profile/student/program/training/appointment.entity.d.ts +23 -9
  136. package/lib/profile/student/program/training/appointment.entity.js +115 -13
  137. package/lib/profile/student/program/training/appointment.entity.js.map +1 -1
  138. package/lib/profile/student/program/training/exam.entity.d.ts +4 -2
  139. package/lib/profile/student/program/training/exam.entity.js +12 -4
  140. package/lib/profile/student/program/training/exam.entity.js.map +1 -1
  141. package/lib/profile/student/program/training/lesson.entity.d.ts +10 -4
  142. package/lib/profile/student/program/training/lesson.entity.js +32 -7
  143. package/lib/profile/student/program/training/lesson.entity.js.map +1 -1
  144. package/lib/profile/student/program/training/request.entity.d.ts +6 -3
  145. package/lib/profile/student/program/training/request.entity.js +26 -5
  146. package/lib/profile/student/program/training/request.entity.js.map +1 -1
  147. package/lib/profile/student/program/training/topic.entity.d.ts +14 -3
  148. package/lib/profile/student/program/training/topic.entity.js +29 -5
  149. package/lib/profile/student/program/training/topic.entity.js.map +1 -1
  150. package/lib/profile/student/program/training/training.entity.d.ts +76 -8
  151. package/lib/profile/student/program/training/training.entity.js +226 -9
  152. package/lib/profile/student/program/training/training.entity.js.map +1 -1
  153. package/lib/profile/student/program/training/transaction.entity.d.ts +8 -3
  154. package/lib/profile/student/program/training/transaction.entity.js +41 -4
  155. package/lib/profile/student/program/training/transaction.entity.js.map +1 -1
  156. package/lib/profile/student/student.entity.d.ts +11 -6
  157. package/lib/profile/student/student.entity.js +57 -10
  158. package/lib/profile/student/student.entity.js.map +1 -1
  159. package/lib/system/campaign/campaign.entity.d.ts +2 -2
  160. package/lib/system/campaign/campaign.entity.js +6 -6
  161. package/lib/system/campaign/campaign.entity.js.map +1 -1
  162. package/lib/system/campaign/gifcode.entity.d.ts +2 -2
  163. package/lib/system/campaign/gifcode.entity.js +6 -6
  164. package/lib/system/campaign/gifcode.entity.js.map +1 -1
  165. package/lib/system/country/country.entity.d.ts +7 -5
  166. package/lib/system/country/country.entity.js +15 -9
  167. package/lib/system/country/country.entity.js.map +1 -1
  168. package/lib/system/currency/currency.entity.d.ts +1 -1
  169. package/lib/system/currency/currency.entity.js +4 -4
  170. package/lib/system/currency/currency.entity.js.map +1 -1
  171. package/lib/system/driving/category.entity.d.ts +7 -7
  172. package/lib/system/driving/category.entity.js +12 -12
  173. package/lib/system/driving/category.entity.js.map +1 -1
  174. package/lib/system/driving/vehicle.entity.d.ts +2 -2
  175. package/lib/system/driving/vehicle.entity.js +4 -4
  176. package/lib/system/driving/vehicle.entity.js.map +1 -1
  177. package/lib/system/event/event.entity.d.ts +2 -2
  178. package/lib/system/event/event.entity.js +4 -4
  179. package/lib/system/event/event.entity.js.map +1 -1
  180. package/lib/system/event/log.entity.d.ts +2 -2
  181. package/lib/system/event/log.entity.js +3 -3
  182. package/lib/system/event/log.entity.js.map +1 -1
  183. package/lib/system/policy/policy.entity.d.ts +1 -1
  184. package/lib/system/policy/policy.entity.js +5 -5
  185. package/lib/system/policy/policy.entity.js.map +1 -1
  186. package/lib/system/staff/staff.entity.d.ts +1 -1
  187. package/lib/system/staff/staff.entity.js +3 -3
  188. package/lib/system/staff/staff.entity.js.map +1 -1
  189. package/lib/tsconfig.tsbuildinfo +1 -1
  190. package/lib/user/alert.entity.d.ts +3 -2
  191. package/lib/user/alert.entity.js +11 -4
  192. package/lib/user/alert.entity.js.map +1 -1
  193. package/lib/user/blocked.entity.js +2 -2
  194. package/lib/user/blocked.entity.js.map +1 -1
  195. package/lib/user/device.entity.d.ts +15 -0
  196. package/lib/user/device.entity.js +26 -0
  197. package/lib/user/device.entity.js.map +1 -1
  198. package/lib/user/notification.entity.d.ts +2 -2
  199. package/lib/user/notification.entity.js +4 -4
  200. package/lib/user/notification.entity.js.map +1 -1
  201. package/lib/user/ticket.entity.d.ts +8 -3
  202. package/lib/user/ticket.entity.js +11 -4
  203. package/lib/user/ticket.entity.js.map +1 -1
  204. package/lib/user/user.entity.d.ts +91 -82
  205. package/lib/user/user.entity.js +257 -259
  206. package/lib/user/user.entity.js.map +1 -1
  207. package/lib/user/verification.entity.js +2 -2
  208. package/lib/user/verification.entity.js.map +1 -1
  209. package/lib/utils/activity.helper.d.ts +2 -2
  210. package/lib/utils/activity.helper.js.map +1 -1
  211. package/lib/utils/trackable.d.ts +2 -2
  212. package/lib/utils/trackable.js.map +1 -1
  213. package/package.json +2 -2
  214. package/lib/profile/company/course/appointment.entity.js.map +0 -1
@@ -1,10 +1,10 @@
1
1
  import { Activity, Appointment, Period, RecurringAppointment } from '@driveup/common';
2
- import { CompanyCourseLessonEntity } from './lesson.entity';
3
- import { StudentTrainingAppointmentEntity } from '../../student/program/training/appointment.entity';
4
- import { CompanyInstructorEntity } from '../instructor/instructor.entity';
5
- import { TrackableEntity } from '../../../utils/trackable';
6
2
  import { IDateAssignment, IDateDuration, IDateUpdate, WeekDay } from '@driveup/shared';
7
3
  import { DateTime } from 'luxon';
4
+ import { TrackableEntity } from '../../../utils/trackable';
5
+ import { StudentTrainingAppointmentEntity } from '../../student/program/training/appointment.entity';
6
+ import { CompanyInstructorEntity } from '../instructor/instructor.entity';
7
+ import { CompanyCourseLessonEntity } from './lesson.entity';
8
8
  /**
9
9
  * Represents a series of training appointment offers managed by the company.
10
10
  *
@@ -112,8 +112,47 @@ export declare class CompanyCourseScheduleEntity extends TrackableEntity<Recurri
112
112
  getActivities(): Promise<Activity[]>;
113
113
  getCompany(): Promise<import("../company.entity").CompanyEntity>;
114
114
  getCourse(): Promise<import("./course.entity").CompanyCourseEntity>;
115
+ getLesson(): Promise<CompanyCourseLessonEntity>;
115
116
  getInstructor(): Promise<CompanyInstructorEntity>;
116
117
  getInstructorByDate(date: Date): Promise<CompanyInstructorEntity>;
118
+ /************************* Manage student appointments *************************/
119
+ /**
120
+ * Get list of related student training appointments, which's training is not terminated
121
+ * @param date Date - defaulted to this.startDate - Must be provided for flexible course appointments
122
+ * @returns StudentTrainingAppointmentEntity[]
123
+ */
124
+ getStudentAppointments(date?: Date): Promise<StudentTrainingAppointmentEntity[]>;
125
+ /**
126
+ * Get total number of students who attended the appointment in the given date
127
+ * @param date Date - defaulted to this.startDate - Must be provided for flexible course appointments
128
+ */
129
+ getTotalAttended(date?: Date): Promise<number>;
130
+ /**
131
+ * Get total number of students who where absent in the appointment in the given date
132
+ * @param date Date - defaulted to this.startDate - Must be provided for flexible course appointments
133
+ */
134
+ getTotalAbsent(date?: Date): Promise<number>;
135
+ /**
136
+ * Get the count of taken seats for this appointment
137
+ * - Only applicable for preparation catalog type courses. Returns null for other catalog types.
138
+ * @param startDate Date - Optional - Only send for flexible courses to specify the desired appointment's startDate
139
+ * @returns number - count of registered student appointments for this appointment
140
+ */
141
+ getTakenSeats(startDate?: Date): Promise<number>;
142
+ /**
143
+ * Get the count of present students for this appointment
144
+ * - Only applicable for preparation catalog type courses. Returns null for other catalog types.
145
+ * @param startDate Date - Optional - Only send for flexible courses to specify the desired appointment's startDate
146
+ * @returns number - count of attended student appointments for this appointment
147
+ */
148
+ getTotalPresentStudents(startDate?: Date): Promise<number>;
149
+ /************************* Flexible courses *************************/
150
+ /**
151
+ * Finds if there is an appointment in the given date (checking all of the updates), and returning it if is found
152
+ * @param date Date - the date to check if belongs to an existing appointment
153
+ * @returns Appointment if an appointment is found in the given date, null otherwise
154
+ */
155
+ getAppointment(date: Date): Promise<Appointment>;
117
156
  /**
118
157
  * Load all appointments of the definition within the given period
119
158
  * @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.
@@ -123,6 +162,13 @@ export declare class CompanyCourseScheduleEntity extends TrackableEntity<Recurri
123
162
  * @returns All appointments of the definition within the given period, filtered by instructorId if provided
124
163
  */
125
164
  getAppointments(period: Period, instructorIds?: number[], searchPhrase?: string): Promise<Appointment[]>;
165
+ /**
166
+ * Check if there is one appointment with empty seats
167
+ *
168
+ * If the definition has no appointments in the given period, returns true.
169
+ * Since the functions is supposed to return wether any of the definition's appointments have empty seats
170
+ */
171
+ hasAppointmentWithEmptySeats(period: Period): Promise<boolean>;
126
172
  /**
127
173
  *
128
174
  * @param period Period
@@ -143,14 +189,14 @@ export declare class CompanyCourseScheduleEntity extends TrackableEntity<Recurri
143
189
  * @param date DateTime - original date of the appointment (default return value, if no date updates are found)
144
190
  * @returns DateTime - final date of the appointment
145
191
  */
146
- private getUpdatedDate;
192
+ getUpdatedDate(date: DateTime): DateTime;
147
193
  /**
148
194
  * @description Only for repeted definitions (repetition = true)
149
195
  * @description Checks wether or not the appointment related to the given date has been removed from schedule (pushed in the skippedDates array)
150
196
  * @param date DateTime - date of the appointment
151
197
  * @returns DateTime - true if the appointment is skipped, false otherwise
152
198
  */
153
- private isDateSkipped;
199
+ isDateSkipped(date: DateTime): boolean;
154
200
  /**
155
201
  * @description Only for repeted definitions (repetition = true)
156
202
  * @description Finds the final duration of the appointment, considering any duration updates
@@ -172,7 +218,7 @@ export declare class CompanyCourseScheduleEntity extends TrackableEntity<Recurri
172
218
  * @description Doesn't check for the definition's endDate, or updates and skippedDates
173
219
  * @returns the next appointment based on repetition logic and weekdays assigned
174
220
  */
175
- private getNextAppointmentDate;
221
+ getNextAppointmentDate(date: DateTime): DateTime;
176
222
  /**
177
223
  * Get the instructor registered for the appointment (works for repeated and single appointments)
178
224
  * @param date Date - the date of the appointment
@@ -198,5 +244,29 @@ export declare class CompanyCourseScheduleEntity extends TrackableEntity<Recurri
198
244
  * @param id instructor id
199
245
  * @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
246
  */
201
- private getInstructorById;
247
+ getInstructorById(id: number): Promise<{
248
+ id: number;
249
+ name: string;
250
+ image: string;
251
+ phone: string;
252
+ role: import("@driveup/shared").Role;
253
+ status: import("@driveup/shared").AccountStatus;
254
+ canReinstate: boolean;
255
+ calendarLinks: import("@driveup/common").Link[];
256
+ }>;
257
+ /**
258
+ * Get total number of appointments that have any update (duration/instructor/date) after the given date
259
+ * @param from Date - if null, from definition start date
260
+ * @returns number - total updated appointments
261
+ */
262
+ getTotalUpdatedAppointments(from: Date): number;
263
+ getRemainingSeats(date: Date): Promise<number>;
264
+ /**
265
+ * This method must be called anytime when definition's endDate is changed to a value other than null/undefined
266
+ *
267
+ * Removes all 'updates', 'skippedDates', 'instructors' and 'durations' after the definition's endDate
268
+ *
269
+ * - Does not save the definition
270
+ */
271
+ removeUpdatesAfterEndDate(): boolean;
202
272
  }
@@ -10,15 +10,15 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.CompanyCourseScheduleEntity = void 0;
13
- const typeorm_1 = require("typeorm");
14
13
  const common_1 = require("@driveup/common");
15
- const lesson_entity_1 = require("./lesson.entity");
16
- const appointment_entity_1 = require("../../student/program/training/appointment.entity");
17
- const instructor_entity_1 = require("../instructor/instructor.entity");
18
- const trackable_1 = require("../../../utils/trackable");
19
- const activity_helper_1 = require("../../../utils/activity.helper");
20
14
  const shared_1 = require("@driveup/shared");
21
15
  const luxon_1 = require("luxon");
16
+ const typeorm_1 = require("typeorm");
17
+ const activity_helper_1 = require("../../../utils/activity.helper");
18
+ const trackable_1 = require("../../../utils/trackable");
19
+ const appointment_entity_1 = require("../../student/program/training/appointment.entity");
20
+ const instructor_entity_1 = require("../instructor/instructor.entity");
21
+ const lesson_entity_1 = require("./lesson.entity");
22
22
  /**
23
23
  * Represents a series of training appointment offers managed by the company.
24
24
  *
@@ -98,6 +98,9 @@ let CompanyCourseScheduleEntity = class CompanyCourseScheduleEntity extends trac
98
98
  const lesson = await this.lesson;
99
99
  return lesson.getCourse();
100
100
  }
101
+ async getLesson() {
102
+ return await this.lesson;
103
+ }
101
104
  async getInstructor() {
102
105
  return await this.instructor;
103
106
  }
@@ -105,6 +108,153 @@ let CompanyCourseScheduleEntity = class CompanyCourseScheduleEntity extends trac
105
108
  const d = this.instructors?.find(i => i.date === date);
106
109
  return d?.id ? await instructor_entity_1.CompanyInstructorEntity.findOneBy({ id: d.id }) : null;
107
110
  }
111
+ /************************* Manage student appointments *************************/
112
+ /**
113
+ * Get list of related student training appointments, which's training is not terminated
114
+ * @param date Date - defaulted to this.startDate - Must be provided for flexible course appointments
115
+ * @returns StudentTrainingAppointmentEntity[]
116
+ */
117
+ async getStudentAppointments(date = this.startDate) {
118
+ const course = await (await this.lesson).course;
119
+ if (!course.isFixed && !date) {
120
+ return [];
121
+ }
122
+ return await appointment_entity_1.StudentTrainingAppointmentEntity.createQueryBuilder('ta') // training appointment
123
+ .innerJoin('ta.training', 't') // training
124
+ .where('ta.scheduleId = :id', { id: this.id })
125
+ .andWhere('ta.startDate = :date', { date: date })
126
+ .andWhere('t.status != :terminatedStatus', { terminatedStatus: shared_1.StatusType.Terminated })
127
+ .getMany();
128
+ }
129
+ /**
130
+ * Get total number of students who attended the appointment in the given date
131
+ * @param date Date - defaulted to this.startDate - Must be provided for flexible course appointments
132
+ */
133
+ async getTotalAttended(date = this.startDate) {
134
+ const course = await (await this.lesson).course;
135
+ if (!course.isFixed && !date) {
136
+ return null;
137
+ }
138
+ return await appointment_entity_1.StudentTrainingAppointmentEntity.countBy({
139
+ scheduleId: this.id,
140
+ startDate: date,
141
+ attended: true
142
+ });
143
+ }
144
+ /**
145
+ * Get total number of students who where absent in the appointment in the given date
146
+ * @param date Date - defaulted to this.startDate - Must be provided for flexible course appointments
147
+ */
148
+ async getTotalAbsent(date = this.startDate) {
149
+ const course = await (await this.lesson).course;
150
+ if (!course.isFixed && !date) {
151
+ return null;
152
+ }
153
+ return await appointment_entity_1.StudentTrainingAppointmentEntity.countBy({
154
+ scheduleId: this.id,
155
+ startDate: date,
156
+ attended: false
157
+ });
158
+ }
159
+ /**
160
+ * Get the count of taken seats for this appointment
161
+ * - Only applicable for preparation catalog type courses. Returns null for other catalog types.
162
+ * @param startDate Date - Optional - Only send for flexible courses to specify the desired appointment's startDate
163
+ * @returns number - count of registered student appointments for this appointment
164
+ */
165
+ async getTakenSeats(startDate) {
166
+ const course = await this.getCourse();
167
+ const product = await course.product;
168
+ if (product.catalogType !== shared_1.CatalogType.Preparation) {
169
+ return null;
170
+ }
171
+ const count = await appointment_entity_1.StudentTrainingAppointmentEntity.countBy({
172
+ scheduleId: this.id,
173
+ startDate: startDate ?? this.startDate
174
+ });
175
+ return count;
176
+ }
177
+ /**
178
+ * Get the count of present students for this appointment
179
+ * - Only applicable for preparation catalog type courses. Returns null for other catalog types.
180
+ * @param startDate Date - Optional - Only send for flexible courses to specify the desired appointment's startDate
181
+ * @returns number - count of attended student appointments for this appointment
182
+ */
183
+ async getTotalPresentStudents(startDate) {
184
+ const course = await this.getCourse();
185
+ const product = await course.product;
186
+ if (product.catalogType !== shared_1.CatalogType.Preparation) {
187
+ return null;
188
+ }
189
+ const count = await appointment_entity_1.StudentTrainingAppointmentEntity.countBy({
190
+ scheduleId: this.id,
191
+ startDate: startDate ?? this.startDate,
192
+ attended: true
193
+ });
194
+ return count;
195
+ }
196
+ /************************* Flexible courses *************************/
197
+ /**
198
+ * Finds if there is an appointment in the given date (checking all of the updates), and returning it if is found
199
+ * @param date Date - the date to check if belongs to an existing appointment
200
+ * @returns Appointment if an appointment is found in the given date, null otherwise
201
+ */
202
+ async getAppointment(date) {
203
+ // Note: other parts of the app depend on this method returning the instructor
204
+ // do not remove unless the dependencies are covered
205
+ // step 0 : prepare local variables
206
+ date = new Date(date);
207
+ let appointmentDate = luxon_1.DateTime.fromJSDate(date);
208
+ // step 1 : manage single appointment
209
+ if (!this.repetition) {
210
+ // if the start date matches the given date, return appointment information
211
+ // otherwise, appointment is not found
212
+ if (this.startDate.getTime() === date.getTime()) {
213
+ const instructor = await this.getAppointmentInstructor(appointmentDate);
214
+ const endDate = luxon_1.DateTime.fromJSDate(this.startDate)
215
+ .plus({ minutes: this.duration })
216
+ .toJSDate();
217
+ return new common_1.Appointment({
218
+ id: this.id,
219
+ startDate: this.startDate,
220
+ endDate,
221
+ instructor: instructor
222
+ });
223
+ }
224
+ return null;
225
+ }
226
+ // step 2 : make sure the date is inside the definition's time frame
227
+ if (date < this.startDate || (this.endDate && date > this.endDate)) {
228
+ return null;
229
+ }
230
+ // step 3 : check if the weekday of the given date, is one of the weekdays of the series
231
+ const weekdayMatches = this.weekdays.some(i => appointmentDate.weekday === common_1.DateHelper.getWeekdayNumber(i));
232
+ if (!weekdayMatches) {
233
+ return null;
234
+ }
235
+ // step 4 : check for updates in the time of the appointment
236
+ // if an update is made, then the given date doesn't point to an existing appointment
237
+ appointmentDate = this.getUpdatedDate(appointmentDate);
238
+ if (appointmentDate.toJSDate().getTime() !== date.getTime()) {
239
+ return null;
240
+ }
241
+ // step 5 : check if the appointment is deleted
242
+ const isDeleted = this.isDateSkipped(appointmentDate);
243
+ if (isDeleted) {
244
+ return null;
245
+ }
246
+ // step 6 : get the appointment instructor
247
+ const instructor = await this.getAppointmentInstructor(appointmentDate);
248
+ // step 7 : get the appointment duration and calculate the endDate
249
+ const appointmentDuration = this.getAppointmentDuration(appointmentDate);
250
+ const endDate = appointmentDate.plus({ minutes: appointmentDuration });
251
+ return new common_1.Appointment({
252
+ id: this.id,
253
+ startDate: appointmentDate.toJSDate(),
254
+ endDate: endDate.toJSDate(),
255
+ instructor: instructor
256
+ });
257
+ }
108
258
  /**
109
259
  * Load all appointments of the definition within the given period
110
260
  * @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 +328,56 @@ let CompanyCourseScheduleEntity = class CompanyCourseScheduleEntity extends trac
178
328
  // return the found appointments
179
329
  return appointments;
180
330
  }
331
+ /**
332
+ * Check if there is one appointment with empty seats
333
+ *
334
+ * If the definition has no appointments in the given period, returns true.
335
+ * Since the functions is supposed to return wether any of the definition's appointments have empty seats
336
+ */
337
+ async hasAppointmentWithEmptySeats(period) {
338
+ // step 0 : prepare local variables
339
+ period.startDate = new Date(period.startDate);
340
+ period.endDate = new Date(period.endDate);
341
+ // step 1 : get first appointment date
342
+ // if there is no match for given period, first appointment is not found
343
+ // if not found, return empty array (not appointments)
344
+ let current = this.getFirstAppointmentDateInPeriod(period);
345
+ if (!current) {
346
+ return true;
347
+ }
348
+ if (current.toJSDate() > period.endDate ||
349
+ (this.endDate && current.toJSDate() > this.endDate)) {
350
+ return true;
351
+ }
352
+ // step 2 : from the first appointment and forward
353
+ // 1 -> set appointment information (and check for filtered instructor)
354
+ // 2 -> if appointment is found, and there are remaining seats, return true
355
+ // 3 -> find the next appointment date "inside the given period"
356
+ // repeat the process
357
+ let appointment = await this.getAppointmentInformation(current);
358
+ if (appointment) {
359
+ const remainingSeats = await this.getRemainingSeats(current.toJSDate());
360
+ if (remainingSeats > 0) {
361
+ return true;
362
+ }
363
+ }
364
+ current = this.getNextAppointmentDate(current);
365
+ if (!current) {
366
+ return false;
367
+ }
368
+ while (current.toJSDate() <= period.endDate &&
369
+ (!this.endDate || current.toJSDate() <= this.endDate)) {
370
+ appointment = await this.getAppointmentInformation(current);
371
+ if (appointment) {
372
+ const remainingSeats = await this.getRemainingSeats(current.toJSDate());
373
+ if (remainingSeats > 0) {
374
+ return true;
375
+ }
376
+ }
377
+ current = this.getNextAppointmentDate(current);
378
+ }
379
+ return false;
380
+ }
181
381
  /**
182
382
  *
183
383
  * @param period Period
@@ -398,6 +598,56 @@ let CompanyCourseScheduleEntity = class CompanyCourseScheduleEntity extends trac
398
598
  calendarLinks: companyInstructor.calendarLinks || []
399
599
  };
400
600
  }
601
+ /**
602
+ * Get total number of appointments that have any update (duration/instructor/date) after the given date
603
+ * @param from Date - if null, from definition start date
604
+ * @returns number - total updated appointments
605
+ */
606
+ getTotalUpdatedAppointments(from) {
607
+ if (!from) {
608
+ from = this.startDate;
609
+ }
610
+ const durationExceptions = this.durations?.filter(i => new Date(i.date) > from);
611
+ const updateExceptions = this.updates?.filter(i => new Date(i.from) > from || new Date(i.to) > from);
612
+ const instructorExceptions = this.instructors?.filter(i => new Date(i.date) > from);
613
+ // Collect unique appointment dates that have any exception
614
+ // This is to avoid counting multiple exceptions for the same appointment more than once
615
+ // i.e if an appointment has duration and instructor and date (updates) exceptions, it should be counted once, not three times
616
+ const uniqueExceptionDates = new Set();
617
+ durationExceptions?.forEach(i => {
618
+ uniqueExceptionDates.add(new Date(i.date).toISOString());
619
+ });
620
+ updateExceptions?.forEach(i => {
621
+ uniqueExceptionDates.add(new Date(i.to).toISOString());
622
+ });
623
+ instructorExceptions?.forEach(i => {
624
+ uniqueExceptionDates.add(new Date(i.date).toISOString());
625
+ });
626
+ // Count unique appointments with exceptions
627
+ return uniqueExceptionDates.size;
628
+ }
629
+ async getRemainingSeats(date) {
630
+ const lesson = await lesson_entity_1.CompanyCourseLessonEntity.findOneBy({ id: this.lessonId });
631
+ const course = await lesson.course;
632
+ if (!course.maxStudents)
633
+ return;
634
+ const takenSeats = await this.getTakenSeats(date);
635
+ return +course.maxStudents - (takenSeats || 0);
636
+ }
637
+ /**
638
+ * This method must be called anytime when definition's endDate is changed to a value other than null/undefined
639
+ *
640
+ * Removes all 'updates', 'skippedDates', 'instructors' and 'durations' after the definition's endDate
641
+ *
642
+ * - Does not save the definition
643
+ */
644
+ removeUpdatesAfterEndDate() {
645
+ this.updates = (this.updates ?? []).filter(i => new Date(i.from) <= this.endDate);
646
+ this.skippedDates = (this.skippedDates ?? []).filter(i => new Date(i) <= this.endDate);
647
+ this.instructors = (this.instructors ?? []).filter(i => new Date(i.date) <= this.endDate);
648
+ this.durations = (this.durations ?? []).filter(i => new Date(i.date) <= this.endDate);
649
+ return true;
650
+ }
401
651
  };
402
652
  exports.CompanyCourseScheduleEntity = CompanyCourseScheduleEntity;
403
653
  __decorate([
@@ -486,4 +736,4 @@ exports.CompanyCourseScheduleEntity = CompanyCourseScheduleEntity = __decorate([
486
736
  (0, typeorm_1.Entity)('companyCourseSchedules'),
487
737
  __metadata("design:paramtypes", [Object])
488
738
  ], CompanyCourseScheduleEntity);
489
- //# sourceMappingURL=appointment.entity.js.map
739
+ //# sourceMappingURL=schedule.entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schedule.entity.js","sourceRoot":"","sources":["../../../../src/profile/company/course/schedule.entity.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import { Activity, Skill, Topic } from '@driveup/common';
2
+ import { TrackableEntity } from '../../../utils/trackable';
3
+ import { StudentTrainingTopicEntity } from '../../student/program/training/topic.entity';
2
4
  import { CompanyEntity } from '../company.entity';
3
5
  import { CompanyProductEntity } from '../product/product.entity';
4
6
  import { CompanyCourseEntity } from './course.entity';
5
7
  import { CompanyCourseLessonEntity } from './lesson.entity';
6
- import { StudentTrainingTopicEntity } from '../../student/program/training/topic.entity';
7
- import { TrackableEntity } from '../../../utils/trackable';
8
8
  /**
9
9
  * Company Course Topic Entity
10
10
  *
@@ -36,6 +36,10 @@ export declare class CompanyCourseTopicEntity extends TrackableEntity<Topic> {
36
36
  * Sort order for displaying topics within a lesson
37
37
  */
38
38
  sort: number;
39
+ /**
40
+ * The date on which the topic was marked as deleted, and because of related training topics, it is not deleted in the db, and only deactivatedOn is set
41
+ */
42
+ deactivatedOn: Date;
39
43
  /**
40
44
  * List of skills covered in this topic
41
45
  */
@@ -11,16 +11,16 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
11
  var CompanyCourseTopicEntity_1;
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  exports.CompanyCourseTopicEntity = void 0;
14
- const typeorm_1 = require("typeorm");
15
- const shared_1 = require("@driveup/shared");
16
14
  const common_1 = require("@driveup/common");
15
+ const shared_1 = require("@driveup/shared");
16
+ const typeorm_1 = require("typeorm");
17
+ const activity_helper_1 = require("../../../utils/activity.helper");
18
+ const trackable_1 = require("../../../utils/trackable");
19
+ const topic_entity_1 = require("../../student/program/training/topic.entity");
17
20
  const company_entity_1 = require("../company.entity");
18
21
  const product_entity_1 = require("../product/product.entity");
19
22
  const course_entity_1 = require("./course.entity");
20
23
  const lesson_entity_1 = require("./lesson.entity");
21
- const topic_entity_1 = require("../../student/program/training/topic.entity");
22
- const trackable_1 = require("../../../utils/trackable");
23
- const activity_helper_1 = require("../../../utils/activity.helper");
24
24
  /**
25
25
  * Company Course Topic Entity
26
26
  *
@@ -120,6 +120,13 @@ __decorate([
120
120
  }),
121
121
  __metadata("design:type", Number)
122
122
  ], CompanyCourseTopicEntity.prototype, "sort", void 0);
123
+ __decorate([
124
+ (0, typeorm_1.Column)({
125
+ nullable: true,
126
+ default: null
127
+ }),
128
+ __metadata("design:type", Date)
129
+ ], CompanyCourseTopicEntity.prototype, "deactivatedOn", void 0);
123
130
  __decorate([
124
131
  (0, typeorm_1.Column)({
125
132
  type: 'json',
@@ -1 +1 @@
1
- {"version":3,"file":"topic.entity.js","sourceRoot":"","sources":["../../../../src/profile/company/course/topic.entity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"topic.entity.js","sourceRoot":"","sources":["../../../../src/profile/company/course/topic.entity.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
+ import { Activity, Bill } from '@driveup/common';
1
2
  import { BillStatus } from '@driveup/shared';
2
- import { Bill, Activity } from '@driveup/common';
3
+ import { TrackableEntity } from '../../../../utils/trackable';
3
4
  import { CompanyEntity } from '../../company.entity';
4
- import { CompanyBillTransactionEntity } from './transaction.entity';
5
5
  import { CompanyBillItemEntity } from './item.entity';
6
- import { TrackableEntity } from '../../../../utils/trackable';
6
+ import { CompanyBillTransactionEntity } from './transaction.entity';
7
7
  /**
8
8
  * Entity representing a company's billing statement for a specific period.
9
9
  *
@@ -10,14 +10,14 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.CompanyBillEntity = 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");
16
18
  const company_entity_1 = require("../../company.entity");
17
- const transaction_entity_1 = require("./transaction.entity");
18
19
  const item_entity_1 = require("./item.entity");
19
- const trackable_1 = require("../../../../utils/trackable");
20
- const activity_helper_1 = require("../../../../utils/activity.helper");
20
+ const transaction_entity_1 = require("./transaction.entity");
21
21
  /**
22
22
  * Entity representing a company's billing statement for a specific period.
23
23
  *
@@ -1 +1 @@
1
- {"version":3,"file":"bill.entity.js","sourceRoot":"","sources":["../../../../../src/profile/company/finances/billing/bill.entity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bill.entity.js","sourceRoot":"","sources":["../../../../../src/profile/company/finances/billing/bill.entity.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { Activity, BillItem } from '@driveup/common';
2
- import { CompanyBillEntity } from './bill.entity';
2
+ import { TrackableEntity } from '../../../../utils/trackable';
3
3
  import { CompanyCourseEntity } from '../../course/course.entity';
4
4
  import { CompanyAddonEntity } from '../../product/addon.entity';
5
- import { TrackableEntity } from '../../../../utils/trackable';
5
+ import { CompanyBillEntity } from './bill.entity';
6
6
  export declare class CompanyBillItemEntity extends TrackableEntity<BillItem> {
7
7
  billId: number;
8
8
  /**