taxtank-core 0.11.0 → 0.12.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 (124) hide show
  1. package/bundles/taxtank-core.umd.js +2742 -2773
  2. package/bundles/taxtank-core.umd.js.map +1 -1
  3. package/esm2015/lib/collections/collection.js +4 -1
  4. package/esm2015/lib/collections/depreciation.collection.js +24 -10
  5. package/esm2015/lib/collections/transaction.collection.js +28 -1
  6. package/esm2015/lib/collections/vehicle-logbook.collection.js +88 -0
  7. package/esm2015/lib/collections/vehicle.collection.js +9 -0
  8. package/esm2015/lib/db/Enums/chart-accounts-heading-vehicle-list.enum.js +3 -1
  9. package/esm2015/lib/db/Enums/chart-accounts-list.enum.js +4 -3
  10. package/esm2015/lib/db/Models/vehicle-claim.js +1 -1
  11. package/esm2015/lib/db/Models/vehicle.js +1 -1
  12. package/esm2015/lib/forms/index.js +3 -1
  13. package/esm2015/lib/forms/vehicle/vehicle-claim.form.js +114 -0
  14. package/esm2015/lib/forms/vehicle/vehicle.form.js +20 -0
  15. package/esm2015/lib/interfaces/event-listener.interface.js +1 -1
  16. package/esm2015/lib/interfaces/expense.interface.js +2 -0
  17. package/esm2015/lib/interfaces/tank.interface.js +1 -1
  18. package/esm2015/lib/models/chart-accounts/chart-accounts-value.js +4 -0
  19. package/esm2015/lib/models/chart-accounts/chart-accounts.js +34 -1
  20. package/esm2015/lib/models/depreciation/depreciation.js +5 -1
  21. package/esm2015/lib/models/event/app-event-type.enum.js +4 -1
  22. package/esm2015/lib/models/logbook/logbook-period.js +8 -1
  23. package/esm2015/lib/models/logbook/vehicle-claim.js +63 -4
  24. package/esm2015/lib/models/logbook/vehicle-logbook.js +9 -3
  25. package/esm2015/lib/models/logbook/vehicle.js +7 -29
  26. package/esm2015/lib/models/transaction/transaction.js +1 -1
  27. package/esm2015/lib/services/account-setup/account-setup.service.js +7 -22
  28. package/esm2015/lib/services/http/bank/bank-account/bank-account.service.js +6 -15
  29. package/esm2015/lib/services/http/bank/bank-connection/bank-connection.service.js +6 -15
  30. package/esm2015/lib/services/http/bank/bank-transaction/bank-transaction.service.js +6 -15
  31. package/esm2015/lib/services/http/bank/basiq/basiq.service.js +6 -15
  32. package/esm2015/lib/services/http/chart-accounts/chart-accounts.service.js +1 -1
  33. package/esm2015/lib/services/http/chat/chat.service.js +8 -12
  34. package/esm2015/lib/services/http/chat/message/message.service.js +8 -12
  35. package/esm2015/lib/services/http/chat/message-document/message-document.service.js +1 -1
  36. package/esm2015/lib/services/http/depreciation/depreciation.service.js +6 -23
  37. package/esm2015/lib/services/http/document/document-folder/document-folder.service.js +6 -14
  38. package/esm2015/lib/services/http/firm/client-movement/client-movement.service.js +6 -15
  39. package/esm2015/lib/services/http/income-source/income-source-forecast/income-source-forecast.service.js +6 -15
  40. package/esm2015/lib/services/http/income-source/income-source.service.js +6 -14
  41. package/esm2015/lib/services/http/income-source/salary-forecast/salary-forecast.service.js +6 -15
  42. package/esm2015/lib/services/http/income-source/sole-forecast/sole-forecast.service.js +6 -15
  43. package/esm2015/lib/services/http/loan/loan.service.js +6 -15
  44. package/esm2015/lib/services/http/property/property-document/property-document.service.js +6 -15
  45. package/esm2015/lib/services/http/property/property-share/property-share.service.js +6 -15
  46. package/esm2015/lib/services/http/property/property.service.js +6 -15
  47. package/esm2015/lib/services/http/rest/rest.service.js +31 -4
  48. package/esm2015/lib/services/http/service-notification/service-notification.service.js +8 -12
  49. package/esm2015/lib/services/http/subscription/subscription.service.js +1 -4
  50. package/esm2015/lib/services/http/tax-review/tax-review-history/tax-review-history.service.js +15 -16
  51. package/esm2015/lib/services/http/tax-review/tax-review.service.js +6 -15
  52. package/esm2015/lib/services/http/tax-summary/tax-summary.service.js +1 -1
  53. package/esm2015/lib/services/http/transaction/transaction-allocation/transaction-allocation.service.js +6 -15
  54. package/esm2015/lib/services/http/transaction/transaction.service.js +6 -25
  55. package/esm2015/lib/services/http/user/user-event-setting/user-event-setting.service.js +6 -14
  56. package/esm2015/lib/services/http/user/user-event-type/user-event-type.service.js +6 -14
  57. package/esm2015/lib/services/http/vehicle/messages.enum.js +13 -0
  58. package/esm2015/lib/services/http/vehicle/vehicle-claim.service.js +24 -0
  59. package/esm2015/lib/services/http/vehicle/vehicle-logbook.service.js +59 -0
  60. package/esm2015/lib/services/http/vehicle/vehicle.service.js +49 -213
  61. package/esm2015/public-api.js +7 -2
  62. package/fesm2015/taxtank-core.js +2481 -2458
  63. package/fesm2015/taxtank-core.js.map +1 -1
  64. package/lib/collections/collection.d.ts +1 -0
  65. package/lib/collections/depreciation.collection.d.ts +5 -4
  66. package/lib/collections/transaction.collection.d.ts +9 -0
  67. package/lib/collections/vehicle-logbook.collection.d.ts +30 -0
  68. package/lib/collections/vehicle.collection.d.ts +6 -0
  69. package/lib/db/Enums/chart-accounts-heading-vehicle-list.enum.d.ts +3 -1
  70. package/lib/db/Enums/chart-accounts-list.enum.d.ts +4 -3
  71. package/lib/db/Models/vehicle-claim.d.ts +2 -0
  72. package/lib/db/Models/vehicle.d.ts +2 -0
  73. package/lib/forms/index.d.ts +2 -0
  74. package/lib/forms/vehicle/vehicle-claim.form.d.ts +43 -0
  75. package/lib/forms/vehicle/vehicle.form.d.ts +11 -0
  76. package/lib/interfaces/event-listener.interface.d.ts +1 -0
  77. package/lib/interfaces/expense.interface.d.ts +12 -0
  78. package/lib/interfaces/tank.interface.d.ts +2 -0
  79. package/lib/models/chart-accounts/chart-accounts-value.d.ts +3 -0
  80. package/lib/models/chart-accounts/chart-accounts.d.ts +18 -0
  81. package/lib/models/depreciation/depreciation.d.ts +6 -2
  82. package/lib/models/event/app-event-type.enum.d.ts +4 -1
  83. package/lib/models/logbook/logbook-period.d.ts +4 -0
  84. package/lib/models/logbook/vehicle-claim.d.ts +20 -3
  85. package/lib/models/logbook/vehicle-logbook.d.ts +8 -2
  86. package/lib/models/logbook/vehicle.d.ts +5 -7
  87. package/lib/models/transaction/transaction.d.ts +2 -2
  88. package/lib/services/account-setup/account-setup.service.d.ts +3 -7
  89. package/lib/services/http/bank/bank-account/bank-account.service.d.ts +2 -7
  90. package/lib/services/http/bank/bank-connection/bank-connection.service.d.ts +2 -7
  91. package/lib/services/http/bank/bank-transaction/bank-transaction.service.d.ts +3 -8
  92. package/lib/services/http/bank/basiq/basiq.service.d.ts +2 -7
  93. package/lib/services/http/chat/chat.service.d.ts +4 -7
  94. package/lib/services/http/chat/message/message.service.d.ts +4 -7
  95. package/lib/services/http/chat/message-document/message-document.service.d.ts +3 -3
  96. package/lib/services/http/depreciation/depreciation.service.d.ts +2 -11
  97. package/lib/services/http/document/document-folder/document-folder.service.d.ts +0 -6
  98. package/lib/services/http/firm/client-movement/client-movement.service.d.ts +2 -7
  99. package/lib/services/http/income-source/income-source-forecast/income-source-forecast.service.d.ts +2 -7
  100. package/lib/services/http/income-source/income-source.service.d.ts +0 -6
  101. package/lib/services/http/income-source/salary-forecast/salary-forecast.service.d.ts +1 -7
  102. package/lib/services/http/income-source/sole-forecast/sole-forecast.service.d.ts +2 -7
  103. package/lib/services/http/loan/loan.service.d.ts +2 -7
  104. package/lib/services/http/property/property-document/property-document.service.d.ts +3 -8
  105. package/lib/services/http/property/property-share/property-share.service.d.ts +2 -7
  106. package/lib/services/http/property/property.service.d.ts +2 -7
  107. package/lib/services/http/rest/rest.service.d.ts +17 -2
  108. package/lib/services/http/service-notification/service-notification.service.d.ts +4 -7
  109. package/lib/services/http/subscription/subscription.service.d.ts +0 -1
  110. package/lib/services/http/tax-review/tax-review-history/tax-review-history.service.d.ts +7 -7
  111. package/lib/services/http/tax-review/tax-review.service.d.ts +1 -7
  112. package/lib/services/http/tax-summary/tax-summary.service.d.ts +2 -1
  113. package/lib/services/http/transaction/transaction-allocation/transaction-allocation.service.d.ts +3 -8
  114. package/lib/services/http/transaction/transaction.service.d.ts +0 -12
  115. package/lib/services/http/user/user-event-setting/user-event-setting.service.d.ts +0 -6
  116. package/lib/services/http/user/user-event-type/user-event-type.service.d.ts +0 -6
  117. package/lib/services/http/vehicle/messages.enum.d.ts +11 -0
  118. package/lib/services/http/vehicle/vehicle-claim.service.d.ts +13 -0
  119. package/lib/services/http/vehicle/vehicle-logbook.service.d.ts +22 -0
  120. package/lib/services/http/vehicle/vehicle.service.d.ts +17 -80
  121. package/package.json +1 -1
  122. package/public-api.d.ts +6 -1
  123. package/esm2015/lib/collections/logbook.collection.js +0 -97
  124. package/lib/collections/logbook.collection.d.ts +0 -19
@@ -1,94 +1,31 @@
1
- import { HttpClient } from '@angular/common/http';
2
- import { Observable, ReplaySubject } from 'rxjs';
3
- import { TransactionService } from '../transaction/transaction.service';
1
+ import { Vehicle as VehicleBase } from '../../../db/Models/vehicle';
4
2
  import { Vehicle } from '../../../models/logbook/vehicle';
5
- import { VehicleClaim } from '../../../models/logbook/vehicle-claim';
6
- import { VehicleLogbook } from '../../../models/logbook/vehicle-logbook';
7
- import { IncomePosition } from '../../../models/income-position/income-position';
8
- import { DepreciationService } from '../depreciation/depreciation.service';
9
- import { ChartAccountsService } from '../chart-accounts/chart-accounts.service';
10
- import { EventDispatcherService } from '../../event/event-dispatcher.service';
3
+ import { RestService } from '../rest/rest.service';
4
+ import { IEventListener } from '../../../interfaces/event-listener.interface';
11
5
  import * as i0 from "@angular/core";
12
6
  /**
13
7
  * Service that allows to work with WorkTank operations
14
- * @TODO separate into multiple services, extend restService
8
+ * @TODO separate vehicles and logbooks to different api
15
9
  */
16
- export declare class VehicleService {
17
- private http;
18
- private transactionService;
19
- private depreciationService;
20
- private chartAccountsService;
21
- private eventDispatcherService;
22
- private environment;
23
- _vehicles: Vehicle[];
24
- vehiclesSubject: ReplaySubject<Vehicle[]>;
25
- _vehicleClaim: VehicleClaim;
26
- vehicleClaimSubject: ReplaySubject<VehicleClaim>;
27
- _vehicleClaimRate: number;
28
- vehicleClaimRateSubject: ReplaySubject<number>;
29
- _vehicleTaxReturn: number;
30
- vehicleTaxReturnSubject: ReplaySubject<number>;
31
- _incomePositions: IncomePosition[];
32
- incomePositionsSubject: ReplaySubject<IncomePosition[]>;
33
- constructor(http: HttpClient, transactionService: TransactionService, depreciationService: DepreciationService, chartAccountsService: ChartAccountsService, eventDispatcherService: EventDispatcherService, environment: any);
34
- getVehicles(): Observable<Vehicle[]>;
10
+ export declare class VehicleService extends RestService<VehicleBase, Vehicle> implements IEventListener {
11
+ url: string;
12
+ modelClass: typeof Vehicle;
13
+ messageCreated: string;
14
+ messageUpdated: string;
15
+ messageDeleted: string;
16
+ listenEvents(): void;
35
17
  /**
36
- * Get vehicles claim amount
18
+ * Add a new logbook items to the vehicle when a new one created
37
19
  */
38
- getVehiclesClaim(): Observable<VehicleClaim>;
20
+ private listenLogbookAdded;
39
21
  /**
40
- * Add new vehicle claim
41
- * @param claim object which should be added
22
+ * Replace vehicle's logbook with updated instance when logbook item updated
42
23
  */
43
- addVehicleClaim(claim: VehicleClaim): Observable<any>;
24
+ private listenLogbookUpdated;
44
25
  /**
45
- * Get vehicles claim rate for current financial year
26
+ * Remove logbook item from vehicle when logbook deleted
46
27
  */
47
- getVehiclesClaimRate(): Observable<number>;
48
- /**
49
- * Get vehicles tax return for vehicle transactions & depreciations
50
- */
51
- getVehiclesTaxReturn(): Observable<number>;
52
- /**
53
- * Update vehicle claim
54
- * @param claim which should be updated
55
- *
56
- * @TODO alex refresh depreciation/transaction cache
57
- */
58
- updateVehicleClaim(claim: VehicleClaim): Observable<any>;
59
- /**
60
- * Add new logbook for desired vehicle
61
- * @param logbook which should be added
62
- * @param vehicle for which logbook object should be added
63
- */
64
- addLogbook(logbook: VehicleLogbook, vehicle: Vehicle): Observable<void>;
65
- /**
66
- * Update logbook
67
- * @param logbook which should be updated
68
- * @param vehicle for which logbook object should be updated
69
- */
70
- updateLogbook(logbook: VehicleLogbook, vehicle: Vehicle): Observable<any>;
71
- /**
72
- * Delete trip
73
- * @param logbook for which trip should be deleted
74
- * @param vehicle for which trip should be deleted
75
- */
76
- deleteTrip(logbook: VehicleLogbook, vehicle: Vehicle): Observable<any>;
77
- /**
78
- * Add new vehicle
79
- * @param vehicle which should be added
80
- */
81
- addVehicle(vehicle: Vehicle): Observable<any>;
82
- /**
83
- * Update vehicle
84
- * @param vehicle which should be updated
85
- */
86
- updateVehicle(vehicle: Vehicle): Observable<any>;
87
- /**
88
- * Delete vehicle
89
- * @param vehicle which should be deleted
90
- */
91
- deleteVehicle(vehicle: Vehicle): Observable<void>;
28
+ private listenLogbookDeleted;
92
29
  static ɵfac: i0.ɵɵFactoryDeclaration<VehicleService, never>;
93
30
  static ɵprov: i0.ɵɵInjectableDeclaration<VehicleService>;
94
31
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "taxtank-core",
3
- "version": "0.11.0",
3
+ "version": "0.12.0",
4
4
  "private": false,
5
5
  "peerDependencies": {
6
6
  "@angular/common": "^12.2.3 || ~13.0.0",
package/public-api.d.ts CHANGED
@@ -18,7 +18,6 @@ export * from './lib/collections/depreciation-forecast.collection';
18
18
  export * from './lib/collections/employee.collection';
19
19
  export * from './lib/collections/income-source.collection';
20
20
  export * from './lib/collections/loan.collection';
21
- export * from './lib/collections/logbook.collection';
22
21
  export * from './lib/collections/message.collection';
23
22
  export * from './lib/collections/message-document.collection';
24
23
  export * from './lib/collections/property/property.collection';
@@ -34,6 +33,8 @@ export * from './lib/collections/tax-review.collection';
34
33
  export * from './lib/collections/transaction-allocation.collection';
35
34
  export * from './lib/collections/transaction.collection';
36
35
  export * from './lib/collections/user-event-setting.collection';
36
+ export * from './lib/collections/vehicle.collection';
37
+ export * from './lib/collections/vehicle-logbook.collection';
37
38
  /**
38
39
  * DB models
39
40
  */
@@ -152,6 +153,7 @@ export * from './lib/models/chart-accounts/chart-accounts-depreciation';
152
153
  export * from './lib/models/chart-accounts/chart-accounts-heading';
153
154
  export * from './lib/models/chart-accounts/chart-accounts-metadata';
154
155
  export * from './lib/models/chart-accounts/chart-accounts-tax-labels.enum';
156
+ export * from './lib/models/chart-accounts/chart-accounts-value';
155
157
  export * from './lib/models/chat/chat';
156
158
  export * from './lib/models/chat/chat-view-type.enum';
157
159
  export * from './lib/models/chat/message';
@@ -339,6 +341,8 @@ export * from './lib/services/user/user-switcher.service';
339
341
  export * from './lib/services/http/user/user-event-setting/user-event-setting.service';
340
342
  export * from './lib/services/http/user/user-event-type/user-event-type.service';
341
343
  export * from './lib/services/http/vehicle/vehicle.service';
344
+ export * from './lib/services/http/vehicle/vehicle-claim.service';
345
+ export * from './lib/services/http/vehicle/vehicle-logbook.service';
342
346
  export * from './lib/services/xlsx/xlsx.service';
343
347
  export * from './lib/services/http/property/property-sale/tax-exemption/tax-exemption.service';
344
348
  /**
@@ -359,6 +363,7 @@ export * from './lib/interfaces/exportable.interface';
359
363
  export * from './lib/interfaces/receipt.interface';
360
364
  export * from './lib/interfaces/tank.interface';
361
365
  export * from './lib/interfaces/updatable.interface';
366
+ export * from './lib/interfaces/expense.interface';
362
367
  /**
363
368
  * Functions
364
369
  */
@@ -1,97 +0,0 @@
1
- import { FinancialYear } from '../models/financial-year/financial-year';
2
- import { LogbookPeriod } from '../models/logbook/logbook-period';
3
- import { plainToClass } from 'class-transformer';
4
- // Class contain array of vehicle logbooks and calculate the best period for logbook claim method
5
- export class LogbookCollection {
6
- constructor(vehicles) {
7
- // 12 weeks in milliseconds to check logbooks range
8
- this.logbookClaimRange = 12 * 7 * 24 * 3600 * 1000;
9
- this.trips = vehicles.map((vehicle) => vehicle.logbook).flat();
10
- this.financialYear = new FinancialYear();
11
- this.setInitialBestPeriod();
12
- }
13
- // check if summary logbooks date range less than 84 days (12 weeks)
14
- get isAutomaticLogbookCalculationAllowed() {
15
- // forbid automatic logbook calculation if no logbook trips exist
16
- if (!this.trips.length) {
17
- return false;
18
- }
19
- // forbid automatic logbook calculation if logbook trips summary date range less than 12 weeks
20
- return this.trips.slice(-1)[0].date.getTime() - this.trips[0].date.getTime() >= this.logbookClaimRange;
21
- }
22
- get bestPeriod() {
23
- // don't calculate if not allowed
24
- if (!this.isAutomaticLogbookCalculationAllowed) {
25
- return null;
26
- }
27
- this.calculateBestPeriod();
28
- return this._bestPeriod;
29
- }
30
- get workTrips() {
31
- return this.trips.filter((logbook) => logbook.isWork);
32
- }
33
- // calculate best period for logbook claim method
34
- calculateBestPeriod() {
35
- // set default best period values for real values comparison
36
- this.setInitialBestPeriod();
37
- // get best period with each trip date as start date
38
- this.workTrips.forEach((logbook) => {
39
- const dateRange = this.getDateRange(logbook.date);
40
- // get all trips included in current 12 weeks period
41
- const tripsInRange = this.trips.filter((l) => {
42
- return l.date >= dateRange.from && l.date <= dateRange.to;
43
- });
44
- // get work trips included in current 12 weeks period
45
- const workTripsInRange = tripsInRange.filter((l) => l.isWork);
46
- // calculate sum of work kilometers in current 12 weeks range
47
- const currentRangeKilometers = this.getKilometersAmount(workTripsInRange);
48
- // overwrite best period with current 12 weeks range if amount of kilometers is bigger
49
- if (currentRangeKilometers > this._bestPeriod.kilometers) {
50
- this._bestPeriod = {
51
- from: dateRange.from,
52
- to: dateRange.to,
53
- kilometers: currentRangeKilometers,
54
- workUsage: this.getLogbooksWorkUsage(tripsInRange, workTripsInRange)
55
- };
56
- }
57
- });
58
- }
59
- getDateRange(from) {
60
- // set end date after 12 weeks after start date
61
- let to = new Date(from.getTime() + this.logbookClaimRange);
62
- // set as period last 12 weeks of current year if period end date after end of current year
63
- if (to > this.financialYear.endDate) {
64
- to = this.financialYear.endDate;
65
- from = new Date(to.getTime() - this.logbookClaimRange);
66
- }
67
- return { from, to };
68
- }
69
- // calculate kilometers amount for passed trips
70
- getKilometersAmount(logbooks) {
71
- if (!logbooks.length) {
72
- return 0;
73
- }
74
- return logbooks.map((logbook) => logbook.odometerEnd - logbook.odometerStart)
75
- .reduce((prev, next) => prev + Number(next));
76
- }
77
- // calculate work usage for passed trips
78
- getLogbooksWorkUsage(logbooks, workLogbooks) {
79
- const kilometers = this.getKilometersAmount(logbooks);
80
- const workKilometers = this.getKilometersAmount(workLogbooks);
81
- return Math.round(workKilometers / kilometers * 100);
82
- }
83
- // set default best period with zero values and fin year start date for comparison in calculation
84
- setInitialBestPeriod() {
85
- // set 1st of July of current year as default start date for best period
86
- const startDate = this.financialYear.startDate;
87
- // set end custom-date after 12 weeks from start date
88
- const endDate = new Date(startDate.getTime() + this.logbookClaimRange);
89
- this._bestPeriod = plainToClass(LogbookPeriod, {
90
- from: startDate,
91
- to: endDate,
92
- kilometers: 0,
93
- workUsage: 0
94
- });
95
- }
96
- }
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nYm9vay5jb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2NvbGxlY3Rpb25zL2xvZ2Jvb2suY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRWpFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVqRCxpR0FBaUc7QUFDakcsTUFBTSxPQUFPLGlCQUFpQjtJQVU1QixZQUNFLFFBQW1CO1FBUnJCLG1EQUFtRDtRQUNuRCxzQkFBaUIsR0FBVyxFQUFFLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBU3BELElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQWdCLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN4RSxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksYUFBYSxFQUFFLENBQUM7UUFDekMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELG9FQUFvRTtJQUNwRSxJQUFJLG9DQUFvQztRQUN0QyxpRUFBaUU7UUFDakUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFO1lBQ3RCLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFFRCw4RkFBOEY7UUFDOUYsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElB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QUMsSUFBWSxFQUFFLElBQVksRUFBRSxFQUFFLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCx3Q0FBd0M7SUFDaEMsb0JBQW9CLENBQUMsUUFBMEIsRUFBRSxZQUE4QjtRQUNyRixNQUFNLFVBQVUsR0FBVyxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDOUQsTUFBTSxjQUFjLEdBQVcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3RFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLEdBQUcsVUFBVSxHQUFHLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxpR0FBaUc7SUFDekYsb0JBQW9CO1FBQzFCLHdFQUF3RTtRQUN4RSxNQUFNLFNBQVMsR0FBUyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQztRQUNyRCxxREFBcUQ7UUFDckQsTUFBTSxPQUFPLEdBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRTdFLElBQUksQ0FBQyxXQUFXLEdBQUcsWUFBWSxDQUFDLGFBQWEsRUFBRTtZQUM3QyxJQUFJLEVBQUUsU0FBUztZQUNmLEVBQUUsRUFBRSxPQUFPO1lBQ1gsVUFBVSxFQUFFLENBQUM7WUFDYixTQUFTLEVBQUUsQ0FBQztTQUNiLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZlaGljbGVMb2dib29rIH0gZnJvbSAnLi4vbW9kZWxzL2xvZ2Jvb2svdmVoaWNsZS1sb2dib29rJztcbmltcG9ydCB7IEZpbmFuY2lhbFllYXIgfSBmcm9tICcuLi9tb2RlbHMvZmluYW5jaWFsLXllYXIvZmluYW5jaWFsLXllYXInO1xuaW1wb3J0IHsgTG9nYm9va1BlcmlvZCB9IGZyb20gJy4uL21vZGVscy9sb2dib29rL2xvZ2Jvb2stcGVyaW9kJztcbmltcG9ydCB7IFZlaGljbGUgfSBmcm9tICcuLi9tb2RlbHMvbG9nYm9vay92ZWhpY2xlJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcblxuLy8gQ2xhc3MgY29udGFpbiBhcnJheSBvZiB2ZWhpY2xlIGxvZ2Jvb2tzIGFuZCBjYWxjdWxhdGUgdGhlIGJlc3QgcGVyaW9kIGZvciBsb2dib29rIGNsYWltIG1ldGhvZFxuZXhwb3J0IGNsYXNzIExvZ2Jvb2tDb2xsZWN0aW9uIHtcbiAgLy8gYXJyYXkgb2YgYWxsIHRyaXBzXG4gIHRyaXBzOiBWZWhpY2xlTG9nYm9va1tdO1xuICAvLyAxMiB3ZWVrcyBpbiBtaWxsaXNlY29uZHMgdG8gY2hlY2sgbG9nYm9va3MgcmFuZ2VcbiAgbG9nYm9va0NsYWltUmFuZ2U6IG51bWJlciA9IDEyICogNyAqIDI0ICogMzYwMCAqIDEwMDA7XG4gIC8vIGN1cnJlbnQgZmluYW5jaWFsIHllYXIgb2JqZWN0XG4gIGZpbmFuY2lhbFllYXI6IEZpbmFuY2lhbFllYXI7XG4gIC8vIGRlZmF1bHQgYmVzdCBwZXJpb2QgdXNlZCBmb3IgY29tcGFyaXNvbiBpbiBjYWxjdWxhdGlvblxuICBwcml2YXRlIF9iZXN0UGVyaW9kOiBMb2dib29rUGVyaW9kO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHZlaGljbGVzOiBWZWhpY2xlW11cbiAgKSB7XG4gICAgdGhpcy50cmlwcyA9IHZlaGljbGVzLm1hcCgodmVoaWNsZTogVmVoaWNsZSkgPT4gdmVoaWNsZS5sb2dib29rKS5mbGF0KCk7XG4gICAgdGhpcy5maW5hbmNpYWxZZWFyID0gbmV3IEZpbmFuY2lhbFllYXIoKTtcbiAgICB0aGlzLnNldEluaXRpYWxCZXN0UGVyaW9kKCk7XG4gIH1cblxuICAvLyBjaGVjayBpZiBzdW1tYXJ5IGxvZ2Jvb2tzIGRhdGUgcmFuZ2UgbGVzcyB0aGFuIDg0IGRheXMgKDEyIHdlZWtzKVxuICBnZXQgaXNBdXRvbWF0aWNMb2dib29rQ2FsY3VsYXRpb25BbGxvd2VkKCk6IGJvb2xlYW4ge1xuICAgIC8vIGZvcmJpZCBhdXRvbWF0aWMgbG9nYm9vayBjYWxjdWxhdGlvbiBpZiBubyBsb2dib29rIHRyaXBzIGV4aXN0XG4gICAgaWYgKCF0aGlzLnRyaXBzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIC8vIGZvcmJpZCBhdXRvbWF0aWMgbG9nYm9vayBjYWxjdWxhdGlvbiBpZiBsb2dib29rIHRyaXBzIHN1bW1hcnkgZGF0ZSByYW5nZSBsZXNzIHRoYW4gMTIgd2Vla3NcbiAgICByZXR1cm4gdGhpcy50cmlwcy5zbGljZSgtMSlbMF0uZGF0ZS5nZXRUaW1lKCkgLSB0aGlzLnRyaXBzWzBdLmRhdGUuZ2V0VGltZSgpID49IHRoaXMubG9nYm9va0NsYWltUmFuZ2U7XG4gIH1cblxuICBnZXQgYmVzdFBlcmlvZCgpOiBMb2dib29rUGVyaW9kIHtcbiAgICAvLyBkb24ndCBjYWxjdWxhdGUgaWYgbm90IGFsbG93ZWRcbiAgICBpZiAoIXRoaXMuaXNBdXRvbWF0aWNMb2dib29rQ2FsY3VsYXRpb25BbGxvd2VkKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICB0aGlzLmNhbGN1bGF0ZUJlc3RQZXJpb2QoKTtcblxuICAgIHJldHVybiB0aGlzLl9iZXN0UGVyaW9kO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgd29ya1RyaXBzKCk6IFZlaGljbGVMb2dib29rW10ge1xuICAgIHJldHVybiB0aGlzLnRyaXBzLmZpbHRlcigobG9nYm9vazogVmVoaWNsZUxvZ2Jvb2spID0+IGxvZ2Jvb2suaXNXb3JrKTtcbiAgfVxuXG4gIC8vIGNhbGN1bGF0ZSBiZXN0IHBlcmlvZCBmb3IgbG9nYm9vayBjbGFpbSBtZXRob2RcbiAgcHJpdmF0ZSBjYWxjdWxhdGVCZXN0UGVyaW9kKCk6IHZvaWQge1xuXG4gICAgLy8gc2V0IGRlZmF1bHQgYmVzdCBwZXJpb2QgdmFsdWVzIGZvciByZWFsIHZhbHVlcyBjb21wYXJpc29uXG4gICAgdGhpcy5zZXRJbml0aWFsQmVzdFBlcmlvZCgpO1xuXG4gICAgLy8gZ2V0IGJlc3QgcGVyaW9kIHdpdGggZWFjaCB0cmlwIGRhdGUgYXMgc3RhcnQgZGF0ZVxuICAgIHRoaXMud29ya1RyaXBzLmZvckVhY2goKGxvZ2Jvb2s6IFZlaGljbGVMb2dib29rKSA9PiB7XG4gICAgICBjb25zdCBkYXRlUmFuZ2U6IHtmcm9tOiBEYXRlLCB0bzogRGF0ZX0gPSB0aGlzLmdldERhdGVSYW5nZShsb2dib29rLmRhdGUpO1xuXG4gICAgICAvLyBnZXQgYWxsIHRyaXBzIGluY2x1ZGVkIGluIGN1cnJlbnQgMTIgd2Vla3MgcGVyaW9kXG4gICAgICBjb25zdCB0cmlwc0luUmFuZ2U6IFZlaGljbGVMb2dib29rW10gPSB0aGlzLnRyaXBzLmZpbHRlcigobDogVmVoaWNsZUxvZ2Jvb2spID0+IHtcbiAgICAgICAgcmV0dXJuIGwuZGF0ZSA+PSBkYXRlUmFuZ2UuZnJvbSAmJiBsLmRhdGUgPD0gZGF0ZVJhbmdlLnRvO1xuICAgICAgfSk7XG5cbiAgICAgIC8vIGdldCB3b3JrIHRyaXBzIGluY2x1ZGVkIGluIGN1cnJlbnQgMTIgd2Vla3MgcGVyaW9kXG4gICAgICBjb25zdCB3b3JrVHJpcHNJblJhbmdlOiBWZWhpY2xlTG9nYm9va1tdID0gdHJpcHNJblJhbmdlLmZpbHRlcigobDogVmVoaWNsZUxvZ2Jvb2spID0+IGwuaXNXb3JrKTtcblxuICAgICAgLy8gY2FsY3VsYXRlIHN1bSBvZiB3b3JrIGtpbG9tZXRlcnMgaW4gY3VycmVudCAxMiB3ZWVrcyByYW5nZVxuICAgICAgY29uc3QgY3VycmVudFJhbmdlS2lsb21ldGVyczogbnVtYmVyID0gdGhpcy5nZXRLaWxvbWV0ZXJzQW1vdW50KHdvcmtUcmlwc0luUmFuZ2UpO1xuXG4gICAgICAvLyBvdmVyd3JpdGUgYmVzdCBwZXJpb2Qgd2l0aCBjdXJyZW50IDEyIHdlZWtzIHJhbmdlIGlmIGFtb3VudCBvZiBraWxvbWV0ZXJzIGlzIGJpZ2dlclxuICAgICAgaWYgKGN1cnJlbnRSYW5nZUtpbG9tZXRlcnMgPiB0aGlzLl9iZXN0UGVyaW9kLmtpbG9tZXRlcnMpIHtcbiAgICAgICAgdGhpcy5fYmVzdFBlcmlvZCA9IHtcbiAgICAgICAgICBmcm9tOiBkYXRlUmFuZ2UuZnJvbSxcbiAgICAgICAgICB0bzogZGF0ZVJhbmdlLnRvLFxuICAgICAgICAgIGtpbG9tZXRlcnM6IGN1cnJlbnRSYW5nZUtpbG9tZXRlcnMsXG4gICAgICAgICAgd29ya1VzYWdlOiB0aGlzLmdldExvZ2Jvb2tzV29ya1VzYWdlKHRyaXBzSW5SYW5nZSwgd29ya1RyaXBzSW5SYW5nZSlcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RGF0ZVJhbmdlKGZyb206IERhdGUpOiB7ZnJvbTogRGF0ZSwgdG86IERhdGV9IHtcbiAgICAvLyBzZXQgZW5kIGRhdGUgYWZ0ZXIgMTIgd2Vla3MgYWZ0ZXIgc3RhcnQgZGF0ZVxuICAgIGxldCB0bzogRGF0ZSA9IG5ldyBEYXRlKGZyb20uZ2V0VGltZSgpICsgdGhpcy5sb2dib29rQ2xhaW1SYW5nZSk7XG5cbiAgICAvLyBzZXQgYXMgcGVyaW9kIGxhc3QgMTIgd2Vla3Mgb2YgY3VycmVudCB5ZWFyIGlmIHBlcmlvZCBlbmQgZGF0ZSBhZnRlciBlbmQgb2YgY3VycmVudCB5ZWFyXG4gICAgaWYgKHRvID4gdGhpcy5maW5hbmNpYWxZZWFyLmVuZERhdGUpIHtcbiAgICAgIHRvID0gdGhpcy5maW5hbmNpYWxZZWFyLmVuZERhdGU7XG4gICAgICBmcm9tID0gbmV3IERhdGUodG8uZ2V0VGltZSgpIC0gdGhpcy5sb2dib29rQ2xhaW1SYW5nZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtmcm9tLCB0b307XG4gIH1cblxuICAvLyBjYWxjdWxhdGUga2lsb21ldGVycyBhbW91bnQgZm9yIHBhc3NlZCB0cmlwc1xuICBwcml2YXRlIGdldEtpbG9tZXRlcnNBbW91bnQobG9nYm9va3M6IFZlaGljbGVMb2dib29rW10pOiBudW1iZXIge1xuICAgIGlmICghbG9nYm9va3MubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICByZXR1cm4gbG9nYm9va3MubWFwKChsb2dib29rOiBWZWhpY2xlTG9nYm9vaykgPT4gbG9nYm9vay5vZG9tZXRlckVuZCAtIGxvZ2Jvb2sub2RvbWV0ZXJTdGFydClcbiAgICAgIC5yZWR1Y2UoKHByZXY6IG51bWJlciwgbmV4dDogbnVtYmVyKSA9PiBwcmV2ICsgTnVtYmVyKG5leHQpKTtcbiAgfVxuXG4gIC8vIGNhbGN1bGF0ZSB3b3JrIHVzYWdlIGZvciBwYXNzZWQgdHJpcHNcbiAgcHJpdmF0ZSBnZXRMb2dib29rc1dvcmtVc2FnZShsb2dib29rczogVmVoaWNsZUxvZ2Jvb2tbXSwgd29ya0xvZ2Jvb2tzOiBWZWhpY2xlTG9nYm9va1tdKTogbnVtYmVyIHtcbiAgICBjb25zdCBraWxvbWV0ZXJzOiBudW1iZXIgPSB0aGlzLmdldEtpbG9tZXRlcnNBbW91bnQobG9nYm9va3MpO1xuICAgIGNvbnN0IHdvcmtLaWxvbWV0ZXJzOiBudW1iZXIgPSB0aGlzLmdldEtpbG9tZXRlcnNBbW91bnQod29ya0xvZ2Jvb2tzKTtcbiAgICByZXR1cm4gTWF0aC5yb3VuZCh3b3JrS2lsb21ldGVycyAvIGtpbG9tZXRlcnMgKiAxMDApO1xuICB9XG5cbiAgLy8gc2V0IGRlZmF1bHQgYmVzdCBwZXJpb2Qgd2l0aCB6ZXJvIHZhbHVlcyBhbmQgZmluIHllYXIgc3RhcnQgZGF0ZSBmb3IgY29tcGFyaXNvbiBpbiBjYWxjdWxhdGlvblxuICBwcml2YXRlIHNldEluaXRpYWxCZXN0UGVyaW9kKCk6IHZvaWQge1xuICAgIC8vIHNldCAxc3Qgb2YgSnVseSBvZiBjdXJyZW50IHllYXIgYXMgZGVmYXVsdCBzdGFydCBkYXRlIGZvciBiZXN0IHBlcmlvZFxuICAgIGNvbnN0IHN0YXJ0RGF0ZTogRGF0ZSA9IHRoaXMuZmluYW5jaWFsWWVhci5zdGFydERhdGU7XG4gICAgLy8gc2V0IGVuZCBjdXN0b20tZGF0ZSBhZnRlciAxMiB3ZWVrcyBmcm9tIHN0YXJ0IGRhdGVcbiAgICBjb25zdCBlbmREYXRlOiBEYXRlID0gbmV3IERhdGUoc3RhcnREYXRlLmdldFRpbWUoKSArIHRoaXMubG9nYm9va0NsYWltUmFuZ2UpO1xuXG4gICAgdGhpcy5fYmVzdFBlcmlvZCA9IHBsYWluVG9DbGFzcyhMb2dib29rUGVyaW9kLCB7XG4gICAgICBmcm9tOiBzdGFydERhdGUsXG4gICAgICB0bzogZW5kRGF0ZSxcbiAgICAgIGtpbG9tZXRlcnM6IDAsXG4gICAgICB3b3JrVXNhZ2U6IDBcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -1,19 +0,0 @@
1
- import { VehicleLogbook } from '../models/logbook/vehicle-logbook';
2
- import { FinancialYear } from '../models/financial-year/financial-year';
3
- import { LogbookPeriod } from '../models/logbook/logbook-period';
4
- import { Vehicle } from '../models/logbook/vehicle';
5
- export declare class LogbookCollection {
6
- trips: VehicleLogbook[];
7
- logbookClaimRange: number;
8
- financialYear: FinancialYear;
9
- private _bestPeriod;
10
- constructor(vehicles: Vehicle[]);
11
- get isAutomaticLogbookCalculationAllowed(): boolean;
12
- get bestPeriod(): LogbookPeriod;
13
- private get workTrips();
14
- private calculateBestPeriod;
15
- private getDateRange;
16
- private getKilometersAmount;
17
- private getLogbooksWorkUsage;
18
- private setInitialBestPeriod;
19
- }