@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.
Files changed (220) hide show
  1. package/lib/catalog/addon/addon.entity.d.ts +3 -3
  2. package/lib/catalog/addon/addon.entity.js +7 -7
  3. package/lib/catalog/addon/addon.entity.js.map +1 -1
  4. package/lib/catalog/addon/country.entity.d.ts +4 -4
  5. package/lib/catalog/addon/country.entity.js +5 -6
  6. package/lib/catalog/addon/country.entity.js.map +1 -1
  7. package/lib/catalog/priceplan/priceplan.entity.d.ts +8 -3
  8. package/lib/catalog/priceplan/priceplan.entity.js +14 -7
  9. package/lib/catalog/priceplan/priceplan.entity.js.map +1 -1
  10. package/lib/catalog/product/country.entity.d.ts +6 -6
  11. package/lib/catalog/product/country.entity.js +9 -10
  12. package/lib/catalog/product/country.entity.js.map +1 -1
  13. package/lib/catalog/product/priceplan.entity.d.ts +9 -4
  14. package/lib/catalog/product/priceplan.entity.js +19 -9
  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 +8 -8
  18. package/lib/catalog/product/product.entity.js.map +1 -1
  19. package/lib/catalog/program/program.entity.d.ts +2 -2
  20. package/lib/catalog/program/program.entity.js +7 -7
  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 +6 -6
  24. package/lib/catalog/seed/assets/asset.entity.js.map +1 -1
  25. package/lib/catalog/seed/courses/course.entity.d.ts +4 -4
  26. package/lib/catalog/seed/courses/course.entity.js +9 -9
  27. package/lib/catalog/seed/courses/course.entity.js.map +1 -1
  28. package/lib/catalog/seed/courses/lesson.entity.d.ts +3 -3
  29. package/lib/catalog/seed/courses/lesson.entity.js +7 -7
  30. package/lib/catalog/seed/courses/lesson.entity.js.map +1 -1
  31. package/lib/catalog/seed/courses/topic.entity.d.ts +3 -3
  32. package/lib/catalog/seed/courses/topic.entity.js +8 -8
  33. package/lib/catalog/seed/courses/topic.entity.js.map +1 -1
  34. package/lib/catalog/seed/expense/category.entity.d.ts +2 -2
  35. package/lib/catalog/seed/expense/category.entity.js +6 -6
  36. package/lib/catalog/seed/expense/category.entity.js.map +1 -1
  37. package/lib/index.d.ts +2 -2
  38. package/lib/index.js +2 -2
  39. package/lib/index.js.map +1 -1
  40. package/lib/profile/agent/agent.entity.d.ts +13 -4
  41. package/lib/profile/agent/agent.entity.js +46 -20
  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 +3 -3
  47. package/lib/profile/agent/payout.entity.js +6 -6
  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 +80 -9
  53. package/lib/profile/company/company.entity.js +246 -36
  54. package/lib/profile/company/company.entity.js.map +1 -1
  55. package/lib/profile/company/course/appointment.entity.d.ts +73 -4
  56. package/lib/profile/company/course/appointment.entity.js +247 -0
  57. package/lib/profile/company/course/appointment.entity.js.map +1 -1
  58. package/lib/profile/company/course/course.entity.d.ts +41 -8
  59. package/lib/profile/company/course/course.entity.js +58 -12
  60. package/lib/profile/company/course/course.entity.js.map +1 -1
  61. package/lib/profile/company/course/lesson.entity.d.ts +30 -7
  62. package/lib/profile/company/course/lesson.entity.js +93 -12
  63. package/lib/profile/company/course/lesson.entity.js.map +1 -1
  64. package/lib/profile/company/course/schedule.entity.d.ts +276 -0
  65. package/lib/profile/company/course/schedule.entity.js +744 -0
  66. package/lib/profile/company/course/schedule.entity.js.map +1 -0
  67. package/lib/profile/company/course/topic.entity.d.ts +9 -4
  68. package/lib/profile/company/course/topic.entity.js +14 -7
  69. package/lib/profile/company/course/topic.entity.js.map +1 -1
  70. package/lib/profile/company/finances/billing/bill.entity.d.ts +9 -2
  71. package/lib/profile/company/finances/billing/bill.entity.js +38 -4
  72. package/lib/profile/company/finances/billing/bill.entity.js.map +1 -1
  73. package/lib/profile/company/finances/billing/item.entity.d.ts +8 -3
  74. package/lib/profile/company/finances/billing/item.entity.js +10 -6
  75. package/lib/profile/company/finances/billing/item.entity.js.map +1 -1
  76. package/lib/profile/company/finances/billing/transaction.entity.d.ts +7 -5
  77. package/lib/profile/company/finances/billing/transaction.entity.js +6 -6
  78. package/lib/profile/company/finances/billing/transaction.entity.js.map +1 -1
  79. package/lib/profile/company/finances/expense/category.entity.d.ts +1 -1
  80. package/lib/profile/company/finances/expense/category.entity.js +4 -4
  81. package/lib/profile/company/finances/expense/category.entity.js.map +1 -1
  82. package/lib/profile/company/finances/expense/expense.entity.d.ts +6 -2
  83. package/lib/profile/company/finances/expense/expense.entity.js +32 -4
  84. package/lib/profile/company/finances/expense/expense.entity.js.map +1 -1
  85. package/lib/profile/company/finances/handover/handover.entity.d.ts +3 -3
  86. package/lib/profile/company/finances/handover/handover.entity.js +6 -6
  87. package/lib/profile/company/finances/handover/handover.entity.js.map +1 -1
  88. package/lib/profile/company/finances/invoice/invoice.entity.d.ts +8 -7
  89. package/lib/profile/company/finances/invoice/invoice.entity.js +15 -14
  90. package/lib/profile/company/finances/invoice/invoice.entity.js.map +1 -1
  91. package/lib/profile/company/finances/invoice/item.entity.d.ts +2 -2
  92. package/lib/profile/company/finances/invoice/item.entity.js +4 -4
  93. package/lib/profile/company/finances/invoice/item.entity.js.map +1 -1
  94. package/lib/profile/company/finances/payment/method.entity.d.ts +24 -4
  95. package/lib/profile/company/finances/payment/method.entity.js +40 -5
  96. package/lib/profile/company/finances/payment/method.entity.js.map +1 -1
  97. package/lib/profile/company/instructor/activity.entity.js.map +1 -1
  98. package/lib/profile/company/instructor/calendar-state.entity.js.map +1 -1
  99. package/lib/profile/company/instructor/instructor.entity.d.ts +34 -17
  100. package/lib/profile/company/instructor/instructor.entity.js +143 -25
  101. package/lib/profile/company/instructor/instructor.entity.js.map +1 -1
  102. package/lib/profile/company/instructor/task.entity.d.ts +2 -1
  103. package/lib/profile/company/instructor/task.entity.js +9 -4
  104. package/lib/profile/company/instructor/task.entity.js.map +1 -1
  105. package/lib/profile/company/medical/examination.entity.d.ts +4 -4
  106. package/lib/profile/company/medical/examination.entity.js +6 -6
  107. package/lib/profile/company/medical/examination.entity.js.map +1 -1
  108. package/lib/profile/company/medical/product.entity.d.ts +4 -5
  109. package/lib/profile/company/medical/product.entity.js +13 -14
  110. package/lib/profile/company/medical/product.entity.js.map +1 -1
  111. package/lib/profile/company/product/addon.entity.d.ts +3 -3
  112. package/lib/profile/company/product/addon.entity.js +6 -7
  113. package/lib/profile/company/product/addon.entity.js.map +1 -1
  114. package/lib/profile/company/product/priceplan.entity.d.ts +15 -13
  115. package/lib/profile/company/product/priceplan.entity.js +20 -16
  116. package/lib/profile/company/product/priceplan.entity.js.map +1 -1
  117. package/lib/profile/company/product/product.entity.d.ts +34 -8
  118. package/lib/profile/company/product/product.entity.js +70 -12
  119. package/lib/profile/company/product/product.entity.js.map +1 -1
  120. package/lib/profile/company/product/vehicle.entity.d.ts +2 -2
  121. package/lib/profile/company/product/vehicle.entity.js +4 -4
  122. package/lib/profile/company/product/vehicle.entity.js.map +1 -1
  123. package/lib/profile/instructor/instructor.entity.d.ts +6 -3
  124. package/lib/profile/instructor/instructor.entity.js +31 -9
  125. package/lib/profile/instructor/instructor.entity.js.map +1 -1
  126. package/lib/profile/student/program/licence/licence.entity.d.ts +13 -5
  127. package/lib/profile/student/program/licence/licence.entity.js +19 -8
  128. package/lib/profile/student/program/licence/licence.entity.js.map +1 -1
  129. package/lib/profile/student/program/medical/certificate.entity.d.ts +3 -3
  130. package/lib/profile/student/program/medical/certificate.entity.js +6 -6
  131. package/lib/profile/student/program/medical/certificate.entity.js.map +1 -1
  132. package/lib/profile/student/program/medical/examination.entity.d.ts +4 -4
  133. package/lib/profile/student/program/medical/examination.entity.js +14 -14
  134. package/lib/profile/student/program/medical/examination.entity.js.map +1 -1
  135. package/lib/profile/student/program/program.entity.d.ts +4 -4
  136. package/lib/profile/student/program/program.entity.js +8 -13
  137. package/lib/profile/student/program/program.entity.js.map +1 -1
  138. package/lib/profile/student/program/training/appointment.entity.d.ts +32 -9
  139. package/lib/profile/student/program/training/appointment.entity.js +144 -21
  140. package/lib/profile/student/program/training/appointment.entity.js.map +1 -1
  141. package/lib/profile/student/program/training/exam.entity.d.ts +9 -2
  142. package/lib/profile/student/program/training/exam.entity.js +28 -12
  143. package/lib/profile/student/program/training/exam.entity.js.map +1 -1
  144. package/lib/profile/student/program/training/lesson.entity.d.ts +8 -3
  145. package/lib/profile/student/program/training/lesson.entity.js +28 -6
  146. package/lib/profile/student/program/training/lesson.entity.js.map +1 -1
  147. package/lib/profile/student/program/training/request.entity.d.ts +6 -3
  148. package/lib/profile/student/program/training/request.entity.js +26 -5
  149. package/lib/profile/student/program/training/request.entity.js.map +1 -1
  150. package/lib/profile/student/program/training/topic.entity.d.ts +16 -4
  151. package/lib/profile/student/program/training/topic.entity.js +36 -9
  152. package/lib/profile/student/program/training/topic.entity.js.map +1 -1
  153. package/lib/profile/student/program/training/training.entity.d.ts +50 -6
  154. package/lib/profile/student/program/training/training.entity.js +217 -33
  155. package/lib/profile/student/program/training/training.entity.js.map +1 -1
  156. package/lib/profile/student/program/training/transaction.entity.d.ts +8 -3
  157. package/lib/profile/student/program/training/transaction.entity.js +43 -6
  158. package/lib/profile/student/program/training/transaction.entity.js.map +1 -1
  159. package/lib/profile/student/student.entity.d.ts +11 -6
  160. package/lib/profile/student/student.entity.js +59 -11
  161. package/lib/profile/student/student.entity.js.map +1 -1
  162. package/lib/system/campaign/campaign.entity.d.ts +4 -4
  163. package/lib/system/campaign/campaign.entity.js +10 -10
  164. package/lib/system/campaign/campaign.entity.js.map +1 -1
  165. package/lib/system/campaign/gifcode.entity.d.ts +4 -4
  166. package/lib/system/campaign/gifcode.entity.js +8 -8
  167. package/lib/system/campaign/gifcode.entity.js.map +1 -1
  168. package/lib/system/country/country.entity.d.ts +8 -6
  169. package/lib/system/country/country.entity.js +15 -9
  170. package/lib/system/country/country.entity.js.map +1 -1
  171. package/lib/system/currency/currency.entity.d.ts +1 -1
  172. package/lib/system/currency/currency.entity.js +4 -4
  173. package/lib/system/currency/currency.entity.js.map +1 -1
  174. package/lib/system/driving/category.entity.d.ts +7 -7
  175. package/lib/system/driving/category.entity.js +14 -14
  176. package/lib/system/driving/category.entity.js.map +1 -1
  177. package/lib/system/driving/vehicle.entity.d.ts +2 -2
  178. package/lib/system/driving/vehicle.entity.js +4 -4
  179. package/lib/system/driving/vehicle.entity.js.map +1 -1
  180. package/lib/system/event/event.entity.d.ts +2 -2
  181. package/lib/system/event/event.entity.js +4 -4
  182. package/lib/system/event/event.entity.js.map +1 -1
  183. package/lib/system/event/log.entity.d.ts +2 -2
  184. package/lib/system/event/log.entity.js +3 -3
  185. package/lib/system/event/log.entity.js.map +1 -1
  186. package/lib/system/ical/ical.entity.d.ts +63 -0
  187. package/lib/system/ical/ical.entity.js +70 -0
  188. package/lib/system/ical/ical.entity.js.map +1 -0
  189. package/lib/system/policy/policy.entity.d.ts +2 -2
  190. package/lib/system/policy/policy.entity.js +8 -8
  191. package/lib/system/policy/policy.entity.js.map +1 -1
  192. package/lib/system/staff/staff.entity.d.ts +1 -1
  193. package/lib/system/staff/staff.entity.js +5 -4
  194. package/lib/system/staff/staff.entity.js.map +1 -1
  195. package/lib/tsconfig.tsbuildinfo +1 -1
  196. package/lib/user/alert.entity.d.ts +4 -3
  197. package/lib/user/alert.entity.js +11 -4
  198. package/lib/user/alert.entity.js.map +1 -1
  199. package/lib/user/blocked.entity.js +2 -2
  200. package/lib/user/blocked.entity.js.map +1 -1
  201. package/lib/user/device.entity.d.ts +17 -2
  202. package/lib/user/device.entity.js +29 -3
  203. package/lib/user/device.entity.js.map +1 -1
  204. package/lib/user/notification.entity.d.ts +3 -3
  205. package/lib/user/notification.entity.js +8 -8
  206. package/lib/user/notification.entity.js.map +1 -1
  207. package/lib/user/ticket.entity.d.ts +8 -3
  208. package/lib/user/ticket.entity.js +16 -7
  209. package/lib/user/ticket.entity.js.map +1 -1
  210. package/lib/user/user.entity.d.ts +101 -89
  211. package/lib/user/user.entity.js +272 -270
  212. package/lib/user/user.entity.js.map +1 -1
  213. package/lib/user/verification.entity.js +2 -2
  214. package/lib/user/verification.entity.js.map +1 -1
  215. package/lib/utils/activity.helper.d.ts +2 -2
  216. package/lib/utils/activity.helper.js.map +1 -1
  217. package/lib/utils/trackable.d.ts +13 -2
  218. package/lib/utils/trackable.js +55 -0
  219. package/lib/utils/trackable.js.map +1 -1
  220. package/package.json +3 -3
@@ -11,19 +11,19 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
11
  var StudentTrainingAppointmentEntity_1;
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  exports.StudentTrainingAppointmentEntity = void 0;
14
- const typeorm_1 = require("typeorm");
15
- const shared_1 = require("@driveup/shared");
16
14
  const common_1 = require("@driveup/common");
17
- const common_2 = require("@driveup/common");
18
- const training_entity_1 = require("./training.entity");
19
- const lesson_entity_1 = require("./lesson.entity");
20
- const appointment_entity_1 = require("../../../company/course/appointment.entity");
15
+ const shared_1 = require("@driveup/shared");
16
+ const luxon_1 = require("luxon");
17
+ const typeorm_1 = require("typeorm");
18
+ const activity_helper_1 = require("../../../../utils/activity.helper");
19
+ const trackable_1 = require("../../../../utils/trackable");
20
+ const course_entity_1 = require("../../../company/course/course.entity");
21
+ const schedule_entity_1 = require("../../../company/course/schedule.entity");
21
22
  const instructor_entity_1 = require("../../../company/instructor/instructor.entity");
23
+ const student_entity_1 = require("../../student.entity");
22
24
  const exam_entity_1 = require("./exam.entity");
23
- const course_entity_1 = require("../../../company/course/course.entity");
24
- const trackable_1 = require("../../../../utils/trackable");
25
- const activity_helper_1 = require("../../../../utils/activity.helper");
26
- const luxon_1 = require("luxon");
25
+ const lesson_entity_1 = require("./lesson.entity");
26
+ const training_entity_1 = require("./training.entity");
27
27
  let StudentTrainingAppointmentEntity = StudentTrainingAppointmentEntity_1 = class StudentTrainingAppointmentEntity extends trackable_1.TrackableEntity {
28
28
  constructor(props) {
29
29
  super();
@@ -40,7 +40,7 @@ let StudentTrainingAppointmentEntity = StudentTrainingAppointmentEntity_1 = clas
40
40
  startDate: this.startDate,
41
41
  endDate: this.endDate,
42
42
  duration: this.duration,
43
- location: this.location ? common_2.Address.toInstance(this.location) : null,
43
+ location: this.location ? shared_1.Address.toInstance(this.location) : null,
44
44
  instructor: this.instructorId ? await (await this.instructor).toModel() : null,
45
45
  isExam: this.isExam,
46
46
  charged: this.charged,
@@ -63,20 +63,52 @@ let StudentTrainingAppointmentEntity = StudentTrainingAppointmentEntity_1 = clas
63
63
  * If the field "endDate" is not set, it calculates it based on the start date and duration
64
64
  * @returns Date - The end date of the training appointment
65
65
  */
66
- getEndDate() {
66
+ async getEndDate() {
67
67
  let endDate = this.endDate;
68
68
  if (!endDate) {
69
- endDate = luxon_1.DateTime.fromJSDate(this.startDate).plus({ minutes: Number(this.duration ?? 0) }).toJSDate();
69
+ if (this.duration !== null && this.duration !== undefined) {
70
+ endDate = luxon_1.DateTime.fromJSDate(this.startDate).plus({ minutes: Number(this.duration) }).toJSDate();
71
+ }
72
+ else {
73
+ const training = await this.training;
74
+ const course = await training.course;
75
+ const product = await course.product;
76
+ if (product.catalogType === shared_1.CatalogType.Preparation && !course.isFixed) {
77
+ const schedule = await this.schedule;
78
+ const appointment = await schedule?.getAppointment(this.startDate);
79
+ endDate = appointment?.endDate ?? null;
80
+ }
81
+ }
70
82
  }
71
83
  return endDate;
72
84
  }
85
+ async getSessionPrice() {
86
+ const training = await this.training;
87
+ const course = await training.course;
88
+ if (!course.price) {
89
+ return 0;
90
+ }
91
+ const product = await course.getProduct();
92
+ if (!product) {
93
+ return null;
94
+ }
95
+ if (product.catalogType === shared_1.CatalogType.Driving) {
96
+ return course.price;
97
+ }
98
+ const totalParts = await course.getTotalParts();
99
+ if (!totalParts) {
100
+ return 0;
101
+ }
102
+ const price = course.price / totalParts;
103
+ return Number(price.toFixed(2));
104
+ }
73
105
  /**
74
106
  * Student traning session
75
107
  * Extended version of appointment with training session details
76
108
  * @returns TrainingSession
77
109
  */
78
110
  async toSession() {
79
- const session = new common_2.TrainingSession({ id: this.id });
111
+ const session = new common_1.TrainingSession({ id: this.id });
80
112
  session.appointment = await this.toModel();
81
113
  session.price = this.price;
82
114
  session.signatureUrl = this.signatureUrl;
@@ -94,8 +126,8 @@ let StudentTrainingAppointmentEntity = StudentTrainingAppointmentEntity_1 = clas
94
126
  const topics = lesson ? await lesson.topics : null;
95
127
  session.topics = topics?.length ? await Promise.all(topics.map(t => t.toModel())) : null;
96
128
  // get current session topic progress and scores
97
- const topicProgress = this.topics?.map(common_1.TopicProgress.toInstance) || null;
98
- const skillSores = this.skills?.map(common_1.SkillScore.toInstance) || null;
129
+ const topicProgress = this.topics?.map(shared_1.TopicProgress.toInstance) || null;
130
+ const skillSores = this.skills?.map(shared_1.SkillScore.toInstance) || null;
99
131
  // assigne current session progress
100
132
  session.topics = session.topics?.map(topic => {
101
133
  const progress = topicProgress?.find(ts => ts.topicId === topic.id);
@@ -110,14 +142,14 @@ let StudentTrainingAppointmentEntity = StudentTrainingAppointmentEntity_1 = clas
110
142
  return topic;
111
143
  });
112
144
  // current session note
113
- session.note = this.note ? common_1.Note.toInstance(this.note) : null;
145
+ session.note = this.note ? shared_1.Note.toInstance(this.note) : null;
114
146
  // past session notes
115
147
  const pastAppointmentNotes = await StudentTrainingAppointmentEntity_1.createQueryBuilder('sta')
116
148
  .where('sta.trainingId = :trainingId', { trainingId: this.trainingId })
117
149
  .andWhere('sta.id != :appointmentId', { appointmentId: this.id })
118
150
  .andWhere('sta.note IS NOT NULL')
119
151
  .getMany();
120
- session.notes = pastAppointmentNotes?.map(a => a.note).map(common_1.Note.toInstance);
152
+ session.notes = pastAppointmentNotes?.map(a => a.note).map(shared_1.Note.toInstance);
121
153
  if (this.isExam) {
122
154
  // exam information
123
155
  const exam = await this.exam;
@@ -146,12 +178,103 @@ let StudentTrainingAppointmentEntity = StudentTrainingAppointmentEntity_1 = clas
146
178
  const trainingLesson = await this.lesson;
147
179
  return trainingLesson ? await trainingLesson.getCourseLesson() : null;
148
180
  }
181
+ async getCourse() {
182
+ return await course_entity_1.CompanyCourseEntity.createQueryBuilder('course')
183
+ .innerJoin('course.trainings', 'training')
184
+ .innerJoin('training.appointments', 'appointment')
185
+ .where('appointment.id = :appointmentId', { appointmentId: this.id })
186
+ .getOne();
187
+ }
188
+ async getStudent() {
189
+ return await student_entity_1.StudentEntity.createQueryBuilder('student')
190
+ .innerJoin('student.trainings', 'training')
191
+ .innerJoin('training.appointments', 'appointment')
192
+ .where('appointment.id = :appointmentId', { appointmentId: this.id })
193
+ .getOne();
194
+ }
195
+ async getSessionNumber() {
196
+ if (this.status === shared_1.StatusType.Canceled) {
197
+ return null;
198
+ }
199
+ const count = await StudentTrainingAppointmentEntity_1.countBy({
200
+ trainingId: this.trainingId,
201
+ startDate: (0, typeorm_1.LessThan)(this.startDate)
202
+ });
203
+ return count + 1;
204
+ }
205
+ async isInObligationPeriod() {
206
+ const training = await this.training;
207
+ const course = await training.course;
208
+ const company = await course.getCompany();
209
+ if (company.obligationPeriod === null || company.obligationPeriod === undefined) {
210
+ return false;
211
+ }
212
+ const obligationPeriodStart = luxon_1.DateTime.fromJSDate(this.startDate)
213
+ .minus({ days: company.obligationPeriod })
214
+ .toJSDate();
215
+ const now = luxon_1.DateTime.now().toJSDate();
216
+ if (now >= obligationPeriodStart) {
217
+ return true;
218
+ }
219
+ return false;
220
+ }
221
+ async getAppointmentInstructor() {
222
+ const training = await this.training;
223
+ const course = await training.getCourse();
224
+ const product = await course.getProduct();
225
+ if (product.catalogType === shared_1.CatalogType.Preparation) {
226
+ if (this.scheduleId) {
227
+ // flexible course
228
+ const schedule = await this.schedule;
229
+ const instructorId = schedule.getAppointmentInstructorId(luxon_1.DateTime.fromJSDate(this.startDate));
230
+ return instructor_entity_1.CompanyInstructorEntity.findOneBy({ id: instructorId });
231
+ }
232
+ else {
233
+ // fixed course
234
+ const lesson = await this.lesson;
235
+ return lesson.instructor;
236
+ }
237
+ }
238
+ else if (product.catalogType === shared_1.CatalogType.Driving) {
239
+ return this.instructor;
240
+ }
241
+ else {
242
+ return null;
243
+ }
244
+ }
149
245
  async getActivities() {
150
246
  const activities = [];
151
247
  activities.push(await (0, activity_helper_1.toActivity)(this.createdBy, this.createdOn, shared_1.ActivityType.created));
152
248
  activities.push(await (0, activity_helper_1.toActivity)(this.updatedBy, this.updatedOn, shared_1.ActivityType.updated));
153
249
  return activities.filter(a => a);
154
250
  }
251
+ /**
252
+ * Checks if the appointment is scheduled for today
253
+ * Company timezone is considered for the check
254
+ * @returns boolean - True if the appointment is today, false otherwise
255
+ */
256
+ async isInToday() {
257
+ const course = await this.getCourse();
258
+ const company = await course.getCompany();
259
+ const timezone = company.timezone;
260
+ const now = luxon_1.DateTime.now().setZone(timezone);
261
+ const appointmentDate = luxon_1.DateTime.fromJSDate(this.startDate).setZone(timezone);
262
+ return now.hasSame(appointmentDate, 'day');
263
+ }
264
+ /**
265
+ * Checks if the appointment is scheduled before today (appointment date is before start of today)
266
+ * Company timezone is considered for the check
267
+ * @returns boolean - True if the appointment is in the previous days, false otherwise
268
+ */
269
+ async isBeforeToday() {
270
+ const course = await this.getCourse();
271
+ const company = await course.getCompany();
272
+ const timezone = company.timezone;
273
+ const now = luxon_1.DateTime.now().setZone(timezone);
274
+ const startOfDay = now.startOf('day');
275
+ const appointmentDate = luxon_1.DateTime.fromJSDate(this.startDate).setZone(timezone);
276
+ return appointmentDate < startOfDay;
277
+ }
155
278
  };
156
279
  exports.StudentTrainingAppointmentEntity = StudentTrainingAppointmentEntity;
157
280
  __decorate([
@@ -239,7 +362,7 @@ __decorate([
239
362
  nullable: true,
240
363
  default: null
241
364
  }),
242
- __metadata("design:type", common_2.Address)
365
+ __metadata("design:type", shared_1.Address)
243
366
  ], StudentTrainingAppointmentEntity.prototype, "location", void 0);
244
367
  __decorate([
245
368
  (0, typeorm_1.Column)({
@@ -281,7 +404,7 @@ __decorate([
281
404
  nullable: true,
282
405
  default: null
283
406
  }),
284
- __metadata("design:type", common_1.Note)
407
+ __metadata("design:type", shared_1.Note)
285
408
  ], StudentTrainingAppointmentEntity.prototype, "note", void 0);
286
409
  __decorate([
287
410
  (0, typeorm_1.Column)({ nullable: true, default: null }),
@@ -312,7 +435,7 @@ __decorate([
312
435
  __metadata("design:type", Promise)
313
436
  ], StudentTrainingAppointmentEntity.prototype, "lesson", void 0);
314
437
  __decorate([
315
- (0, typeorm_1.ManyToOne)(() => appointment_entity_1.CompanyCourseScheduleEntity, schedule => schedule.studentSchedule),
438
+ (0, typeorm_1.ManyToOne)(() => schedule_entity_1.CompanyCourseScheduleEntity, schedule => schedule.studentSchedule),
316
439
  __metadata("design:type", Promise)
317
440
  ], StudentTrainingAppointmentEntity.prototype, "schedule", void 0);
318
441
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"appointment.entity.js","sourceRoot":"","sources":["../../../../../src/profile/student/program/training/appointment.entity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"appointment.entity.js","sourceRoot":"","sources":["../../../../../src/profile/student/program/training/appointment.entity.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
- import { Note, Person, TrainingExam, Feedback, Activity } from '@driveup/common';
2
- import { StudentTrainingAppointmentEntity } from './appointment.entity';
1
+ import { Activity, TrainingExam } from '@driveup/common';
2
+ import { Feedback, Note, Person } from '@driveup/shared';
3
3
  import { TrackableEntity } from '../../../../utils/trackable';
4
+ import { StudentEntity } from '../../student.entity';
5
+ import { StudentTrainingAppointmentEntity } from './appointment.entity';
4
6
  export declare class StudentTrainingExamEntity extends TrackableEntity<TrainingExam> {
5
7
  /**
6
8
  * Reference to the appointment during which this exam took place
@@ -27,6 +29,10 @@ export declare class StudentTrainingExamEntity extends TrackableEntity<TrainingE
27
29
  * IDs of topics where the student failed to demonstrate competency
28
30
  */
29
31
  failedTopics: number[];
32
+ /**
33
+ * IDs of topics where the student successfully demonstrated competency
34
+ */
35
+ passedTopics: number[];
30
36
  /**
31
37
  * Student training exam appointment
32
38
  * Student can have multiple exams in different appointments
@@ -36,5 +42,6 @@ export declare class StudentTrainingExamEntity extends TrackableEntity<TrainingE
36
42
  constructor(props?: Partial<StudentTrainingExamEntity>);
37
43
  toModel(): Promise<TrainingExam>;
38
44
  toSummary(): Promise<TrainingExam>;
45
+ getStudent(): Promise<StudentEntity>;
39
46
  getActivities(): Promise<Activity[]>;
40
47
  }
@@ -10,13 +10,14 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.StudentTrainingExamEntity = void 0;
13
- const typeorm_1 = require("typeorm");
14
- const shared_1 = require("@driveup/shared");
15
13
  const common_1 = require("@driveup/common");
14
+ const shared_1 = require("@driveup/shared");
15
+ const typeorm_1 = require("typeorm");
16
+ const activity_helper_1 = require("../../../../utils/activity.helper");
17
+ const trackable_1 = require("../../../../utils/trackable");
18
+ const student_entity_1 = require("../../student.entity");
16
19
  const appointment_entity_1 = require("./appointment.entity");
17
20
  const topic_entity_1 = require("./topic.entity");
18
- const trackable_1 = require("../../../../utils/trackable");
19
- const activity_helper_1 = require("../../../../utils/activity.helper");
20
21
  let StudentTrainingExamEntity = class StudentTrainingExamEntity extends trackable_1.TrackableEntity {
21
22
  constructor(props) {
22
23
  super();
@@ -25,9 +26,9 @@ let StudentTrainingExamEntity = class StudentTrainingExamEntity extends trackabl
25
26
  async toModel() {
26
27
  const exam = new common_1.TrainingExam({
27
28
  id: this.id,
28
- examiner: this.examiner ? common_1.Person.toInstance(this.examiner) : null,
29
- feedback: this.feedback ? common_1.Feedback.toInstance(this.feedback) : null,
30
- note: this.note ? common_1.Note.toInstance(this.note) : null,
29
+ examiner: this.examiner ? shared_1.Person.toInstance(this.examiner) : null,
30
+ feedback: this.feedback ? shared_1.Feedback.toInstance(this.feedback) : null,
31
+ note: this.note ? shared_1.Note.toInstance(this.note) : null,
31
32
  passed: this.passed
32
33
  });
33
34
  if (this.failedTopics?.length) {
@@ -42,10 +43,17 @@ let StudentTrainingExamEntity = class StudentTrainingExamEntity extends trackabl
42
43
  async toSummary() {
43
44
  return new common_1.TrainingExam({
44
45
  id: this.id,
45
- examiner: this.examiner ? common_1.Person.toInstance(this.examiner) : null,
46
+ examiner: this.examiner ? shared_1.Person.toInstance(this.examiner) : null,
46
47
  passed: this.passed
47
48
  });
48
49
  }
50
+ async getStudent() {
51
+ return await student_entity_1.StudentEntity.createQueryBuilder('student')
52
+ .innerJoin('student.trainings', 'training')
53
+ .innerJoin('training.appointments', 'appointment')
54
+ .where('appointment.id = :appointmentId', { appointmentId: this.appointmentId })
55
+ .getOne();
56
+ }
49
57
  async getActivities() {
50
58
  const activities = [];
51
59
  activities.push(await (0, activity_helper_1.toActivity)(this.createdBy, this.createdOn, shared_1.ActivityType.created));
@@ -64,7 +72,7 @@ __decorate([
64
72
  nullable: true,
65
73
  default: null
66
74
  }),
67
- __metadata("design:type", common_1.Person)
75
+ __metadata("design:type", shared_1.Person)
68
76
  ], StudentTrainingExamEntity.prototype, "examiner", void 0);
69
77
  __decorate([
70
78
  (0, typeorm_1.Column)({
@@ -72,7 +80,7 @@ __decorate([
72
80
  nullable: true,
73
81
  default: null
74
82
  }),
75
- __metadata("design:type", common_1.Feedback)
83
+ __metadata("design:type", shared_1.Feedback)
76
84
  ], StudentTrainingExamEntity.prototype, "feedback", void 0);
77
85
  __decorate([
78
86
  (0, typeorm_1.Column)({
@@ -80,7 +88,7 @@ __decorate([
80
88
  nullable: true,
81
89
  default: null
82
90
  }),
83
- __metadata("design:type", common_1.Note)
91
+ __metadata("design:type", shared_1.Note)
84
92
  ], StudentTrainingExamEntity.prototype, "note", void 0);
85
93
  __decorate([
86
94
  (0, typeorm_1.Column)({
@@ -91,12 +99,20 @@ __decorate([
91
99
  ], StudentTrainingExamEntity.prototype, "passed", void 0);
92
100
  __decorate([
93
101
  (0, typeorm_1.Column)({
94
- type: 'simple-json',
102
+ type: 'json',
95
103
  nullable: true,
96
104
  default: null
97
105
  }),
98
106
  __metadata("design:type", Array)
99
107
  ], StudentTrainingExamEntity.prototype, "failedTopics", void 0);
108
+ __decorate([
109
+ (0, typeorm_1.Column)({
110
+ type: 'json',
111
+ nullable: true,
112
+ default: null
113
+ }),
114
+ __metadata("design:type", Array)
115
+ ], StudentTrainingExamEntity.prototype, "passedTopics", void 0);
100
116
  __decorate([
101
117
  (0, typeorm_1.OneToOne)(() => appointment_entity_1.StudentTrainingAppointmentEntity, appointment => appointment.exam),
102
118
  (0, typeorm_1.JoinColumn)(),
@@ -1 +1 @@
1
- {"version":3,"file":"exam.entity.js","sourceRoot":"","sources":["../../../../../src/profile/student/program/training/exam.entity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exam.entity.js","sourceRoot":"","sources":["../../../../../src/profile/student/program/training/exam.entity.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,12 @@
1
1
  import { Activity, Lesson } from '@driveup/common';
2
- import { StudentTrainingEntity } from './training.entity';
3
- import { StudentTrainingAppointmentEntity } from './appointment.entity';
4
2
  import { CompanyInstructorEntity } from '../../../company/instructor/instructor.entity';
3
+ import { CompanyCourseEntity } from '../../../company/course/course.entity';
5
4
  import { CompanyCourseLessonEntity } from '../../../company/course/lesson.entity';
6
- import { StudentTrainingTopicEntity } from './topic.entity';
7
5
  import { TrackableEntity } from '../../../../utils/trackable';
6
+ import { StudentEntity } from '../../student.entity';
7
+ import { StudentTrainingAppointmentEntity } from './appointment.entity';
8
+ import { StudentTrainingEntity } from './training.entity';
9
+ import { StudentTrainingTopicEntity } from './topic.entity';
8
10
  export declare class StudentTrainingLessonEntity extends TrackableEntity<Lesson> {
9
11
  /**
10
12
  * Student training
@@ -80,6 +82,9 @@ export declare class StudentTrainingLessonEntity extends TrackableEntity<Lesson>
80
82
  constructor(props?: Partial<StudentTrainingLessonEntity>);
81
83
  toModel(): Promise<Lesson>;
82
84
  toSummary(): Promise<Lesson>;
85
+ getCourse(): Promise<CompanyCourseEntity>;
86
+ getTraining(): Promise<StudentTrainingEntity>;
83
87
  getCourseLesson(): Promise<CompanyCourseLessonEntity>;
88
+ getStudent(): Promise<StudentEntity>;
84
89
  getActivities(): Promise<Activity[]>;
85
90
  }
@@ -10,16 +10,18 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.StudentTrainingLessonEntity = void 0;
13
- const typeorm_1 = require("typeorm");
14
- const shared_1 = require("@driveup/shared");
15
13
  const common_1 = require("@driveup/common");
16
- const training_entity_1 = require("./training.entity");
17
- const appointment_entity_1 = require("./appointment.entity");
14
+ const shared_1 = require("@driveup/shared");
15
+ const typeorm_1 = require("typeorm");
18
16
  const instructor_entity_1 = require("../../../company/instructor/instructor.entity");
17
+ const course_entity_1 = require("../../../company/course/course.entity");
19
18
  const lesson_entity_1 = require("../../../company/course/lesson.entity");
20
- const topic_entity_1 = require("./topic.entity");
21
- const trackable_1 = require("../../../../utils/trackable");
22
19
  const activity_helper_1 = require("../../../../utils/activity.helper");
20
+ const trackable_1 = require("../../../../utils/trackable");
21
+ const student_entity_1 = require("../../student.entity");
22
+ const appointment_entity_1 = require("./appointment.entity");
23
+ const training_entity_1 = require("./training.entity");
24
+ const topic_entity_1 = require("./topic.entity");
23
25
  let StudentTrainingLessonEntity = class StudentTrainingLessonEntity extends trackable_1.TrackableEntity {
24
26
  constructor(props) {
25
27
  super();
@@ -42,9 +44,29 @@ let StudentTrainingLessonEntity = class StudentTrainingLessonEntity extends trac
42
44
  toSummary() {
43
45
  return this.toModel();
44
46
  }
47
+ async getCourse() {
48
+ return await course_entity_1.CompanyCourseEntity.createQueryBuilder('course')
49
+ .innerJoin('course.lessons', 'lesson')
50
+ .innerJoin('lesson.studentLessons', 'studentLesson')
51
+ .where('studentLesson.id = :lessonId', { lessonId: this.id })
52
+ .getOne();
53
+ }
54
+ async getTraining() {
55
+ return await training_entity_1.StudentTrainingEntity.createQueryBuilder('training')
56
+ .innerJoin('training.lessons', 'lesson')
57
+ .where('lesson.id = :lessonId', { lessonId: this.id })
58
+ .getOne();
59
+ }
45
60
  async getCourseLesson() {
46
61
  return await this.lesson;
47
62
  }
63
+ async getStudent() {
64
+ return await student_entity_1.StudentEntity.createQueryBuilder('student')
65
+ .innerJoin('student.trainings', 'training')
66
+ .innerJoin('training.lessons', 'lesson')
67
+ .where('lesson.id = :lessonId', { lessonId: this.id })
68
+ .getOne();
69
+ }
48
70
  async getActivities() {
49
71
  const activities = [];
50
72
  activities.push(await (0, activity_helper_1.toActivity)(this.createdBy, this.createdOn, shared_1.ActivityType.created));
@@ -1 +1 @@
1
- {"version":3,"file":"lesson.entity.js","sourceRoot":"","sources":["../../../../../src/profile/student/program/training/lesson.entity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lesson.entity.js","sourceRoot":"","sources":["../../../../../src/profile/student/program/training/lesson.entity.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
- import { CarTransmission, StatusType } from '@driveup/shared';
2
1
  import { Activity, TrainingRequest } from '@driveup/common';
3
- import { StudentProgramEntity } from '../program.entity';
4
- import { CompanyCourseEntity } from '../../../company/course/course.entity';
2
+ import { CarTransmission, StatusType } from '@driveup/shared';
5
3
  import { TrackableEntity } from '../../../../utils/trackable';
4
+ import { CompanyCourseEntity } from '../../../company/course/course.entity';
5
+ import { CompanyInstructorEntity } from '../../../company/instructor/instructor.entity';
6
+ import { StudentProgramEntity } from '../program.entity';
6
7
  export declare class StudentTrainingRequestEntity extends TrackableEntity<TrainingRequest> {
7
8
  /**
8
9
  * Student program
@@ -54,4 +55,6 @@ export declare class StudentTrainingRequestEntity extends TrackableEntity<Traini
54
55
  toModel(): Promise<TrainingRequest>;
55
56
  toSummary(): Promise<TrainingRequest>;
56
57
  getActivities(): Promise<Activity[]>;
58
+ getAcceptedBy(): Promise<CompanyInstructorEntity>;
59
+ getRejectedBy(): Promise<CompanyInstructorEntity>;
57
60
  }
@@ -10,13 +10,14 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.StudentTrainingRequestEntity = void 0;
13
- const typeorm_1 = require("typeorm");
14
- const shared_1 = require("@driveup/shared");
15
13
  const common_1 = require("@driveup/common");
16
- const program_entity_1 = require("../program.entity");
17
- const course_entity_1 = require("../../../company/course/course.entity");
18
- const trackable_1 = require("../../../../utils/trackable");
14
+ const shared_1 = require("@driveup/shared");
15
+ const typeorm_1 = require("typeorm");
19
16
  const activity_helper_1 = require("../../../../utils/activity.helper");
17
+ const trackable_1 = require("../../../../utils/trackable");
18
+ const course_entity_1 = require("../../../company/course/course.entity");
19
+ const instructor_entity_1 = require("../../../company/instructor/instructor.entity");
20
+ const program_entity_1 = require("../program.entity");
20
21
  let StudentTrainingRequestEntity = class StudentTrainingRequestEntity extends trackable_1.TrackableEntity {
21
22
  constructor(props) {
22
23
  super();
@@ -44,6 +45,26 @@ let StudentTrainingRequestEntity = class StudentTrainingRequestEntity extends tr
44
45
  activities.push(await (0, activity_helper_1.toActivity)(this.rejectedBy, this.rejectedOn, shared_1.ActivityType.rejected));
45
46
  return activities.filter(a => a);
46
47
  }
48
+ async getAcceptedBy() {
49
+ if (!this.acceptedBy)
50
+ return null;
51
+ const company = await (await this.course).getCompany();
52
+ return await instructor_entity_1.CompanyInstructorEntity.createQueryBuilder('ci')
53
+ .innerJoin('ci.instructor', 'i') // instructor profile
54
+ .where('i.userId = :userId', { userId: this.acceptedBy })
55
+ .andWhere('ci.companyId = :companyId', { companyId: company.id })
56
+ .getOne();
57
+ }
58
+ async getRejectedBy() {
59
+ if (!this.rejectedBy)
60
+ return null;
61
+ const company = await (await this.course).getCompany();
62
+ return await instructor_entity_1.CompanyInstructorEntity.createQueryBuilder('ci')
63
+ .innerJoin('ci.instructor', 'i') // instructor profile
64
+ .where('i.userId = :userId', { userId: this.rejectedBy })
65
+ .andWhere('ci.companyId = :companyId', { companyId: company.id })
66
+ .getOne();
67
+ }
47
68
  };
48
69
  exports.StudentTrainingRequestEntity = StudentTrainingRequestEntity;
49
70
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"request.entity.js","sourceRoot":"","sources":["../../../../../src/profile/student/program/training/request.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAoD;AACpD,4CAA4E;AAC5E,4CAA4D;AAC5D,sDAAyD;AACzD,yEAA4E;AAC5E,2DAA8D;AAC9D,uEAA+D;AAGxD,IAAM,4BAA4B,GAAlC,MAAM,4BAA6B,SAAQ,2BAAgC;IAoFjF,YAAY,KAA6C;QACxD,KAAK,EAAE,CAAC;QACR,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,OAAO;QACZ,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;QACnD,OAAO,IAAI,wBAAe,CAAC;YAC1B,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE;YAC3C,OAAO,EAAE,MAAM,OAAO,CAAC,OAAO,EAAE;YAChC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,YAAY,EAAE,IAAI,CAAC,YAAY;SAC/B,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,SAAS;QACd,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,aAAa;QAClB,MAAM,UAAU,GAAe,EAAE,CAAC;QAClC,UAAU,CAAC,IAAI,CAAC,MAAM,IAAA,4BAAU,EAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,qBAAY,CAAC,OAAO,CAAC,CAAC,CAAC;QACxF,UAAU,CAAC,IAAI,CAAC,MAAM,IAAA,4BAAU,EAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,qBAAY,CAAC,OAAO,CAAC,CAAC,CAAC;QACxF,UAAU,CAAC,IAAI,CAAC,MAAM,IAAA,4BAAU,EAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,qBAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC3F,UAAU,CAAC,IAAI,CAAC,MAAM,IAAA,4BAAU,EAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,qBAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC3F,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;CACD,CAAA;AAjHY,oEAA4B;AAMxC;IADC,IAAA,gBAAM,GAAE;;+DACS;AAMlB;IADC,IAAA,gBAAM,GAAE;;8DACQ;AAgBjB;IAVC,IAAA,gBAAM,EAAC;QACP,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE;YACL,mBAAU,CAAC,OAAO;YAClB,mBAAU,CAAC,QAAQ;YACnB,mBAAU,CAAC,QAAQ;SACnB;QACD,OAAO,EAAE,mBAAU,CAAC,OAAO;QAC3B,QAAQ,EAAE,KAAK;KACf,CAAC;;4DACiB;AAMnB;IADC,IAAA,gBAAM,GAAE;8BACE,IAAI;+DAAC;AAYhB;IANC,IAAA,gBAAM,EAAC;QACP,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,wBAAe;QACrB,OAAO,EAAE,wBAAe,CAAC,MAAM;QAC/B,QAAQ,EAAE,KAAK;KACf,CAAC;;kEAC4B;AAM9B;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;8BAC9B,IAAI;gEAAC;AAMjB;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;gEACvB;AAMnB;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;gEACvB;AAMnB;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;8BAC9B,IAAI;gEAAC;AAMjB;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,qCAAoB,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;;6DAC7B;AAMvC;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,mCAAmB,EAAE,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;;4DACvC;uCAlFzB,4BAA4B;IADxC,IAAA,gBAAM,EAAC,yBAAyB,CAAC;;GACrB,4BAA4B,CAiHxC"}
1
+ {"version":3,"file":"request.entity.js","sourceRoot":"","sources":["../../../../../src/profile/student/program/training/request.entity.ts"],"names":[],"mappings":"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"}