taxtank-core 0.27.1 → 0.27.2

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.
@@ -6,7 +6,7 @@ import { SoleBusinessLoss } from './sole-business-loss';
6
6
  import { SoleInvoice } from './sole-invoice';
7
7
  import { SoleInvoiceTemplate } from './sole-invoice-template';
8
8
  import { Type } from 'class-transformer';
9
- import { VehicleClaim } from '../vehicle/vehicle-claim';
9
+ import { VehicleClaim } from '../vehicle';
10
10
  import { Depreciation } from '../depreciation/depreciation';
11
11
  import { Transaction } from '../transaction/transaction';
12
12
  export class SoleBusiness extends SoleBusinessBase {
@@ -17,6 +17,10 @@ export class SoleBusiness extends SoleBusinessBase {
17
17
  return this.logo;
18
18
  }
19
19
  }
20
+ /**
21
+ * Maximum number of businesses that a person can have, according to the ATO
22
+ */
23
+ SoleBusiness.businessesLimit = 6;
20
24
  __decorate([
21
25
  Type(() => User)
22
26
  ], SoleBusiness.prototype, "user", void 0);
@@ -41,4 +45,4 @@ __decorate([
41
45
  __decorate([
42
46
  Type(() => Depreciation)
43
47
  ], SoleBusiness.prototype, "depreciations", void 0);
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29sZS1idXNpbmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvc29sZS9zb2xlLWJ1c2luZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsWUFBWSxJQUFJLGdCQUFnQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdEYsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBR3pELE1BQU0sT0FBTyxZQUFhLFNBQVEsZ0JBQWdCO0lBeUJoRCxtQkFBbUI7UUFDakIsT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25CLENBQUM7Q0FDRjtBQTlCQztJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7MENBQ047QUFHWDtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztpREFDRztBQUd0QztJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQzs0Q0FDRjtBQUczQjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUM7OENBQ0E7QUFHeEI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsbUJBQW1CLENBQUM7c0RBQ1E7QUFHeEM7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDO21EQUNLO0FBRzlCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQztrREFDSTtBQUc1QjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUM7bURBQ0siLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTb2xlQnVzaW5lc3MgYXMgU29sZUJ1c2luZXNzQmFzZSB9IGZyb20gJy4uLy4uL2RiL01vZGVscy9zb2xlL3NvbGUtYnVzaW5lc3MnO1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4uL3VzZXIvdXNlcic7XG5pbXBvcnQgeyBTb2xlQnVzaW5lc3NBbGxvY2F0aW9uIH0gZnJvbSAnLi9zb2xlLWJ1c2luZXNzLWFsbG9jYXRpb24nO1xuaW1wb3J0IHsgU29sZUJ1c2luZXNzTG9zcyB9IGZyb20gJy4vc29sZS1idXNpbmVzcy1sb3NzJztcbmltcG9ydCB7IFNvbGVJbnZvaWNlIH0gZnJvbSAnLi9zb2xlLWludm9pY2UnO1xuaW1wb3J0IHsgU29sZUludm9pY2VUZW1wbGF0ZSB9IGZyb20gJy4vc29sZS1pbnZvaWNlLXRlbXBsYXRlJztcbmltcG9ydCB7IFR5cGUgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBWZWhpY2xlQ2xhaW0gfSBmcm9tICcuLi92ZWhpY2xlL3ZlaGljbGUtY2xhaW0nO1xuaW1wb3J0IHsgRGVwcmVjaWF0aW9uIH0gZnJvbSAnLi4vZGVwcmVjaWF0aW9uL2RlcHJlY2lhdGlvbic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4uL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IFBob3RvYWJsZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvcGhvdG9hYmxlJztcblxuZXhwb3J0IGNsYXNzIFNvbGVCdXNpbmVzcyBleHRlbmRzIFNvbGVCdXNpbmVzc0Jhc2UgaW1wbGVtZW50cyBQaG90b2FibGUge1xuICBAVHlwZSgoKSA9PiBVc2VyKVxuICB1c2VyOiBVc2VyO1xuXG4gIEBUeXBlKCgpID0+IFNvbGVCdXNpbmVzc0FsbG9jYXRpb24pXG4gIGFsbG9jYXRpb25zOiBTb2xlQnVzaW5lc3NBbGxvY2F0aW9uW107XG5cbiAgQFR5cGUoKCkgPT4gU29sZUJ1c2luZXNzTG9zcylcbiAgbG9zc2VzOiBTb2xlQnVzaW5lc3NMb3NzW107XG5cbiAgQFR5cGUoKCkgPT4gU29sZUludm9pY2UpXG4gIGludm9pY2VzOiBTb2xlSW52b2ljZVtdO1xuXG4gIEBUeXBlKCgpID0+IFNvbGVJbnZvaWNlVGVtcGxhdGUpXG4gIGludm9pY2VUZW1wbGF0ZXM6IFNvbGVJbnZvaWNlVGVtcGxhdGVbXTtcblxuICBAVHlwZSgoKSA9PiBWZWhpY2xlQ2xhaW0pXG4gIHZlaGljbGVDbGFpbXM6IFZlaGljbGVDbGFpbVtdO1xuXG4gIEBUeXBlKCgpID0+IFRyYW5zYWN0aW9uKVxuICB0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW107XG5cbiAgQFR5cGUoKCkgPT4gRGVwcmVjaWF0aW9uKVxuICBkZXByZWNpYXRpb25zOiBEZXByZWNpYXRpb25bXTtcblxuICBnZXRQaG90b1BsYWNlaG9sZGVyKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMubmFtZVswXX0ke3RoaXMubmFtZVsxXX1gO1xuICB9XG5cbiAgZ2V0UGhvdG8oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5sb2dvO1xuICB9XG59XG4iXX0=
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29sZS1idXNpbmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvc29sZS9zb2xlLWJ1c2luZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsWUFBWSxJQUFJLGdCQUFnQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdEYsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUd6RCxNQUFNLE9BQU8sWUFBYSxTQUFRLGdCQUFnQjtJQThCaEQsbUJBQW1CO1FBQ2pCLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNuQixDQUFDOztBQW5DRDs7R0FFRztBQUNJLDRCQUFlLEdBQVcsQ0FBQyxDQUFDO0FBR25DO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQzswQ0FDTjtBQUdYO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLHNCQUFzQixDQUFDO2lEQUNHO0FBR3RDO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDOzRDQUNGO0FBRzNCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQzs4Q0FDQTtBQUd4QjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztzREFDUTtBQUd4QztJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUM7bURBQ0s7QUFHOUI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDO2tEQUNJO0FBRzVCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQzttREFDSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNvbGVCdXNpbmVzcyBhcyBTb2xlQnVzaW5lc3NCYXNlIH0gZnJvbSAnLi4vLi4vZGIvTW9kZWxzL3NvbGUvc29sZS1idXNpbmVzcyc7XG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi4vdXNlci91c2VyJztcbmltcG9ydCB7IFNvbGVCdXNpbmVzc0FsbG9jYXRpb24gfSBmcm9tICcuL3NvbGUtYnVzaW5lc3MtYWxsb2NhdGlvbic7XG5pbXBvcnQgeyBTb2xlQnVzaW5lc3NMb3NzIH0gZnJvbSAnLi9zb2xlLWJ1c2luZXNzLWxvc3MnO1xuaW1wb3J0IHsgU29sZUludm9pY2UgfSBmcm9tICcuL3NvbGUtaW52b2ljZSc7XG5pbXBvcnQgeyBTb2xlSW52b2ljZVRlbXBsYXRlIH0gZnJvbSAnLi9zb2xlLWludm9pY2UtdGVtcGxhdGUnO1xuaW1wb3J0IHsgVHlwZSB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IFZlaGljbGVDbGFpbSB9IGZyb20gJy4uL3ZlaGljbGUnO1xuaW1wb3J0IHsgRGVwcmVjaWF0aW9uIH0gZnJvbSAnLi4vZGVwcmVjaWF0aW9uL2RlcHJlY2lhdGlvbic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4uL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IFBob3RvYWJsZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvcGhvdG9hYmxlJztcblxuZXhwb3J0IGNsYXNzIFNvbGVCdXNpbmVzcyBleHRlbmRzIFNvbGVCdXNpbmVzc0Jhc2UgaW1wbGVtZW50cyBQaG90b2FibGUge1xuICAvKipcbiAgICogTWF4aW11bSBudW1iZXIgb2YgYnVzaW5lc3NlcyB0aGF0IGEgcGVyc29uIGNhbiBoYXZlLCBhY2NvcmRpbmcgdG8gdGhlIEFUT1xuICAgKi9cbiAgc3RhdGljIGJ1c2luZXNzZXNMaW1pdDogbnVtYmVyID0gNjtcblxuICBAVHlwZSgoKSA9PiBVc2VyKVxuICB1c2VyOiBVc2VyO1xuXG4gIEBUeXBlKCgpID0+IFNvbGVCdXNpbmVzc0FsbG9jYXRpb24pXG4gIGFsbG9jYXRpb25zOiBTb2xlQnVzaW5lc3NBbGxvY2F0aW9uW107XG5cbiAgQFR5cGUoKCkgPT4gU29sZUJ1c2luZXNzTG9zcylcbiAgbG9zc2VzOiBTb2xlQnVzaW5lc3NMb3NzW107XG5cbiAgQFR5cGUoKCkgPT4gU29sZUludm9pY2UpXG4gIGludm9pY2VzOiBTb2xlSW52b2ljZVtdO1xuXG4gIEBUeXBlKCgpID0+IFNvbGVJbnZvaWNlVGVtcGxhdGUpXG4gIGludm9pY2VUZW1wbGF0ZXM6IFNvbGVJbnZvaWNlVGVtcGxhdGVbXTtcblxuICBAVHlwZSgoKSA9PiBWZWhpY2xlQ2xhaW0pXG4gIHZlaGljbGVDbGFpbXM6IFZlaGljbGVDbGFpbVtdO1xuXG4gIEBUeXBlKCgpID0+IFRyYW5zYWN0aW9uKVxuICB0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW107XG5cbiAgQFR5cGUoKCkgPT4gRGVwcmVjaWF0aW9uKVxuICBkZXByZWNpYXRpb25zOiBEZXByZWNpYXRpb25bXTtcblxuICBnZXRQaG90b1BsYWNlaG9sZGVyKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMubmFtZVswXX0ke3RoaXMubmFtZVsxXX1gO1xuICB9XG5cbiAgZ2V0UGhvdG8oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5sb2dvO1xuICB9XG59XG4iXX0=
@@ -2452,6 +2452,65 @@ __decorate([
2452
2452
  Type(() => SoleInvoiceTemplate)
2453
2453
  ], SoleInvoice.prototype, "template", void 0);
2454
2454
 
2455
+ /**
2456
+ * Class contains traveled kilometers and work usage percent in 12 weeks date range
2457
+ * @TODO Vik: Best period: move this and related logic to backend
2458
+ */
2459
+ class LogbookPeriod {
2460
+ isEndOfYear() {
2461
+ return this.to === new FinancialYear().endDate;
2462
+ }
2463
+ getWorkUsageByClaim(claim) {
2464
+ const claimKilometers = this.logbooks.getByVehicleClaim(claim).getClaimableLogbooks().kilometers;
2465
+ return Math.round(this.workUsage * (claimKilometers / this.kilometers));
2466
+ }
2467
+ }
2468
+ __decorate([
2469
+ Type(() => Date)
2470
+ ], LogbookPeriod.prototype, "from", void 0);
2471
+ __decorate([
2472
+ Type(() => Date)
2473
+ ], LogbookPeriod.prototype, "to", void 0);
2474
+
2475
+ class Vehicle$1 extends AbstractModel {
2476
+ }
2477
+
2478
+ class VehicleLogbook$1 extends AbstractModel {
2479
+ }
2480
+
2481
+ class VehicleLogbook extends VehicleLogbook$1 {
2482
+ get kilometers() {
2483
+ return this.odometerEnd - this.odometerStart;
2484
+ }
2485
+ get tankType() {
2486
+ return this.isSoleTank() ? TankTypeEnum.SOLE : TankTypeEnum.WORK;
2487
+ }
2488
+ isWorkTank() {
2489
+ return !this.business;
2490
+ }
2491
+ isSoleTank() {
2492
+ return !!this.business;
2493
+ }
2494
+ }
2495
+ /**
2496
+ * 12 weeks in milliseconds
2497
+ * "To work out your business-use percentage, you need to keep a logbook and the odometer readings for the logbook period.
2498
+ * The logbook period is a minimum continuous period of 12 weeks." © Nicole Kelly
2499
+ */
2500
+ VehicleLogbook.periodDuration = 7257600000;
2501
+ __decorate([
2502
+ Type(() => Date)
2503
+ ], VehicleLogbook.prototype, "date", void 0);
2504
+ __decorate([
2505
+ Type(() => SoleBusiness)
2506
+ ], VehicleLogbook.prototype, "business", void 0);
2507
+
2508
+ class Vehicle extends Vehicle$1 {
2509
+ }
2510
+ __decorate([
2511
+ Type(() => VehicleLogbook)
2512
+ ], Vehicle.prototype, "logbook", void 0);
2513
+
2455
2514
  class VehicleClaim$1 extends AbstractModel {
2456
2515
  }
2457
2516
 
@@ -3364,6 +3423,10 @@ class SoleBusiness extends SoleBusiness$1 {
3364
3423
  return this.logo;
3365
3424
  }
3366
3425
  }
3426
+ /**
3427
+ * Maximum number of businesses that a person can have, according to the ATO
3428
+ */
3429
+ SoleBusiness.businessesLimit = 6;
3367
3430
  __decorate([
3368
3431
  Type(() => User)
3369
3432
  ], SoleBusiness.prototype, "user", void 0);
@@ -4657,65 +4720,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
4657
4720
  }]
4658
4721
  }] });
4659
4722
 
4660
- /**
4661
- * Class contains traveled kilometers and work usage percent in 12 weeks date range
4662
- * @TODO Vik: Best period: move this and related logic to backend
4663
- */
4664
- class LogbookPeriod {
4665
- isEndOfYear() {
4666
- return this.to === new FinancialYear().endDate;
4667
- }
4668
- getWorkUsageByClaim(claim) {
4669
- const claimKilometers = this.logbooks.getByVehicleClaim(claim).getClaimableLogbooks().kilometers;
4670
- return Math.round(this.workUsage * (claimKilometers / this.kilometers));
4671
- }
4672
- }
4673
- __decorate([
4674
- Type(() => Date)
4675
- ], LogbookPeriod.prototype, "from", void 0);
4676
- __decorate([
4677
- Type(() => Date)
4678
- ], LogbookPeriod.prototype, "to", void 0);
4679
-
4680
- class Vehicle$1 extends AbstractModel {
4681
- }
4682
-
4683
- class VehicleLogbook$1 extends AbstractModel {
4684
- }
4685
-
4686
- class VehicleLogbook extends VehicleLogbook$1 {
4687
- get kilometers() {
4688
- return this.odometerEnd - this.odometerStart;
4689
- }
4690
- get tankType() {
4691
- return this.isSoleTank() ? TankTypeEnum.SOLE : TankTypeEnum.WORK;
4692
- }
4693
- isWorkTank() {
4694
- return !this.business;
4695
- }
4696
- isSoleTank() {
4697
- return !!this.business;
4698
- }
4699
- }
4700
- /**
4701
- * 12 weeks in milliseconds
4702
- * "To work out your business-use percentage, you need to keep a logbook and the odometer readings for the logbook period.
4703
- * The logbook period is a minimum continuous period of 12 weeks." © Nicole Kelly
4704
- */
4705
- VehicleLogbook.periodDuration = 7257600000;
4706
- __decorate([
4707
- Type(() => Date)
4708
- ], VehicleLogbook.prototype, "date", void 0);
4709
- __decorate([
4710
- Type(() => SoleBusiness)
4711
- ], VehicleLogbook.prototype, "business", void 0);
4712
-
4713
- class Vehicle extends Vehicle$1 {
4714
- }
4715
- __decorate([
4716
- Type(() => VehicleLogbook)
4717
- ], Vehicle.prototype, "logbook", void 0);
4718
-
4719
4723
  class VehicleClaimCollection extends Collection {
4720
4724
  /**
4721
4725
  * Get remaining kilometers limit. Total limit ({@link VehicleClaim.totalKmsLimit}) - claimed kilometers from other vehicle claims