@driveup/schema 0.3.33 → 0.3.35

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 (139) hide show
  1. package/lib/catalog/addon/addon.entity.d.ts +1 -1
  2. package/lib/catalog/addon/addon.entity.js +1 -1
  3. package/lib/catalog/addon/addon.entity.js.map +1 -1
  4. package/lib/catalog/product/product.entity.js +0 -3
  5. package/lib/catalog/product/product.entity.js.map +1 -1
  6. package/lib/profile/agent/agent.entity.d.ts +4 -3
  7. package/lib/profile/agent/agent.entity.js +10 -6
  8. package/lib/profile/agent/agent.entity.js.map +1 -1
  9. package/lib/profile/agent/asset.entity.js +1 -5
  10. package/lib/profile/agent/asset.entity.js.map +1 -1
  11. package/lib/profile/agent/payout.entity.d.ts +9 -1
  12. package/lib/profile/agent/payout.entity.js +23 -0
  13. package/lib/profile/agent/payout.entity.js.map +1 -1
  14. package/lib/profile/agent/promotion.entity.d.ts +12 -3
  15. package/lib/profile/agent/promotion.entity.js +26 -3
  16. package/lib/profile/agent/promotion.entity.js.map +1 -1
  17. package/lib/profile/company/company.entity.d.ts +9 -8
  18. package/lib/profile/company/company.entity.js +24 -18
  19. package/lib/profile/company/company.entity.js.map +1 -1
  20. package/lib/profile/company/course/course.entity.d.ts +12 -4
  21. package/lib/profile/company/course/course.entity.js +27 -4
  22. package/lib/profile/company/course/course.entity.js.map +1 -1
  23. package/lib/profile/company/course/lesson.entity.d.ts +5 -0
  24. package/lib/profile/company/course/lesson.entity.js +5 -0
  25. package/lib/profile/company/course/lesson.entity.js.map +1 -1
  26. package/lib/profile/company/course/schedule.entity.js.map +1 -1
  27. package/lib/profile/company/finances/billing/bill.entity.d.ts +10 -3
  28. package/lib/profile/company/finances/billing/bill.entity.js +27 -4
  29. package/lib/profile/company/finances/billing/bill.entity.js.map +1 -1
  30. package/lib/profile/company/finances/billing/transaction.entity.js.map +1 -1
  31. package/lib/profile/company/finances/expense/category.entity.d.ts +9 -0
  32. package/lib/profile/company/finances/expense/category.entity.js +23 -0
  33. package/lib/profile/company/finances/expense/category.entity.js.map +1 -1
  34. package/lib/profile/company/finances/expense/expense.entity.d.ts +9 -1
  35. package/lib/profile/company/finances/expense/expense.entity.js +23 -0
  36. package/lib/profile/company/finances/expense/expense.entity.js.map +1 -1
  37. package/lib/profile/company/finances/handover/handover.entity.d.ts +9 -0
  38. package/lib/profile/company/finances/handover/handover.entity.js +23 -0
  39. package/lib/profile/company/finances/handover/handover.entity.js.map +1 -1
  40. package/lib/profile/company/finances/invoice/invoice.entity.d.ts +11 -3
  41. package/lib/profile/company/finances/invoice/invoice.entity.js +25 -2
  42. package/lib/profile/company/finances/invoice/invoice.entity.js.map +1 -1
  43. package/lib/profile/company/finances/payment/method.entity.d.ts +11 -3
  44. package/lib/profile/company/finances/payment/method.entity.js +25 -2
  45. package/lib/profile/company/finances/payment/method.entity.js.map +1 -1
  46. package/lib/profile/company/instructor/instructor.entity.d.ts +6 -5
  47. package/lib/profile/company/instructor/instructor.entity.js +10 -6
  48. package/lib/profile/company/instructor/instructor.entity.js.map +1 -1
  49. package/lib/profile/company/instructor/task.entity.d.ts +14 -0
  50. package/lib/profile/company/instructor/task.entity.js +28 -1
  51. package/lib/profile/company/instructor/task.entity.js.map +1 -1
  52. package/lib/profile/company/medical/product.entity.d.ts +9 -0
  53. package/lib/profile/company/medical/product.entity.js +27 -0
  54. package/lib/profile/company/medical/product.entity.js.map +1 -1
  55. package/lib/profile/company/product/addon.entity.d.ts +10 -1
  56. package/lib/profile/company/product/addon.entity.js +26 -0
  57. package/lib/profile/company/product/addon.entity.js.map +1 -1
  58. package/lib/profile/company/product/product.entity.d.ts +14 -5
  59. package/lib/profile/company/product/product.entity.js +34 -11
  60. package/lib/profile/company/product/product.entity.js.map +1 -1
  61. package/lib/profile/company/product/vehicle.entity.d.ts +10 -1
  62. package/lib/profile/company/product/vehicle.entity.js +27 -0
  63. package/lib/profile/company/product/vehicle.entity.js.map +1 -1
  64. package/lib/profile/instructor/instructor.entity.d.ts +4 -3
  65. package/lib/profile/instructor/instructor.entity.js +10 -6
  66. package/lib/profile/instructor/instructor.entity.js.map +1 -1
  67. package/lib/profile/student/program/licence/licence.entity.d.ts +10 -1
  68. package/lib/profile/student/program/licence/licence.entity.js +26 -0
  69. package/lib/profile/student/program/licence/licence.entity.js.map +1 -1
  70. package/lib/profile/student/program/medical/certificate.entity.d.ts +10 -1
  71. package/lib/profile/student/program/medical/certificate.entity.js +26 -0
  72. package/lib/profile/student/program/medical/certificate.entity.js.map +1 -1
  73. package/lib/profile/student/program/medical/examination.entity.d.ts +11 -2
  74. package/lib/profile/student/program/medical/examination.entity.js +29 -3
  75. package/lib/profile/student/program/medical/examination.entity.js.map +1 -1
  76. package/lib/profile/student/program/program.entity.d.ts +13 -5
  77. package/lib/profile/student/program/program.entity.js +27 -4
  78. package/lib/profile/student/program/program.entity.js.map +1 -1
  79. package/lib/profile/student/program/training/appointment.entity.d.ts +10 -5
  80. package/lib/profile/student/program/training/appointment.entity.js +13 -7
  81. package/lib/profile/student/program/training/appointment.entity.js.map +1 -1
  82. package/lib/profile/student/program/training/exam.entity.d.ts +0 -5
  83. package/lib/profile/student/program/training/exam.entity.js +2 -9
  84. package/lib/profile/student/program/training/exam.entity.js.map +1 -1
  85. package/lib/profile/student/program/training/lesson.entity.js.map +1 -1
  86. package/lib/profile/student/program/training/topic.entity.js +4 -2
  87. package/lib/profile/student/program/training/topic.entity.js.map +1 -1
  88. package/lib/profile/student/program/training/training.entity.d.ts +20 -4
  89. package/lib/profile/student/program/training/training.entity.js +58 -17
  90. package/lib/profile/student/program/training/training.entity.js.map +1 -1
  91. package/lib/profile/student/program/training/transaction.entity.d.ts +6 -6
  92. package/lib/profile/student/program/training/transaction.entity.js +8 -8
  93. package/lib/profile/student/program/training/transaction.entity.js.map +1 -1
  94. package/lib/profile/student/student.entity.d.ts +8 -7
  95. package/lib/profile/student/student.entity.js +18 -14
  96. package/lib/profile/student/student.entity.js.map +1 -1
  97. package/lib/public/learning-hub.entity.js +0 -1
  98. package/lib/public/learning-hub.entity.js.map +1 -1
  99. package/lib/system/event/log.entity.d.ts +31 -17
  100. package/lib/system/event/log.entity.js +104 -58
  101. package/lib/system/event/log.entity.js.map +1 -1
  102. package/lib/tsconfig.tsbuildinfo +1 -1
  103. package/lib/user/user.entity.d.ts +5 -2
  104. package/lib/user/user.entity.js +11 -5
  105. package/lib/user/user.entity.js.map +1 -1
  106. package/package.json +3 -3
  107. package/lib/profile/company/course/appointment.entity.d.ts +0 -271
  108. package/lib/profile/company/course/appointment.entity.js +0 -736
  109. package/lib/profile/company/course/appointment.entity.js.map +0 -1
  110. package/lib/profile/company/instructor/calendar-state.entity.d.ts +0 -67
  111. package/lib/profile/company/instructor/calendar-state.entity.js +0 -75
  112. package/lib/profile/company/instructor/calendar-state.entity.js.map +0 -1
  113. package/lib/profile/student/program/training/training-balance.view.d.ts +0 -4
  114. package/lib/profile/student/program/training/training-balance.view.entity.d.ts +0 -5
  115. package/lib/profile/student/program/training/training-balance.view.entity.js +0 -52
  116. package/lib/profile/student/program/training/training-balance.view.entity.js.map +0 -1
  117. package/lib/profile/student/program/training/training-balance.view.js +0 -47
  118. package/lib/profile/student/program/training/training-balance.view.js.map +0 -1
  119. package/lib/profile/student/program/training/training-cost.view.d.ts +0 -4
  120. package/lib/profile/student/program/training/training-cost.view.js +0 -45
  121. package/lib/profile/student/program/training/training-cost.view.js.map +0 -1
  122. package/lib/profile/student/program/training/training-sessions.view.d.ts +0 -8
  123. package/lib/profile/student/program/training/training-sessions.view.js +0 -50
  124. package/lib/profile/student/program/training/training-sessions.view.js.map +0 -1
  125. package/lib/public/faq.d.ts +0 -25
  126. package/lib/public/faq.js +0 -60
  127. package/lib/public/faq.js.map +0 -1
  128. package/lib/public/feature-item.d.ts +0 -54
  129. package/lib/public/feature-item.js +0 -78
  130. package/lib/public/feature-item.js.map +0 -1
  131. package/lib/public/feature.d.ts +0 -46
  132. package/lib/public/feature.js +0 -76
  133. package/lib/public/feature.js.map +0 -1
  134. package/lib/public/learning-hub.d.ts +0 -30
  135. package/lib/public/learning-hub.js +0 -77
  136. package/lib/public/learning-hub.js.map +0 -1
  137. package/lib/public/testimonial.d.ts +0 -40
  138. package/lib/public/testimonial.js +0 -85
  139. package/lib/public/testimonial.js.map +0 -1
@@ -12,17 +12,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.CompanyProductEntity = void 0;
13
13
  const shared_1 = require("@driveup/shared");
14
14
  const typeorm_1 = require("typeorm");
15
- const luxon_1 = require("luxon");
16
15
  const country_entity_1 = require("../../../catalog/product/country.entity");
16
+ const log_entity_1 = require("../../../system/event/log.entity");
17
17
  const staff_entity_1 = require("../../../system/staff/staff.entity");
18
18
  const activity_helper_1 = require("../../../utils/activity.helper");
19
- const product_entity_1 = require("../medical/product.entity");
20
19
  const trackable_1 = require("../../../utils/trackable");
20
+ const company_entity_1 = require("../company.entity");
21
21
  const course_entity_1 = require("../course/course.entity");
22
+ const product_entity_1 = require("../medical/product.entity");
23
+ const addon_entity_1 = require("./addon.entity");
22
24
  const priceplan_entity_1 = require("./priceplan.entity");
23
- const company_entity_1 = require("../company.entity");
24
25
  const vehicle_entity_1 = require("./vehicle.entity");
25
- const addon_entity_1 = require("./addon.entity");
26
26
  let CompanyProductEntity = class CompanyProductEntity extends trackable_1.TrackableEntity {
27
27
  constructor(props) {
28
28
  super();
@@ -41,7 +41,7 @@ let CompanyProductEntity = class CompanyProductEntity extends trackable_1.Tracka
41
41
  product.description = this.description || product.description;
42
42
  product.price = this.price;
43
43
  product.credit = this.credit;
44
- product.startCreditUsed = this.startCreditUsed;
44
+ product.startCreditUsed = this.startCreditReceived;
45
45
  product.freeBenefitsAllowed = this.freeBenefitsAllowed;
46
46
  return product;
47
47
  }
@@ -56,12 +56,10 @@ let CompanyProductEntity = class CompanyProductEntity extends trackable_1.Tracka
56
56
  return this.status === shared_1.ProductStatus.Active;
57
57
  }
58
58
  async getUpcomingPricePlan() {
59
- // TODO: check this function carefuly
60
59
  return priceplan_entity_1.CompanyProductPricePlanEntity.createQueryBuilder('pp') // company product plan
61
- .innerJoin('pp.product', 'p') // company product
62
- .where('p.id = :id', { id: this.id })
63
- .andWhere('pp.active = :false', { false: false })
64
- .andWhere('pp.switchDate >= :now', { now: luxon_1.DateTime.now().toJSDate() })
60
+ .innerJoin('pp.product', 'cp') // company product
61
+ .where('cp.id = :id', { id: this.id })
62
+ .andWhere('pp.upcoming = :true', { true: true })
65
63
  .getOne();
66
64
  }
67
65
  async getActivities() {
@@ -88,6 +86,31 @@ let CompanyProductEntity = class CompanyProductEntity extends trackable_1.Tracka
88
86
  }
89
87
  return true;
90
88
  }
89
+ async getCompany() {
90
+ return await this.company;
91
+ }
92
+ /**
93
+ * Log course event
94
+ * @param event Event type
95
+ * @param metadata Content render data
96
+ * @param author Log author of the event
97
+ * @param systemLog Whether to create an additional system log entry
98
+ */
99
+ async log(event, metadata, author, systemLog) {
100
+ if (!this.id === undefined)
101
+ return;
102
+ const company = await this.getCompany();
103
+ author = author || company.toCustomer();
104
+ const systemContent = systemLog ? log_entity_1.LogEntity.toSystemContent(event, metadata) : null;
105
+ await log_entity_1.LogEntity.from({
106
+ feature: shared_1.Feature.Product,
107
+ profile: { type: shared_1.ProfileType.Company, id: company.id },
108
+ author: author,
109
+ event: event,
110
+ entityId: this.id,
111
+ content: log_entity_1.LogEntity.toCompanyContent(event, company.language, metadata)
112
+ }, systemContent);
113
+ }
91
114
  };
92
115
  exports.CompanyProductEntity = CompanyProductEntity;
93
116
  __decorate([
@@ -193,7 +216,7 @@ __decorate([
193
216
  default: false
194
217
  }),
195
218
  __metadata("design:type", Boolean)
196
- ], CompanyProductEntity.prototype, "startCreditUsed", void 0);
219
+ ], CompanyProductEntity.prototype, "startCreditReceived", void 0);
197
220
  __decorate([
198
221
  (0, typeorm_1.Column)({ default: true }),
199
222
  __metadata("design:type", Boolean)
@@ -1 +1 @@
1
- {"version":3,"file":"product.entity.js","sourceRoot":"","sources":["../../../../src/profile/company/product/product.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,4CAAuG;AACvG,qCAAoG;AACpG,iCAAiC;AAEjC,4EAA+E;AAC/E,qEAAiE;AACjE,oEAA4D;AAC5D,8DAAwE;AACxE,wDAA2D;AAC3D,2DAA8D;AAC9D,yDAAmE;AACnE,sDAAkD;AAClD,qDAA+D;AAC/D,iDAAoD;AAG7C,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,2BAAwB;IAwUjE,YAAY,KAAqC;QAChD,KAAK,EAAE,CAAC;QAIT,cAAS,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,KAAG,oBAAW,CAAC,OAAO,CAAC;QACzD,kBAAa,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,KAAG,oBAAW,CAAC,WAAW,CAAC;QACjE,cAAS,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,KAAG,oBAAW,CAAC,WAAW,CAAC;QAC7D,iBAAY,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,KAAG,oBAAW,CAAC,UAAU,CAAC;QAN9D,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC5B,CAAC;IAOD,KAAK,CAAC,OAAO;QACZ,MAAM,cAAc,GAAI,MAAM,IAAI,CAAC,OAAO,CAAC;QAC3C,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,CAAC;QAC/C,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC;QAC5C,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC;QAC9D,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QAC/C,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACvD,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,SAAS;QACd,OAAO,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,WAAW;QAChB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC;QACrC,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,WAAW;QACV,OAAO,IAAI,CAAC,MAAM,KAAG,sBAAa,CAAC,MAAM,CAAA;IAC1C,CAAC;IAED,KAAK,CAAC,oBAAoB;QACzB,qCAAqC;QACrC,OAAO,gDAA6B,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,uBAAuB;aACnF,SAAS,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,kBAAkB;aAC/C,KAAK,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;aACpC,QAAQ,CAAC,oBAAoB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;aAChD,QAAQ,CAAC,uBAAuB,EAAE,EAAE,GAAG,EAAE,gBAAQ,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;aACrE,MAAM,EAAE,CAAC;IACZ,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,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,qBAAY,CAAC,SAAS,CAAC,CAAC,CAAC;QAC9F,UAAU,CAAC,IAAI,CAAC,MAAM,IAAA,4BAAU,EAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,qBAAY,CAAC,WAAW,CAAC,CAAC,CAAC;QACpG,UAAU,CAAC,IAAI,CAAC,MAAM,IAAA,4BAAU,EAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,qBAAY,CAAC,OAAO,EAAE,0BAAW,CAAC,CAAC,CAAC;QACrG,UAAU,CAAC,IAAI,CAAC,MAAM,IAAA,4BAAU,EAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,qBAAY,CAAC,QAAQ,EAAE,0BAAW,CAAC,CAAC,CAAC;QACxG,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,cAAc;QACnB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC;QACnC,MAAM,eAAe,GAAG,CAAC,sBAAa,CAAC,SAAS,EAAE,sBAAa,CAAC,OAAO,EAAE,sBAAa,CAAC,MAAM,CAAC,CAAC;QAC/F,IAAI,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9C,OAAO,KAAK,CAAC;QACd,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,KAAK,CAAC;QACd,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAClB,OAAO,KAAK,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAA;AAhZY,oDAAoB;AAQhC;IADC,IAAA,gBAAM,GAAE;;uDACS;AAMlB;IADC,IAAA,gBAAM,GAAE;;uDACS;AASlB;IAJC,IAAA,gBAAM,EAAC;QACP,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,IAAI;KACb,CAAC;;yDACkB;AASpB;IAJC,IAAA,gBAAM,EAAC;QACP,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,IAAI;KACb,CAAC;;iEAC0B;AAY5B;IANC,IAAA,gBAAM,EAAC;QACP,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,sBAAa;QACnB,OAAO,EAAE,sBAAa,CAAC,MAAM;QAC7B,QAAQ,EAAE,KAAK;KACf,CAAC;;oDACoB;AAQtB;IANC,IAAA,gBAAM,EAAC;QACP,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,oBAAW;QACjB,OAAO,EAAE,oBAAW,CAAC,OAAO;QAC5B,QAAQ,EAAE,KAAK;KACf,CAAC;;yDACuB;AAQzB;IANC,IAAA,gBAAM,EAAC;QACP,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,oBAAW;QACjB,OAAO,EAAE,oBAAW,CAAC,UAAU;QAC/B,QAAQ,EAAE,KAAK;KACf,CAAC;;yDACuB;AAQzB;IADC,IAAA,gBAAM,GAAE;;mDACK;AASd;IAJC,IAAA,gBAAM,EAAC;QACP,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,IAAI;KACb,CAAC;;yDACkB;AAYpB;IAPC,IAAA,gBAAM,EAAC;QACP,IAAI,EAAE,SAAS;QACf,SAAS,EAAE,CAAC;QACZ,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,IAAI;KACb,CAAC;;mDACY;AAcd;IAPC,IAAA,gBAAM,EAAC;QACP,IAAI,EAAE,SAAS;QACf,SAAS,EAAE,CAAC;QACZ,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,CAAC;KACV,CAAC;;yDACkB;AAUpB;IAJC,IAAA,gBAAM,EAAC;QACP,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,IAAI;KACb,CAAC;;0DACmB;AAYrB;IAPC,IAAA,gBAAM,EAAC;QACP,IAAI,EAAE,SAAS;QACf,SAAS,EAAE,CAAC;QACZ,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,IAAI;KACb,CAAC;;oDACa;AASf;IAJC,IAAA,gBAAM,EAAC;QACP,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,KAAK;KACd,CAAC;;6DACuB;AAUzB;IADC,IAAA,gBAAM,EAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;iEACG;AAa7B;IALC,IAAA,gBAAM,EAAC;QACP,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,IAAI;KACb,CAAC;;+DACwB;AAc1B;IAJC,IAAA,gBAAM,EAAC;QACP,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,IAAI;KACb,CAAC;;qDACe;AAUjB;IAJC,IAAA,gBAAM,EAAC;QACP,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,IAAI;KACb,CAAC;;oDACc;AAMhB;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;yDACtB;AAMpB;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;8BAC7B,IAAI;yDAAC;AAMlB;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;8BAC3B,IAAI;2DAAC;AAMpB;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;2DACpB;AAMtB;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;8BAC/B,IAAI;uDAAC;AAMhB;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;uDACxB;AAMlB;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;8BAC9B,IAAI;wDAAC;AAMjB;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;wDACvB;AAMnB;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;8BAC7B,IAAI;yDAAC;AAMlB;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;yDACtB;AAMpB;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;8BAC/B,IAAI;uDAAC;AAMhB;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;uDACxB;AAMlB;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,8BAAa,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC;;qDAC5B;AAMhC;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,qCAAoB,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;;qDAC7B;AAOvC;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,gDAA6B,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;;wDAChB;AAQrD;IAFC,IAAA,kBAAQ,EAAC,GAAG,EAAE,CAAC,gDAA6B,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC;IAC5E,IAAA,oBAAU,GAAE;;uDACqC;AAOlD;IAFC,IAAA,kBAAQ,EAAC,GAAG,EAAE,CAAC,gDAA6B,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC;IAC7E,IAAA,oBAAU,GAAE;;+DAC6C;AAO1D;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,iCAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;;oDACtB;AAYtC;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,4CAA2B,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC;;qDACvB;AAUhD;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,mCAAmB,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC;;qDACvB;AAUxC;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,4CAA2B,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC;;sDACtB;+BAtUrC,oBAAoB;IADhC,IAAA,gBAAM,EAAC,iBAAiB,CAAC;;GACb,oBAAoB,CAgZhC"}
1
+ {"version":3,"file":"product.entity.js","sourceRoot":"","sources":["../../../../src/profile/company/product/product.entity.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { Activity, Vehicle } from '@driveup/common';
2
- import { CarTransmission } from '@driveup/shared';
2
+ import { CarTransmission, Person } from '@driveup/shared';
3
3
  import { TrackableEntity } from '../../../utils/trackable';
4
4
  import { CompanyProductEntity } from './product.entity';
5
5
  export declare class CompanyProductVehicleEntity extends TrackableEntity<Vehicle> {
@@ -43,5 +43,14 @@ export declare class CompanyProductVehicleEntity extends TrackableEntity<Vehicle
43
43
  constructor(props?: Partial<CompanyProductVehicleEntity>);
44
44
  toModel(): Vehicle;
45
45
  toSummary(): Vehicle;
46
+ getProduct(): Promise<CompanyProductEntity>;
46
47
  getActivities(): Promise<Activity[]>;
48
+ /**
49
+ * Log course event
50
+ * @param event Event type
51
+ * @param metadata Content render data
52
+ * @param author Log author of the event
53
+ * @param systemLog Whether to create an additional system log entry
54
+ */
55
+ log(event: string, metadata?: any, author?: Person, systemLog?: boolean): Promise<void>;
47
56
  }
@@ -13,6 +13,7 @@ exports.CompanyProductVehicleEntity = void 0;
13
13
  const common_1 = require("@driveup/common");
14
14
  const shared_1 = require("@driveup/shared");
15
15
  const typeorm_1 = require("typeorm");
16
+ const log_entity_1 = require("../../../system/event/log.entity");
16
17
  const activity_helper_1 = require("../../../utils/activity.helper");
17
18
  const trackable_1 = require("../../../utils/trackable");
18
19
  const product_entity_1 = require("./product.entity");
@@ -36,12 +37,38 @@ let CompanyProductVehicleEntity = class CompanyProductVehicleEntity extends trac
36
37
  toSummary() {
37
38
  return this.toModel();
38
39
  }
40
+ async getProduct() {
41
+ return await this.product;
42
+ }
39
43
  async getActivities() {
40
44
  const activities = [];
41
45
  activities.push(await (0, activity_helper_1.toActivity)(this.createdBy, this.createdOn, shared_1.ActivityType.created));
42
46
  activities.push(await (0, activity_helper_1.toActivity)(this.updatedBy, this.updatedOn, shared_1.ActivityType.updated));
43
47
  return activities.filter(a => a);
44
48
  }
49
+ /**
50
+ * Log course event
51
+ * @param event Event type
52
+ * @param metadata Content render data
53
+ * @param author Log author of the event
54
+ * @param systemLog Whether to create an additional system log entry
55
+ */
56
+ async log(event, metadata, author, systemLog) {
57
+ if (!this.id === undefined)
58
+ return;
59
+ const product = await this.getProduct();
60
+ const company = await product.getCompany();
61
+ author = author || company.toCustomer();
62
+ const systemContent = systemLog ? log_entity_1.LogEntity.toSystemContent(event, metadata) : null;
63
+ await log_entity_1.LogEntity.from({
64
+ feature: shared_1.Feature.Vehicle,
65
+ profile: { type: shared_1.ProfileType.Company, id: company.id },
66
+ author: author,
67
+ event: event,
68
+ entityId: this.id,
69
+ content: log_entity_1.LogEntity.toCompanyContent(event, company.language, metadata)
70
+ }, systemContent);
71
+ }
45
72
  };
46
73
  exports.CompanyProductVehicleEntity = CompanyProductVehicleEntity;
47
74
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"vehicle.entity.js","sourceRoot":"","sources":["../../../../src/profile/company/product/vehicle.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAAoD;AACpD,4CAAgE;AAChE,qCAAoD;AAEpD,oEAA4D;AAC5D,wDAA2D;AAC3D,qDAAwD;AAGjD,IAAM,2BAA2B,GAAjC,MAAM,2BAA4B,SAAQ,2BAAwB;IA6ExE,YAAY,KAA4C;QACvD,KAAK,EAAE,CAAC;QACR,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO;QACN,OAAO,IAAI,gBAAO,CAAC;YAClB,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,YAAY,EAAE,IAAI,CAAC,YAAY;SAC/B,CAAC,CAAC;IACJ,CAAC;IAED,SAAS;QACR,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,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;CACD,CAAA;AAzGY,kEAA2B;AAMvC;IADC,IAAA,gBAAM,GAAE;;8DACS;AAMlB;IADC,IAAA,gBAAM,GAAE;;iEACY;AASrB;IAJC,IAAA,gBAAM,EAAC;QACP,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,IAAI;KACb,CAAC;;2DACa;AASf;IAJC,IAAA,gBAAM,EAAC;QACP,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,IAAI;KACb,CAAC;;yDACW;AASb;IAJC,IAAA,gBAAM,EAAC;QACP,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,IAAI;KACb,CAAC;;0DACY;AASd;IAJC,IAAA,gBAAM,EAAC;QACP,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,IAAI;KACb,CAAC;;yDACW;AASb;IAJC,IAAA,gBAAM,EAAC;QACP,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,IAAI;KACb,CAAC;;6DACe;AAYjB;IANC,IAAA,gBAAM,EAAC;QACP,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,wBAAe;QACrB,OAAO,EAAE,wBAAe,CAAC,SAAS;QAClC,QAAQ,EAAE,KAAK;KACf,CAAC;;iEACsC;AAMxC;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,qCAAoB,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC;;4DAC5B;sCA3E3B,2BAA2B;IADvC,IAAA,gBAAM,EAAC,wBAAwB,CAAC;;GACpB,2BAA2B,CAyGvC"}
1
+ {"version":3,"file":"vehicle.entity.js","sourceRoot":"","sources":["../../../../src/profile/company/product/vehicle.entity.ts"],"names":[],"mappings":"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"}
@@ -77,10 +77,11 @@ export declare class InstructorEntity extends TrackableEntity<Instructor> {
77
77
  /**
78
78
  * Log instructor event
79
79
  * @param event Event type
80
- * @param entityId The id of the entity associated with the log entry
81
- * @param metadata Content render data (in instructor language)
80
+ * @param metadata Content render data
81
+ * @param author Log author of the event
82
+ * @param systemLog Whether to create an additional system log entry
82
83
  */
83
- log(event: string, metadata?: any, entityId?: number): Promise<void>;
84
+ log(event: string, metadata?: any, author?: Person, systemLog?: boolean): Promise<void>;
84
85
  /**
85
86
  * Retrieves notification preferences as typed Preference instances
86
87
  * @returns Array of Preference objects or undefined if not set
@@ -90,19 +90,23 @@ let InstructorEntity = InstructorEntity_1 = class InstructorEntity extends track
90
90
  /**
91
91
  * Log instructor event
92
92
  * @param event Event type
93
- * @param entityId The id of the entity associated with the log entry
94
- * @param metadata Content render data (in instructor language)
93
+ * @param metadata Content render data
94
+ * @param author Log author of the event
95
+ * @param systemLog Whether to create an additional system log entry
95
96
  */
96
- async log(event, metadata, entityId) {
97
+ async log(event, metadata, author, systemLog) {
97
98
  if (!this.id)
98
99
  return;
100
+ author = author || await this.toPerson();
101
+ const systemContent = systemLog ? log_entity_1.LogEntity.toSystemContent(event, metadata) : null;
99
102
  await log_entity_1.LogEntity.from({
100
- type: shared_1.LogType.Instructor,
103
+ feature: shared_1.Feature.Account,
101
104
  profile: { type: shared_1.ProfileType.Instructor, id: this.id },
105
+ author: author,
102
106
  event: event,
103
- entityId: entityId,
107
+ entityId: this.id,
104
108
  content: log_entity_1.LogEntity.toInstructorContent(event, this.language, metadata)
105
- });
109
+ }, systemContent);
106
110
  }
107
111
  /**
108
112
  * Retrieves notification preferences as typed Preference instances
@@ -1 +1 @@
1
- {"version":3,"file":"instructor.entity.js","sourceRoot":"","sources":["../../../src/profile/instructor/instructor.entity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"instructor.entity.js","sourceRoot":"","sources":["../../../src/profile/instructor/instructor.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,4CAAuD;AACvD,4CAAmI;AACnI,qCAA+D;AAE/D,8DAA0D;AAC1D,wDAAoD;AACpD,iEAAyD;AACzD,qDAAwD;AACxD,+EAAkF;AAElF;;;;;;GAMG;AAEI,IAAM,gBAAgB,wBAAtB,MAAM,gBAAiB,SAAQ,2BAA2B;IAyEhE;;;OAGG;IACH,YAAY,KAAiC;QAC5C,KAAK,EAAE,CAAC;QACR,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO;QACZ,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC;QAC7B,OAAO,mBAAU,CAAC,UAAU,CAAC;YAC5B,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI;YAC5B,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ;YACxC,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ;YACxC,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;SACnB,CAAC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,SAAS;QACd,OAAO,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,QAAQ;QACb,MAAM,IAAI,GAAI,MAAM,IAAI,CAAC,IAAI,CAAC;QAC9B,OAAO,IAAI,eAAM,CAAC;YACjB,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ;YACxC,KAAK,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE,WAAW;YAClD,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;SACjB,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO;QACZ,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,aAAa;QAClB,MAAM,UAAU,GAAe,EAAE,CAAC;QAClC,UAAU,CAAC,IAAI,CAAC,MAAM,IAAA,4BAAU,EAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,qBAAY,CAAC,OAAO,CAAC,CAAC,CAAC;QACxF,UAAU,CAAC,IAAI,CAAC,MAAM,IAAA,4BAAU,EAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,qBAAY,CAAC,OAAO,CAAC,CAAC,CAAC;QACxF,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,GAAG,CAAC,KAAa,EAAE,QAAc,EAAE,MAAe,EAAE,SAAmB;QAC5E,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,OAAO;QACrB,MAAM,GAAG,MAAM,IAAI,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACzC,MAAM,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,sBAAS,CAAC,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACpF,MAAM,sBAAS,CAAC,IAAI,CAAC;YACpB,OAAO,EAAE,gBAAO,CAAC,OAAO;YACxB,OAAO,EAAE,EAAE,IAAI,EAAE,oBAAW,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE;YACtD,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,KAAK;YACZ,QAAQ,EAAE,IAAI,CAAC,EAAE;YACjB,OAAO,EAAE,sBAAS,CAAC,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC;SACtE,EAAE,aAAa,CAAC,CAAC;IACnB,CAAC;IAED;;;OAGG;IACH,cAAc;QACb,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,OAAO;QAC9B,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,mBAAU,CAAC,UAAU,CAAC,CAAA;IACnD,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,IAAY,EAAE,KAAU,EAAE,KAAsB;QAEnE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;QAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAI,IAAI,CAAC,CAAC;QAEhE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,mBAAU,CAAC;YACpC,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,KAAK;SACZ,CAAC,CAAC,CAAC;QAEJ,MAAM,2CAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC,WAAW,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,IAAY;QAClC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;QAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAI,IAAI,CAAC,CAAC;QAChE,MAAM,kBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC,WAAW,CAAC;IACzB,CAAC;CACD,CAAA;AA9LY,4CAAgB;AAM5B;IADC,IAAA,gBAAM,GAAE;;gDACM;AAYf;IANC,IAAA,gBAAM,EAAC;QACP,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,sBAAa;QACnB,OAAO,EAAE,sBAAa,CAAC,OAAO;QAC9B,QAAQ,EAAE,KAAK;KACf,CAAC;;gDACoB;AAatB;IANC,IAAA,gBAAM,EAAC;QACP,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,iBAAQ;QACd,OAAO,EAAE,iBAAQ,CAAC,EAAE;QACpB,QAAQ,EAAE,IAAI;KACd,CAAC;;kDACiB;AASnB;IAJC,IAAA,gBAAM,EAAC;QACP,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,IAAI;KACb,CAAC;;8CACW;AASb;IAJC,IAAA,gBAAM,EAAC;QACP,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,IAAI;KACb,CAAC;;kDACe;AAUjB;IALC,IAAA,gBAAM,EAAC;QACP,IAAI,EAAE,aAAa;QACnB,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,IAAI;KACb,CAAC;;qDACwB;AAM1B;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,wBAAU,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC;;8CACnC;AAM1B;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,2CAAuB,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;;mDAC1B;2BAvElC,gBAAgB;IAD5B,IAAA,gBAAM,EAAC,aAAa,CAAC;;GACT,gBAAgB,CA8L5B"}
@@ -1,5 +1,5 @@
1
1
  import { Activity, Authority, Licence } from '@driveup/common';
2
- import { ProductType } from '@driveup/shared';
2
+ import { Person, ProductType } from '@driveup/shared';
3
3
  import { DrivingCategoryEntity } from '../../../../system/driving/category.entity';
4
4
  import { TrackableEntity } from '../../../../utils/trackable';
5
5
  import { StudentEntity } from '../../student.entity';
@@ -71,5 +71,14 @@ export declare class StudentLicenceEntity extends TrackableEntity<Licence> {
71
71
  constructor(props?: Partial<StudentLicenceEntity>);
72
72
  toModel(): Licence;
73
73
  toSummary(): Licence;
74
+ getStudent(): Promise<StudentEntity>;
74
75
  getActivities(): Promise<Activity[]>;
76
+ /**
77
+ * Log student event
78
+ * @param event Event type
79
+ * @param metadata Content render data
80
+ * @param author Log author of the event
81
+ * @param systemLog Whether to create an additional system log entry
82
+ */
83
+ log(event: string, metadata?: any, author?: Person, systemLog?: boolean): Promise<void>;
75
84
  }
@@ -14,6 +14,7 @@ const common_1 = require("@driveup/common");
14
14
  const shared_1 = require("@driveup/shared");
15
15
  const typeorm_1 = require("typeorm");
16
16
  const category_entity_1 = require("../../../../system/driving/category.entity");
17
+ const log_entity_1 = require("../../../../system/event/log.entity");
17
18
  const activity_helper_1 = require("../../../../utils/activity.helper");
18
19
  const trackable_1 = require("../../../../utils/trackable");
19
20
  const student_entity_1 = require("../../student.entity");
@@ -40,12 +41,37 @@ let StudentLicenceEntity = class StudentLicenceEntity extends trackable_1.Tracka
40
41
  toSummary() {
41
42
  return this.toModel();
42
43
  }
44
+ async getStudent() {
45
+ return await this.student;
46
+ }
43
47
  async getActivities() {
44
48
  const activities = [];
45
49
  activities.push(await (0, activity_helper_1.toActivity)(this.createdBy, this.createdOn, shared_1.ActivityType.created));
46
50
  activities.push(await (0, activity_helper_1.toActivity)(this.updatedBy, this.updatedOn, shared_1.ActivityType.updated));
47
51
  return activities.filter(a => a);
48
52
  }
53
+ /**
54
+ * Log student event
55
+ * @param event Event type
56
+ * @param metadata Content render data
57
+ * @param author Log author of the event
58
+ * @param systemLog Whether to create an additional system log entry
59
+ */
60
+ async log(event, metadata, author, systemLog) {
61
+ if (!this.id === undefined)
62
+ return;
63
+ const student = await this.getStudent();
64
+ author = author || await student.toPerson();
65
+ const systemContent = systemLog ? log_entity_1.LogEntity.toSystemContent(event, metadata) : null;
66
+ await log_entity_1.LogEntity.from({
67
+ feature: shared_1.Feature.Licence,
68
+ profile: { type: shared_1.ProfileType.Student, id: student.id },
69
+ author: author,
70
+ event: event,
71
+ entityId: this.id,
72
+ content: log_entity_1.LogEntity.toStudentContent(event, student.language, metadata)
73
+ }, systemContent);
74
+ }
49
75
  };
50
76
  exports.StudentLicenceEntity = StudentLicenceEntity;
51
77
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"licence.entity.js","sourceRoot":"","sources":["../../../../../src/profile/student/program/licence/licence.entity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"licence.entity.js","sourceRoot":"","sources":["../../../../../src/profile/student/program/licence/licence.entity.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { Activity, Customer, MedicalCertificate } from '@driveup/common';
2
- import { Note, ProductType } from '@driveup/shared';
2
+ import { Note, Person, ProductType } from '@driveup/shared';
3
3
  import { DrivingCategoryEntity } from '../../../../system/driving/category.entity';
4
4
  import { TrackableEntity } from '../../../../utils/trackable';
5
5
  import { StudentEntity } from '../../student.entity';
@@ -81,5 +81,14 @@ export declare class StudentMedicalCertificateEntity extends TrackableEntity<Med
81
81
  constructor(props?: Partial<StudentMedicalCertificateEntity>);
82
82
  toModel(): Promise<MedicalCertificate>;
83
83
  toSummary(): MedicalCertificate;
84
+ getStudent(): Promise<StudentEntity>;
84
85
  getActivities(): Promise<Activity[]>;
86
+ /**
87
+ * Log student event
88
+ * @param event Event type
89
+ * @param metadata Content render data
90
+ * @param author Log author of the event
91
+ * @param systemLog Whether to create an additional system log entry
92
+ */
93
+ log(event: string, metadata?: any, author?: Person, systemLog?: boolean): Promise<void>;
85
94
  }
@@ -14,6 +14,7 @@ const common_1 = require("@driveup/common");
14
14
  const shared_1 = require("@driveup/shared");
15
15
  const typeorm_1 = require("typeorm");
16
16
  const category_entity_1 = require("../../../../system/driving/category.entity");
17
+ const log_entity_1 = require("../../../../system/event/log.entity");
17
18
  const activity_helper_1 = require("../../../../utils/activity.helper");
18
19
  const trackable_1 = require("../../../../utils/trackable");
19
20
  const student_entity_1 = require("../../student.entity");
@@ -55,12 +56,37 @@ let StudentMedicalCertificateEntity = class StudentMedicalCertificateEntity exte
55
56
  documentUrl: this.documentUrl
56
57
  });
57
58
  }
59
+ async getStudent() {
60
+ return await this.student;
61
+ }
58
62
  async getActivities() {
59
63
  const activities = [];
60
64
  activities.push(await (0, activity_helper_1.toActivity)(this.createdBy, this.createdOn, shared_1.ActivityType.created));
61
65
  activities.push(await (0, activity_helper_1.toActivity)(this.updatedBy, this.updatedOn, shared_1.ActivityType.updated));
62
66
  return activities.filter(a => a);
63
67
  }
68
+ /**
69
+ * Log student event
70
+ * @param event Event type
71
+ * @param metadata Content render data
72
+ * @param author Log author of the event
73
+ * @param systemLog Whether to create an additional system log entry
74
+ */
75
+ async log(event, metadata, author, systemLog) {
76
+ if (!this.id === undefined)
77
+ return;
78
+ const student = await this.getStudent();
79
+ author = author || await student.toPerson();
80
+ const systemContent = systemLog ? log_entity_1.LogEntity.toSystemContent(event, metadata) : null;
81
+ await log_entity_1.LogEntity.from({
82
+ feature: shared_1.Feature.Certificate,
83
+ profile: { type: shared_1.ProfileType.Student, id: student.id },
84
+ author: author,
85
+ event: event,
86
+ entityId: this.id,
87
+ content: log_entity_1.LogEntity.toStudentContent(event, student.language, metadata)
88
+ }, systemContent);
89
+ }
64
90
  };
65
91
  exports.StudentMedicalCertificateEntity = StudentMedicalCertificateEntity;
66
92
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"certificate.entity.js","sourceRoot":"","sources":["../../../../../src/profile/student/program/medical/certificate.entity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"certificate.entity.js","sourceRoot":"","sources":["../../../../../src/profile/student/program/medical/certificate.entity.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { Activity, Appointment } from '@driveup/common';
2
- import { Address, Note, StatusType } from '@driveup/shared';
3
- import { CompanyMedicalExaminationEntity } from '../../../company/medical/examination.entity';
2
+ import { Address, Note, Person, StatusType } from '@driveup/shared';
4
3
  import { TrackableEntity } from '../../../../utils/trackable';
4
+ import { CompanyMedicalExaminationEntity } from '../../../company/medical/examination.entity';
5
5
  import { StudentEntity } from '../../student.entity';
6
6
  import { StudentMedicalCertificateEntity } from './certificate.entity';
7
7
  export declare class StudentMedicalExaminationEntity extends TrackableEntity<Appointment> {
@@ -61,5 +61,14 @@ export declare class StudentMedicalExaminationEntity extends TrackableEntity<App
61
61
  constructor(props?: Partial<StudentMedicalExaminationEntity>);
62
62
  toModel(): Promise<Appointment>;
63
63
  toSummary(): Promise<Appointment>;
64
+ getStudent(): Promise<StudentEntity>;
64
65
  getActivities(): Promise<Activity[]>;
66
+ /**
67
+ * Log student event
68
+ * @param event Event type
69
+ * @param metadata Content render data
70
+ * @param author Log author of the event
71
+ * @param systemLog Whether to create an additional system log entry
72
+ */
73
+ log(event: string, metadata?: any, author?: Person, systemLog?: boolean): Promise<void>;
65
74
  }
@@ -14,12 +14,13 @@ exports.StudentMedicalExaminationEntity = void 0;
14
14
  const common_1 = require("@driveup/common");
15
15
  const shared_1 = require("@driveup/shared");
16
16
  const typeorm_1 = require("typeorm");
17
- const examination_entity_1 = require("../../../company/medical/examination.entity");
18
17
  const product_entity_1 = require("../../../../catalog/product/product.entity");
19
- const product_entity_2 = require("../../../company/medical/product.entity");
20
- const product_entity_3 = require("../../../company/product/product.entity");
18
+ const log_entity_1 = require("../../../../system/event/log.entity");
21
19
  const activity_helper_1 = require("../../../../utils/activity.helper");
22
20
  const trackable_1 = require("../../../../utils/trackable");
21
+ const examination_entity_1 = require("../../../company/medical/examination.entity");
22
+ const product_entity_2 = require("../../../company/medical/product.entity");
23
+ const product_entity_3 = require("../../../company/product/product.entity");
23
24
  const student_entity_1 = require("../../student.entity");
24
25
  const certificate_entity_1 = require("./certificate.entity");
25
26
  let StudentMedicalExaminationEntity = StudentMedicalExaminationEntity_1 = class StudentMedicalExaminationEntity extends trackable_1.TrackableEntity {
@@ -65,12 +66,37 @@ let StudentMedicalExaminationEntity = StudentMedicalExaminationEntity_1 = class
65
66
  endDate: this.endDate,
66
67
  });
67
68
  }
69
+ async getStudent() {
70
+ return await this.student;
71
+ }
68
72
  async getActivities() {
69
73
  const activities = [];
70
74
  activities.push(await (0, activity_helper_1.toActivity)(this.createdBy, this.createdOn, shared_1.ActivityType.created));
71
75
  activities.push(await (0, activity_helper_1.toActivity)(this.updatedBy, this.updatedOn, shared_1.ActivityType.updated));
72
76
  return activities.filter(a => a);
73
77
  }
78
+ /**
79
+ * Log student event
80
+ * @param event Event type
81
+ * @param metadata Content render data
82
+ * @param author Log author of the event
83
+ * @param systemLog Whether to create an additional system log entry
84
+ */
85
+ async log(event, metadata, author, systemLog) {
86
+ if (!this.id === undefined)
87
+ return;
88
+ const student = await this.getStudent();
89
+ author = author || await student.toPerson();
90
+ const systemContent = systemLog ? log_entity_1.LogEntity.toSystemContent(event, metadata) : null;
91
+ await log_entity_1.LogEntity.from({
92
+ feature: shared_1.Feature.Program,
93
+ profile: { type: shared_1.ProfileType.Student, id: student.id },
94
+ author: author,
95
+ event: event,
96
+ entityId: this.id,
97
+ content: log_entity_1.LogEntity.toStudentContent(event, student.language, metadata)
98
+ }, systemContent);
99
+ }
74
100
  };
75
101
  exports.StudentMedicalExaminationEntity = StudentMedicalExaminationEntity;
76
102
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"examination.entity.js","sourceRoot":"","sources":["../../../../../src/profile/student/program/medical/examination.entity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"examination.entity.js","sourceRoot":"","sources":["../../../../../src/profile/student/program/medical/examination.entity.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  import { Activity, StudentProgram } from '@driveup/common';
2
- import { StatusType } from '@driveup/shared';
2
+ import { Person, StatusType } from '@driveup/shared';
3
3
  import { ProgramEntity } from '../../../catalog/program/program.entity';
4
- import { StudentMedicalCertificateEntity } from './medical/certificate.entity';
5
- import { StudentTrainingEntity } from './training/training.entity';
6
- import { StudentTrainingRequestEntity } from './training/request.entity';
7
4
  import { TrackableEntity } from '../../../utils/trackable';
8
- import { StudentLicenceEntity } from './licence/licence.entity';
9
5
  import { StudentEntity } from '../student.entity';
6
+ import { StudentLicenceEntity } from './licence/licence.entity';
7
+ import { StudentMedicalCertificateEntity } from './medical/certificate.entity';
8
+ import { StudentTrainingRequestEntity } from './training/request.entity';
9
+ import { StudentTrainingEntity } from './training/training.entity';
10
10
  export declare class StudentProgramEntity extends TrackableEntity<StudentProgram> {
11
11
  /**
12
12
  * Reference to the student enrolled in this program
@@ -77,4 +77,12 @@ export declare class StudentProgramEntity extends TrackableEntity<StudentProgram
77
77
  getProgram(): Promise<ProgramEntity>;
78
78
  getActivities(): Promise<Activity[]>;
79
79
  getCost(): Promise<number>;
80
+ /**
81
+ * Log student event
82
+ * @param event Event type
83
+ * @param metadata Content render data
84
+ * @param author Log author of the event
85
+ * @param systemLog Whether to create an additional system log entry
86
+ */
87
+ log(event: string, metadata?: any, author?: Person, systemLog?: boolean): Promise<void>;
80
88
  }