@driveup/schema 0.2.7 → 0.3.0

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 (204) hide show
  1. package/lib/catalog/addon/addon.entity.d.ts +2 -2
  2. package/lib/catalog/addon/addon.entity.js +2 -2
  3. package/lib/catalog/addon/addon.entity.js.map +1 -1
  4. package/lib/catalog/addon/country.entity.d.ts +2 -2
  5. package/lib/catalog/addon/country.entity.js +1 -2
  6. package/lib/catalog/addon/country.entity.js.map +1 -1
  7. package/lib/catalog/priceplan/priceplan.entity.d.ts +9 -4
  8. package/lib/catalog/priceplan/priceplan.entity.js +11 -4
  9. package/lib/catalog/priceplan/priceplan.entity.js.map +1 -1
  10. package/lib/catalog/product/country.entity.d.ts +12 -4
  11. package/lib/catalog/product/country.entity.js +19 -3
  12. package/lib/catalog/product/country.entity.js.map +1 -1
  13. package/lib/catalog/product/priceplan.entity.d.ts +6 -18
  14. package/lib/catalog/product/priceplan.entity.js +11 -33
  15. package/lib/catalog/product/priceplan.entity.js.map +1 -1
  16. package/lib/catalog/product/product.entity.d.ts +2 -2
  17. package/lib/catalog/product/product.entity.js +2 -2
  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 +2 -2
  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 +3 -4
  24. package/lib/catalog/seed/assets/asset.entity.js.map +1 -1
  25. package/lib/catalog/seed/courses/course.entity.d.ts +2 -2
  26. package/lib/catalog/seed/courses/course.entity.js +2 -2
  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 +2 -2
  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 +3 -3
  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 +2 -2
  36. package/lib/catalog/seed/expense/category.entity.js.map +1 -1
  37. package/lib/index.d.ts +6 -1
  38. package/lib/index.js +7 -1
  39. package/lib/index.js.map +1 -1
  40. package/lib/profile/agent/agent.entity.d.ts +2 -1
  41. package/lib/profile/agent/agent.entity.js +17 -15
  42. package/lib/profile/agent/agent.entity.js.map +1 -1
  43. package/lib/profile/agent/asset.entity.d.ts +2 -2
  44. package/lib/profile/agent/asset.entity.js +1 -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 +2 -2
  48. package/lib/profile/agent/payout.entity.js.map +1 -1
  49. package/lib/profile/agent/promotion.entity.d.ts +3 -11
  50. package/lib/profile/agent/promotion.entity.js +3 -15
  51. package/lib/profile/agent/promotion.entity.js.map +1 -1
  52. package/lib/profile/company/company.entity.d.ts +43 -3
  53. package/lib/profile/company/company.entity.js +106 -33
  54. package/lib/profile/company/company.entity.js.map +1 -1
  55. package/lib/profile/company/course/appointment.entity.d.ts +271 -0
  56. package/lib/profile/company/course/appointment.entity.js +736 -0
  57. package/lib/profile/company/course/appointment.entity.js.map +1 -0
  58. package/lib/profile/company/course/course.entity.d.ts +8 -2
  59. package/lib/profile/company/course/course.entity.js +11 -4
  60. package/lib/profile/company/course/course.entity.js.map +1 -1
  61. package/lib/profile/company/course/lesson.entity.d.ts +10 -1
  62. package/lib/profile/company/course/lesson.entity.js +16 -2
  63. package/lib/profile/company/course/lesson.entity.js.map +1 -1
  64. package/lib/profile/company/course/schedule.entity.d.ts +8 -4
  65. package/lib/profile/company/course/schedule.entity.js +5 -0
  66. package/lib/profile/company/course/schedule.entity.js.map +1 -1
  67. package/lib/profile/company/course/topic.entity.d.ts +4 -3
  68. package/lib/profile/company/course/topic.entity.js +3 -3
  69. package/lib/profile/company/course/topic.entity.js.map +1 -1
  70. package/lib/profile/company/finances/billing/bill.entity.d.ts +8 -1
  71. package/lib/profile/company/finances/billing/bill.entity.js +35 -1
  72. package/lib/profile/company/finances/billing/bill.entity.js.map +1 -1
  73. package/lib/profile/company/finances/billing/item.entity.d.ts +15 -1
  74. package/lib/profile/company/finances/billing/item.entity.js +17 -1
  75. package/lib/profile/company/finances/billing/item.entity.js.map +1 -1
  76. package/lib/profile/company/finances/billing/transaction.entity.d.ts +5 -3
  77. package/lib/profile/company/finances/billing/transaction.entity.js +2 -2
  78. package/lib/profile/company/finances/billing/transaction.entity.js.map +1 -1
  79. package/lib/profile/company/finances/invoice/invoice.entity.d.ts +2 -2
  80. package/lib/profile/company/finances/invoice/invoice.entity.js +8 -8
  81. package/lib/profile/company/finances/invoice/invoice.entity.js.map +1 -1
  82. package/lib/profile/company/finances/payment/method.entity.d.ts +16 -2
  83. package/lib/profile/company/finances/payment/method.entity.js +18 -2
  84. package/lib/profile/company/finances/payment/method.entity.js.map +1 -1
  85. package/lib/profile/company/instructor/instructor.entity.d.ts +29 -15
  86. package/lib/profile/company/instructor/instructor.entity.js +59 -20
  87. package/lib/profile/company/instructor/instructor.entity.js.map +1 -1
  88. package/lib/profile/company/medical/examination.entity.d.ts +2 -2
  89. package/lib/profile/company/medical/examination.entity.js +1 -1
  90. package/lib/profile/company/medical/examination.entity.js.map +1 -1
  91. package/lib/profile/company/medical/product.entity.d.ts +2 -3
  92. package/lib/profile/company/medical/product.entity.js +8 -9
  93. package/lib/profile/company/medical/product.entity.js.map +1 -1
  94. package/lib/profile/company/product/addon.entity.d.ts +2 -2
  95. package/lib/profile/company/product/addon.entity.js +2 -3
  96. package/lib/profile/company/product/addon.entity.js.map +1 -1
  97. package/lib/profile/company/product/priceplan.entity.d.ts +14 -13
  98. package/lib/profile/company/product/priceplan.entity.js +14 -15
  99. package/lib/profile/company/product/priceplan.entity.js.map +1 -1
  100. package/lib/profile/company/product/product.entity.d.ts +29 -4
  101. package/lib/profile/company/product/product.entity.js +54 -6
  102. package/lib/profile/company/product/product.entity.js.map +1 -1
  103. package/lib/profile/instructor/instructor.entity.d.ts +2 -2
  104. package/lib/profile/instructor/instructor.entity.js +4 -3
  105. package/lib/profile/instructor/instructor.entity.js.map +1 -1
  106. package/lib/profile/student/program/licence/licence.entity.d.ts +10 -2
  107. package/lib/profile/student/program/licence/licence.entity.js +14 -3
  108. package/lib/profile/student/program/licence/licence.entity.js.map +1 -1
  109. package/lib/profile/student/program/medical/certificate.entity.d.ts +2 -2
  110. package/lib/profile/student/program/medical/certificate.entity.js +2 -2
  111. package/lib/profile/student/program/medical/certificate.entity.js.map +1 -1
  112. package/lib/profile/student/program/medical/examination.entity.d.ts +2 -2
  113. package/lib/profile/student/program/medical/examination.entity.js +4 -4
  114. package/lib/profile/student/program/medical/examination.entity.js.map +1 -1
  115. package/lib/profile/student/program/program.entity.d.ts +4 -4
  116. package/lib/profile/student/program/program.entity.js +5 -10
  117. package/lib/profile/student/program/program.entity.js.map +1 -1
  118. package/lib/profile/student/program/training/appointment.entity.d.ts +21 -13
  119. package/lib/profile/student/program/training/appointment.entity.js +49 -23
  120. package/lib/profile/student/program/training/appointment.entity.js.map +1 -1
  121. package/lib/profile/student/program/training/exam.entity.d.ts +6 -1
  122. package/lib/profile/student/program/training/exam.entity.js +16 -8
  123. package/lib/profile/student/program/training/exam.entity.js.map +1 -1
  124. package/lib/profile/student/program/training/lesson.entity.d.ts +3 -3
  125. package/lib/profile/student/program/training/lesson.entity.js +4 -4
  126. package/lib/profile/student/program/training/lesson.entity.js.map +1 -1
  127. package/lib/profile/student/program/training/topic.entity.d.ts +6 -5
  128. package/lib/profile/student/program/training/topic.entity.js +9 -6
  129. package/lib/profile/student/program/training/topic.entity.js.map +1 -1
  130. package/lib/profile/student/program/training/training-balance.view.d.ts +4 -0
  131. package/lib/profile/student/program/training/training-balance.view.js +37 -0
  132. package/lib/profile/student/program/training/training-balance.view.js.map +1 -0
  133. package/lib/profile/student/program/training/training-cost.view.d.ts +4 -0
  134. package/lib/profile/student/program/training/training-cost.view.js +45 -0
  135. package/lib/profile/student/program/training/training-cost.view.js.map +1 -0
  136. package/lib/profile/student/program/training/training-sessions.view.d.ts +8 -0
  137. package/lib/profile/student/program/training/training-sessions.view.js +50 -0
  138. package/lib/profile/student/program/training/training-sessions.view.js.map +1 -0
  139. package/lib/profile/student/program/training/training.entity.d.ts +4 -1
  140. package/lib/profile/student/program/training/training.entity.js +43 -36
  141. package/lib/profile/student/program/training/training.entity.js.map +1 -1
  142. package/lib/profile/student/program/training/transaction.entity.d.ts +2 -2
  143. package/lib/profile/student/program/training/transaction.entity.js +3 -3
  144. package/lib/profile/student/program/training/transaction.entity.js.map +1 -1
  145. package/lib/profile/student/student.entity.d.ts +2 -2
  146. package/lib/profile/student/student.entity.js +5 -4
  147. package/lib/profile/student/student.entity.js.map +1 -1
  148. package/lib/public/faq.d.ts +25 -0
  149. package/lib/public/faq.js +60 -0
  150. package/lib/public/faq.js.map +1 -0
  151. package/lib/public/feature-item.d.ts +54 -0
  152. package/lib/public/feature-item.js +78 -0
  153. package/lib/public/feature-item.js.map +1 -0
  154. package/lib/public/feature.d.ts +46 -0
  155. package/lib/public/feature.js +76 -0
  156. package/lib/public/feature.js.map +1 -0
  157. package/lib/public/learning-hub.d.ts +30 -0
  158. package/lib/public/learning-hub.js +77 -0
  159. package/lib/public/learning-hub.js.map +1 -0
  160. package/lib/public/testimonial.d.ts +40 -0
  161. package/lib/public/testimonial.js +85 -0
  162. package/lib/public/testimonial.js.map +1 -0
  163. package/lib/system/campaign/campaign.entity.d.ts +3 -3
  164. package/lib/system/campaign/campaign.entity.js +4 -4
  165. package/lib/system/campaign/campaign.entity.js.map +1 -1
  166. package/lib/system/campaign/gifcode.entity.d.ts +2 -2
  167. package/lib/system/campaign/gifcode.entity.js +3 -3
  168. package/lib/system/campaign/gifcode.entity.js.map +1 -1
  169. package/lib/system/country/country.entity.d.ts +7 -5
  170. package/lib/system/country/country.entity.js +11 -6
  171. package/lib/system/country/country.entity.js.map +1 -1
  172. package/lib/system/driving/category.entity.d.ts +2 -2
  173. package/lib/system/driving/category.entity.js +2 -2
  174. package/lib/system/driving/category.entity.js.map +1 -1
  175. package/lib/system/ical/ical.entity.d.ts +63 -0
  176. package/lib/system/ical/ical.entity.js +70 -0
  177. package/lib/system/ical/ical.entity.js.map +1 -0
  178. package/lib/system/policy/policy.entity.d.ts +2 -2
  179. package/lib/system/policy/policy.entity.js +3 -3
  180. package/lib/system/policy/policy.entity.js.map +1 -1
  181. package/lib/system/staff/staff.entity.d.ts +2 -2
  182. package/lib/system/staff/staff.entity.js +3 -2
  183. package/lib/system/staff/staff.entity.js.map +1 -1
  184. package/lib/tsconfig.tsbuildinfo +1 -1
  185. package/lib/user/alert.entity.d.ts +2 -2
  186. package/lib/user/alert.entity.js.map +1 -1
  187. package/lib/user/device.entity.d.ts +2 -2
  188. package/lib/user/device.entity.js +3 -3
  189. package/lib/user/device.entity.js.map +1 -1
  190. package/lib/user/notification.entity.d.ts +2 -2
  191. package/lib/user/notification.entity.js +4 -4
  192. package/lib/user/notification.entity.js.map +1 -1
  193. package/lib/user/ticket.entity.d.ts +2 -2
  194. package/lib/user/ticket.entity.js +6 -4
  195. package/lib/user/ticket.entity.js.map +1 -1
  196. package/lib/user/user.entity.d.ts +14 -11
  197. package/lib/user/user.entity.js +20 -16
  198. package/lib/user/user.entity.js.map +1 -1
  199. package/lib/utils/activity.helper.d.ts +2 -2
  200. package/lib/utils/activity.helper.js.map +1 -1
  201. package/lib/utils/trackable.d.ts +12 -1
  202. package/lib/utils/trackable.js +55 -0
  203. package/lib/utils/trackable.js.map +1 -1
  204. package/package.json +3 -3
@@ -1,6 +1,7 @@
1
- import { Activity, Address, Company, Holiday, Period, WorkingHours } from '@driveup/common';
2
- import { BankAccount, Customer, Link, Preference, Tax } from '@driveup/common';
1
+ import { Activity, Company } from '@driveup/common';
2
+ import { Address, BankAccount, Holiday, Link, Period, Person, Preference, Tax, WorkingHours } from '@driveup/shared';
3
3
  import { AccountStatus, AddonType, Language, PreferenceScope } from '@driveup/shared';
4
+ import { EntityManager } from 'typeorm';
4
5
  import { CountryEntity } from '../../system/country/country.entity';
5
6
  import { TrackableEntity } from '../../utils/trackable';
6
7
  import { AgentPromotionEntity } from '../agent/promotion.entity';
@@ -106,6 +107,16 @@ export declare class CompanyEntity extends TrackableEntity<Company> {
106
107
  * Can be used by payments if company product credit is not enough
107
108
  */
108
109
  credit: number;
110
+ /**
111
+ * Temprary field
112
+ * Company balance
113
+ */
114
+ balance: number;
115
+ /**
116
+ * Temprary field
117
+ * Number of free benefits (free trainings) the company has
118
+ */
119
+ freeBenefits: number;
109
120
  /**
110
121
  * Tax configuration for invoicing
111
122
  */
@@ -201,7 +212,7 @@ export declare class CompanyEntity extends TrackableEntity<Company> {
201
212
  * Converts the entity to a Customer model for invoicing purposes
202
213
  * @returns Customer model with company information
203
214
  */
204
- toCustomer(): Customer;
215
+ toCustomer(): Person;
205
216
  /**
206
217
  * Retrieves the owner of this company
207
218
  * @returns Promise resolving to the CompanyInstructorEntity with Owner role
@@ -271,4 +282,33 @@ export declare class CompanyEntity extends TrackableEntity<Company> {
271
282
  getPreferences(): Preference<boolean>[];
272
283
  setPreference(name: string, value: any, scope: PreferenceScope): Promise<Preference<boolean>[]>;
273
284
  removePreference(name: string): Promise<Preference<boolean>[]>;
285
+ /**
286
+ * Get the one company bill with the status "open"
287
+ */
288
+ getCurrentBill(manager?: EntityManager): Promise<CompanyBillEntity>;
289
+ /**
290
+ * Checks if there are any company bills with the status "unpaid"
291
+ */
292
+ hasUnpaidBills(): Promise<boolean>;
293
+ /**
294
+ * Gets all unpaid bills of the company, INCLUDING current month's bill
295
+ * @returns CompanyBillEntity[] - All bills that are active, or have not been paid yet (both current month's bill and bill for which the payment has failed)
296
+ */
297
+ getUnpaidBills(): Promise<CompanyBillEntity[]>;
298
+ /**
299
+ * Gets the total amount of unpaid bills subTotalPrice (sum of all unpaid bills' subTotalPrice)
300
+ * @param manager EntityManager - Used with transactions to ensure data integrity
301
+ * @returns number - Total amount of unpaid bills
302
+ */
303
+ getTotalUnpaidAmount(manager?: EntityManager): Promise<number>;
304
+ /**
305
+ * * Remaining company credit calculation steps
306
+ * 1. Get all unpaid bills (bills which are active or unpaid)
307
+ * 2. If there are no unpaid bills (which is frankly impossible), remainingCredit = company.credit
308
+ * 3. Sum the subtotal prices of all unpaid bills to get totalUnpaidAmount
309
+ * 4. If company credit is less than totalUnpaidAmount, remainingCredit is 0
310
+ * 5. Otherwise, remainingCredit = company.credit - totalUnpaidAmount
311
+ * @returns number - Remaining company credit
312
+ */
313
+ getRemainingCredit(manager?: EntityManager): Promise<number>;
274
314
  }
@@ -12,8 +12,8 @@ var CompanyEntity_1;
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  exports.CompanyEntity = void 0;
14
14
  const common_1 = require("@driveup/common");
15
- const common_2 = require("@driveup/common");
16
15
  const shared_1 = require("@driveup/shared");
16
+ const shared_2 = require("@driveup/shared");
17
17
  const luxon_1 = require("luxon");
18
18
  const typeorm_1 = require("typeorm");
19
19
  const country_entity_1 = require("../../system/country/country.entity");
@@ -86,17 +86,17 @@ let CompanyEntity = CompanyEntity_1 = class CompanyEntity extends trackable_1.Tr
86
86
  */
87
87
  toModelWithDetails() {
88
88
  const company = this.toModel();
89
- company.address = common_1.Address.toInstance(this.address);
90
- company.bankAccount = common_2.BankAccount.toInstance(this.bankAccount);
91
- company.tax = common_2.Tax.toInstance(this.tax);
89
+ company.address = shared_1.Address.toInstance(this.address);
90
+ company.bankAccount = shared_1.BankAccount.toInstance(this.bankAccount);
91
+ company.tax = shared_1.Tax.toInstance(this.tax);
92
92
  company.email = this.email;
93
93
  company.homepage = this.homepage;
94
94
  company.rating = this.rating;
95
95
  company.links = this.links;
96
- company.workingHours = this.workingHours?.map(common_1.WorkingHours.toInstance);
97
- company.holidays = this.holidays?.map(common_1.Holiday.toInstance);
98
- company.locations = this.locations?.map(common_1.Address.toInstance);
99
- company.preferences = this.preferences?.map(common_2.Preference.toInstance);
96
+ company.workingHours = this.workingHours?.map(shared_1.WorkingHours.toInstance);
97
+ company.holidays = this.holidays?.map(shared_1.Holiday.toInstance);
98
+ company.locations = this.locations?.map(shared_1.Address.toInstance);
99
+ company.preferences = this.preferences?.map(shared_1.Preference.toInstance);
100
100
  return company;
101
101
  }
102
102
  /**
@@ -104,11 +104,11 @@ let CompanyEntity = CompanyEntity_1 = class CompanyEntity extends trackable_1.Tr
104
104
  * @returns Customer model with company information
105
105
  */
106
106
  toCustomer() {
107
- return new common_2.Customer({
107
+ return new shared_1.Person({
108
108
  id: this.id,
109
109
  name: this.name,
110
110
  imageUrl: this.logoUrl,
111
- address: common_1.Address.toInstance(this.address),
111
+ address: shared_1.Address.toInstance(this.address),
112
112
  phone: this.phone,
113
113
  email: this.email,
114
114
  });
@@ -120,7 +120,7 @@ let CompanyEntity = CompanyEntity_1 = class CompanyEntity extends trackable_1.Tr
120
120
  async getOwner() {
121
121
  return await instructor_entity_1.CompanyInstructorEntity.findOneBy({
122
122
  companyId: this.id,
123
- role: shared_1.Role.Owner
123
+ role: shared_2.Role.Owner
124
124
  });
125
125
  }
126
126
  /**
@@ -130,7 +130,7 @@ let CompanyEntity = CompanyEntity_1 = class CompanyEntity extends trackable_1.Tr
130
130
  */
131
131
  async getInstructors(active = true) {
132
132
  const instructors = (await this.instructors) || [];
133
- return active ? instructors.filter(i => i.status === shared_1.AccountStatus.Active) : instructors;
133
+ return active ? instructors.filter(i => i.status === shared_2.AccountStatus.Active) : instructors;
134
134
  }
135
135
  /**
136
136
  * Retrieves all managers (owners and managers) associated with this company
@@ -139,7 +139,7 @@ let CompanyEntity = CompanyEntity_1 = class CompanyEntity extends trackable_1.Tr
139
139
  */
140
140
  async getManagers(active = true) {
141
141
  const instructors = await this.getInstructors(active);
142
- const managerRoles = [shared_1.Role.Owner, shared_1.Role.Manager];
142
+ const managerRoles = [shared_2.Role.Owner, shared_2.Role.Manager];
143
143
  return instructors?.filter(i => managerRoles.includes(i.role));
144
144
  }
145
145
  /**
@@ -159,7 +159,7 @@ let CompanyEntity = CompanyEntity_1 = class CompanyEntity extends trackable_1.Tr
159
159
  async getAgentEarning() {
160
160
  return await bill_entity_1.CompanyBillEntity.sum('agentProfit', {
161
161
  companyId: this.id,
162
- status: shared_1.BillStatus.Paid
162
+ status: shared_2.BillStatus.Paid
163
163
  });
164
164
  }
165
165
  /**
@@ -204,8 +204,8 @@ let CompanyEntity = CompanyEntity_1 = class CompanyEntity extends trackable_1.Tr
204
204
  return await transaction_entity_1.CompanyBillTransactionEntity.createQueryBuilder('ct') // company transaction
205
205
  .innerJoin('ct.bill', 'cb') // company bill
206
206
  .where('cb.companyId = :companyId', { companyId: this.id })
207
- .andWhere('cb.status = :unpaidStatus', { unpaidStatus: shared_1.BillStatus.Unpaid })
208
- .andWhere('ct.status = :failedStatus', { failedStatus: shared_1.StatusType.Failed })
207
+ .andWhere('cb.status = :unpaidStatus', { unpaidStatus: shared_2.BillStatus.Unpaid })
208
+ .andWhere('ct.status = :failedStatus', { failedStatus: shared_2.StatusType.Failed })
209
209
  .getExists();
210
210
  }
211
211
  getHolidays(period) {
@@ -228,7 +228,7 @@ let CompanyEntity = CompanyEntity_1 = class CompanyEntity extends trackable_1.Tr
228
228
  collidesWithHolidays(period) {
229
229
  if (!this.holidays?.length)
230
230
  return false;
231
- return this.holidays.some(i => period.collidesWith(new common_1.Period({
231
+ return this.holidays.some(i => period.collidesWith(new shared_1.Period({
232
232
  startDate: new Date(i.period.startDate),
233
233
  endDate: new Date(i.period.endDate)
234
234
  })));
@@ -258,7 +258,7 @@ let CompanyEntity = CompanyEntity_1 = class CompanyEntity extends trackable_1.Tr
258
258
  day: currentDay.day
259
259
  });
260
260
  if (lastEnd < workingStart) {
261
- const nonWorking = new common_1.Period({
261
+ const nonWorking = new shared_1.Period({
262
262
  startDate: lastEnd.toJSDate(),
263
263
  endDate: workingStart.toJSDate()
264
264
  });
@@ -269,7 +269,7 @@ let CompanyEntity = CompanyEntity_1 = class CompanyEntity extends trackable_1.Tr
269
269
  currentDay = currentDay.plus({ days: 1 }).startOf('day');
270
270
  }
271
271
  if (lastEnd < periodEnd) {
272
- const nonWorking = new common_1.Period({
272
+ const nonWorking = new shared_1.Period({
273
273
  startDate: lastEnd.toJSDate(),
274
274
  endDate: periodEnd.toJSDate()
275
275
  });
@@ -283,9 +283,9 @@ let CompanyEntity = CompanyEntity_1 = class CompanyEntity extends trackable_1.Tr
283
283
  */
284
284
  async getActivities() {
285
285
  const activities = [];
286
- activities.push(await (0, activity_helper_1.toActivity)(this.createdBy, this.createdOn, shared_1.ActivityType.created));
287
- activities.push(await (0, activity_helper_1.toActivity)(this.updatedBy, this.updatedOn, shared_1.ActivityType.updated));
288
- activities.push(await (0, activity_helper_1.toActivity)(this.closedBy, this.closedOn, shared_1.ActivityType.updated));
286
+ activities.push(await (0, activity_helper_1.toActivity)(this.createdBy, this.createdOn, shared_2.ActivityType.created));
287
+ activities.push(await (0, activity_helper_1.toActivity)(this.updatedBy, this.updatedOn, shared_2.ActivityType.updated));
288
+ activities.push(await (0, activity_helper_1.toActivity)(this.closedBy, this.closedOn, shared_2.ActivityType.updated));
289
289
  return activities.filter(a => a);
290
290
  }
291
291
  /**
@@ -295,8 +295,8 @@ let CompanyEntity = CompanyEntity_1 = class CompanyEntity extends trackable_1.Tr
295
295
  */
296
296
  async log(event, metadata) {
297
297
  await log_entity_1.LogEntity.from({
298
- type: shared_1.LogType.Company,
299
- profile: shared_1.ProfileType.Company,
298
+ type: shared_2.LogType.Company,
299
+ profile: shared_2.ProfileType.Company,
300
300
  event: event,
301
301
  entityId: this.id,
302
302
  content: log_entity_1.LogEntity.toCompanyContent(event, this.language, metadata)
@@ -309,12 +309,12 @@ let CompanyEntity = CompanyEntity_1 = class CompanyEntity extends trackable_1.Tr
309
309
  getPreferences() {
310
310
  if (!this.preferences)
311
311
  return;
312
- return this.preferences.map(common_2.Preference.toInstance);
312
+ return this.preferences.map(shared_1.Preference.toInstance);
313
313
  }
314
314
  async setPreference(name, value, scope) {
315
315
  this.preferences = this.preferences || [];
316
316
  this.preferences = this.preferences.filter(p => p.name !== name);
317
- this.preferences.push(new common_2.Preference({
317
+ this.preferences.push(new shared_1.Preference({
318
318
  scope: scope,
319
319
  name: name,
320
320
  value: value
@@ -328,6 +328,65 @@ let CompanyEntity = CompanyEntity_1 = class CompanyEntity extends trackable_1.Tr
328
328
  await CompanyEntity_1.save(this);
329
329
  return this.preferences;
330
330
  }
331
+ /**
332
+ * Get the one company bill with the status "open"
333
+ */
334
+ async getCurrentBill(manager) {
335
+ const repoManager = manager ?? bill_entity_1.CompanyBillEntity.getRepository().manager;
336
+ return repoManager.findOne(bill_entity_1.CompanyBillEntity, {
337
+ where: {
338
+ status: shared_2.BillStatus.Open,
339
+ companyId: this.id
340
+ }
341
+ });
342
+ }
343
+ /**
344
+ * Checks if there are any company bills with the status "unpaid"
345
+ */
346
+ async hasUnpaidBills() {
347
+ return bill_entity_1.CompanyBillEntity.existsBy({
348
+ status: shared_2.BillStatus.Unpaid,
349
+ companyId: this.id
350
+ });
351
+ }
352
+ /**
353
+ * Gets all unpaid bills of the company, INCLUDING current month's bill
354
+ * @returns CompanyBillEntity[] - All bills that are active, or have not been paid yet (both current month's bill and bill for which the payment has failed)
355
+ */
356
+ async getUnpaidBills() {
357
+ return await bill_entity_1.CompanyBillEntity.findBy({
358
+ companyId: this.id,
359
+ status: (0, typeorm_1.Not)(shared_2.BillStatus.Paid)
360
+ });
361
+ }
362
+ /**
363
+ * Gets the total amount of unpaid bills subTotalPrice (sum of all unpaid bills' subTotalPrice)
364
+ * @param manager EntityManager - Used with transactions to ensure data integrity
365
+ * @returns number - Total amount of unpaid bills
366
+ */
367
+ async getTotalUnpaidAmount(manager) {
368
+ const billManager = manager ?? bill_entity_1.CompanyBillEntity.getRepository().manager;
369
+ return await billManager.sum(bill_entity_1.CompanyBillEntity, 'subtotalPrice', {
370
+ companyId: this.id,
371
+ status: (0, typeorm_1.Not)(shared_2.BillStatus.Paid)
372
+ });
373
+ }
374
+ /**
375
+ * * Remaining company credit calculation steps
376
+ * 1. Get all unpaid bills (bills which are active or unpaid)
377
+ * 2. If there are no unpaid bills (which is frankly impossible), remainingCredit = company.credit
378
+ * 3. Sum the subtotal prices of all unpaid bills to get totalUnpaidAmount
379
+ * 4. If company credit is less than totalUnpaidAmount, remainingCredit is 0
380
+ * 5. Otherwise, remainingCredit = company.credit - totalUnpaidAmount
381
+ * @returns number - Remaining company credit
382
+ */
383
+ async getRemainingCredit(manager) {
384
+ const totalUnpaidAmount = await this.getTotalUnpaidAmount(manager);
385
+ if (this.credit < totalUnpaidAmount) {
386
+ return 0;
387
+ }
388
+ return Number(this.credit) - Number(totalUnpaidAmount);
389
+ }
331
390
  };
332
391
  exports.CompanyEntity = CompanyEntity;
333
392
  __decorate([
@@ -342,8 +401,8 @@ __decorate([
342
401
  __decorate([
343
402
  (0, typeorm_1.Column)({
344
403
  type: 'enum',
345
- enum: shared_1.AccountStatus,
346
- default: shared_1.AccountStatus.Pending,
404
+ enum: shared_2.AccountStatus,
405
+ default: shared_2.AccountStatus.Pending,
347
406
  nullable: false
348
407
  }),
349
408
  __metadata("design:type", String)
@@ -365,8 +424,8 @@ __decorate([
365
424
  __decorate([
366
425
  (0, typeorm_1.Column)({
367
426
  type: 'enum',
368
- enum: shared_1.Language,
369
- default: shared_1.Language.De,
427
+ enum: shared_2.Language,
428
+ default: shared_2.Language.De,
370
429
  nullable: true
371
430
  }),
372
431
  __metadata("design:type", String)
@@ -398,7 +457,7 @@ __decorate([
398
457
  nullable: true,
399
458
  default: null
400
459
  }),
401
- __metadata("design:type", common_1.Address)
460
+ __metadata("design:type", shared_1.Address)
402
461
  ], CompanyEntity.prototype, "address", void 0);
403
462
  __decorate([
404
463
  (0, typeorm_1.Column)({
@@ -406,7 +465,7 @@ __decorate([
406
465
  nullable: true,
407
466
  default: null
408
467
  }),
409
- __metadata("design:type", common_2.BankAccount)
468
+ __metadata("design:type", shared_1.BankAccount)
410
469
  ], CompanyEntity.prototype, "bankAccount", void 0);
411
470
  __decorate([
412
471
  (0, typeorm_1.Column)({
@@ -471,13 +530,27 @@ __decorate([
471
530
  }),
472
531
  __metadata("design:type", Number)
473
532
  ], CompanyEntity.prototype, "credit", void 0);
533
+ __decorate([
534
+ (0, typeorm_1.Column)({
535
+ type: 'decimal',
536
+ precision: 10,
537
+ scale: 2,
538
+ nullable: false,
539
+ default: 0
540
+ }),
541
+ __metadata("design:type", Number)
542
+ ], CompanyEntity.prototype, "balance", void 0);
543
+ __decorate([
544
+ (0, typeorm_1.Column)({}),
545
+ __metadata("design:type", Number)
546
+ ], CompanyEntity.prototype, "freeBenefits", void 0);
474
547
  __decorate([
475
548
  (0, typeorm_1.Column)({
476
549
  type: 'simple-json',
477
550
  nullable: true,
478
551
  default: null
479
552
  }),
480
- __metadata("design:type", common_2.Tax)
553
+ __metadata("design:type", shared_1.Tax)
481
554
  ], CompanyEntity.prototype, "tax", void 0);
482
555
  __decorate([
483
556
  (0, typeorm_1.Column)({
@@ -1 +1 @@
1
- {"version":3,"file":"company.entity.js","sourceRoot":"","sources":["../../../src/profile/company/company.entity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"company.entity.js","sourceRoot":"","sources":["../../../src/profile/company/company.entity.ts"],"names":[],"mappings":"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"}