taxtank-core 0.33.41 → 0.33.42

Sign up to get free protection for your applications and to get access to all the features.
@@ -2,7 +2,7 @@ import { Inject, Injectable } from '@angular/core';
2
2
  import { ReplaySubject } from 'rxjs';
3
3
  import { map } from 'rxjs/operators';
4
4
  import { plainToClass } from 'class-transformer';
5
- import { CorelogicSuggestion } from '../../../models/property/corelogic-suggestion';
5
+ import { CorelogicSuggestion } from '../../../models';
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "@angular/common/http";
8
8
  export class CorelogicService {
@@ -13,7 +13,7 @@ export class CorelogicService {
13
13
  }
14
14
  getAccessToken(force = false) {
15
15
  if (!this._accessToken || force) {
16
- this.http.get(`${this.environment.coreLogicUrl}/access/oauth/token?grant_type=client_credentials&client_id=${this.environment.coreLogicId}&client_secret=${this.environment.coreLogicSecret}`)
16
+ this.http.get(`${this.environment.apiV2}/corelogic/tokens`)
17
17
  .pipe(map((response) => response.access_token))
18
18
  .subscribe((token) => {
19
19
  this._accessToken = token;
@@ -39,4 +39,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
39
39
  type: Inject,
40
40
  args: ['environment']
41
41
  }] }] });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZWxvZ2ljLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvcHJvcGVydHkvY29yZWxvZ2ljL2NvcmVsb2dpYy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBYyxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQzs7O0FBS3BGLE1BQU0sT0FBTyxnQkFBZ0I7SUFJM0IsWUFDVSxJQUFnQixFQUNPLFdBQWdCO1FBRHZDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDTyxnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQUpqRCx1QkFBa0IsR0FBMEIsSUFBSSxhQUFhLENBQVMsQ0FBQyxDQUFDLENBQUM7SUFNekUsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFLLEdBQUcsS0FBSztRQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxLQUFLLEVBQUU7WUFDL0IsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksK0RBQStELElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxrQkFBa0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsQ0FBQztpQkFDM0wsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLFFBQWEsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUM5QztpQkFDQSxTQUFTLENBQUMsQ0FBQyxLQUFhLEVBQUUsRUFBRTtnQkFDM0IsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7Z0JBQzFCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ2xELENBQUMsQ0FBQyxDQUFDO1NBQ047UUFFRCxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNoRCxDQUFDO0lBRUQsY0FBYyxDQUFDLEtBQWEsRUFBRSxPQUFPLEdBQUcsSUFBSTtRQUMxQyw2Q0FBNkM7UUFDN0MsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxhQUFhLE9BQU8sc0JBQXNCLEtBQUssRUFBRSxDQUFDO2FBQ3BHLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxRQUFhLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUM1RyxDQUFDO0lBQ04sQ0FBQzsrR0EvQlUsZ0JBQWdCLDRDQU1qQixhQUFhO21IQU5aLGdCQUFnQixjQUZmLE1BQU07OzRGQUVQLGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQU9JLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IENvcmVsb2dpY1N1Z2dlc3Rpb24gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvcHJvcGVydHkvY29yZWxvZ2ljLXN1Z2dlc3Rpb24nO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBDb3JlbG9naWNTZXJ2aWNlIHtcbiAgX2FjY2Vzc1Rva2VuOiBzdHJpbmc7XG4gIGFjY2Vzc1Rva2VuU3ViamVjdDogUmVwbGF5U3ViamVjdDxzdHJpbmc+ID0gbmV3IFJlcGxheVN1YmplY3Q8c3RyaW5nPigxKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcml2YXRlIGVudmlyb25tZW50OiBhbnlcbiAgKSB7XG4gIH1cblxuICBnZXRBY2Nlc3NUb2tlbihmb3JjZSA9IGZhbHNlKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICBpZiAoIXRoaXMuX2FjY2Vzc1Rva2VuIHx8IGZvcmNlKSB7XG4gICAgICB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuZW52aXJvbm1lbnQuY29yZUxvZ2ljVXJsfS9hY2Nlc3Mvb2F1dGgvdG9rZW4/Z3JhbnRfdHlwZT1jbGllbnRfY3JlZGVudGlhbHMmY2xpZW50X2lkPSR7dGhpcy5lbnZpcm9ubWVudC5jb3JlTG9naWNJZH0mY2xpZW50X3NlY3JldD0ke3RoaXMuZW52aXJvbm1lbnQuY29yZUxvZ2ljU2VjcmV0fWApXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT4gcmVzcG9uc2UuYWNjZXNzX3Rva2VuKVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKHRva2VuOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICB0aGlzLl9hY2Nlc3NUb2tlbiA9IHRva2VuO1xuICAgICAgICAgIHRoaXMuYWNjZXNzVG9rZW5TdWJqZWN0Lm5leHQodGhpcy5fYWNjZXNzVG9rZW4pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5hY2Nlc3NUb2tlblN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXRTdWdnZXN0aW9ucyhxdWVyeTogc3RyaW5nLCBjb3VudHJ5ID0gJ2F1Jyk6IE9ic2VydmFibGU8Q29yZWxvZ2ljU3VnZ2VzdGlvbltdPiB7XG4gICAgLy8gQFRPRE8gaGFuZGxlIGRpZmZlcmVudCBjb3VudHJpZXMgaW4gZnV0dXJlXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5lbnZpcm9ubWVudC5jb3JlTG9naWNVcmx9L3Byb3BlcnR5LyR7Y291bnRyeX0vdjIvc3VnZ2VzdC5qc29uP3E9JHtxdWVyeX1gKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT4gcmVzcG9uc2Uuc3VnZ2VzdGlvbnMubWFwKChpdGVtOiBvYmplY3QpID0+IHBsYWluVG9DbGFzcyhDb3JlbG9naWNTdWdnZXN0aW9uLCBpdGVtKSkpXG4gICAgICApO1xuICB9XG59XG4iXX0=
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZWxvZ2ljLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvcHJvcGVydHkvY29yZWxvZ2ljL2NvcmVsb2dpYy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBYyxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBS3RELE1BQU0sT0FBTyxnQkFBZ0I7SUFJM0IsWUFDVSxJQUFnQixFQUNPLFdBQWdCO1FBRHZDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDTyxnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQUpqRCx1QkFBa0IsR0FBMEIsSUFBSSxhQUFhLENBQVMsQ0FBQyxDQUFDLENBQUM7SUFNekUsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFLLEdBQUcsS0FBSztRQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxLQUFLLEVBQUU7WUFDL0IsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssbUJBQW1CLENBQUM7aUJBQ3hELElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFhLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQztpQkFDbkQsU0FBUyxDQUFDLENBQUMsS0FBYSxFQUFFLEVBQUU7Z0JBQzNCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO2dCQUMxQixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNsRCxDQUFDLENBQUMsQ0FBQztTQUNOO1FBRUQsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDaEQsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFhLEVBQUUsT0FBTyxHQUFHLElBQUk7UUFDMUMsNkNBQTZDO1FBQzdDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksYUFBYSxPQUFPLHNCQUFzQixLQUFLLEVBQUUsQ0FBQzthQUNwRyxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsUUFBYSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQVksRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDNUcsQ0FBQztJQUNOLENBQUM7K0dBN0JVLGdCQUFnQiw0Q0FNakIsYUFBYTttSEFOWixnQkFBZ0IsY0FGZixNQUFNOzs0RkFFUCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFPSSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBDb3JlbG9naWNTdWdnZXN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQ29yZWxvZ2ljU2VydmljZSB7XG4gIF9hY2Nlc3NUb2tlbjogc3RyaW5nO1xuICBhY2Nlc3NUb2tlblN1YmplY3Q6IFJlcGxheVN1YmplY3Q8c3RyaW5nPiA9IG5ldyBSZXBsYXlTdWJqZWN0PHN0cmluZz4oMSk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJpdmF0ZSBlbnZpcm9ubWVudDogYW55XG4gICkge1xuICB9XG5cbiAgZ2V0QWNjZXNzVG9rZW4oZm9yY2UgPSBmYWxzZSk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgaWYgKCF0aGlzLl9hY2Nlc3NUb2tlbiB8fCBmb3JjZSkge1xuICAgICAgdGhpcy5odHRwLmdldChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS9jb3JlbG9naWMvdG9rZW5zYClcbiAgICAgICAgLnBpcGUobWFwKChyZXNwb25zZTogYW55KSA9PiByZXNwb25zZS5hY2Nlc3NfdG9rZW4pKVxuICAgICAgICAuc3Vic2NyaWJlKCh0b2tlbjogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgdGhpcy5fYWNjZXNzVG9rZW4gPSB0b2tlbjtcbiAgICAgICAgICB0aGlzLmFjY2Vzc1Rva2VuU3ViamVjdC5uZXh0KHRoaXMuX2FjY2Vzc1Rva2VuKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuYWNjZXNzVG9rZW5TdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0U3VnZ2VzdGlvbnMocXVlcnk6IHN0cmluZywgY291bnRyeSA9ICdhdScpOiBPYnNlcnZhYmxlPENvcmVsb2dpY1N1Z2dlc3Rpb25bXT4ge1xuICAgIC8vIEBUT0RPIGhhbmRsZSBkaWZmZXJlbnQgY291bnRyaWVzIGluIGZ1dHVyZVxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuZW52aXJvbm1lbnQuY29yZUxvZ2ljVXJsfS9wcm9wZXJ0eS8ke2NvdW50cnl9L3YyL3N1Z2dlc3QuanNvbj9xPSR7cXVlcnl9YClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHJlc3BvbnNlLnN1Z2dlc3Rpb25zLm1hcCgoaXRlbTogb2JqZWN0KSA9PiBwbGFpblRvQ2xhc3MoQ29yZWxvZ2ljU3VnZ2VzdGlvbiwgaXRlbSkpKVxuICAgICAgKTtcbiAgfVxufVxuIl19
@@ -7,8 +7,8 @@ import { HttpParams, HttpClient, HTTP_INTERCEPTORS } from '@angular/common/http'
7
7
  import { map, mergeMap, filter, first as first$1, catchError, finalize, debounceTime, distinctUntilChanged, startWith } from 'rxjs/operators';
8
8
  import { ReplaySubject, Subject, Observable, throwError, combineLatest, BehaviorSubject, forkJoin, of, from, merge as merge$1 } from 'rxjs';
9
9
  import { plainToClass, Type, Transform, Exclude, Expose, classToPlain } from 'class-transformer';
10
- import get from 'lodash/get';
11
10
  import { __decorate } from 'tslib';
11
+ import get from 'lodash/get';
12
12
  import flatten from 'lodash/flatten';
13
13
  import hasIn from 'lodash/hasIn';
14
14
  import intersection from 'lodash/intersection';
@@ -41,124 +41,6 @@ import * as i1$2 from '@angular/platform-browser';
41
41
  import isEqual from 'lodash/isEqual';
42
42
  import { RxwebValidators } from '@rxweb/reactive-form-validators';
43
43
 
44
- /**
45
- * https://api-uat.corelogic.asia/property/au/v2/suggest.json
46
- * address suggestion from corelogic service
47
- */
48
- class CorelogicSuggestion {
49
- }
50
-
51
- class CorelogicService {
52
- constructor(http, environment) {
53
- this.http = http;
54
- this.environment = environment;
55
- this.accessTokenSubject = new ReplaySubject(1);
56
- }
57
- getAccessToken(force = false) {
58
- if (!this._accessToken || force) {
59
- this.http.get(`${this.environment.coreLogicUrl}/access/oauth/token?grant_type=client_credentials&client_id=${this.environment.coreLogicId}&client_secret=${this.environment.coreLogicSecret}`)
60
- .pipe(map((response) => response.access_token))
61
- .subscribe((token) => {
62
- this._accessToken = token;
63
- this.accessTokenSubject.next(this._accessToken);
64
- });
65
- }
66
- return this.accessTokenSubject.asObservable();
67
- }
68
- getSuggestions(query, country = 'au') {
69
- // @TODO handle different countries in future
70
- return this.http.get(`${this.environment.coreLogicUrl}/property/${country}/v2/suggest.json?q=${query}`)
71
- .pipe(map((response) => response.suggestions.map((item) => plainToClass(CorelogicSuggestion, item))));
72
- }
73
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CorelogicService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable }); }
74
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CorelogicService, providedIn: 'root' }); }
75
- }
76
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CorelogicService, decorators: [{
77
- type: Injectable,
78
- args: [{
79
- providedIn: 'root'
80
- }]
81
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
82
- type: Inject,
83
- args: ['environment']
84
- }] }] });
85
-
86
- /**
87
- * Corelogic interceptor add Core Logic access token for each search requests related with Core Logic API
88
- */
89
- class CorelogicInterceptor {
90
- constructor(corelogicService, environment) {
91
- this.corelogicService = corelogicService;
92
- this.environment = environment;
93
- }
94
- intercept(request, next) {
95
- // skip non-corelogic requests
96
- if (!request.url.includes(this.environment.coreLogicUrl)) {
97
- return next.handle(request);
98
- }
99
- // don't need token for this endpoint
100
- if (request.url.includes(`${this.environment.coreLogicUrl}/access/oauth/token`)) {
101
- return next.handle(request);
102
- }
103
- return this.corelogicService.getAccessToken()
104
- .pipe(mergeMap((token) => next.handle(this.addToken(request, token))));
105
- }
106
- addToken(request, token) {
107
- return request.clone({
108
- setHeaders: {
109
- Authorization: 'Bearer ' + token
110
- }
111
- });
112
- }
113
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CorelogicInterceptor, deps: [{ token: CorelogicService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable }); }
114
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CorelogicInterceptor }); }
115
- }
116
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CorelogicInterceptor, decorators: [{
117
- type: Injectable
118
- }], ctorParameters: () => [{ type: CorelogicService }, { type: undefined, decorators: [{
119
- type: Inject,
120
- args: ['environment']
121
- }] }] });
122
-
123
- /**
124
- * Financial Year interceptor add financialYear parameter to requests because a lot of POST and GET requests require this parameter
125
- * @TODO now we can get current fin year from user on backend. So we can remove this interceptor
126
- */
127
- class FinancialYearInterceptor {
128
- constructor(environment) {
129
- this.environment = environment;
130
- }
131
- intercept(request, next) {
132
- // skip third party requests
133
- // @TODO Alex: Also check and ignore requests we don't need financial year
134
- if (!request.url.includes(this.environment.api_uri)) {
135
- return next.handle(request);
136
- }
137
- // Set financial year parameter to requests
138
- let params = new HttpParams({
139
- fromString: request.params.toString()
140
- });
141
- // clone request to add new parameters
142
- let clonedReq = request.clone();
143
- // @TODO query params should be passed using second param of get request and HttpParams object
144
- if (!params.get('financialYear') && !request.urlWithParams.includes('?financialYear') && !request.urlWithParams.includes('&financialYear')) {
145
- params = params.set('financialYear', localStorage.getItem('financialYear'));
146
- clonedReq = request.clone({
147
- params: params
148
- });
149
- }
150
- return next.handle(clonedReq);
151
- }
152
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FinancialYearInterceptor, deps: [{ token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable }); }
153
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FinancialYearInterceptor }); }
154
- }
155
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FinancialYearInterceptor, decorators: [{
156
- type: Injectable
157
- }], ctorParameters: () => [{ type: undefined, decorators: [{
158
- type: Inject,
159
- args: ['environment']
160
- }] }] });
161
-
162
44
  /**
163
45
  * @TODO move from db folder when refactored base models
164
46
  */
@@ -174,6 +56,9 @@ class AbstractModel {
174
56
  }
175
57
  }
176
58
 
59
+ let Address$1 = class Address extends AbstractModel {
60
+ };
61
+
177
62
  let Country$1 = class Country extends AbstractModel {
178
63
  };
179
64
 
@@ -193,66 +78,6 @@ class Country extends Country$1 {
193
78
  }
194
79
  }
195
80
 
196
- class AddressService {
197
- constructor(http, environment) {
198
- this.http = http;
199
- this.environment = environment;
200
- this.countriesSubject = new ReplaySubject(1);
201
- }
202
- getCountries() {
203
- if (!this._countries) {
204
- this.http.get(`${this.environment.apiV2}/countries`)
205
- .pipe(map((response) => response.map((item) => plainToClass(Country, item))))
206
- .subscribe((countries) => {
207
- this._countries = countries;
208
- this.countriesSubject.next(countries);
209
- });
210
- }
211
- return this.countriesSubject.asObservable();
212
- }
213
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AddressService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable }); }
214
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AddressService, providedIn: 'root' }); }
215
- }
216
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AddressService, decorators: [{
217
- type: Injectable,
218
- args: [{
219
- providedIn: 'root'
220
- }]
221
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
222
- type: Inject,
223
- args: ['environment']
224
- }] }] });
225
-
226
- /**
227
- * @TODO TT-3846 upgrade
228
- */
229
- class PdfService {
230
- constructor(http, environment) {
231
- this.http = http;
232
- this.environment = environment;
233
- }
234
- fromHTMLElements(elements, landscape) {
235
- const formData = new FormData();
236
- formData.append('file', new Blob([...Array.from(elements).map(element => element.outerHTML)], { type: 'text/html' }));
237
- formData.append('landscape', landscape ? '1' : '0');
238
- return this.http.post(`${this.environment.apiV2}/pdf/html`, formData, { responseType: 'blob' });
239
- }
240
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PdfService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable }); }
241
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PdfService, providedIn: 'root' }); }
242
- }
243
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PdfService, decorators: [{
244
- type: Injectable,
245
- args: [{
246
- providedIn: 'root'
247
- }]
248
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
249
- type: Inject,
250
- args: ['environment']
251
- }] }] });
252
-
253
- let Address$1 = class Address extends AbstractModel {
254
- };
255
-
256
81
  var AddressTypeEnum;
257
82
  (function (AddressTypeEnum) {
258
83
  AddressTypeEnum[AddressTypeEnum["STREET"] = 1] = "STREET";
@@ -6111,6 +5936,13 @@ const CAPITAL_COSTS_ITEMS = [
6111
5936
  }),
6112
5937
  ];
6113
5938
 
5939
+ /**
5940
+ * https://api-uat.corelogic.asia/property/au/v2/suggest.json
5941
+ * address suggestion from corelogic service
5942
+ */
5943
+ class CorelogicSuggestion {
5944
+ }
5945
+
6114
5946
  /**
6115
5947
  * class contains equity information for passed financial year
6116
5948
  */
@@ -10827,6 +10659,174 @@ __decorate([
10827
10659
  Type(() => TaxReturnItem)
10828
10660
  ], TaxReturn.prototype, "taxReturnItems", void 0);
10829
10661
 
10662
+ class CorelogicService {
10663
+ constructor(http, environment) {
10664
+ this.http = http;
10665
+ this.environment = environment;
10666
+ this.accessTokenSubject = new ReplaySubject(1);
10667
+ }
10668
+ getAccessToken(force = false) {
10669
+ if (!this._accessToken || force) {
10670
+ this.http.get(`${this.environment.apiV2}/corelogic/tokens`)
10671
+ .pipe(map((response) => response.access_token))
10672
+ .subscribe((token) => {
10673
+ this._accessToken = token;
10674
+ this.accessTokenSubject.next(this._accessToken);
10675
+ });
10676
+ }
10677
+ return this.accessTokenSubject.asObservable();
10678
+ }
10679
+ getSuggestions(query, country = 'au') {
10680
+ // @TODO handle different countries in future
10681
+ return this.http.get(`${this.environment.coreLogicUrl}/property/${country}/v2/suggest.json?q=${query}`)
10682
+ .pipe(map((response) => response.suggestions.map((item) => plainToClass(CorelogicSuggestion, item))));
10683
+ }
10684
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CorelogicService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable }); }
10685
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CorelogicService, providedIn: 'root' }); }
10686
+ }
10687
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CorelogicService, decorators: [{
10688
+ type: Injectable,
10689
+ args: [{
10690
+ providedIn: 'root'
10691
+ }]
10692
+ }], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
10693
+ type: Inject,
10694
+ args: ['environment']
10695
+ }] }] });
10696
+
10697
+ /**
10698
+ * Corelogic interceptor add Core Logic access token for each search requests related with Core Logic API
10699
+ */
10700
+ class CorelogicInterceptor {
10701
+ constructor(corelogicService, environment) {
10702
+ this.corelogicService = corelogicService;
10703
+ this.environment = environment;
10704
+ }
10705
+ intercept(request, next) {
10706
+ // skip non-corelogic requests
10707
+ if (!request.url.includes(this.environment.coreLogicUrl)) {
10708
+ return next.handle(request);
10709
+ }
10710
+ // don't need token for this endpoint
10711
+ if (request.url.includes(`${this.environment.coreLogicUrl}/access/oauth/token`)) {
10712
+ return next.handle(request);
10713
+ }
10714
+ return this.corelogicService.getAccessToken()
10715
+ .pipe(mergeMap((token) => next.handle(this.addToken(request, token))));
10716
+ }
10717
+ addToken(request, token) {
10718
+ return request.clone({
10719
+ setHeaders: {
10720
+ Authorization: 'Bearer ' + token
10721
+ }
10722
+ });
10723
+ }
10724
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CorelogicInterceptor, deps: [{ token: CorelogicService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable }); }
10725
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CorelogicInterceptor }); }
10726
+ }
10727
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CorelogicInterceptor, decorators: [{
10728
+ type: Injectable
10729
+ }], ctorParameters: () => [{ type: CorelogicService }, { type: undefined, decorators: [{
10730
+ type: Inject,
10731
+ args: ['environment']
10732
+ }] }] });
10733
+
10734
+ /**
10735
+ * Financial Year interceptor add financialYear parameter to requests because a lot of POST and GET requests require this parameter
10736
+ * @TODO now we can get current fin year from user on backend. So we can remove this interceptor
10737
+ */
10738
+ class FinancialYearInterceptor {
10739
+ constructor(environment) {
10740
+ this.environment = environment;
10741
+ }
10742
+ intercept(request, next) {
10743
+ // skip third party requests
10744
+ // @TODO Alex: Also check and ignore requests we don't need financial year
10745
+ if (!request.url.includes(this.environment.api_uri)) {
10746
+ return next.handle(request);
10747
+ }
10748
+ // Set financial year parameter to requests
10749
+ let params = new HttpParams({
10750
+ fromString: request.params.toString()
10751
+ });
10752
+ // clone request to add new parameters
10753
+ let clonedReq = request.clone();
10754
+ // @TODO query params should be passed using second param of get request and HttpParams object
10755
+ if (!params.get('financialYear') && !request.urlWithParams.includes('?financialYear') && !request.urlWithParams.includes('&financialYear')) {
10756
+ params = params.set('financialYear', localStorage.getItem('financialYear'));
10757
+ clonedReq = request.clone({
10758
+ params: params
10759
+ });
10760
+ }
10761
+ return next.handle(clonedReq);
10762
+ }
10763
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FinancialYearInterceptor, deps: [{ token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable }); }
10764
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FinancialYearInterceptor }); }
10765
+ }
10766
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FinancialYearInterceptor, decorators: [{
10767
+ type: Injectable
10768
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
10769
+ type: Inject,
10770
+ args: ['environment']
10771
+ }] }] });
10772
+
10773
+ class AddressService {
10774
+ constructor(http, environment) {
10775
+ this.http = http;
10776
+ this.environment = environment;
10777
+ this.countriesSubject = new ReplaySubject(1);
10778
+ }
10779
+ getCountries() {
10780
+ if (!this._countries) {
10781
+ this.http.get(`${this.environment.apiV2}/countries`)
10782
+ .pipe(map((response) => response.map((item) => plainToClass(Country, item))))
10783
+ .subscribe((countries) => {
10784
+ this._countries = countries;
10785
+ this.countriesSubject.next(countries);
10786
+ });
10787
+ }
10788
+ return this.countriesSubject.asObservable();
10789
+ }
10790
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AddressService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable }); }
10791
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AddressService, providedIn: 'root' }); }
10792
+ }
10793
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AddressService, decorators: [{
10794
+ type: Injectable,
10795
+ args: [{
10796
+ providedIn: 'root'
10797
+ }]
10798
+ }], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
10799
+ type: Inject,
10800
+ args: ['environment']
10801
+ }] }] });
10802
+
10803
+ /**
10804
+ * @TODO TT-3846 upgrade
10805
+ */
10806
+ class PdfService {
10807
+ constructor(http, environment) {
10808
+ this.http = http;
10809
+ this.environment = environment;
10810
+ }
10811
+ fromHTMLElements(elements, landscape) {
10812
+ const formData = new FormData();
10813
+ formData.append('file', new Blob([...Array.from(elements).map(element => element.outerHTML)], { type: 'text/html' }));
10814
+ formData.append('landscape', landscape ? '1' : '0');
10815
+ return this.http.post(`${this.environment.apiV2}/pdf/html`, formData, { responseType: 'blob' });
10816
+ }
10817
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PdfService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable }); }
10818
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PdfService, providedIn: 'root' }); }
10819
+ }
10820
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PdfService, decorators: [{
10821
+ type: Injectable,
10822
+ args: [{
10823
+ providedIn: 'root'
10824
+ }]
10825
+ }], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
10826
+ type: Inject,
10827
+ args: ['environment']
10828
+ }] }] });
10829
+
10830
10830
  /**
10831
10831
  * @TODO Alex (TT-1777): replace old logic with the new when all services ready
10832
10832
  * @TODO Alex (TT-1777): rename old logic and keep it for custom events