taxtank-core 0.30.16 → 0.30.17

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.
@@ -0,0 +1,77 @@
1
+ import { Inject, Injectable } from '@angular/core';
2
+ import { BehaviorSubject } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common/http";
5
+ import * as i2 from "../../toast";
6
+ import * as i3 from "../../auth";
7
+ import * as i4 from "@angular/router";
8
+ /**
9
+ * Google instance
10
+ * https://developers.google.com/identity/oauth2/web/guides/overview
11
+ * https://developers.google.com/identity/gsi/web/guides/overview
12
+ */
13
+ export class GoogleService {
14
+ constructor(http, toastService, jwtService, router, environment) {
15
+ this.http = http;
16
+ this.toastService = toastService;
17
+ this.jwtService = jwtService;
18
+ this.router = router;
19
+ this.environment = environment;
20
+ this.isLoggedInSubject = new BehaviorSubject(!this.jwtService.isTokenExpired());
21
+ this.isGoogleEnabled = !!this.environment['googleClientId'];
22
+ // depending on the level of access
23
+ this.googleScope = 'https://www.googleapis.com/auth/userinfo.profile';
24
+ }
25
+ /**
26
+ * prompt for user consent and obtain an access token to work with user data
27
+ * requestAccessToken() method to trigger the token UX flow and obtain an access token.
28
+ * https://developers.google.com/identity/oauth2/web/guides/use-token-model
29
+ */
30
+ // prompt for user consent and obtain an access token to work with user data
31
+ login() {
32
+ return google.accounts.oauth2.initTokenClient({
33
+ client_id: this.environment['googleClientId'],
34
+ scope: this.googleScope,
35
+ callback: (response) => {
36
+ this.setAuth(response.access_token);
37
+ },
38
+ }).requestAccessToken();
39
+ }
40
+ /**
41
+ * requestAccessToken() method to trigger the token UX flow and obtain an access token:
42
+ * Choose their account;
43
+ * sign-in to the Google Account if not already signed-in;
44
+ * grant consent for your web app to access each requested scope.
45
+ */
46
+ setAuth(accessToken, redirectUrl = '/client') {
47
+ this.http.post(`${this.environment.apiV2}/users/authentication/google`, { accessToken })
48
+ .subscribe((response) => {
49
+ this.jwtService.saveTokens(response);
50
+ this.isLoggedInSubject.next(true);
51
+ this.router.navigate([redirectUrl]);
52
+ }, (error) => {
53
+ this.toastService.error(error.error.violations[0].message);
54
+ this.logout();
55
+ });
56
+ }
57
+ /**
58
+ * When the user signs out of your website, you need to call the method
59
+ * google.accounts.id.disableAutoSelect to record the status in cookies.
60
+ * https://developers.google.com/identity/oauth2/web/guides/use-token-model
61
+ */
62
+ logout() {
63
+ google.accounts.id.disableAutoSelect();
64
+ }
65
+ }
66
+ GoogleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: GoogleService, deps: [{ token: i1.HttpClient }, { token: i2.ToastService }, { token: i3.JwtService }, { token: i4.Router }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
67
+ GoogleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: GoogleService, providedIn: 'root' });
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: GoogleService, decorators: [{
69
+ type: Injectable,
70
+ args: [{
71
+ providedIn: 'root'
72
+ }]
73
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.ToastService }, { type: i3.JwtService }, { type: i4.Router }, { type: undefined, decorators: [{
74
+ type: Inject,
75
+ args: ['environment']
76
+ }] }]; } });
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZ2xlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvaHR0cC9nb29nbGUvZ29vZ2xlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7O0FBU3ZDOzs7O0dBSUc7QUFJSCxNQUFNLE9BQU8sYUFBYTtJQU14QixZQUNVLElBQWdCLEVBQ2hCLFlBQTBCLEVBQzFCLFVBQXNCLEVBQ3RCLE1BQWMsRUFDUyxXQUFnQjtRQUp2QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNTLGdCQUFXLEdBQVgsV0FBVyxDQUFLO1FBVmpELHNCQUFpQixHQUFHLElBQUksZUFBZSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDO1FBQzNFLG9CQUFlLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN2RCxtQ0FBbUM7UUFDbkMsZ0JBQVcsR0FBVyxrREFBa0QsQ0FBQTtJQVN4RSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUVILDRFQUE0RTtJQUM1RSxLQUFLO1FBQ0gsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUM7WUFDNUMsU0FBUyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUM7WUFDN0MsS0FBSyxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQ3ZCLFFBQVEsRUFBRSxDQUFDLFFBQWlDLEVBQUUsRUFBRTtnQkFDOUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDdEMsQ0FBQztTQUNGLENBQUMsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNLLE9BQU8sQ0FBQyxXQUFtQixFQUFFLGNBQXNCLFNBQVM7UUFDbEUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssOEJBQThCLEVBQUUsRUFBQyxXQUFXLEVBQUMsQ0FBQzthQUNuRixTQUFTLENBQUMsQ0FBQyxRQUFvQixFQUFFLEVBQUU7WUFDbEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDckMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNsQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDdEMsQ0FBQyxFQUFFLENBQUMsS0FBd0IsRUFBRSxFQUFFO1lBQzlCLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzNELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssTUFBTTtRQUNaLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDekMsQ0FBQzs7MEdBekRVLGFBQWEsd0hBV2QsYUFBYTs4R0FYWixhQUFhLGNBRlosTUFBTTsyRkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBWUksTUFBTTsyQkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3RvYXN0JztcbmltcG9ydCB7IEp3dFNlcnZpY2UgfSBmcm9tICcuLi8uLi9hdXRoJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQXV0aFRva2VucyB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnO1xuXG4vKipcbiAqIGdvb2dsZSBlbnZpcm9ubWVudC4gdXNlIHR5cGU6IEB0eXBlcy9nYXBpLmNsaWVudFxuICogaHR0cHM6Ly93d3cubnBtanMuY29tL3BhY2thZ2UvQHR5cGVzL2dhcGkuY2xpZW50XG4gKi9cbmRlY2xhcmUgbGV0IGdvb2dsZTogYW55O1xuXG4vKipcbiAqIEdvb2dsZSBpbnN0YW5jZVxuICogaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vaWRlbnRpdHkvb2F1dGgyL3dlYi9ndWlkZXMvb3ZlcnZpZXdcbiAqIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL2lkZW50aXR5L2dzaS93ZWIvZ3VpZGVzL292ZXJ2aWV3XG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEdvb2dsZVNlcnZpY2Uge1xuICBpc0xvZ2dlZEluU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3QoIXRoaXMuand0U2VydmljZS5pc1Rva2VuRXhwaXJlZCgpKTtcbiAgaXNHb29nbGVFbmFibGVkID0gISF0aGlzLmVudmlyb25tZW50Wydnb29nbGVDbGllbnRJZCddO1xuICAvLyBkZXBlbmRpbmcgb24gdGhlIGxldmVsIG9mIGFjY2Vzc1xuICBnb29nbGVTY29wZTogc3RyaW5nID0gJ2h0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2F1dGgvdXNlcmluZm8ucHJvZmlsZSdcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSB0b2FzdFNlcnZpY2U6IFRvYXN0U2VydmljZSxcbiAgICBwcml2YXRlIGp3dFNlcnZpY2U6IEp3dFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByaXZhdGUgZW52aXJvbm1lbnQ6IGFueVxuICApIHtcbiAgfVxuXG4gIC8qKlxuICAgKiBwcm9tcHQgZm9yIHVzZXIgY29uc2VudCBhbmQgb2J0YWluIGFuIGFjY2VzcyB0b2tlbiB0byB3b3JrIHdpdGggdXNlciBkYXRhXG4gICAqIHJlcXVlc3RBY2Nlc3NUb2tlbigpIG1ldGhvZCB0byB0cmlnZ2VyIHRoZSB0b2tlbiBVWCBmbG93IGFuZCBvYnRhaW4gYW4gYWNjZXNzIHRva2VuLlxuICAgKiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9pZGVudGl0eS9vYXV0aDIvd2ViL2d1aWRlcy91c2UtdG9rZW4tbW9kZWxcbiAgICovXG5cbiAgLy8gcHJvbXB0IGZvciB1c2VyIGNvbnNlbnQgYW5kIG9idGFpbiBhbiBhY2Nlc3MgdG9rZW4gdG8gd29yayB3aXRoIHVzZXIgZGF0YVxuICBsb2dpbigpOiB2b2lkIHtcbiAgICByZXR1cm4gZ29vZ2xlLmFjY291bnRzLm9hdXRoMi5pbml0VG9rZW5DbGllbnQoe1xuICAgICAgY2xpZW50X2lkOiB0aGlzLmVudmlyb25tZW50Wydnb29nbGVDbGllbnRJZCddLFxuICAgICAgc2NvcGU6IHRoaXMuZ29vZ2xlU2NvcGUsXG4gICAgICBjYWxsYmFjazogKHJlc3BvbnNlIDoge2FjY2Vzc190b2tlbjogc3RyaW5nfSkgPT4ge1xuICAgICAgICB0aGlzLnNldEF1dGgocmVzcG9uc2UuYWNjZXNzX3Rva2VuKTtcbiAgICAgIH0sXG4gICAgfSkucmVxdWVzdEFjY2Vzc1Rva2VuKCk7XG4gIH1cblxuICAvKipcbiAgICogcmVxdWVzdEFjY2Vzc1Rva2VuKCkgbWV0aG9kIHRvIHRyaWdnZXIgdGhlIHRva2VuIFVYIGZsb3cgYW5kIG9idGFpbiBhbiBhY2Nlc3MgdG9rZW46XG4gICAqIENob29zZSB0aGVpciBhY2NvdW50O1xuICAgKiBzaWduLWluIHRvIHRoZSBHb29nbGUgQWNjb3VudCBpZiBub3QgYWxyZWFkeSBzaWduZWQtaW47XG4gICAqIGdyYW50IGNvbnNlbnQgZm9yIHlvdXIgd2ViIGFwcCB0byBhY2Nlc3MgZWFjaCByZXF1ZXN0ZWQgc2NvcGUuXG4gICAqL1xuICBwcml2YXRlIHNldEF1dGgoYWNjZXNzVG9rZW46IHN0cmluZywgcmVkaXJlY3RVcmw6IHN0cmluZyA9ICcvY2xpZW50Jyk6IHZvaWQge1xuICAgIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L3VzZXJzL2F1dGhlbnRpY2F0aW9uL2dvb2dsZWAsIHthY2Nlc3NUb2tlbn0pXG4gICAgICAuc3Vic2NyaWJlKChyZXNwb25zZTogQXV0aFRva2VucykgPT4ge1xuICAgICAgICB0aGlzLmp3dFNlcnZpY2Uuc2F2ZVRva2VucyhyZXNwb25zZSk7XG4gICAgICAgIHRoaXMuaXNMb2dnZWRJblN1YmplY3QubmV4dCh0cnVlKTtcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3JlZGlyZWN0VXJsXSk7XG4gICAgICB9LCAoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XG4gICAgICAgIHRoaXMudG9hc3RTZXJ2aWNlLmVycm9yKGVycm9yLmVycm9yLnZpb2xhdGlvbnNbMF0ubWVzc2FnZSk7XG4gICAgICAgIHRoaXMubG9nb3V0KCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGVuIHRoZSB1c2VyIHNpZ25zIG91dCBvZiB5b3VyIHdlYnNpdGUsIHlvdSBuZWVkIHRvIGNhbGwgdGhlIG1ldGhvZFxuICAgKiBnb29nbGUuYWNjb3VudHMuaWQuZGlzYWJsZUF1dG9TZWxlY3QgdG8gcmVjb3JkIHRoZSBzdGF0dXMgaW4gY29va2llcy5cbiAgICogaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vaWRlbnRpdHkvb2F1dGgyL3dlYi9ndWlkZXMvdXNlLXRva2VuLW1vZGVsXG4gICAqL1xuICBwcml2YXRlIGxvZ291dCgpOiB2b2lkIHtcbiAgICBnb29nbGUuYWNjb3VudHMuaWQuZGlzYWJsZUF1dG9TZWxlY3QoKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export * from './google.service';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvaHR0cC9nb29nbGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZ29vZ2xlLnNlcnZpY2UnO1xuIl19
@@ -5,6 +5,7 @@ export * from './chat';
5
5
  export * from './depreciation';
6
6
  export * from './document';
7
7
  export * from './facebook';
8
+ export * from './google';
8
9
  export * from './file';
9
10
  export * from './firm';
10
11
  export * from './income-source';
@@ -22,4 +23,4 @@ export * from './tutorial-video';
22
23
  export * from './vehicle';
23
24
  export * from './user';
24
25
  export * from './document';
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvaHR0cC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFdBQVcsQ0FBQztBQUUxQixjQUFjLFFBQVEsQ0FBQztBQUV2QixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsUUFBUSxDQUFDO0FBRXZCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxZQUFZLENBQUM7QUFFM0IsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxRQUFRLENBQUM7QUFFdkIsY0FBYyxpQkFBaUIsQ0FBQztBQUVoQyxjQUFjLFFBQVEsQ0FBQztBQUV2QixjQUFjLFlBQVksQ0FBQztBQUUzQixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLFFBQVEsQ0FBQztBQUV2QixjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsZ0JBQWdCLENBQUM7QUFFL0IsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxrQkFBa0IsQ0FBQztBQUVqQyxjQUFjLFdBQVcsQ0FBQztBQUUxQixjQUFjLFFBQVEsQ0FBQztBQUV2QixjQUFjLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYWRkcmVzcyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vYmFuayc7XG5cbmV4cG9ydCAqIGZyb20gJy4vY2hhcnQtYWNjb3VudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9jaGF0JztcblxuZXhwb3J0ICogZnJvbSAnLi9kZXByZWNpYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9kb2N1bWVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZmFjZWJvb2snO1xuZXhwb3J0ICogZnJvbSAnLi9maWxlJztcbmV4cG9ydCAqIGZyb20gJy4vZmlybSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vaW5jb21lLXNvdXJjZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbG9hbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vcHJvcGVydHknO1xuXG5leHBvcnQgKiBmcm9tICcuL3JlY2VpcHQnO1xuZXhwb3J0ICogZnJvbSAnLi9yZXN0JztcblxuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlLW5vdGlmaWNhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL3NvbGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zdWJzY3JpcHRpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL3RheC1yZXZpZXcnO1xuZXhwb3J0ICogZnJvbSAnLi90YXgtc3VtbWFyeSc7XG5leHBvcnQgKiBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vdHV0b3JpYWwtdmlkZW8nO1xuXG5leHBvcnQgKiBmcm9tICcuL3ZlaGljbGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL3VzZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL2RvY3VtZW50JztcbiJdfQ==
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvaHR0cC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFdBQVcsQ0FBQztBQUUxQixjQUFjLFFBQVEsQ0FBQztBQUV2QixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsUUFBUSxDQUFDO0FBRXZCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxZQUFZLENBQUM7QUFFM0IsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxRQUFRLENBQUM7QUFFdkIsY0FBYyxpQkFBaUIsQ0FBQztBQUVoQyxjQUFjLFFBQVEsQ0FBQztBQUV2QixjQUFjLFlBQVksQ0FBQztBQUUzQixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLFFBQVEsQ0FBQztBQUV2QixjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsZ0JBQWdCLENBQUM7QUFFL0IsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxrQkFBa0IsQ0FBQztBQUVqQyxjQUFjLFdBQVcsQ0FBQztBQUUxQixjQUFjLFFBQVEsQ0FBQztBQUV2QixjQUFjLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYWRkcmVzcyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vYmFuayc7XG5cbmV4cG9ydCAqIGZyb20gJy4vY2hhcnQtYWNjb3VudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9jaGF0JztcblxuZXhwb3J0ICogZnJvbSAnLi9kZXByZWNpYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9kb2N1bWVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZmFjZWJvb2snO1xuZXhwb3J0ICogZnJvbSAnLi9nb29nbGUnO1xuZXhwb3J0ICogZnJvbSAnLi9maWxlJztcbmV4cG9ydCAqIGZyb20gJy4vZmlybSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vaW5jb21lLXNvdXJjZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbG9hbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vcHJvcGVydHknO1xuXG5leHBvcnQgKiBmcm9tICcuL3JlY2VpcHQnO1xuZXhwb3J0ICogZnJvbSAnLi9yZXN0JztcblxuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlLW5vdGlmaWNhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL3NvbGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zdWJzY3JpcHRpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL3RheC1yZXZpZXcnO1xuZXhwb3J0ICogZnJvbSAnLi90YXgtc3VtbWFyeSc7XG5leHBvcnQgKiBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vdHV0b3JpYWwtdmlkZW8nO1xuXG5leHBvcnQgKiBmcm9tICcuL3ZlaGljbGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL3VzZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL2RvY3VtZW50JztcbiJdfQ==
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Injectable, Inject, NgModule, EventEmitter } from '@angular/core';
3
- import * as i1$2 from '@angular/common';
3
+ import * as i1$1 from '@angular/common';
4
4
  import { CommonModule, DatePipe } from '@angular/common';
5
5
  import * as i1 from '@angular/common/http';
6
6
  import { HttpParams, HttpErrorResponse, HTTP_INTERCEPTORS } from '@angular/common/http';
@@ -26,7 +26,7 @@ import cloneDeep$1 from 'lodash/cloneDeep';
26
26
  import clone from 'lodash/clone';
27
27
  import { EventSourcePolyfill } from 'event-source-polyfill/src/eventsource.min.js';
28
28
  import { throwError as throwError$1 } from 'rxjs/internal/observable/throwError';
29
- import * as i1$1 from '@angular/router';
29
+ import * as i4 from '@angular/router';
30
30
  import { NavigationEnd } from '@angular/router';
31
31
  import _ from 'lodash';
32
32
  import merge from 'lodash/merge';
@@ -12416,7 +12416,7 @@ FacebookService.authOptions = {
12416
12416
  auth_type: 'rerequest',
12417
12417
  return_scopes: true
12418
12418
  };
12419
- FacebookService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: FacebookService, deps: [{ token: i1.HttpClient }, { token: ToastService }, { token: JwtService }, { token: i1$1.Router }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
12419
+ FacebookService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: FacebookService, deps: [{ token: i1.HttpClient }, { token: ToastService }, { token: JwtService }, { token: i4.Router }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
12420
12420
  FacebookService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: FacebookService, providedIn: 'root' });
12421
12421
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: FacebookService, decorators: [{
12422
12422
  type: Injectable,
@@ -12424,7 +12424,79 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImpor
12424
12424
  providedIn: 'root'
12425
12425
  }]
12426
12426
  }], ctorParameters: function () {
12427
- return [{ type: i1.HttpClient }, { type: ToastService }, { type: JwtService }, { type: i1$1.Router }, { type: undefined, decorators: [{
12427
+ return [{ type: i1.HttpClient }, { type: ToastService }, { type: JwtService }, { type: i4.Router }, { type: undefined, decorators: [{
12428
+ type: Inject,
12429
+ args: ['environment']
12430
+ }] }];
12431
+ } });
12432
+
12433
+ /**
12434
+ * Google instance
12435
+ * https://developers.google.com/identity/oauth2/web/guides/overview
12436
+ * https://developers.google.com/identity/gsi/web/guides/overview
12437
+ */
12438
+ class GoogleService {
12439
+ constructor(http, toastService, jwtService, router, environment) {
12440
+ this.http = http;
12441
+ this.toastService = toastService;
12442
+ this.jwtService = jwtService;
12443
+ this.router = router;
12444
+ this.environment = environment;
12445
+ this.isLoggedInSubject = new BehaviorSubject(!this.jwtService.isTokenExpired());
12446
+ this.isGoogleEnabled = !!this.environment['googleClientId'];
12447
+ // depending on the level of access
12448
+ this.googleScope = 'https://www.googleapis.com/auth/userinfo.profile';
12449
+ }
12450
+ /**
12451
+ * prompt for user consent and obtain an access token to work with user data
12452
+ * requestAccessToken() method to trigger the token UX flow and obtain an access token.
12453
+ * https://developers.google.com/identity/oauth2/web/guides/use-token-model
12454
+ */
12455
+ // prompt for user consent and obtain an access token to work with user data
12456
+ login() {
12457
+ return google.accounts.oauth2.initTokenClient({
12458
+ client_id: this.environment['googleClientId'],
12459
+ scope: this.googleScope,
12460
+ callback: (response) => {
12461
+ this.setAuth(response.access_token);
12462
+ },
12463
+ }).requestAccessToken();
12464
+ }
12465
+ /**
12466
+ * requestAccessToken() method to trigger the token UX flow and obtain an access token:
12467
+ * Choose their account;
12468
+ * sign-in to the Google Account if not already signed-in;
12469
+ * grant consent for your web app to access each requested scope.
12470
+ */
12471
+ setAuth(accessToken, redirectUrl = '/client') {
12472
+ this.http.post(`${this.environment.apiV2}/users/authentication/google`, { accessToken })
12473
+ .subscribe((response) => {
12474
+ this.jwtService.saveTokens(response);
12475
+ this.isLoggedInSubject.next(true);
12476
+ this.router.navigate([redirectUrl]);
12477
+ }, (error) => {
12478
+ this.toastService.error(error.error.violations[0].message);
12479
+ this.logout();
12480
+ });
12481
+ }
12482
+ /**
12483
+ * When the user signs out of your website, you need to call the method
12484
+ * google.accounts.id.disableAutoSelect to record the status in cookies.
12485
+ * https://developers.google.com/identity/oauth2/web/guides/use-token-model
12486
+ */
12487
+ logout() {
12488
+ google.accounts.id.disableAutoSelect();
12489
+ }
12490
+ }
12491
+ GoogleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: GoogleService, deps: [{ token: i1.HttpClient }, { token: ToastService }, { token: JwtService }, { token: i4.Router }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
12492
+ GoogleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: GoogleService, providedIn: 'root' });
12493
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: GoogleService, decorators: [{
12494
+ type: Injectable,
12495
+ args: [{
12496
+ providedIn: 'root'
12497
+ }]
12498
+ }], ctorParameters: function () {
12499
+ return [{ type: i1.HttpClient }, { type: ToastService }, { type: JwtService }, { type: i4.Router }, { type: undefined, decorators: [{
12428
12500
  type: Inject,
12429
12501
  args: ['environment']
12430
12502
  }] }];
@@ -15625,14 +15697,14 @@ class ExportFormatterService {
15625
15697
  }));
15626
15698
  }
15627
15699
  }
15628
- ExportFormatterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ExportFormatterService, deps: [{ token: i1$2.CurrencyPipe }, { token: i1$2.DatePipe }], target: i0.ɵɵFactoryTarget.Injectable });
15700
+ ExportFormatterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ExportFormatterService, deps: [{ token: i1$1.CurrencyPipe }, { token: i1$1.DatePipe }], target: i0.ɵɵFactoryTarget.Injectable });
15629
15701
  ExportFormatterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ExportFormatterService, providedIn: 'root' });
15630
15702
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ExportFormatterService, decorators: [{
15631
15703
  type: Injectable,
15632
15704
  args: [{
15633
15705
  providedIn: 'root'
15634
15706
  }]
15635
- }], ctorParameters: function () { return [{ type: i1$2.CurrencyPipe }, { type: i1$2.DatePipe }]; } });
15707
+ }], ctorParameters: function () { return [{ type: i1$1.CurrencyPipe }, { type: i1$1.DatePipe }]; } });
15636
15708
 
15637
15709
  class HeaderTitleService {
15638
15710
  constructor(router, activatedRoute) {
@@ -15648,14 +15720,14 @@ class HeaderTitleService {
15648
15720
  }), filter((route) => route.outlet === 'primary'), mergeMap((route) => route.data));
15649
15721
  }
15650
15722
  }
15651
- HeaderTitleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: HeaderTitleService, deps: [{ token: i1$1.Router }, { token: i1$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Injectable });
15723
+ HeaderTitleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: HeaderTitleService, deps: [{ token: i4.Router }, { token: i4.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Injectable });
15652
15724
  HeaderTitleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: HeaderTitleService, providedIn: 'root' });
15653
15725
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: HeaderTitleService, decorators: [{
15654
15726
  type: Injectable,
15655
15727
  args: [{
15656
15728
  providedIn: 'root'
15657
15729
  }]
15658
- }], ctorParameters: function () { return [{ type: i1$1.Router }, { type: i1$1.ActivatedRoute }]; } });
15730
+ }], ctorParameters: function () { return [{ type: i4.Router }, { type: i4.ActivatedRoute }]; } });
15659
15731
 
15660
15732
  /**
15661
15733
  * Service to work with intercom
@@ -18953,5 +19025,5 @@ class DepreciationForm extends TransactionBaseForm {
18953
19025
  * Generated bundle index. Do not edit.
18954
19026
  */
18955
19027
 
18956
- export { AbstractForm, AbstractModel, AccountSetupItem, AccountSetupItemCollection, AccountSetupService, Address, AddressForm, AddressService, AddressTypeEnum, AllocationGroup, AllocationGroupCollection, AlphabetColorsEnum, AnnualFrequencyEnum, AppEvent, AppEvent2, AppEventTypeEnum, AppFile, AssetEntityTypeEnum, AssetTypeEnum, AssetsService, AuthService, BANK_ACCOUNT_TYPES, Badge, BadgeColorEnum, Bank, BankAccount, BankAccountAddManualForm, BankAccountAllocationForm, BankAccountCalculationService, BankAccountChartData, BankAccountCollection, BankAccountImportForm, BankAccountPropertiesForm, BankAccountProperty, BankAccountService, BankAccountStatusEnum, BankAccountTypeEnum, BankAccountsImportForm, BankConnection, BankConnectionService, BankConnectionStatusEnum, BankExternalStats, BankLoginData, BankLoginForm, BankService, BankTransaction, BankTransactionCalculationService, BankTransactionChartData, BankTransactionCollection, BankTransactionService, BankTransactionSummaryFieldsEnum, BankTransactionTypeEnum, BasReport, BasReportForm, BasReportService, BasiqConfig, BasiqJob, BasiqJobResponse, BasiqJobStep, BasiqService, BasiqToken, BasiqTokenService, BorrowingExpense, BorrowingExpenseLoan, BorrowingExpenseService, BusinessTypeEnum, CAPITAL_COSTS_ITEMS, CHART_ACCOUNTS_CATEGORIES, CalculationFormItem, CalculationFormTypeEnum, CgtExemptionAndRolloverCodeEnum, ChartAccounts, ChartAccountsCategoryECollection, ChartAccountsCategoryEnum, ChartAccountsCollection, ChartAccountsDepreciation, ChartAccountsDepreciationService, ChartAccountsEtpEnum, ChartAccountsHeading, ChartAccountsHeadingListEnum, ChartAccountsHeadingTaxDeductibleEnum, ChartAccountsHeadingTaxableEnum, ChartAccountsHeadingVehicleListEnum, ChartAccountsKeepSign, ChartAccountsListEnum, ChartAccountsMetadata, ChartAccountsMetadataListEnum, ChartAccountsMetadataTypeEnum, ChartAccountsSalaryAdjustmentsListEnum, ChartAccountsSalaryIncludedListEnum, ChartAccountsService, ChartAccountsTaxLabelsEnum, ChartAccountsTypeEnum, ChartAccountsValue, ChartData, ChartSerie, Chat, ChatCollection, ChatService, ChatStatusEnum, ChatViewTypeEnum, ClientCollection, ClientDetails, ClientDetailsMedicareExemptionEnum, ClientDetailsWorkDepreciationCalculationEnum, ClientDetailsWorkingHolidayMakerEnum, ClientIncomeTypes, ClientIncomeTypesForm, ClientIncomeTypesService, ClientInvite, ClientInviteCollection, ClientInviteService, ClientInviteStatusEnum, ClientInviteTypeEnum, ClientMovement, ClientMovementCollection, ClientMovementService, ClientPortfolioChartData, ClientPortfolioReport, ClientPortfolioReportCollection, ClientPortfolioReportService, Collection, CollectionDictionary, CorelogicService, CorelogicSuggestion, Country, DEDUCTION_CATEGORIES, DEPRECIATION_GROUPS, DOCUMENT_FILE_TYPES, DeductionClothingTypeEnum, DeductionSelfEducationTypeEnum, Depreciation, DepreciationCalculationEnum, DepreciationCalculationPercentEnum, DepreciationCapitalProject, DepreciationCapitalProjectService, DepreciationCollection, DepreciationForecast, DepreciationForecastCollection, DepreciationForm, DepreciationGroup, DepreciationGroupEnum, DepreciationGroupItem, DepreciationLvpAssetTypeEnum, DepreciationLvpRateEnum, DepreciationLvpReportItem, DepreciationLvpReportItemCollection, DepreciationReceipt, DepreciationReceiptService, DepreciationReportItem, DepreciationReportItemCollection, DepreciationService, DepreciationTypeEnum, DepreciationWriteOffAmountEnum, Dictionary, Document, DocumentApiUrlPrefixEnum, DocumentFolder, DocumentFolderService, DocumentService, DocumentTypeEnum, ENDPOINTS, EmployeeCollection, EmployeeDetails, EmployeeInvite, EmployeeInviteService, EmployeeService, Endpoint, EquityPositionChartService, EventDispatcherService, ExportDataTable, ExportFormatEnum, ExportFormatterService, ExportableCollection, FacebookService, FileService, FileValidator, FinancialYear, Firm, FirmService, FirmTypeEnum, FormValidationsEnum, HeaderTitleService, IconsFileEnum, IncomeAmountTypeEnum, IncomePosition, IncomeSource, IncomeSourceChartData, IncomeSourceCollection, IncomeSourceForecast, IncomeSourceForecastService, IncomeSourceForecastTrustTypeEnum, IncomeSourceService, IncomeSourceType, IncomeSourceTypeEnum, IncomeSourceTypeListOtherEnum, IncomeSourceTypeListSoleEnum, IncomeSourceTypeListWorkEnum, InterceptorsModule, IntercomService, InviteStatusEnum, JsPdf, JwtService, Loan, LoanBankTypeEnum, LoanCollection, LoanForm, LoanFrequencyEnum, LoanInterestTypeEnum, LoanMaxNumberOfPaymentsEnum, LoanPayment, LoanPaymentCollection, LoanPayout, LoanPayoutTypeEnum, LoanRepaymentFrequencyEnum, LoanRepaymentTypeEnum, LoanService, LoanTypeEnum, LoanVehicleTypeEnum, LogbookBestPeriodService, LogbookPeriod, LoginForm, LossTypeEnum, MODULE_URL_LIST, MONTHS, Message, MessageCollection, MessageDocument, MessageDocumentCollection, MessageDocumentService, MessageService, MonthNameShortEnum, MonthNumberEnum, MyAccountHistory, MyAccountHistoryInitiatedByEnum, MyAccountHistoryStatusEnum, MyAccountHistoryTypeEnum, MyTaxBusinessDetails, MyTaxBusinessDetailsForm, MyTaxBusinessIncome, MyTaxBusinessIncomeForm, MyTaxBusinessIncomeOrLossesForm, MyTaxBusinessLosses, MyTaxBusinessLossesForm, MyTaxCgt, MyTaxCgtForm, MyTaxDeductions, MyTaxDeductionsForm, MyTaxDividends, MyTaxDividendsForm, MyTaxEstimate, MyTaxIncomeStatements, MyTaxIncomeStatementsForm, MyTaxIncomeTests, MyTaxIncomeTestsForm, MyTaxInterest, MyTaxInterestForm, MyTaxLosses, MyTaxLossesForm, MyTaxMedicareForm, MyTaxOffsets, MyTaxOffsetsForm, MyTaxOtherIncome, MyTaxOtherIncomeForm, MyTaxPartnershipsAndTrusts, MyTaxPartnershipsAndTrustsForm, MyTaxRent, MyTaxRentForm, Notification, Occupation, OccupationService, PASSWORD_REGEXPS, PasswordForm, PdfFromDataTableService, PdfFromDomElementService, PdfFromHtmlTableService, PdfFromTableService, PdfOrientationEnum, PdfSettings, Phone, PhoneForm, PhoneTypeEnum, PreloaderService, Property, PropertyCalculationService, PropertyCategory, PropertyCategoryListEnum, PropertyCategoryMovement, PropertyCategoryMovementCollection, PropertyCategoryMovementService, PropertyCategoryService, PropertyCollection, PropertyDepreciationCalculationEnum, PropertyDocument, PropertyDocumentService, PropertyEquityChartData, PropertyEquityChartItem, PropertyEquityChartTypeEnum, PropertyForecast, PropertyReportItem, PropertyReportItemCollection, PropertyReportItemDepreciation, PropertyReportItemDepreciationCollection, PropertyReportItemTransaction, PropertyReportItemTransactionCollection, PropertySale, PropertySaleCollection, PropertySaleCostBase, PropertySaleCostBaseForm, PropertySaleCostSaleForm, PropertySaleExemptionsForm, PropertySaleService, PropertySaleTaxExemptionMetadata, PropertySaleTaxExemptionMetadataCollection, PropertyService, PropertyShare, PropertyShareAccessEnum, PropertyShareCollection, PropertyShareService, PropertyShareStatusEnum, PropertySubscription, PropertyTransactionReportService, PropertyValuation, ReceiptService, RegisterClientForm, RegisterFirmForm, RegistrationInvite, RegistrationInviteStatusEnum, ReportItem, ReportItemCollection, ReportItemDetails, ResetPasswordForm, RestService$1 as RestService, RewardfulService, SalaryForecast, SalaryForecastFrequencyEnum, SalaryForecastService, ServiceNotificationService, ServiceNotificationStatusEnum, ServiceNotificationTypeEnum, ServicePayment, ServicePaymentMethod, ServicePaymentMethodService, ServicePaymentService, ServicePaymentStatusEnum, ServicePrice, ServicePriceCollection, ServicePriceRecurringIntervalEnum, ServicePriceService, ServicePriceTypeEnum, ServiceProduct, ServiceProductCollection, ServiceProductIdEnum, ServiceProductService, ServiceProductStatusEnum, ServiceSubscription, ServiceSubscriptionCollection, ServiceSubscriptionItem, ServiceSubscriptionStatusEnum, ShareFilterOptionsEnum, SoleBusiness, SoleBusinessActivity, SoleBusinessActivityService, SoleBusinessAllocation, SoleBusinessAllocationsForm, SoleBusinessForm, SoleBusinessLoss, SoleBusinessLossForm, SoleBusinessLossOffsetRule, SoleBusinessLossOffsetRuleService, SoleBusinessLossReport, SoleBusinessLossService, SoleBusinessLossesCollection, SoleBusinessService, SoleContact, SoleContactForm, SoleContactService, SoleDepreciationMethod, SoleDepreciationMethodEnum, SoleDepreciationMethodForm, SoleDepreciationMethodService, SoleDetails, SoleDetailsForm, SoleDetailsService, SoleForecast, SoleForecastService, SoleInvoice, SoleInvoiceCollection, SoleInvoiceForm, SoleInvoiceItem, SoleInvoiceItemCollection, SoleInvoiceItemForm, SoleInvoiceService, SoleInvoiceStatusesEnum, SoleInvoiceTaxTypeEnum, SoleInvoiceTemplate, SoleInvoiceTemplateForm, SoleInvoiceTemplateService, SoleInvoiceTemplateTaxTypeEnum, SpareDocumentSpareTypeEnum, SseService, StatesEnum, StripePromoCode, SubscriptionItemCollection, SubscriptionService, TAX_RETURN_CATEGORIES, TYPE_LOAN, TankTypeEnum, TaxCalculationMedicareExemptionEnum, TaxCalculationTypeEnum, TaxExemption, TaxExemptionEnum, TaxExemptionMetadata, TaxExemptionMetadataEnum, TaxExemptionService, TaxReturnCategoryListEnum, TaxReturnCategorySectionEnum, TaxReview, TaxReviewCollection, TaxReviewHistoryService, TaxReviewService, TaxReviewStatusEnum, TaxSummary, TaxSummaryListEnum, TaxSummarySection, TaxSummarySectionEnum, TaxSummaryService, TaxSummaryTaxSummaryEnum, TaxSummaryTypeEnum, TicketFeedbackEnum, TicketStatusEnum, TicketTypesEnum, Toast, ToastService, ToastTypeEnum, Transaction, TransactionAllocation, TransactionAllocationCollection, TransactionAllocationService, TransactionBase, TransactionBaseForm, TransactionCalculationService, TransactionCategoryEnum, TransactionCollection, TransactionForm, TransactionMetadata, TransactionOperationEnum, TransactionReceipt, TransactionReceiptService, TransactionService, TransactionSourceEnum, TransactionTypeEnum, TtCoreModule, TutorialVideoService, USER_ROLES, USER_WORK_POSITION, User, UserEventSetting, UserEventSettingCollection, UserEventSettingFieldEnum, UserEventSettingService, UserEventStatusEnum, UserEventType, UserEventTypeCategory, UserEventTypeClientTypeEnum, UserEventTypeCollection, UserEventTypeEmployeeTypeEnum, UserEventTypeFrequencyEnum, UserEventTypeService, UserEventTypeUserTypeEnum, UserInviteForm, UserMedicareExemptionEnum, UserRolesEnum, UserService, UserStatusEnum, UserSwitcherService, UserTitleEnum, UserToRegister, UserWorkDepreciationCalculationEnum, UserWorkingHolidayMakerEnum, UsersInviteService, Vehicle, VehicleClaim, VehicleClaimCollection, VehicleClaimDetails, VehicleClaimDetailsForm, VehicleClaimDetailsMethodEnum, VehicleClaimDetailsService, VehicleClaimForm, VehicleClaimService, VehicleExpense, VehicleExpenseCollection, VehicleForm, VehicleLogbook, VehicleLogbookCollection, VehicleLogbookForm, VehicleLogbookPurposeEnum, VehicleLogbookService, VehicleService, WorkExpenseForm, WorkIncomeForm, XlsxService, atLeastOneCheckedValidator, atoLinks, autocompleteValidator, cloneDeep, compare, compareMatOptions, conditionalValidator, createDate, currentFinYearValidator, displayMatOptions, enumToList, fieldsSumValidator, getDocIcon, minDateValidator, passwordMatchValidator, passwordValidator, replace, roundTo, sort, sortDeep, taxReviewFilterPredicate, toArray };
19028
+ export { AbstractForm, AbstractModel, AccountSetupItem, AccountSetupItemCollection, AccountSetupService, Address, AddressForm, AddressService, AddressTypeEnum, AllocationGroup, AllocationGroupCollection, AlphabetColorsEnum, AnnualFrequencyEnum, AppEvent, AppEvent2, AppEventTypeEnum, AppFile, AssetEntityTypeEnum, AssetTypeEnum, AssetsService, AuthService, BANK_ACCOUNT_TYPES, Badge, BadgeColorEnum, Bank, BankAccount, BankAccountAddManualForm, BankAccountAllocationForm, BankAccountCalculationService, BankAccountChartData, BankAccountCollection, BankAccountImportForm, BankAccountPropertiesForm, BankAccountProperty, BankAccountService, BankAccountStatusEnum, BankAccountTypeEnum, BankAccountsImportForm, BankConnection, BankConnectionService, BankConnectionStatusEnum, BankExternalStats, BankLoginData, BankLoginForm, BankService, BankTransaction, BankTransactionCalculationService, BankTransactionChartData, BankTransactionCollection, BankTransactionService, BankTransactionSummaryFieldsEnum, BankTransactionTypeEnum, BasReport, BasReportForm, BasReportService, BasiqConfig, BasiqJob, BasiqJobResponse, BasiqJobStep, BasiqService, BasiqToken, BasiqTokenService, BorrowingExpense, BorrowingExpenseLoan, BorrowingExpenseService, BusinessTypeEnum, CAPITAL_COSTS_ITEMS, CHART_ACCOUNTS_CATEGORIES, CalculationFormItem, CalculationFormTypeEnum, CgtExemptionAndRolloverCodeEnum, ChartAccounts, ChartAccountsCategoryECollection, ChartAccountsCategoryEnum, ChartAccountsCollection, ChartAccountsDepreciation, ChartAccountsDepreciationService, ChartAccountsEtpEnum, ChartAccountsHeading, ChartAccountsHeadingListEnum, ChartAccountsHeadingTaxDeductibleEnum, ChartAccountsHeadingTaxableEnum, ChartAccountsHeadingVehicleListEnum, ChartAccountsKeepSign, ChartAccountsListEnum, ChartAccountsMetadata, ChartAccountsMetadataListEnum, ChartAccountsMetadataTypeEnum, ChartAccountsSalaryAdjustmentsListEnum, ChartAccountsSalaryIncludedListEnum, ChartAccountsService, ChartAccountsTaxLabelsEnum, ChartAccountsTypeEnum, ChartAccountsValue, ChartData, ChartSerie, Chat, ChatCollection, ChatService, ChatStatusEnum, ChatViewTypeEnum, ClientCollection, ClientDetails, ClientDetailsMedicareExemptionEnum, ClientDetailsWorkDepreciationCalculationEnum, ClientDetailsWorkingHolidayMakerEnum, ClientIncomeTypes, ClientIncomeTypesForm, ClientIncomeTypesService, ClientInvite, ClientInviteCollection, ClientInviteService, ClientInviteStatusEnum, ClientInviteTypeEnum, ClientMovement, ClientMovementCollection, ClientMovementService, ClientPortfolioChartData, ClientPortfolioReport, ClientPortfolioReportCollection, ClientPortfolioReportService, Collection, CollectionDictionary, CorelogicService, CorelogicSuggestion, Country, DEDUCTION_CATEGORIES, DEPRECIATION_GROUPS, DOCUMENT_FILE_TYPES, DeductionClothingTypeEnum, DeductionSelfEducationTypeEnum, Depreciation, DepreciationCalculationEnum, DepreciationCalculationPercentEnum, DepreciationCapitalProject, DepreciationCapitalProjectService, DepreciationCollection, DepreciationForecast, DepreciationForecastCollection, DepreciationForm, DepreciationGroup, DepreciationGroupEnum, DepreciationGroupItem, DepreciationLvpAssetTypeEnum, DepreciationLvpRateEnum, DepreciationLvpReportItem, DepreciationLvpReportItemCollection, DepreciationReceipt, DepreciationReceiptService, DepreciationReportItem, DepreciationReportItemCollection, DepreciationService, DepreciationTypeEnum, DepreciationWriteOffAmountEnum, Dictionary, Document, DocumentApiUrlPrefixEnum, DocumentFolder, DocumentFolderService, DocumentService, DocumentTypeEnum, ENDPOINTS, EmployeeCollection, EmployeeDetails, EmployeeInvite, EmployeeInviteService, EmployeeService, Endpoint, EquityPositionChartService, EventDispatcherService, ExportDataTable, ExportFormatEnum, ExportFormatterService, ExportableCollection, FacebookService, FileService, FileValidator, FinancialYear, Firm, FirmService, FirmTypeEnum, FormValidationsEnum, GoogleService, HeaderTitleService, IconsFileEnum, IncomeAmountTypeEnum, IncomePosition, IncomeSource, IncomeSourceChartData, IncomeSourceCollection, IncomeSourceForecast, IncomeSourceForecastService, IncomeSourceForecastTrustTypeEnum, IncomeSourceService, IncomeSourceType, IncomeSourceTypeEnum, IncomeSourceTypeListOtherEnum, IncomeSourceTypeListSoleEnum, IncomeSourceTypeListWorkEnum, InterceptorsModule, IntercomService, InviteStatusEnum, JsPdf, JwtService, Loan, LoanBankTypeEnum, LoanCollection, LoanForm, LoanFrequencyEnum, LoanInterestTypeEnum, LoanMaxNumberOfPaymentsEnum, LoanPayment, LoanPaymentCollection, LoanPayout, LoanPayoutTypeEnum, LoanRepaymentFrequencyEnum, LoanRepaymentTypeEnum, LoanService, LoanTypeEnum, LoanVehicleTypeEnum, LogbookBestPeriodService, LogbookPeriod, LoginForm, LossTypeEnum, MODULE_URL_LIST, MONTHS, Message, MessageCollection, MessageDocument, MessageDocumentCollection, MessageDocumentService, MessageService, MonthNameShortEnum, MonthNumberEnum, MyAccountHistory, MyAccountHistoryInitiatedByEnum, MyAccountHistoryStatusEnum, MyAccountHistoryTypeEnum, MyTaxBusinessDetails, MyTaxBusinessDetailsForm, MyTaxBusinessIncome, MyTaxBusinessIncomeForm, MyTaxBusinessIncomeOrLossesForm, MyTaxBusinessLosses, MyTaxBusinessLossesForm, MyTaxCgt, MyTaxCgtForm, MyTaxDeductions, MyTaxDeductionsForm, MyTaxDividends, MyTaxDividendsForm, MyTaxEstimate, MyTaxIncomeStatements, MyTaxIncomeStatementsForm, MyTaxIncomeTests, MyTaxIncomeTestsForm, MyTaxInterest, MyTaxInterestForm, MyTaxLosses, MyTaxLossesForm, MyTaxMedicareForm, MyTaxOffsets, MyTaxOffsetsForm, MyTaxOtherIncome, MyTaxOtherIncomeForm, MyTaxPartnershipsAndTrusts, MyTaxPartnershipsAndTrustsForm, MyTaxRent, MyTaxRentForm, Notification, Occupation, OccupationService, PASSWORD_REGEXPS, PasswordForm, PdfFromDataTableService, PdfFromDomElementService, PdfFromHtmlTableService, PdfFromTableService, PdfOrientationEnum, PdfSettings, Phone, PhoneForm, PhoneTypeEnum, PreloaderService, Property, PropertyCalculationService, PropertyCategory, PropertyCategoryListEnum, PropertyCategoryMovement, PropertyCategoryMovementCollection, PropertyCategoryMovementService, PropertyCategoryService, PropertyCollection, PropertyDepreciationCalculationEnum, PropertyDocument, PropertyDocumentService, PropertyEquityChartData, PropertyEquityChartItem, PropertyEquityChartTypeEnum, PropertyForecast, PropertyReportItem, PropertyReportItemCollection, PropertyReportItemDepreciation, PropertyReportItemDepreciationCollection, PropertyReportItemTransaction, PropertyReportItemTransactionCollection, PropertySale, PropertySaleCollection, PropertySaleCostBase, PropertySaleCostBaseForm, PropertySaleCostSaleForm, PropertySaleExemptionsForm, PropertySaleService, PropertySaleTaxExemptionMetadata, PropertySaleTaxExemptionMetadataCollection, PropertyService, PropertyShare, PropertyShareAccessEnum, PropertyShareCollection, PropertyShareService, PropertyShareStatusEnum, PropertySubscription, PropertyTransactionReportService, PropertyValuation, ReceiptService, RegisterClientForm, RegisterFirmForm, RegistrationInvite, RegistrationInviteStatusEnum, ReportItem, ReportItemCollection, ReportItemDetails, ResetPasswordForm, RestService$1 as RestService, RewardfulService, SalaryForecast, SalaryForecastFrequencyEnum, SalaryForecastService, ServiceNotificationService, ServiceNotificationStatusEnum, ServiceNotificationTypeEnum, ServicePayment, ServicePaymentMethod, ServicePaymentMethodService, ServicePaymentService, ServicePaymentStatusEnum, ServicePrice, ServicePriceCollection, ServicePriceRecurringIntervalEnum, ServicePriceService, ServicePriceTypeEnum, ServiceProduct, ServiceProductCollection, ServiceProductIdEnum, ServiceProductService, ServiceProductStatusEnum, ServiceSubscription, ServiceSubscriptionCollection, ServiceSubscriptionItem, ServiceSubscriptionStatusEnum, ShareFilterOptionsEnum, SoleBusiness, SoleBusinessActivity, SoleBusinessActivityService, SoleBusinessAllocation, SoleBusinessAllocationsForm, SoleBusinessForm, SoleBusinessLoss, SoleBusinessLossForm, SoleBusinessLossOffsetRule, SoleBusinessLossOffsetRuleService, SoleBusinessLossReport, SoleBusinessLossService, SoleBusinessLossesCollection, SoleBusinessService, SoleContact, SoleContactForm, SoleContactService, SoleDepreciationMethod, SoleDepreciationMethodEnum, SoleDepreciationMethodForm, SoleDepreciationMethodService, SoleDetails, SoleDetailsForm, SoleDetailsService, SoleForecast, SoleForecastService, SoleInvoice, SoleInvoiceCollection, SoleInvoiceForm, SoleInvoiceItem, SoleInvoiceItemCollection, SoleInvoiceItemForm, SoleInvoiceService, SoleInvoiceStatusesEnum, SoleInvoiceTaxTypeEnum, SoleInvoiceTemplate, SoleInvoiceTemplateForm, SoleInvoiceTemplateService, SoleInvoiceTemplateTaxTypeEnum, SpareDocumentSpareTypeEnum, SseService, StatesEnum, StripePromoCode, SubscriptionItemCollection, SubscriptionService, TAX_RETURN_CATEGORIES, TYPE_LOAN, TankTypeEnum, TaxCalculationMedicareExemptionEnum, TaxCalculationTypeEnum, TaxExemption, TaxExemptionEnum, TaxExemptionMetadata, TaxExemptionMetadataEnum, TaxExemptionService, TaxReturnCategoryListEnum, TaxReturnCategorySectionEnum, TaxReview, TaxReviewCollection, TaxReviewHistoryService, TaxReviewService, TaxReviewStatusEnum, TaxSummary, TaxSummaryListEnum, TaxSummarySection, TaxSummarySectionEnum, TaxSummaryService, TaxSummaryTaxSummaryEnum, TaxSummaryTypeEnum, TicketFeedbackEnum, TicketStatusEnum, TicketTypesEnum, Toast, ToastService, ToastTypeEnum, Transaction, TransactionAllocation, TransactionAllocationCollection, TransactionAllocationService, TransactionBase, TransactionBaseForm, TransactionCalculationService, TransactionCategoryEnum, TransactionCollection, TransactionForm, TransactionMetadata, TransactionOperationEnum, TransactionReceipt, TransactionReceiptService, TransactionService, TransactionSourceEnum, TransactionTypeEnum, TtCoreModule, TutorialVideoService, USER_ROLES, USER_WORK_POSITION, User, UserEventSetting, UserEventSettingCollection, UserEventSettingFieldEnum, UserEventSettingService, UserEventStatusEnum, UserEventType, UserEventTypeCategory, UserEventTypeClientTypeEnum, UserEventTypeCollection, UserEventTypeEmployeeTypeEnum, UserEventTypeFrequencyEnum, UserEventTypeService, UserEventTypeUserTypeEnum, UserInviteForm, UserMedicareExemptionEnum, UserRolesEnum, UserService, UserStatusEnum, UserSwitcherService, UserTitleEnum, UserToRegister, UserWorkDepreciationCalculationEnum, UserWorkingHolidayMakerEnum, UsersInviteService, Vehicle, VehicleClaim, VehicleClaimCollection, VehicleClaimDetails, VehicleClaimDetailsForm, VehicleClaimDetailsMethodEnum, VehicleClaimDetailsService, VehicleClaimForm, VehicleClaimService, VehicleExpense, VehicleExpenseCollection, VehicleForm, VehicleLogbook, VehicleLogbookCollection, VehicleLogbookForm, VehicleLogbookPurposeEnum, VehicleLogbookService, VehicleService, WorkExpenseForm, WorkIncomeForm, XlsxService, atLeastOneCheckedValidator, atoLinks, autocompleteValidator, cloneDeep, compare, compareMatOptions, conditionalValidator, createDate, currentFinYearValidator, displayMatOptions, enumToList, fieldsSumValidator, getDocIcon, minDateValidator, passwordMatchValidator, passwordValidator, replace, roundTo, sort, sortDeep, taxReviewFilterPredicate, toArray };
18957
19029
  //# sourceMappingURL=taxtank-core.mjs.map