taxtank-core 0.16.2 → 0.16.3

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.
@@ -1,10 +1,7 @@
1
- import { DataTableExportable } from '../../interfaces/table-exportable.interface';
2
- import { ExportRow } from '../export/export-row';
3
- export declare const EXPORT_DATA_TABLE_COLUMNS: string[];
4
1
  /**
5
2
  * Loan payment class
6
3
  */
7
- export declare class LoanPayment implements DataTableExportable {
4
+ export declare class LoanPayment {
8
5
  date: Date;
9
6
  interestAccrued: number;
10
7
  interestBalance: number;
@@ -12,7 +9,5 @@ export declare class LoanPayment implements DataTableExportable {
12
9
  paymentDue: number;
13
10
  principalBalance: number;
14
11
  principalPaid: number;
15
- payout: number;
16
12
  totalOwed: number;
17
- toDataTableRows(): ExportRow[];
18
13
  }
@@ -15,10 +15,6 @@ export declare class PropertyService extends RestService<PropertyBase, Property>
15
15
  * Update cache when share invitation accepted
16
16
  */
17
17
  private listenShareInviteAccepted;
18
- /**
19
- * Update cache when user's service subscription is updated
20
- */
21
- private listenServiceSubscriptionUpdated;
22
18
  /**
23
19
  * Update cache when property category changed
24
20
  */
@@ -3,6 +3,7 @@ import { Observable, ReplaySubject } from 'rxjs';
3
3
  import { User } from '../../../models/user/user';
4
4
  import { EventDispatcherService } from '../../event/event-dispatcher.service';
5
5
  import { JwtService } from '../../auth/jwt.service';
6
+ import { SseService } from '../../event/sse.service';
6
7
  import { IEventListener } from '../../../interfaces/event-listener.interface';
7
8
  import * as i0 from "@angular/core";
8
9
  /**
@@ -12,14 +13,17 @@ export declare class UserService implements IEventListener {
12
13
  private http;
13
14
  private jwtService;
14
15
  private eventDispatcherService;
16
+ private sseService;
15
17
  private environment;
16
18
  cache: User;
17
19
  cacheSubject: ReplaySubject<User>;
18
- constructor(http: HttpClient, jwtService: JwtService, eventDispatcherService: EventDispatcherService, environment: any);
20
+ constructor(http: HttpClient, jwtService: JwtService, eventDispatcherService: EventDispatcherService, sseService: SseService, environment: any);
21
+ listenEvents(): void;
22
+ get(): Observable<User>;
19
23
  /**
20
24
  * Get current user
21
25
  */
22
- get(): Observable<User>;
26
+ fetch(): Observable<User>;
23
27
  /**
24
28
  * Register new user
25
29
  */
@@ -56,7 +60,15 @@ export declare class UserService implements IEventListener {
56
60
  * Run forecast update script on backend when user switched financial year
57
61
  */
58
62
  switchFinancialYear(): Observable<object>;
59
- listenEvents(): void;
63
+ /**
64
+ * clear service cache
65
+ */
66
+ resetCache(): void;
67
+ /**
68
+ * Update cache when user's service subscription is updated
69
+ */
70
+ private listenServiceSubscriptionUpdated;
71
+ private listenBasiqConcentUpdated;
60
72
  static ɵfac: i0.ɵɵFactoryDeclaration<UserService, never>;
61
73
  static ɵprov: i0.ɵɵInjectableDeclaration<UserService>;
62
74
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "taxtank-core",
3
- "version": "0.16.2",
3
+ "version": "0.16.3",
4
4
  "private": false,
5
5
  "peerDependencies": {
6
6
  "@angular/common": "^12.2.3 || ~13.0.0",
package/public-api.d.ts CHANGED
@@ -310,7 +310,6 @@ export * from './lib/services/http/firm/client-income/client-income-types.servic
310
310
  export * from './lib/services/event/event-dispatcher.service';
311
311
  export * from './lib/services/event/sse.service';
312
312
  export * from './lib/services/http/firm/firm.service';
313
- export * from './lib/services/data-table/data-table.service';
314
313
  export * from './lib/services/header-title/header-title.service';
315
314
  export * from './lib/services/http/income-source/income-source.service';
316
315
  export * from './lib/services/http/income-source/income-source-forecast/income-source-forecast.service';
@@ -370,7 +369,6 @@ export * from './lib/interfaces/photoable';
370
369
  export * from './lib/interfaces/exportable.interface';
371
370
  export * from './lib/interfaces/receipt.interface';
372
371
  export * from './lib/interfaces/tank.interface';
373
- export * from './lib/interfaces/table-exportable.interface';
374
372
  export * from './lib/interfaces/updatable.interface';
375
373
  export * from './lib/interfaces/expense.interface';
376
374
  /**
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtZXhwb3J0YWJsZS5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvaW50ZXJmYWNlcy90YWJsZS1leHBvcnRhYmxlLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXhwb3J0Um93IH0gZnJvbSAnLi4vbW9kZWxzL2V4cG9ydC9leHBvcnQtcm93JztcblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIGNsYXNzZXMgd2hpY2ggc2hvdWxkIGltcGxlbWVudCBkYXRhLXRhYmxlIGZ1bmN0aW9uYWxpdHkgKGxpa2UgY3JlYXRlIHRhYmxlIHJvd3MsIGNvbHVtbnMsIGUudC5jLilcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYXRhVGFibGVFeHBvcnRhYmxlIHtcbiAgdG9EYXRhVGFibGVSb3dzKCk6IEV4cG9ydFJvd1tdXG59XG4iXX0=
@@ -1,10 +0,0 @@
1
- /**
2
- * Enum which shows what type (in terms of business logic) of the data-table row item
3
- */
4
- export var ExportRowDataTypeEnum;
5
- (function (ExportRowDataTypeEnum) {
6
- ExportRowDataTypeEnum[ExportRowDataTypeEnum["STRING"] = 0] = "STRING";
7
- ExportRowDataTypeEnum[ExportRowDataTypeEnum["CURRENCY"] = 1] = "CURRENCY";
8
- ExportRowDataTypeEnum[ExportRowDataTypeEnum["DATE"] = 2] = "DATE";
9
- })(ExportRowDataTypeEnum || (ExportRowDataTypeEnum = {}));
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LXJvdy1kYXRhLXR5cGUuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvZXhwb3J0L2V4cG9ydC1yb3ctZGF0YS10eXBlLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxNQUFNLENBQU4sSUFBWSxxQkFJWDtBQUpELFdBQVkscUJBQXFCO0lBQy9CLHFFQUFNLENBQUE7SUFDTix5RUFBUSxDQUFBO0lBQ1IsaUVBQUksQ0FBQTtBQUNOLENBQUMsRUFKVyxxQkFBcUIsS0FBckIscUJBQXFCLFFBSWhDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBFbnVtIHdoaWNoIHNob3dzIHdoYXQgdHlwZSAoaW4gdGVybXMgb2YgYnVzaW5lc3MgbG9naWMpIG9mIHRoZSBkYXRhLXRhYmxlIHJvdyBpdGVtXG4gKi9cbmV4cG9ydCBlbnVtIEV4cG9ydFJvd0RhdGFUeXBlRW51bSB7XG4gIFNUUklORyxcbiAgQ1VSUkVOQ1ksXG4gIERBVEVcbn1cbiJdfQ==
@@ -1,6 +0,0 @@
1
- /**
2
- * Class with structure of the data-table rows
3
- */
4
- export class ExportRow {
5
- }
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LXJvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvZXhwb3J0L2V4cG9ydC1yb3cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7O0dBRUc7QUFDSCxNQUFNLE9BQU8sU0FBUztDQUdyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV4cG9ydFJvd0RhdGFUeXBlRW51bSB9IGZyb20gJy4vZXhwb3J0LXJvdy1kYXRhLXR5cGUuZW51bSc7XG5cbi8qKlxuICogQ2xhc3Mgd2l0aCBzdHJ1Y3R1cmUgb2YgdGhlIGRhdGEtdGFibGUgcm93c1xuICovXG5leHBvcnQgY2xhc3MgRXhwb3J0Um93IHtcbiAgZGF0YTogYW55O1xuICB0eXBlOiBFeHBvcnRSb3dEYXRhVHlwZUVudW1cbn1cbiJdfQ==
@@ -1,47 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { plainToClass } from 'class-transformer';
3
- import { ExportDataTable } from '../../models/export/export-data-table';
4
- import { ExportRowDataTypeEnum } from '../../models/export/export-row-data-type.enum';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/common";
7
- /**
8
- * Service to handle array-like data table logic
9
- */
10
- export class DataTableService {
11
- constructor(currencyPipe, datePipe) {
12
- this.currencyPipe = currencyPipe;
13
- this.datePipe = datePipe;
14
- }
15
- initDataTable(exportableModels, headerColumns) {
16
- return plainToClass(ExportDataTable, {
17
- header: headerColumns,
18
- rows: this.getDataTableRows(exportableModels),
19
- });
20
- }
21
- /**
22
- * Get data for the exporting table rows
23
- */
24
- getDataTableRows(exportableModels) {
25
- return exportableModels.map((model) => {
26
- return model.toDataTableRows().map((row) => {
27
- switch (row.type) {
28
- case ExportRowDataTypeEnum.DATE:
29
- return this.datePipe.transform(row.data, 'dd/MM/YYYY').toString();
30
- case ExportRowDataTypeEnum.CURRENCY:
31
- return this.currencyPipe.transform(row.data).toString();
32
- default:
33
- return row.data.toString();
34
- }
35
- });
36
- });
37
- }
38
- }
39
- DataTableService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DataTableService, deps: [{ token: i1.CurrencyPipe }, { token: i1.DatePipe }], target: i0.ɵɵFactoryTarget.Injectable });
40
- DataTableService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DataTableService, providedIn: 'root' });
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DataTableService, decorators: [{
42
- type: Injectable,
43
- args: [{
44
- providedIn: 'root'
45
- }]
46
- }], ctorParameters: function () { return [{ type: i1.CurrencyPipe }, { type: i1.DatePipe }]; } });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2RhdGEtdGFibGUvZGF0YS10YWJsZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUd4RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQzs7O0FBR3RGOztHQUVHO0FBSUgsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQixZQUNVLFlBQTBCLEVBQzFCLFFBQWtCO1FBRGxCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLGFBQVEsR0FBUixRQUFRLENBQVU7SUFFNUIsQ0FBQztJQUVELGFBQWEsQ0FBQyxnQkFBdUMsRUFBRSxhQUF1QjtRQUM1RSxPQUFPLFlBQVksQ0FBQyxlQUFlLEVBQUU7WUFDbkMsTUFBTSxFQUFFLGFBQWE7WUFDckIsSUFBSSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQztTQUM5QyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxnQkFBZ0IsQ0FBQyxnQkFBdUM7UUFDOUQsT0FBTyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUEwQixFQUFFLEVBQUU7WUFDekQsT0FBTyxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBYyxFQUFFLEVBQUU7Z0JBQ3BELFFBQVEsR0FBRyxDQUFDLElBQUksRUFBRTtvQkFDaEIsS0FBSyxxQkFBcUIsQ0FBQyxJQUFJO3dCQUM3QixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7b0JBQ3BFLEtBQUsscUJBQXFCLENBQUMsUUFBUTt3QkFDakMsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7b0JBQzFEO3dCQUNFLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztpQkFDOUI7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7OEdBOUJVLGdCQUFnQjtrSEFBaEIsZ0JBQWdCLGNBRmYsTUFBTTs0RkFFUCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgRXhwb3J0RGF0YVRhYmxlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2V4cG9ydC9leHBvcnQtZGF0YS10YWJsZSc7XG5pbXBvcnQgeyBEYXRhVGFibGVFeHBvcnRhYmxlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy90YWJsZS1leHBvcnRhYmxlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBFeHBvcnRSb3cgfSBmcm9tICcuLi8uLi9tb2RlbHMvZXhwb3J0L2V4cG9ydC1yb3cnO1xuaW1wb3J0IHsgRXhwb3J0Um93RGF0YVR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2V4cG9ydC9leHBvcnQtcm93LWRhdGEtdHlwZS5lbnVtJztcbmltcG9ydCB7IEN1cnJlbmN5UGlwZSwgRGF0ZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG4vKipcbiAqIFNlcnZpY2UgdG8gaGFuZGxlIGFycmF5LWxpa2UgZGF0YSB0YWJsZSBsb2dpY1xuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBEYXRhVGFibGVTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjdXJyZW5jeVBpcGU6IEN1cnJlbmN5UGlwZSxcbiAgICBwcml2YXRlIGRhdGVQaXBlOiBEYXRlUGlwZSxcbiAgKSB7XG4gIH1cblxuICBpbml0RGF0YVRhYmxlKGV4cG9ydGFibGVNb2RlbHM6IERhdGFUYWJsZUV4cG9ydGFibGVbXSwgaGVhZGVyQ29sdW1uczogc3RyaW5nW10pIHtcbiAgICByZXR1cm4gcGxhaW5Ub0NsYXNzKEV4cG9ydERhdGFUYWJsZSwge1xuICAgICAgaGVhZGVyOiBoZWFkZXJDb2x1bW5zLFxuICAgICAgcm93czogdGhpcy5nZXREYXRhVGFibGVSb3dzKGV4cG9ydGFibGVNb2RlbHMpLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBkYXRhIGZvciB0aGUgZXhwb3J0aW5nIHRhYmxlIHJvd3NcbiAgICovXG4gIHByaXZhdGUgZ2V0RGF0YVRhYmxlUm93cyhleHBvcnRhYmxlTW9kZWxzOiBEYXRhVGFibGVFeHBvcnRhYmxlW10pOiBzdHJpbmdbXVtdIHtcbiAgICByZXR1cm4gZXhwb3J0YWJsZU1vZGVscy5tYXAoKG1vZGVsOiBEYXRhVGFibGVFeHBvcnRhYmxlKSA9PiB7XG4gICAgICByZXR1cm4gbW9kZWwudG9EYXRhVGFibGVSb3dzKCkubWFwKChyb3c6IEV4cG9ydFJvdykgPT4ge1xuICAgICAgICBzd2l0Y2ggKHJvdy50eXBlKSB7XG4gICAgICAgICAgY2FzZSBFeHBvcnRSb3dEYXRhVHlwZUVudW0uREFURTpcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybShyb3cuZGF0YSwgJ2RkL01NL1lZWVknKS50b1N0cmluZygpO1xuICAgICAgICAgIGNhc2UgRXhwb3J0Um93RGF0YVR5cGVFbnVtLkNVUlJFTkNZOlxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVuY3lQaXBlLnRyYW5zZm9ybShyb3cuZGF0YSkudG9TdHJpbmcoKTtcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIHJvdy5kYXRhLnRvU3RyaW5nKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -1,7 +0,0 @@
1
- import { ExportRow } from '../models/export/export-row';
2
- /**
3
- * Interface for classes which should implement data-table functionality (like create table rows, columns, e.t.c.)
4
- */
5
- export interface DataTableExportable {
6
- toDataTableRows(): ExportRow[];
7
- }
@@ -1,8 +0,0 @@
1
- /**
2
- * Enum which shows what type (in terms of business logic) of the data-table row item
3
- */
4
- export declare enum ExportRowDataTypeEnum {
5
- STRING = 0,
6
- CURRENCY = 1,
7
- DATE = 2
8
- }
@@ -1,8 +0,0 @@
1
- import { ExportRowDataTypeEnum } from './export-row-data-type.enum';
2
- /**
3
- * Class with structure of the data-table rows
4
- */
5
- export declare class ExportRow {
6
- data: any;
7
- type: ExportRowDataTypeEnum;
8
- }
@@ -1,19 +0,0 @@
1
- import { ExportDataTable } from '../../models/export/export-data-table';
2
- import { DataTableExportable } from '../../interfaces/table-exportable.interface';
3
- import { CurrencyPipe, DatePipe } from '@angular/common';
4
- import * as i0 from "@angular/core";
5
- /**
6
- * Service to handle array-like data table logic
7
- */
8
- export declare class DataTableService {
9
- private currencyPipe;
10
- private datePipe;
11
- constructor(currencyPipe: CurrencyPipe, datePipe: DatePipe);
12
- initDataTable(exportableModels: DataTableExportable[], headerColumns: string[]): ExportDataTable;
13
- /**
14
- * Get data for the exporting table rows
15
- */
16
- private getDataTableRows;
17
- static ɵfac: i0.ɵɵFactoryDeclaration<DataTableService, never>;
18
- static ɵprov: i0.ɵɵInjectableDeclaration<DataTableService>;
19
- }