@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,8 +1,8 @@
1
- import { Language, PolicyType, SelectedProfile, StatusType } from '@driveup/shared';
2
1
  import { Activity, Alert, Metadata } from '@driveup/common';
3
- import { UserEntity } from './user.entity';
2
+ import { Language, PolicyType, SelectedProfile, StatusType } from '@driveup/shared';
4
3
  import { PolicyEntity } from '../system/policy/policy.entity';
5
4
  import { TrackableEntity } from '../utils/trackable';
5
+ import { UserEntity } from './user.entity';
6
6
  /**
7
7
  * Represents a user alert or notification requiring action.
8
8
  * Alerts can be system-generated (from policies) or manually created,
@@ -38,6 +38,7 @@ export declare class UserAlertEntity extends TrackableEntity<Alert> {
38
38
  * Business event associated with the alert.
39
39
  */
40
40
  event: string;
41
+ acknowledged: boolean;
41
42
  /**
42
43
  * The profile type and company associated with the log entry.
43
44
  * This is used to filter logs by profile and/or company.
@@ -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.UserAlertEntity = 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 user_entity_1 = require("./user.entity");
14
+ const shared_1 = require("@driveup/shared");
15
+ const typeorm_1 = require("typeorm");
17
16
  const policy_entity_1 = require("../system/policy/policy.entity");
18
17
  const staff_entity_1 = require("../system/staff/staff.entity");
19
- const trackable_1 = require("../utils/trackable");
20
18
  const activity_helper_1 = require("../utils/activity.helper");
19
+ const trackable_1 = require("../utils/trackable");
20
+ const user_entity_1 = require("./user.entity");
21
21
  /**
22
22
  * Represents a user alert or notification requiring action.
23
23
  * Alerts can be system-generated (from policies) or manually created,
@@ -139,6 +139,13 @@ __decorate([
139
139
  }),
140
140
  __metadata("design:type", String)
141
141
  ], UserAlertEntity.prototype, "event", void 0);
142
+ __decorate([
143
+ (0, typeorm_1.Column)({
144
+ nullable: true,
145
+ default: false
146
+ }),
147
+ __metadata("design:type", Boolean)
148
+ ], UserAlertEntity.prototype, "acknowledged", void 0);
142
149
  __decorate([
143
150
  (0, typeorm_1.Column)({
144
151
  type: 'simple-json',
@@ -1 +1 @@
1
- {"version":3,"file":"alert.entity.js","sourceRoot":"","sources":["../../src/user/alert.entity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"alert.entity.js","sourceRoot":"","sources":["../../src/user/alert.entity.ts"],"names":[],"mappings":"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"}
@@ -10,10 +10,10 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.UserBlockedPhoneNumberEntity = void 0;
13
- const typeorm_1 = require("typeorm");
14
13
  const shared_1 = require("@driveup/shared");
15
- const trackable_1 = require("../utils/trackable");
14
+ const typeorm_1 = require("typeorm");
16
15
  const activity_helper_1 = require("../utils/activity.helper");
16
+ const trackable_1 = require("../utils/trackable");
17
17
  /**
18
18
  * Represents a blocked phone number.
19
19
  * Used to prevent accounts from being created with specific phone numbers.
@@ -1 +1 @@
1
- {"version":3,"file":"blocked.entity.js","sourceRoot":"","sources":["../../src/user/blocked.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAyC;AACzC,4CAA+C;AAE/C,kDAAqD;AACrD,8DAAsD;AAEtD;;;;;;GAMG;AAEI,IAAM,4BAA4B,GAAlC,MAAM,4BAA6B,SAAQ,2BAAe;IAkBhE;;;OAGG;IACH,YAAY,KAA6C;QACxD,KAAK,EAAE,CAAC;QACR,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO;QACN,OAAO;YACN,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;SACjB,CAAA;IACF,CAAC;IAED;;;OAGG;IACH,SAAS;QACR,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IACvB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa;QAClB,MAAM,UAAU,GAAe,EAAE,CAAC;QAClC,UAAU,CAAC,IAAI,CAAC,MAAM,IAAA,4BAAU,EAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,qBAAY,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9E,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;CACD,CAAA;AAnDY,oEAA4B;AAMxC;IADC,IAAA,gBAAM,GAAE;;2DACK;AAUd;IAJC,IAAA,gBAAM,EAAC;QACP,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,IAAI;KACb,CAAC;8BACK,IAAI;2DAAC;uCAhBA,4BAA4B;IADxC,IAAA,gBAAM,EAAC,yBAAyB,CAAC;;GACrB,4BAA4B,CAmDxC"}
1
+ {"version":3,"file":"blocked.entity.js","sourceRoot":"","sources":["../../src/user/blocked.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,4CAA+C;AAC/C,qCAAyC;AAEzC,8DAAsD;AACtD,kDAAqD;AAErD;;;;;;GAMG;AAEI,IAAM,4BAA4B,GAAlC,MAAM,4BAA6B,SAAQ,2BAAe;IAkBhE;;;OAGG;IACH,YAAY,KAA6C;QACxD,KAAK,EAAE,CAAC;QACR,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO;QACN,OAAO;YACN,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;SACjB,CAAA;IACF,CAAC;IAED;;;OAGG;IACH,SAAS;QACR,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IACvB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa;QAClB,MAAM,UAAU,GAAe,EAAE,CAAC;QAClC,UAAU,CAAC,IAAI,CAAC,MAAM,IAAA,4BAAU,EAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,qBAAY,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9E,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;CACD,CAAA;AAnDY,oEAA4B;AAMxC;IADC,IAAA,gBAAM,GAAE;;2DACK;AAUd;IAJC,IAAA,gBAAM,EAAC;QACP,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,IAAI;KACb,CAAC;8BACK,IAAI;2DAAC;uCAhBA,4BAA4B;IADxC,IAAA,gBAAM,EAAC,yBAAyB,CAAC;;GACrB,4BAA4B,CAmDxC"}
@@ -1,3 +1,4 @@
1
+ import { SelectedProfile } from '@driveup/shared';
1
2
  import { Activity, Device } from '@driveup/common';
2
3
  import { UserEntity } from './user.entity';
3
4
  import { TrackableEntity } from '../utils/trackable';
@@ -17,6 +18,17 @@ export declare class UserDeviceEntity extends TrackableEntity<Device> {
17
18
  * Global unique identifier for the device
18
19
  */
19
20
  guid: string;
21
+ /**
22
+ * The last selected profile (Student, Agent, or Company)
23
+ * The same property is part of user entity, but this property is priorized over user entity
24
+ * Used to remember which profile the user last used when logging in
25
+ * Update this property only when user explicitly switches profile
26
+ */
27
+ selectedProfile: SelectedProfile;
28
+ /**
29
+ * Timestamp of the user's last activity in the system
30
+ */
31
+ lastActivity: Date;
20
32
  /**
21
33
  * FCM token or device signature for push notifications
22
34
  */
@@ -64,6 +76,9 @@ export declare class UserDeviceEntity extends TrackableEntity<Device> {
64
76
  * @returns Model instance (same as toModel())
65
77
  */
66
78
  toSummary(): Device;
79
+ getSelectedProfile(): SelectedProfile;
80
+ selectProfile(profile: SelectedProfile): Promise<void>;
81
+ updateActivity(): Promise<void>;
67
82
  /**
68
83
  * Retrieves all activity records for this device
69
84
  * @returns Array of Activity objects
@@ -62,6 +62,17 @@ let UserDeviceEntity = class UserDeviceEntity extends trackable_1.TrackableEntit
62
62
  signature: this.signature,
63
63
  });
64
64
  }
65
+ getSelectedProfile() {
66
+ return this.selectedProfile;
67
+ }
68
+ async selectProfile(profile) {
69
+ this.selectedProfile = profile;
70
+ await this.save();
71
+ }
72
+ async updateActivity() {
73
+ this.lastActivity = new Date();
74
+ await this.save();
75
+ }
65
76
  /**
66
77
  * Retrieves all activity records for this device
67
78
  * @returns Array of Activity objects
@@ -85,6 +96,21 @@ __decorate([
85
96
  }),
86
97
  __metadata("design:type", String)
87
98
  ], UserDeviceEntity.prototype, "guid", void 0);
99
+ __decorate([
100
+ (0, typeorm_1.Column)({
101
+ type: 'simple-json',
102
+ nullable: true,
103
+ default: null
104
+ }),
105
+ __metadata("design:type", Object)
106
+ ], UserDeviceEntity.prototype, "selectedProfile", void 0);
107
+ __decorate([
108
+ (0, typeorm_1.Column)({
109
+ nullable: true,
110
+ default: null
111
+ }),
112
+ __metadata("design:type", Date)
113
+ ], UserDeviceEntity.prototype, "lastActivity", void 0);
88
114
  __decorate([
89
115
  (0, typeorm_1.Column)({
90
116
  nullable: true,
@@ -1 +1 @@
1
- {"version":3,"file":"device.entity.js","sourceRoot":"","sources":["../../src/user/device.entity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"device.entity.js","sourceRoot":"","sources":["../../src/user/device.entity.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { ColorContext, NotificationChannel, SelectedProfile } from '@driveup/shared';
2
1
  import { Activity, Notification, Person } from '@driveup/common';
3
- import { UserEntity } from './user.entity';
2
+ import { ColorContext, NotificationChannel, SelectedProfile } from '@driveup/shared';
4
3
  import { TrackableEntity } from '../utils/trackable';
4
+ import { UserEntity } from './user.entity';
5
5
  /**
6
6
  * Represents a user notification sent through various channels.
7
7
  * Notifications inform users about events, updates, or actions required.
@@ -10,12 +10,12 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.UserNotificationEntity = 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 user_entity_1 = require("./user.entity");
17
- const trackable_1 = require("../utils/trackable");
14
+ const shared_1 = require("@driveup/shared");
15
+ const typeorm_1 = require("typeorm");
18
16
  const activity_helper_1 = require("../utils/activity.helper");
17
+ const trackable_1 = require("../utils/trackable");
18
+ const user_entity_1 = require("./user.entity");
19
19
  /**
20
20
  * Represents a user notification sent through various channels.
21
21
  * Notifications inform users about events, updates, or actions required.
@@ -1 +1 @@
1
- {"version":3,"file":"notification.entity.js","sourceRoot":"","sources":["../../src/user/notification.entity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"notification.entity.js","sourceRoot":"","sources":["../../src/user/notification.entity.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { PriorityType, TicketType, StatusType } from '@driveup/shared';
2
- import { Asset, Person, Activity, Ticket } from '@driveup/common';
3
- import { UserEntity } from './user.entity';
1
+ import { Activity, Asset, Person, Ticket } from '@driveup/common';
2
+ import { PriorityType, StatusType, TicketType } from '@driveup/shared';
4
3
  import { TrackableEntity } from '../utils/trackable';
4
+ import { UserEntity } from './user.entity';
5
5
  /**
6
6
  * Represents a support ticket created by or for a user.
7
7
  * Tickets track customer support requests, account recovery, and other issues.
@@ -46,6 +46,11 @@ export declare class UserTicketEntity extends TrackableEntity<Ticket> {
46
46
  * Files or images attached to the ticket
47
47
  */
48
48
  attachments: Asset[];
49
+ /**
50
+ * For tickets of type enterprise plan request.
51
+ * Number of team members the company will have.
52
+ */
53
+ teamMembers: number;
49
54
  /**
50
55
  * ID of the staff member who completed the ticket
51
56
  */
@@ -10,13 +10,13 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.UserTicketEntity = 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 user_entity_1 = require("./user.entity");
14
+ const shared_1 = require("@driveup/shared");
15
+ const typeorm_1 = require("typeorm");
17
16
  const staff_entity_1 = require("../system/staff/staff.entity");
18
- const trackable_1 = require("../utils/trackable");
19
17
  const activity_helper_1 = require("../utils/activity.helper");
18
+ const trackable_1 = require("../utils/trackable");
19
+ const user_entity_1 = require("./user.entity");
20
20
  /**
21
21
  * Represents a support ticket created by or for a user.
22
22
  * Tickets track customer support requests, account recovery, and other issues.
@@ -144,6 +144,13 @@ __decorate([
144
144
  }),
145
145
  __metadata("design:type", Array)
146
146
  ], UserTicketEntity.prototype, "attachments", void 0);
147
+ __decorate([
148
+ (0, typeorm_1.Column)({
149
+ nullable: true,
150
+ default: null
151
+ }),
152
+ __metadata("design:type", Number)
153
+ ], UserTicketEntity.prototype, "teamMembers", void 0);
147
154
  __decorate([
148
155
  (0, typeorm_1.Column)({ nullable: true, default: null }),
149
156
  __metadata("design:type", Number)
@@ -1 +1 @@
1
- {"version":3,"file":"ticket.entity.js","sourceRoot":"","sources":["../../src/user/ticket.entity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ticket.entity.js","sourceRoot":"","sources":["../../src/user/ticket.entity.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,17 @@
1
+ import { Activity, Address, Person, User } from '@driveup/common';
2
+ import { AccountStatus, Language, SelectedProfile } from '@driveup/shared';
1
3
  import { EntityManager } from 'typeorm';
2
- import { AccountStatus, Language, ProfileType, SelectedProfile } from '@driveup/shared';
3
- import { User, Activity, Address, Person } from '@driveup/common';
4
- import { CountryEntity } from '../system/country/country.entity';
4
+ import { AgentEntity } from '../profile/agent/agent.entity';
5
5
  import { CompanyEntity } from '../profile/company/company.entity';
6
- import { InstructorEntity } from '../profile/instructor/instructor.entity';
7
6
  import { CompanyInstructorEntity } from '../profile/company/instructor/instructor.entity';
8
- import { AgentEntity } from '../profile/agent/agent.entity';
7
+ import { InstructorEntity } from '../profile/instructor/instructor.entity';
9
8
  import { StudentEntity } from '../profile/student/student.entity';
10
- import { UserNotificationEntity } from './notification.entity';
9
+ import { CountryEntity } from '../system/country/country.entity';
10
+ import { TrackableEntity } from '../utils/trackable';
11
+ import { UserAlertEntity } from './alert.entity';
11
12
  import { UserDeviceEntity } from './device.entity';
13
+ import { UserNotificationEntity } from './notification.entity';
12
14
  import { UserTicketEntity } from './ticket.entity';
13
- import { UserAlertEntity } from './alert.entity';
14
- import { TrackableEntity } from '../utils/trackable';
15
15
  /**
16
16
  * User entity representing a user in the system.
17
17
  * Extends TrackableEntity to track creation and update information.
@@ -53,10 +53,6 @@ export declare class UserEntity extends TrackableEntity<User> {
53
53
  * Physical address of the user
54
54
  */
55
55
  address: Address;
56
- /**
57
- * The currently active/selected profile (Student, Agent, or Company)
58
- */
59
- selectedProfile: SelectedProfile;
60
56
  /**
61
57
  * Firebase Cloud Messaging tokens associated with the user's devices
62
58
  * Used for sending push notifications to the user's devices
@@ -72,6 +68,13 @@ export declare class UserEntity extends TrackableEntity<User> {
72
68
  * Timezone of the user (default: 'Europe/Zurich')
73
69
  */
74
70
  timezone: string;
71
+ /**
72
+ * The last selected profile (Student, Agent, or Company)
73
+ * The same property is part of user device an is priorized over this one
74
+ * Used to remember which profile the user last used when logging in
75
+ * Update this property only when user explicitly switches profile
76
+ */
77
+ selectedProfile: SelectedProfile;
75
78
  /**
76
79
  * Timestamp of the user's last activity in the system
77
80
  */
@@ -129,118 +132,124 @@ export declare class UserEntity extends TrackableEntity<User> {
129
132
  */
130
133
  toPerson(): Person;
131
134
  /**
132
- * Updates the last activity timestamp of the user to the current date and saves it.
133
- * Used to track when the user was last active in the system.
134
- * @returns The updated user entity
135
- */
136
- updateActivity(): Promise<UserEntity>;
137
- /**
138
- * Check if user last activity is overdated
139
- * @returns
135
+ * Remove suffix from phone number if the account is closed
136
+ * @returns phone number that should be returned to ui
140
137
  */
141
- isActivityOverdated(now: Date): boolean;
138
+ getPhone(): string;
139
+ hasPushNotificationsEnabled(): boolean;
140
+ /**************************** profiles ****************************/
142
141
  /**
143
- * Retrieves the user's student profile if it exists, excluding closed profiles
144
- * @returns The student profile or null if not found
142
+ * Retrieves the user's student profile if it exists
143
+ * User can have only one student profile which can be active or pending
144
+ * @returns The student profile
145
145
  */
146
- getStudentProfile(): Promise<StudentEntity>;
146
+ getStudent(manager?: EntityManager): Promise<StudentEntity>;
147
147
  /**
148
- * Retrieves the user's active student profile
149
- * @returns The active student profile or null if not found
148
+ * Retrieves the user's agent profile if it exists
149
+ * User can have only one agent profile which can be active or pending
150
+ * @returns The agent profile
150
151
  */
151
- getActiveStudentProfile(): Promise<StudentEntity>;
152
+ getAgent(manager?: EntityManager): Promise<AgentEntity>;
152
153
  /**
153
- * Retrieves the user's agent profile if it exists, excluding closed profiles
154
- * @returns The agent profile or null if not found
154
+ * Retrieves the user's instructor profile if it exists
155
+ * User can have only one instructor profile which can be active or pending
156
+ * @returns The agent profile
155
157
  */
156
- getAgentProfile(): Promise<AgentEntity>;
158
+ getInstructor(manager?: EntityManager): Promise<InstructorEntity>;
157
159
  /**
158
- * Retrieves the user's active agent profile
159
- * @returns The active agent profile or null if not found
160
+ * Get user company instructor profile
161
+ * @param company Company entity (required)
162
+ * @param manager EntityManager
163
+ * @returns CompanyInstructorEntity
160
164
  */
161
- getActiveAgentProfile(): Promise<AgentEntity>;
165
+ getCompanyInstructor(company: CompanyEntity, manager?: EntityManager): Promise<CompanyInstructorEntity>;
166
+ getCompanyInstructorById(id?: number, manager?: EntityManager): Promise<CompanyInstructorEntity>;
167
+ /************************* company profile *************************/
168
+ getCompany(companyId: number): Promise<CompanyEntity>;
162
169
  /**
163
170
  * Checks if the user belongs to a specific company.
164
171
  *
165
172
  * @param companyId - The ID of the company to check against.
173
+ * @param status - (Optional) The account status to filter by. Defaults to `AccountStatus.Active`.
166
174
  * @returns A promise that resolves to `true` if the user belongs to the specified company, otherwise `false`.
167
175
  */
168
- belongsToCompany(companyId: number): Promise<boolean>;
169
- /**
170
- * Checks if the user has at least one active profile (student, agent, or instructor)
171
- * @returns True if the user has an active profile, false otherwise
172
- */
173
- hasActiveProfile(manager?: EntityManager): Promise<boolean>;
176
+ belongsToCompany(companyId: number, status?: AccountStatus): Promise<boolean>;
177
+ /************************* profile handlers *************************/
174
178
  /**
175
- * Retrieves the next active profile based on priority (Company > Agent > Student)
176
- * Used when the user removes their currently selected profile
177
- * @returns Object containing profile type and ID, or null if no active profile exists
179
+ * Delete any pending profiles of the account
178
180
  */
179
- getNextProfile(): Promise<{
180
- type: ProfileType;
181
- id: number;
182
- }>;
181
+ deletePendingProfiles(): Promise<void>;
182
+ /***************************** profile *****************************/
183
183
  /**
184
- * Retrieves the entity for the user's currently selected profile
185
- * @returns The selected profile entity (Student, Agent, or CompanyInstructor) or null
184
+ *
185
+ * @param device UserDeviceEntity
186
+ * @returns SelectedProfile
186
187
  */
187
- getSelectedProfile(): Promise<StudentEntity | AgentEntity | CompanyInstructorEntity>;
188
+ getSelectedProfile(device?: UserDeviceEntity): SelectedProfile;
188
189
  /**
189
- * Retrieves the selected student profile if currently selected
190
- * @returns The student entity or null if not selected or not found
190
+ * Reset selected profile for the user
191
+ * @param guid
192
+ * @returns UserEntity
191
193
  */
192
- getSelectedStudent(): Promise<StudentEntity>;
194
+ resetSelectedProfile(guid?: string): Promise<this>;
193
195
  /**
194
- * Retrieves the selected agent profile if currently selected
195
- * @returns The agent entity or null if not selected or not found
196
+ * Select student profile for the user
197
+ * @param student
198
+ * @param guid
199
+ * @returns UserEntity
196
200
  */
197
- getSelectedAgent(): Promise<AgentEntity>;
201
+ selectStudent(student: StudentEntity, guid?: string): Promise<this>;
198
202
  /**
199
- * Retrieves the selected company profile if currently selected
200
- * @returns The company entity or null if not selected or not found
203
+ * Select agent profile for the user
204
+ * @param agent
205
+ * @param guid
206
+ * @returns UserEntity
201
207
  */
202
- getSelectedCompany(): Promise<CompanyEntity>;
208
+ selectAgent(agent: AgentEntity, guid?: string): Promise<this>;
203
209
  /**
204
- * Retrieves the instructor profile for the user in the currently selected company
205
- * @returns The company instructor entity or undefined if no company is selected
210
+ * Select company instructor profile for the user
211
+ * @param instructor
212
+ * @param guid
213
+ * @returns UserEntity
206
214
  */
207
- getSelectedInstructor(): Promise<CompanyInstructorEntity>;
215
+ selectInstructor(instructor: CompanyInstructorEntity, guid?: string): Promise<this>;
208
216
  /**
209
- * Get the instructor profile for the user in the specified company, regardless of the profile status (pending, invited, etc...)
210
- * @param company - The company to get the instructor profile for
211
- * @returns The instructor profile for the user in the specified company
217
+ * Check if user has at least one active profile
218
+ * @param manager EntityManager
219
+ * @returns boolean
212
220
  */
213
- getInstructor(company: CompanyEntity): Promise<CompanyInstructorEntity>;
214
- /**
215
- * Remove suffix from phone number if the account is closed
216
- * @returns phone number that should be returned to ui
217
- */
218
- getPhone(): string;
219
- hasPushNotificationsEnabled(): boolean;
221
+ hasActiveProfile(manager?: EntityManager): Promise<boolean>;
220
222
  /**
221
- * Get the pending company profile for the user
223
+ * Select next active profile for the user
224
+ * @param guid Device guid
225
+ * @returns true if a profile was selected, false otherwise
222
226
  */
223
- getPendingCompany(manager?: EntityManager): Promise<CompanyEntity>;
227
+ selectNextActiveProfile(guid?: string): Promise<boolean>;
224
228
  /**
225
- * Get the pending student profile for the user
226
- * @param manager EntityManager - optional transaction manager to use in a transaction
229
+ * Helper to select profile and update device if guid provided
230
+ * @param profile
231
+ * @param guid
232
+ * @returns UserEntity
227
233
  */
228
- getPendingStudent(manager?: EntityManager): Promise<StudentEntity>;
234
+ private selectProfile;
235
+ /***************************** activities *****************************/
229
236
  /**
230
- * Get the pending agent profile for the user
237
+ * Check if user last activity is overdated
238
+ * @returns
231
239
  */
232
- getPendingAgent(manager?: EntityManager): Promise<AgentEntity>;
240
+ isActivityOverdated(days?: number): boolean;
233
241
  /**
234
- * Delete any pending profiles of the account
242
+ * Updates the last activity timestamp of the user to the current date and saves it.
243
+ * Used to track when the user was last active in the system.
244
+ * @returns The updated user entity
235
245
  */
236
- deletePendingProfiles(): Promise<void>;
246
+ updateActivity(): Promise<UserEntity>;
237
247
  /**
238
248
  * Retrieves all tracked activities for this user (creation and update timestamps)
239
249
  * @returns Array of Activity objects filtered to exclude null values
240
250
  */
241
251
  getActivities(): Promise<Activity[]>;
242
- getProfileName(): string;
243
- getLanguageName(): string;
252
+ /***************************** logs *****************************/
244
253
  /**
245
254
  * Log user event
246
255
  * @param event Event type