taxtank-core 0.2.4 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/taxtank-core.umd.js +882 -452
- package/bundles/taxtank-core.umd.js.map +1 -1
- package/esm2015/lib/collections/property.collection.js +8 -1
- package/esm2015/lib/interceptors/corelogic-interceptor.js +44 -0
- package/esm2015/lib/interceptors/financial-year-interceptor.js +30 -0
- package/esm2015/lib/interceptors/interceptors.module.js +74 -0
- package/esm2015/lib/interceptors/jwt-interceptor.js +137 -0
- package/esm2015/lib/interceptors/preloader.interceptor.js +32 -0
- package/esm2015/lib/interceptors/user-switcher-interceptor.js +42 -0
- package/esm2015/lib/models/color/alphabet-colors.enum.js +30 -0
- package/esm2015/lib/services/property/equity-position-chart.service.js +45 -0
- package/esm2015/lib/tt-core.module.js +8 -4
- package/esm2015/public-api.js +7 -1
- package/fesm2015/taxtank-core.js +834 -427
- package/fesm2015/taxtank-core.js.map +1 -1
- package/lib/collections/property.collection.d.ts +5 -0
- package/lib/interceptors/corelogic-interceptor.d.ts +20 -0
- package/lib/interceptors/financial-year-interceptor.d.ts +12 -0
- package/lib/interceptors/interceptors.module.d.ts +6 -0
- package/lib/interceptors/jwt-interceptor.d.ts +42 -0
- package/lib/interceptors/preloader.interceptor.d.ts +15 -0
- package/lib/interceptors/user-switcher-interceptor.d.ts +19 -0
- package/lib/models/color/alphabet-colors.enum.d.ts +28 -0
- package/lib/services/property/equity-position-chart.service.d.ts +15 -0
- package/lib/tt-core.module.d.ts +2 -1
- package/package.json +1 -1
- package/public-api.d.ts +6 -0
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { AbstractCollection } from './abstract.collection';
|
|
2
2
|
import { FinancialYear } from '../models/financial-year/financial-year';
|
|
3
|
+
import uniqBy from 'lodash/uniqBy';
|
|
3
4
|
export class PropertyCollection extends AbstractCollection {
|
|
4
5
|
/**
|
|
5
6
|
* Get new property collection filtered by category id
|
|
@@ -61,5 +62,11 @@ export class PropertyCollection extends AbstractCollection {
|
|
|
61
62
|
return min < property.purchaseDate ? min : property.purchaseDate;
|
|
62
63
|
}, new FinancialYear(new Date()).startDate);
|
|
63
64
|
}
|
|
65
|
+
/**
|
|
66
|
+
* Get list of unique property categories from collection
|
|
67
|
+
*/
|
|
68
|
+
getCategories() {
|
|
69
|
+
return uniqBy(this.items.map((property) => property.category), 'id');
|
|
70
|
+
}
|
|
64
71
|
}
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHkuY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9jb2xsZWN0aW9ucy9wcm9wZXJ0eS5jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUV4RSxPQUFPLE1BQU0sTUFBTSxlQUFlLENBQUM7QUFFbkMsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGtCQUE0QjtJQUNsRTs7O09BR0c7SUFDSCxlQUFlLENBQUMsRUFBVTtRQUN4QixPQUFPLElBQUksa0JBQWtCLENBQzNCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBa0IsRUFBVyxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQ2hGLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSCxtQkFBbUI7UUFDakIsT0FBTyxJQUFJLGtCQUFrQixDQUMzQixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQWtCLEVBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FDdEUsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNILGdCQUFnQjtRQUNkLE9BQU8sSUFBSSxrQkFBa0IsQ0FDM0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFrQixFQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FDckUsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNILG1CQUFtQjtRQUNqQixPQUFPLElBQUksa0JBQWtCLENBQzNCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBa0IsRUFBVyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FDdEUsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQUksc0JBQXNCO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxJQUFJLHFCQUFxQjtRQUN2QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsSUFBSSxpQkFBaUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQVcsRUFBRSxRQUFrQixFQUFVLEVBQUU7WUFDbkUsTUFBTSxPQUFPLEdBQVcsUUFBUSxDQUFDLGlCQUFpQixDQUFDO1lBQ25ELE9BQU8sR0FBRyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDdkMsQ0FBQyxFQUFFLElBQUksYUFBYSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQUksaUJBQWlCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCwwQkFBMEI7UUFDeEIsT0FBTyxJQUFJLGtCQUFrQixDQUMzQixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQWtCLEVBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FDeEYsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLG9CQUFvQjtRQUN0QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBUyxFQUFFLFFBQWtCLEVBQVEsRUFBRTtZQUMvRCxPQUFPLEdBQUcsR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUM7UUFDbkUsQ0FBQyxFQUFFLElBQUksYUFBYSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxhQUFhO1FBQ1gsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFrQixFQUFvQixFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ25HLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29sbGVjdGlvbiB9IGZyb20gJy4vYWJzdHJhY3QuY29sbGVjdGlvbic7XG5pbXBvcnQgeyBQcm9wZXJ0eSB9IGZyb20gJy4uL21vZGVscy9wcm9wZXJ0eS9wcm9wZXJ0eSc7XG5pbXBvcnQgeyBGaW5hbmNpYWxZZWFyIH0gZnJvbSAnLi4vbW9kZWxzL2ZpbmFuY2lhbC15ZWFyL2ZpbmFuY2lhbC15ZWFyJztcbmltcG9ydCB7IFByb3BlcnR5Q2F0ZWdvcnkgfSBmcm9tICcuLi9tb2RlbHMvcHJvcGVydHkvcHJvcGVydHktY2F0ZWdvcnknO1xuaW1wb3J0IHVuaXFCeSBmcm9tICdsb2Rhc2gvdW5pcUJ5JztcblxuZXhwb3J0IGNsYXNzIFByb3BlcnR5Q29sbGVjdGlvbiBleHRlbmRzIEFic3RyYWN0Q29sbGVjdGlvbjxQcm9wZXJ0eT4ge1xuICAvKipcbiAgICogR2V0IG5ldyBwcm9wZXJ0eSBjb2xsZWN0aW9uIGZpbHRlcmVkIGJ5IGNhdGVnb3J5IGlkXG4gICAqIEBwYXJhbSBpZCBpZCBvZiBjYXRlZ29yeSBmb3IgZmlsdGVyXG4gICAqL1xuICBnZXRCeUNhdGVnb3J5SWQoaWQ6IG51bWJlcik6IFByb3BlcnR5Q29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBQcm9wZXJ0eUNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigocHJvcGVydHk6IFByb3BlcnR5KTogYm9vbGVhbiA9PiBwcm9wZXJ0eS5jYXRlZ29yeS5pZCA9PT0gaWQpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgbmV3IHByb3BlcnR5IGNvbGxlY3Rpb24gZmlsdGVyZWQgYnkgYWN0aXZlIHN0YXR1c1xuICAgKi9cbiAgZ2V0QWN0aXZlUHJvcGVydGllcygpOiBQcm9wZXJ0eUNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgUHJvcGVydHlDb2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHByb3BlcnR5OiBQcm9wZXJ0eSk6IGJvb2xlYW4gPT4gcHJvcGVydHkuaXNBY3RpdmUpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgbmV3IHByb3BlcnR5IGNvbGxlY3Rpb24gZmlsdGVyZWQgYnkgb3duZXJcbiAgICovXG4gIGdldE93blByb3BlcnRpZXMoKTogUHJvcGVydHlDb2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFByb3BlcnR5Q29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKChwcm9wZXJ0eTogUHJvcGVydHkpOiBib29sZWFuID0+IHByb3BlcnR5LmlzT3duKCkpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgbmV3IHByb3BlcnR5IGNvbGxlY3Rpb24gZmlsdGVyZWQgYnkgc2hhcmVkXG4gICAqL1xuICBnZXRTaGFyZWRQcm9wZXJ0aWVzKCk6IFByb3BlcnR5Q29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBQcm9wZXJ0eUNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigocHJvcGVydHk6IFByb3BlcnR5KTogYm9vbGVhbiA9PiAhcHJvcGVydHkuaXNPd24oKSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0b3RhbCBwdXJjaGFzZSBwcmljZSBmb3IgYWxsIHByb3BlcnRpZXMgaW4gdGhlIGNvbGxlY3Rpb25cbiAgICovXG4gIGdldCBwdXJjaGFzZVByaWNlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuc3VtQnkoJ3B1cmNoYXNlUHJpY2UnKTtcbiAgfVxuXG4gIGdldCBncm93dGhQZXJjZW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuc3VtQnkoJ2dyb3d0aFBlcmNlbnQnKTtcbiAgfVxuXG4gIGdldCBtYXJrZXRWYWx1ZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnN1bUJ5KCdtYXJrZXRWYWx1ZScpO1xuICB9XG5cbiAgZ2V0IGZvcmVjYXN0ZWRSZW50YWxSZXR1cm4oKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5zdW1CeSgnZm9yZWNhc3RlZFJlbnRhbFJldHVybicpO1xuICB9XG5cbiAgZ2V0IGZvcmVjYXN0ZWRUYXhQb3NpdGlvbigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnN1bUJ5KCdmb3JlY2FzdGVkVGF4UG9zaXRpb24nKTtcbiAgfVxuXG4gIGdldCBmaXJzdEZvcmVjYXN0WWVhcigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLnJlZHVjZSgobWluOiBudW1iZXIsIHByb3BlcnR5OiBQcm9wZXJ0eSk6IG51bWJlciA9PiB7XG4gICAgICBjb25zdCBjdXJyZW50OiBudW1iZXIgPSBwcm9wZXJ0eS5maXJzdEZvcmVjYXN0WWVhcjtcbiAgICAgIHJldHVybiBtaW4gPiBjdXJyZW50ID8gY3VycmVudCA6IG1pbjtcbiAgICB9LCBuZXcgRmluYW5jaWFsWWVhcigpLnllYXIpO1xuICB9XG5cbiAgZ2V0IG1hcmtldFZhbHVlR3Jvd3RoKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuc3VtQnkoJ21hcmtldFZhbHVlR3Jvd3RoJyk7XG4gIH1cblxuICBnZXRPd25lck9jY3VwaWVkUHJvcGVydGllcygpOiBQcm9wZXJ0eUNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgUHJvcGVydHlDb2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHByb3BlcnR5OiBQcm9wZXJ0eSk6IGJvb2xlYW4gPT4gcHJvcGVydHkuY2F0ZWdvcnkuaXNPd25lck9jY3VwaWVkKCkpXG4gICAgKTtcbiAgfVxuXG4gIGdldCBlYXJsaWVzdFB1cmNoYXNlRGF0ZSgpOiBEYXRlIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5yZWR1Y2UoKG1pbjogRGF0ZSwgcHJvcGVydHk6IFByb3BlcnR5KTogRGF0ZSA9PiB7XG4gICAgICByZXR1cm4gbWluIDwgcHJvcGVydHkucHVyY2hhc2VEYXRlID8gbWluIDogcHJvcGVydHkucHVyY2hhc2VEYXRlO1xuICAgIH0sIG5ldyBGaW5hbmNpYWxZZWFyKG5ldyBEYXRlKCkpLnN0YXJ0RGF0ZSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGxpc3Qgb2YgdW5pcXVlIHByb3BlcnR5IGNhdGVnb3JpZXMgZnJvbSBjb2xsZWN0aW9uXG4gICAqL1xuICBnZXRDYXRlZ29yaWVzKCk6IFByb3BlcnR5Q2F0ZWdvcnlbXSB7XG4gICAgcmV0dXJuIHVuaXFCeSh0aGlzLml0ZW1zLm1hcCgocHJvcGVydHk6IFByb3BlcnR5KTogUHJvcGVydHlDYXRlZ29yeSA9PiBwcm9wZXJ0eS5jYXRlZ29yeSksICdpZCcpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Inject, Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../services/property/corelogic.service";
|
|
4
|
+
/**
|
|
5
|
+
* Corelogic interceptor add Core Logic access token for each search requests related with Core Logic API
|
|
6
|
+
*/
|
|
7
|
+
export class CorelogicInterceptor {
|
|
8
|
+
constructor(corelogicService, environment) {
|
|
9
|
+
this.corelogicService = corelogicService;
|
|
10
|
+
this.environment = environment;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Check if requested url requested core logic, but not core logic auth api
|
|
14
|
+
* @param req
|
|
15
|
+
*/
|
|
16
|
+
addToken(req) {
|
|
17
|
+
// don't need token for this endpoint
|
|
18
|
+
if (req.url.includes(`${this.environment.coreLogicUrl}/access/oauth/token`)) {
|
|
19
|
+
return req;
|
|
20
|
+
}
|
|
21
|
+
// add core logic token to request headers
|
|
22
|
+
if (req.url.includes(this.environment.coreLogicUrl)) {
|
|
23
|
+
return req.clone({
|
|
24
|
+
setHeaders: {
|
|
25
|
+
Authorization: 'Bearer ' + this.corelogicService._accessToken
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
// return request without changes if url not related with core logic
|
|
30
|
+
return req;
|
|
31
|
+
}
|
|
32
|
+
intercept(request, next) {
|
|
33
|
+
return next.handle(this.addToken(request));
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
CorelogicInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: CorelogicInterceptor, deps: [{ token: i1.CorelogicService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
37
|
+
CorelogicInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: CorelogicInterceptor });
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: CorelogicInterceptor, decorators: [{
|
|
39
|
+
type: Injectable
|
|
40
|
+
}], ctorParameters: function () { return [{ type: i1.CorelogicService }, { type: undefined, decorators: [{
|
|
41
|
+
type: Inject,
|
|
42
|
+
args: ['environment']
|
|
43
|
+
}] }]; } });
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZWxvZ2ljLWludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2ludGVyY2VwdG9ycy9jb3JlbG9naWMtaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVNuRDs7R0FFRztBQUVILE1BQU0sT0FBTyxvQkFBb0I7SUFFL0IsWUFDVSxnQkFBa0MsRUFDWCxXQUFnQjtRQUR2QyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ1gsZ0JBQVcsR0FBWCxXQUFXLENBQUs7SUFFakQsQ0FBQztJQUVEOzs7T0FHRztJQUNILFFBQVEsQ0FBQyxHQUFxQjtRQUM1QixxQ0FBcUM7UUFDckMsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxxQkFBcUIsQ0FBQyxFQUFFO1lBQzNFLE9BQU8sR0FBRyxDQUFDO1NBQ1o7UUFFRCwwQ0FBMEM7UUFDMUMsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQ25ELE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQztnQkFDZixVQUFVLEVBQUU7b0JBQ1YsYUFBYSxFQUFFLFNBQVMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWTtpQkFDOUQ7YUFDRixDQUFDLENBQUM7U0FDSjtRQUVELG9FQUFvRTtRQUNwRSxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxTQUFTLENBQUMsT0FBeUIsRUFBRSxJQUFpQjtRQUNwRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQzdDLENBQUM7O2tIQWpDVSxvQkFBb0Isa0RBSXJCLGFBQWE7c0hBSlosb0JBQW9COzRGQUFwQixvQkFBb0I7a0JBRGhDLFVBQVU7OzBCQUtOLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgSHR0cFJlcXVlc3QsXHJcbiAgSHR0cEhhbmRsZXIsXHJcbiAgSHR0cEV2ZW50LFxyXG4gIEh0dHBJbnRlcmNlcHRvclxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgQ29yZWxvZ2ljU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3Byb3BlcnR5L2NvcmVsb2dpYy5zZXJ2aWNlJztcclxuXHJcbi8qKlxyXG4gKiBDb3JlbG9naWMgaW50ZXJjZXB0b3IgYWRkIENvcmUgTG9naWMgYWNjZXNzIHRva2VuIGZvciBlYWNoIHNlYXJjaCByZXF1ZXN0cyByZWxhdGVkIHdpdGggQ29yZSBMb2dpYyBBUElcclxuICovXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIENvcmVsb2dpY0ludGVyY2VwdG9yIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGNvcmVsb2dpY1NlcnZpY2U6IENvcmVsb2dpY1NlcnZpY2UsXHJcbiAgICBASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByaXZhdGUgZW52aXJvbm1lbnQ6IGFueVxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2hlY2sgaWYgcmVxdWVzdGVkIHVybCByZXF1ZXN0ZWQgY29yZSBsb2dpYywgYnV0IG5vdCBjb3JlIGxvZ2ljIGF1dGggYXBpXHJcbiAgICogQHBhcmFtIHJlcVxyXG4gICAqL1xyXG4gIGFkZFRva2VuKHJlcTogSHR0cFJlcXVlc3Q8YW55Pik6IEh0dHBSZXF1ZXN0PGFueT4ge1xyXG4gICAgLy8gZG9uJ3QgbmVlZCB0b2tlbiBmb3IgdGhpcyBlbmRwb2ludFxyXG4gICAgaWYgKHJlcS51cmwuaW5jbHVkZXMoYCR7dGhpcy5lbnZpcm9ubWVudC5jb3JlTG9naWNVcmx9L2FjY2Vzcy9vYXV0aC90b2tlbmApKSB7XHJcbiAgICAgIHJldHVybiByZXE7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gYWRkIGNvcmUgbG9naWMgdG9rZW4gdG8gcmVxdWVzdCBoZWFkZXJzXHJcbiAgICBpZiAocmVxLnVybC5pbmNsdWRlcyh0aGlzLmVudmlyb25tZW50LmNvcmVMb2dpY1VybCkpIHtcclxuICAgICAgcmV0dXJuIHJlcS5jbG9uZSh7XHJcbiAgICAgICAgc2V0SGVhZGVyczoge1xyXG4gICAgICAgICAgQXV0aG9yaXphdGlvbjogJ0JlYXJlciAnICsgdGhpcy5jb3JlbG9naWNTZXJ2aWNlLl9hY2Nlc3NUb2tlblxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gcmV0dXJuIHJlcXVlc3Qgd2l0aG91dCBjaGFuZ2VzIGlmIHVybCBub3QgcmVsYXRlZCB3aXRoIGNvcmUgbG9naWNcclxuICAgIHJldHVybiByZXE7XHJcbiAgfVxyXG5cclxuICBpbnRlcmNlcHQocmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55PiwgbmV4dDogSHR0cEhhbmRsZXIpOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PiB7XHJcbiAgICByZXR1cm4gbmV4dC5oYW5kbGUodGhpcy5hZGRUb2tlbihyZXF1ZXN0KSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { HttpParams } from '@angular/common/http';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
/**
|
|
5
|
+
* Financial Year interceptor add financialYear parameter to requests because a lot of POST and GET requests require this parameter
|
|
6
|
+
* @TODO now we can get current fin year from user on backend. So we can remove this interceptor
|
|
7
|
+
*/
|
|
8
|
+
export class FinancialYearInterceptor {
|
|
9
|
+
intercept(request, next) {
|
|
10
|
+
// Set financial year parameter to requests
|
|
11
|
+
let params = new HttpParams({
|
|
12
|
+
fromString: request.params.toString()
|
|
13
|
+
});
|
|
14
|
+
// clone request to add new parameters
|
|
15
|
+
let clonedReq = request.clone();
|
|
16
|
+
if (!params.get('financialYear')) {
|
|
17
|
+
params = params.set('financialYear', localStorage.getItem('financialYear'));
|
|
18
|
+
clonedReq = request.clone({
|
|
19
|
+
params: params
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
return next.handle(clonedReq);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
FinancialYearInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FinancialYearInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
26
|
+
FinancialYearInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FinancialYearInterceptor });
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FinancialYearInterceptor, decorators: [{
|
|
28
|
+
type: Injectable
|
|
29
|
+
}] });
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluYW5jaWFsLXllYXItaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvaW50ZXJjZXB0b3JzL2ZpbmFuY2lhbC15ZWFyLWludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUtMLFVBQVUsRUFDWCxNQUFNLHNCQUFzQixDQUFDOztBQUU5Qjs7O0dBR0c7QUFFSCxNQUFNLE9BQU8sd0JBQXdCO0lBQ25DLFNBQVMsQ0FBQyxPQUF5QixFQUFFLElBQWlCO1FBQ3BELDJDQUEyQztRQUMzQyxJQUFJLE1BQU0sR0FBZSxJQUFJLFVBQVUsQ0FBQztZQUN0QyxVQUFVLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUU7U0FDdEMsQ0FBQyxDQUFDO1FBRUgsc0NBQXNDO1FBQ3RDLElBQUksU0FBUyxHQUFxQixPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFbEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLEVBQUU7WUFDaEMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLFlBQVksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztZQUM1RSxTQUFTLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztnQkFDeEIsTUFBTSxFQUFFLE1BQU07YUFDZixDQUFDLENBQUM7U0FDSjtRQUVELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNoQyxDQUFDOztzSEFsQlUsd0JBQXdCOzBIQUF4Qix3QkFBd0I7NEZBQXhCLHdCQUF3QjtrQkFEcEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIEh0dHBSZXF1ZXN0LFxyXG4gIEh0dHBIYW5kbGVyLFxyXG4gIEh0dHBFdmVudCxcclxuICBIdHRwSW50ZXJjZXB0b3IsXHJcbiAgSHR0cFBhcmFtc1xyXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuXHJcbi8qKlxyXG4gKiBGaW5hbmNpYWwgWWVhciBpbnRlcmNlcHRvciBhZGQgZmluYW5jaWFsWWVhciBwYXJhbWV0ZXIgdG8gcmVxdWVzdHMgYmVjYXVzZSBhIGxvdCBvZiBQT1NUIGFuZCBHRVQgcmVxdWVzdHMgcmVxdWlyZSB0aGlzIHBhcmFtZXRlclxyXG4gKiBAVE9ETyBub3cgd2UgY2FuIGdldCBjdXJyZW50IGZpbiB5ZWFyIGZyb20gdXNlciBvbiBiYWNrZW5kLiBTbyB3ZSBjYW4gcmVtb3ZlIHRoaXMgaW50ZXJjZXB0b3JcclxuICovXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEZpbmFuY2lhbFllYXJJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XHJcbiAgaW50ZXJjZXB0KHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xyXG4gICAgLy8gU2V0IGZpbmFuY2lhbCB5ZWFyIHBhcmFtZXRlciB0byByZXF1ZXN0c1xyXG4gICAgbGV0IHBhcmFtczogSHR0cFBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKHtcclxuICAgICAgZnJvbVN0cmluZzogcmVxdWVzdC5wYXJhbXMudG9TdHJpbmcoKVxyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gY2xvbmUgcmVxdWVzdCB0byBhZGQgbmV3IHBhcmFtZXRlcnNcclxuICAgIGxldCBjbG9uZWRSZXE6IEh0dHBSZXF1ZXN0PGFueT4gPSByZXF1ZXN0LmNsb25lKCk7XHJcblxyXG4gICAgaWYgKCFwYXJhbXMuZ2V0KCdmaW5hbmNpYWxZZWFyJykpIHtcclxuICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnZmluYW5jaWFsWWVhcicsIGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdmaW5hbmNpYWxZZWFyJykpO1xyXG4gICAgICBjbG9uZWRSZXEgPSByZXF1ZXN0LmNsb25lKHtcclxuICAgICAgICBwYXJhbXM6IHBhcmFtc1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gbmV4dC5oYW5kbGUoY2xvbmVkUmVxKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { HTTP_INTERCEPTORS } from '@angular/common/http';
|
|
3
|
+
import { CorelogicInterceptor } from './corelogic-interceptor';
|
|
4
|
+
import { FinancialYearInterceptor } from './financial-year-interceptor';
|
|
5
|
+
import { JwtInterceptor } from './jwt-interceptor';
|
|
6
|
+
import { UserSwitcherInterceptor } from './user-switcher-interceptor';
|
|
7
|
+
import { PreloaderInterceptor } from './preloader.interceptor';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
export class InterceptorsModule {
|
|
10
|
+
}
|
|
11
|
+
InterceptorsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: InterceptorsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
12
|
+
InterceptorsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: InterceptorsModule });
|
|
13
|
+
InterceptorsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: InterceptorsModule, providers: [
|
|
14
|
+
{
|
|
15
|
+
provide: HTTP_INTERCEPTORS,
|
|
16
|
+
useClass: CorelogicInterceptor,
|
|
17
|
+
multi: true
|
|
18
|
+
},
|
|
19
|
+
// @TODO move to user module
|
|
20
|
+
{
|
|
21
|
+
provide: HTTP_INTERCEPTORS,
|
|
22
|
+
useClass: FinancialYearInterceptor,
|
|
23
|
+
multi: true
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
provide: HTTP_INTERCEPTORS,
|
|
27
|
+
useClass: JwtInterceptor,
|
|
28
|
+
multi: true
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
provide: HTTP_INTERCEPTORS,
|
|
32
|
+
useClass: UserSwitcherInterceptor,
|
|
33
|
+
multi: true
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
provide: HTTP_INTERCEPTORS,
|
|
37
|
+
useClass: PreloaderInterceptor,
|
|
38
|
+
multi: true
|
|
39
|
+
}
|
|
40
|
+
] });
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: InterceptorsModule, decorators: [{
|
|
42
|
+
type: NgModule,
|
|
43
|
+
args: [{
|
|
44
|
+
providers: [
|
|
45
|
+
{
|
|
46
|
+
provide: HTTP_INTERCEPTORS,
|
|
47
|
+
useClass: CorelogicInterceptor,
|
|
48
|
+
multi: true
|
|
49
|
+
},
|
|
50
|
+
// @TODO move to user module
|
|
51
|
+
{
|
|
52
|
+
provide: HTTP_INTERCEPTORS,
|
|
53
|
+
useClass: FinancialYearInterceptor,
|
|
54
|
+
multi: true
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
provide: HTTP_INTERCEPTORS,
|
|
58
|
+
useClass: JwtInterceptor,
|
|
59
|
+
multi: true
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
provide: HTTP_INTERCEPTORS,
|
|
63
|
+
useClass: UserSwitcherInterceptor,
|
|
64
|
+
multi: true
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
provide: HTTP_INTERCEPTORS,
|
|
68
|
+
useClass: PreloaderInterceptor,
|
|
69
|
+
multi: true
|
|
70
|
+
}
|
|
71
|
+
]
|
|
72
|
+
}]
|
|
73
|
+
}] });
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJjZXB0b3JzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9pbnRlcmNlcHRvcnMvaW50ZXJjZXB0b3JzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQy9ELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFnQy9ELE1BQU0sT0FBTyxrQkFBa0I7O2dIQUFsQixrQkFBa0I7aUhBQWxCLGtCQUFrQjtpSEFBbEIsa0JBQWtCLGFBN0JsQjtRQUNUO1lBQ0UsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixRQUFRLEVBQUUsb0JBQW9CO1lBQzlCLEtBQUssRUFBRSxJQUFJO1NBQ1o7UUFDRCw0QkFBNEI7UUFDNUI7WUFDRSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFFBQVEsRUFBRSx3QkFBd0I7WUFDbEMsS0FBSyxFQUFFLElBQUk7U0FDWjtRQUNEO1lBQ0UsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixRQUFRLEVBQUUsY0FBYztZQUN4QixLQUFLLEVBQUUsSUFBSTtTQUNaO1FBQ0Q7WUFDRSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFFBQVEsRUFBRSx1QkFBdUI7WUFDakMsS0FBSyxFQUFFLElBQUk7U0FDWjtRQUNEO1lBQ0UsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixRQUFRLEVBQUUsb0JBQW9CO1lBQzlCLEtBQUssRUFBRSxJQUFJO1NBQ1o7S0FDRjs0RkFFVSxrQkFBa0I7a0JBOUI5QixRQUFRO21CQUFDO29CQUNSLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixRQUFRLEVBQUUsb0JBQW9COzRCQUM5QixLQUFLLEVBQUUsSUFBSTt5QkFDWjt3QkFDRCw0QkFBNEI7d0JBQzVCOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFFBQVEsRUFBRSx3QkFBd0I7NEJBQ2xDLEtBQUssRUFBRSxJQUFJO3lCQUNaO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFFBQVEsRUFBRSxjQUFjOzRCQUN4QixLQUFLLEVBQUUsSUFBSTt5QkFDWjt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixRQUFRLEVBQUUsdUJBQXVCOzRCQUNqQyxLQUFLLEVBQUUsSUFBSTt5QkFDWjt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixRQUFRLEVBQUUsb0JBQW9COzRCQUM5QixLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEhUVFBfSU5URVJDRVBUT1JTIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBDb3JlbG9naWNJbnRlcmNlcHRvciB9IGZyb20gJy4vY29yZWxvZ2ljLWludGVyY2VwdG9yJztcclxuaW1wb3J0IHsgRmluYW5jaWFsWWVhckludGVyY2VwdG9yIH0gZnJvbSAnLi9maW5hbmNpYWwteWVhci1pbnRlcmNlcHRvcic7XHJcbmltcG9ydCB7IEp3dEludGVyY2VwdG9yIH0gZnJvbSAnLi9qd3QtaW50ZXJjZXB0b3InO1xyXG5pbXBvcnQgeyBVc2VyU3dpdGNoZXJJbnRlcmNlcHRvciB9IGZyb20gJy4vdXNlci1zd2l0Y2hlci1pbnRlcmNlcHRvcic7XHJcbmltcG9ydCB7IFByZWxvYWRlckludGVyY2VwdG9yIH0gZnJvbSAnLi9wcmVsb2FkZXIuaW50ZXJjZXB0b3InO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogSFRUUF9JTlRFUkNFUFRPUlMsXHJcbiAgICAgIHVzZUNsYXNzOiBDb3JlbG9naWNJbnRlcmNlcHRvcixcclxuICAgICAgbXVsdGk6IHRydWVcclxuICAgIH0sXHJcbiAgICAvLyBAVE9ETyBtb3ZlIHRvIHVzZXIgbW9kdWxlXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IEhUVFBfSU5URVJDRVBUT1JTLFxyXG4gICAgICB1c2VDbGFzczogRmluYW5jaWFsWWVhckludGVyY2VwdG9yLFxyXG4gICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogSFRUUF9JTlRFUkNFUFRPUlMsXHJcbiAgICAgIHVzZUNsYXNzOiBKd3RJbnRlcmNlcHRvcixcclxuICAgICAgbXVsdGk6IHRydWVcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IEhUVFBfSU5URVJDRVBUT1JTLFxyXG4gICAgICB1c2VDbGFzczogVXNlclN3aXRjaGVySW50ZXJjZXB0b3IsXHJcbiAgICAgIG11bHRpOiB0cnVlXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBIVFRQX0lOVEVSQ0VQVE9SUyxcclxuICAgICAgdXNlQ2xhc3M6IFByZWxvYWRlckludGVyY2VwdG9yLFxyXG4gICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgfVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEludGVyY2VwdG9yc01vZHVsZSB7XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { BehaviorSubject, throwError as observableThrowError } from 'rxjs';
|
|
2
|
+
import { catchError, filter, finalize, switchMap, take } from 'rxjs/operators';
|
|
3
|
+
import { Inject, Injectable } from '@angular/core';
|
|
4
|
+
import { HttpErrorResponse } from '@angular/common/http';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "../services/auth/jwt.service";
|
|
7
|
+
import * as i2 from "../services/auth/auth.service";
|
|
8
|
+
const MESSAGE_DEFAULT_500_ERROR = 'Unexpected error! Please try again later. You can send us via chat your questions.';
|
|
9
|
+
/**
|
|
10
|
+
* JWT Interceptor add jwt token to each request related with TaxTank API
|
|
11
|
+
*/
|
|
12
|
+
export class JwtInterceptor {
|
|
13
|
+
constructor(jwtService, authService, environment) {
|
|
14
|
+
this.jwtService = jwtService;
|
|
15
|
+
this.authService = authService;
|
|
16
|
+
this.environment = environment;
|
|
17
|
+
this.isRefreshingToken = false;
|
|
18
|
+
this.tokenSubject = new BehaviorSubject(null);
|
|
19
|
+
}
|
|
20
|
+
addToken(req) {
|
|
21
|
+
return req.clone({
|
|
22
|
+
setHeaders: { Authorization: 'Bearer ' + this.jwtService.getToken() },
|
|
23
|
+
withCredentials: true
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
intercept(request, next) {
|
|
27
|
+
// skip third party requests
|
|
28
|
+
if (!request.url.includes(this.environment.api_uri)) {
|
|
29
|
+
return next.handle(request);
|
|
30
|
+
}
|
|
31
|
+
// add token to every api request
|
|
32
|
+
return next.handle(this.addToken(request)).pipe(
|
|
33
|
+
// handle errors
|
|
34
|
+
catchError((err) => {
|
|
35
|
+
if (err instanceof HttpErrorResponse) {
|
|
36
|
+
switch (err.status) {
|
|
37
|
+
// unexpected errors
|
|
38
|
+
case 405:
|
|
39
|
+
case 500:
|
|
40
|
+
this.handle500Error();
|
|
41
|
+
break;
|
|
42
|
+
// expected errors
|
|
43
|
+
case 401:
|
|
44
|
+
return this.handle401Error(request, next, err);
|
|
45
|
+
case 400:
|
|
46
|
+
case 403:
|
|
47
|
+
// @TODO in most cases 404 is not an error, handle in components
|
|
48
|
+
// case 404:
|
|
49
|
+
this.showErrorMessages(err);
|
|
50
|
+
break;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return observableThrowError(err);
|
|
54
|
+
}));
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* @TODO log
|
|
58
|
+
* @TODO waiting for backend to handle errors in a better way
|
|
59
|
+
*/
|
|
60
|
+
handle400Error(err) {
|
|
61
|
+
// this.snackBar.open(err.error['hydra:description'], '', {
|
|
62
|
+
// panelClass: 'error'
|
|
63
|
+
// });
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* @TODO log
|
|
67
|
+
* @TODO waiting for backend to handle errors in a better way
|
|
68
|
+
*/
|
|
69
|
+
handle403Error(err) {
|
|
70
|
+
// this.snackBar.open(err.error['hydra:description'], '', {
|
|
71
|
+
// panelClass: 'error'
|
|
72
|
+
// });
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* @TODO log
|
|
76
|
+
*/
|
|
77
|
+
handle500Error() {
|
|
78
|
+
// this.snackBar.open(MESSAGE_DEFAULT_500_ERROR, '', {
|
|
79
|
+
// panelClass: 'error'
|
|
80
|
+
// });
|
|
81
|
+
}
|
|
82
|
+
handle401Error(req, next, err) {
|
|
83
|
+
if (req.url.includes('token/refresh') || req.url.includes('login')) {
|
|
84
|
+
if (req.url.includes('token/refresh')) {
|
|
85
|
+
this.authService.logoutFront();
|
|
86
|
+
}
|
|
87
|
+
return observableThrowError(err);
|
|
88
|
+
}
|
|
89
|
+
// refreshing token, wait until it's done and retry the request
|
|
90
|
+
if (this.isRefreshingToken) {
|
|
91
|
+
return this.tokenSubject.pipe(filter(token => token != null), take(1), switchMap(token => next.handle(this.addToken(req))));
|
|
92
|
+
// refresh token
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
// subsequent requests should wait until refresh token is ready
|
|
96
|
+
this.isRefreshingToken = true;
|
|
97
|
+
this.tokenSubject.next(null);
|
|
98
|
+
return this.authService.refresh(this.jwtService.getRefreshToken()).pipe(switchMap((tokens) => {
|
|
99
|
+
this.tokenSubject.next(tokens.token);
|
|
100
|
+
return next.handle(this.addToken(req));
|
|
101
|
+
}), catchError(() => {
|
|
102
|
+
this.authService.logoutFront();
|
|
103
|
+
return observableThrowError(err);
|
|
104
|
+
}), finalize(() => {
|
|
105
|
+
this.isRefreshingToken = false;
|
|
106
|
+
}));
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Handle error messages
|
|
111
|
+
* @param errorResponse from which messages should be taken
|
|
112
|
+
*
|
|
113
|
+
* @TODO move to separated interceptor
|
|
114
|
+
*/
|
|
115
|
+
showErrorMessages(errorResponse) {
|
|
116
|
+
if (!errorResponse.error.violations) {
|
|
117
|
+
// this.snackBar.open('Something went wrong', '', {
|
|
118
|
+
// panelClass: 'error'
|
|
119
|
+
// });
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
errorResponse.error.violations.forEach((violation) => {
|
|
123
|
+
// this.snackBar.open(violation['message'], '', {
|
|
124
|
+
// panelClass: 'error'
|
|
125
|
+
// });
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
JwtInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: JwtInterceptor, deps: [{ token: i1.JwtService }, { token: i2.AuthService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
130
|
+
JwtInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: JwtInterceptor });
|
|
131
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: JwtInterceptor, decorators: [{
|
|
132
|
+
type: Injectable
|
|
133
|
+
}], ctorParameters: function () { return [{ type: i1.JwtService }, { type: i2.AuthService }, { type: undefined, decorators: [{
|
|
134
|
+
type: Inject,
|
|
135
|
+
args: ['environment']
|
|
136
|
+
}] }]; } });
|
|
137
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiand0LWludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2ludGVyY2VwdG9ycy9qd3QtaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBYyxVQUFVLElBQUksb0JBQW9CLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsaUJBQWlCLEVBQXdELE1BQU0sc0JBQXNCLENBQUM7Ozs7QUFJL0csTUFBTSx5QkFBeUIsR0FBRyxvRkFBb0YsQ0FBQztBQUV2SDs7R0FFRztBQUVILE1BQU0sT0FBTyxjQUFjO0lBSXpCLFlBQ1MsVUFBc0IsRUFDckIsV0FBd0IsRUFDRCxXQUFnQjtRQUZ4QyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3JCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ0QsZ0JBQVcsR0FBWCxXQUFXLENBQUs7UUFOakQsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQzFCLGlCQUFZLEdBQTRCLElBQUksZUFBZSxDQUFTLElBQUksQ0FBQyxDQUFDO0lBTXZFLENBQUM7SUFFSixRQUFRLENBQUMsR0FBcUI7UUFDNUIsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDO1lBQ2YsVUFBVSxFQUFFLEVBQUUsYUFBYSxFQUFFLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ3JFLGVBQWUsRUFBRSxJQUFJO1NBQ3RCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxTQUFTLENBQUMsT0FBeUIsRUFBRSxJQUFpQjtRQUNwRCw0QkFBNEI7UUFDNUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDbkQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQzdCO1FBRUQsaUNBQWlDO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSTtRQUM3QyxnQkFBZ0I7UUFDaEIsVUFBVSxDQUFDLENBQUMsR0FBc0IsRUFBRSxFQUFFO1lBQ3BDLElBQUksR0FBRyxZQUFZLGlCQUFpQixFQUFFO2dCQUNwQyxRQUFTLEdBQXlCLENBQUMsTUFBTSxFQUFFO29CQUN6QyxvQkFBb0I7b0JBQ3BCLEtBQUssR0FBRyxDQUFDO29CQUNULEtBQUssR0FBRzt3QkFDTixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7d0JBQ3RCLE1BQU07b0JBQ1Isa0JBQWtCO29CQUNsQixLQUFLLEdBQUc7d0JBQ04sT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7b0JBQ2pELEtBQUssR0FBRyxDQUFDO29CQUNULEtBQUssR0FBRzt3QkFDUixnRUFBZ0U7d0JBQ2hFLFlBQVk7d0JBQ1YsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDO3dCQUM1QixNQUFNO2lCQUNUO2FBQ0Y7WUFFRCxPQUFPLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25DLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsY0FBYyxDQUFDLEdBQXNCO1FBQ25DLDJEQUEyRDtRQUMzRCx3QkFBd0I7UUFDeEIsTUFBTTtJQUNSLENBQUM7SUFFRDs7O09BR0c7SUFDSCxjQUFjLENBQUMsR0FBc0I7UUFDbkMsMkRBQTJEO1FBQzNELHdCQUF3QjtRQUN4QixNQUFNO0lBQ1IsQ0FBQztJQUVEOztPQUVHO0lBQ0gsY0FBYztRQUNaLHNEQUFzRDtRQUN0RCx3QkFBd0I7UUFDeEIsTUFBTTtJQUNSLENBQUM7SUFFRCxjQUFjLENBQUMsR0FBcUIsRUFBRSxJQUFpQixFQUFFLEdBQXNCO1FBQzdFLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDbEUsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsRUFBRTtnQkFDckMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQzthQUNoQztZQUVELE9BQU8sb0JBQW9CLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDbEM7UUFFRCwrREFBK0Q7UUFDL0QsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDMUIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FDM0IsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxFQUM5QixJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQ1AsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FDcEQsQ0FBQztZQUNKLGdCQUFnQjtTQUNmO2FBQU07WUFDTCwrREFBK0Q7WUFDL0QsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztZQUM5QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUU3QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQ3JFLFNBQVMsQ0FBQyxDQUFDLE1BQStDLEVBQUUsRUFBRTtnQkFDNUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNyQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ3pDLENBQUMsQ0FBQyxFQUNGLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDL0IsT0FBTyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNuQyxDQUFDLENBQUMsRUFDRixRQUFRLENBQUMsR0FBRyxFQUFFO2dCQUNaLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUM7WUFDakMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztTQUNIO0lBQ0gsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ssaUJBQWlCLENBQUMsYUFBZ0M7UUFDeEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFO1lBQ25DLG1EQUFtRDtZQUNuRCx3QkFBd0I7WUFDeEIsTUFBTTtZQUVOLE9BQU87U0FDUjtRQUNELGFBQWEsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQWlCLEVBQVEsRUFBRTtZQUNqRSxpREFBaUQ7WUFDakQsd0JBQXdCO1lBQ3hCLE1BQU07UUFDUixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OzRHQXpJVSxjQUFjLHVFQU9mLGFBQWE7Z0hBUFosY0FBYzs0RkFBZCxjQUFjO2tCQUQxQixVQUFVOzswQkFRTixNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIHRocm93RXJyb3IgYXMgb2JzZXJ2YWJsZVRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbHRlciwgZmluYWxpemUsIHN3aXRjaE1hcCwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UsIEh0dHBFdmVudCwgSHR0cEhhbmRsZXIsIEh0dHBJbnRlcmNlcHRvciwgSHR0cFJlcXVlc3QgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBKd3RTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvYXV0aC9qd3Quc2VydmljZSc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2F1dGgvYXV0aC5zZXJ2aWNlJztcblxuY29uc3QgTUVTU0FHRV9ERUZBVUxUXzUwMF9FUlJPUiA9ICdVbmV4cGVjdGVkIGVycm9yISBQbGVhc2UgdHJ5IGFnYWluIGxhdGVyLiBZb3UgY2FuIHNlbmQgdXMgdmlhIGNoYXQgeW91ciBxdWVzdGlvbnMuJztcblxuLyoqXG4gKiBKV1QgSW50ZXJjZXB0b3IgYWRkIGp3dCB0b2tlbiB0byBlYWNoIHJlcXVlc3QgcmVsYXRlZCB3aXRoIFRheFRhbmsgQVBJXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBKd3RJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG4gIGlzUmVmcmVzaGluZ1Rva2VuID0gZmFsc2U7XG4gIHRva2VuU3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4obnVsbCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGp3dFNlcnZpY2U6IEp3dFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXG4gICAgQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcml2YXRlIGVudmlyb25tZW50OiBhbnlcbiAgKSB7fVxuXG4gIGFkZFRva2VuKHJlcTogSHR0cFJlcXVlc3Q8YW55Pik6IEh0dHBSZXF1ZXN0PGFueT4ge1xuICAgIHJldHVybiByZXEuY2xvbmUoe1xuICAgICAgc2V0SGVhZGVyczogeyBBdXRob3JpemF0aW9uOiAnQmVhcmVyICcgKyB0aGlzLmp3dFNlcnZpY2UuZ2V0VG9rZW4oKSB9LFxuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlXG4gICAgfSk7XG4gIH1cblxuICBpbnRlcmNlcHQocmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55PiwgbmV4dDogSHR0cEhhbmRsZXIpOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PiB7XG4gICAgLy8gc2tpcCB0aGlyZCBwYXJ0eSByZXF1ZXN0c1xuICAgIGlmICghcmVxdWVzdC51cmwuaW5jbHVkZXModGhpcy5lbnZpcm9ubWVudC5hcGlfdXJpKSkge1xuICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcXVlc3QpO1xuICAgIH1cblxuICAgIC8vIGFkZCB0b2tlbiB0byBldmVyeSBhcGkgcmVxdWVzdFxuICAgIHJldHVybiBuZXh0LmhhbmRsZSh0aGlzLmFkZFRva2VuKHJlcXVlc3QpKS5waXBlKFxuICAgICAgLy8gaGFuZGxlIGVycm9yc1xuICAgICAgY2F0Y2hFcnJvcigoZXJyOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xuICAgICAgICBpZiAoZXJyIGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UpIHtcbiAgICAgICAgICBzd2l0Y2ggKChlcnIgYXMgSHR0cEVycm9yUmVzcG9uc2UpLnN0YXR1cykge1xuICAgICAgICAgICAgLy8gdW5leHBlY3RlZCBlcnJvcnNcbiAgICAgICAgICAgIGNhc2UgNDA1OlxuICAgICAgICAgICAgY2FzZSA1MDA6XG4gICAgICAgICAgICAgIHRoaXMuaGFuZGxlNTAwRXJyb3IoKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAvLyBleHBlY3RlZCBlcnJvcnNcbiAgICAgICAgICAgIGNhc2UgNDAxOlxuICAgICAgICAgICAgICByZXR1cm4gdGhpcy5oYW5kbGU0MDFFcnJvcihyZXF1ZXN0LCBuZXh0LCBlcnIpO1xuICAgICAgICAgICAgY2FzZSA0MDA6XG4gICAgICAgICAgICBjYXNlIDQwMzpcbiAgICAgICAgICAgIC8vIEBUT0RPIGluIG1vc3QgY2FzZXMgNDA0IGlzIG5vdCBhbiBlcnJvciwgaGFuZGxlIGluIGNvbXBvbmVudHNcbiAgICAgICAgICAgIC8vIGNhc2UgNDA0OlxuICAgICAgICAgICAgICB0aGlzLnNob3dFcnJvck1lc3NhZ2VzKGVycik7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBvYnNlcnZhYmxlVGhyb3dFcnJvcihlcnIpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEBUT0RPIGxvZ1xuICAgKiBAVE9ETyB3YWl0aW5nIGZvciBiYWNrZW5kIHRvIGhhbmRsZSBlcnJvcnMgaW4gYSBiZXR0ZXIgd2F5XG4gICAqL1xuICBoYW5kbGU0MDBFcnJvcihlcnI6IEh0dHBFcnJvclJlc3BvbnNlKTogdm9pZCB7XG4gICAgLy8gdGhpcy5zbmFja0Jhci5vcGVuKGVyci5lcnJvclsnaHlkcmE6ZGVzY3JpcHRpb24nXSwgJycsIHtcbiAgICAvLyAgIHBhbmVsQ2xhc3M6ICdlcnJvcidcbiAgICAvLyB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAVE9ETyBsb2dcbiAgICogQFRPRE8gd2FpdGluZyBmb3IgYmFja2VuZCB0byBoYW5kbGUgZXJyb3JzIGluIGEgYmV0dGVyIHdheVxuICAgKi9cbiAgaGFuZGxlNDAzRXJyb3IoZXJyOiBIdHRwRXJyb3JSZXNwb25zZSk6IHZvaWQge1xuICAgIC8vIHRoaXMuc25hY2tCYXIub3BlbihlcnIuZXJyb3JbJ2h5ZHJhOmRlc2NyaXB0aW9uJ10sICcnLCB7XG4gICAgLy8gICBwYW5lbENsYXNzOiAnZXJyb3InXG4gICAgLy8gfSk7XG4gIH1cblxuICAvKipcbiAgICogQFRPRE8gbG9nXG4gICAqL1xuICBoYW5kbGU1MDBFcnJvcigpOiB2b2lkIHtcbiAgICAvLyB0aGlzLnNuYWNrQmFyLm9wZW4oTUVTU0FHRV9ERUZBVUxUXzUwMF9FUlJPUiwgJycsIHtcbiAgICAvLyAgIHBhbmVsQ2xhc3M6ICdlcnJvcidcbiAgICAvLyB9KTtcbiAgfVxuXG4gIGhhbmRsZTQwMUVycm9yKHJlcTogSHR0cFJlcXVlc3Q8YW55PiwgbmV4dDogSHR0cEhhbmRsZXIsIGVycjogSHR0cEVycm9yUmVzcG9uc2UpIHtcbiAgICBpZiAocmVxLnVybC5pbmNsdWRlcygndG9rZW4vcmVmcmVzaCcpIHx8IHJlcS51cmwuaW5jbHVkZXMoJ2xvZ2luJykpIHtcbiAgICAgIGlmIChyZXEudXJsLmluY2x1ZGVzKCd0b2tlbi9yZWZyZXNoJykpIHtcbiAgICAgICAgdGhpcy5hdXRoU2VydmljZS5sb2dvdXRGcm9udCgpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gb2JzZXJ2YWJsZVRocm93RXJyb3IoZXJyKTtcbiAgICB9XG5cbiAgICAvLyByZWZyZXNoaW5nIHRva2VuLCB3YWl0IHVudGlsIGl0J3MgZG9uZSBhbmQgcmV0cnkgdGhlIHJlcXVlc3RcbiAgICBpZiAodGhpcy5pc1JlZnJlc2hpbmdUb2tlbikge1xuICAgICAgcmV0dXJuIHRoaXMudG9rZW5TdWJqZWN0LnBpcGUoXG4gICAgICAgIGZpbHRlcih0b2tlbiA9PiB0b2tlbiAhPSBudWxsKSxcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgc3dpdGNoTWFwKHRva2VuID0+IG5leHQuaGFuZGxlKHRoaXMuYWRkVG9rZW4ocmVxKSkpXG4gICAgICApO1xuICAgIC8vIHJlZnJlc2ggdG9rZW5cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gc3Vic2VxdWVudCByZXF1ZXN0cyBzaG91bGQgd2FpdCB1bnRpbCByZWZyZXNoIHRva2VuIGlzIHJlYWR5XG4gICAgICB0aGlzLmlzUmVmcmVzaGluZ1Rva2VuID0gdHJ1ZTtcbiAgICAgIHRoaXMudG9rZW5TdWJqZWN0Lm5leHQobnVsbCk7XG5cbiAgICAgIHJldHVybiB0aGlzLmF1dGhTZXJ2aWNlLnJlZnJlc2godGhpcy5qd3RTZXJ2aWNlLmdldFJlZnJlc2hUb2tlbigpKS5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKHRva2VuczogeyB0b2tlbjogc3RyaW5nLCByZWZyZXNoVG9rZW46IHN0cmluZyB9KSA9PiB7XG4gICAgICAgICAgdGhpcy50b2tlblN1YmplY3QubmV4dCh0b2tlbnMudG9rZW4pO1xuICAgICAgICAgIHJldHVybiBuZXh0LmhhbmRsZSh0aGlzLmFkZFRva2VuKHJlcSkpO1xuICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiB7XG4gICAgICAgICAgdGhpcy5hdXRoU2VydmljZS5sb2dvdXRGcm9udCgpO1xuICAgICAgICAgIHJldHVybiBvYnNlcnZhYmxlVGhyb3dFcnJvcihlcnIpO1xuICAgICAgICB9KSxcbiAgICAgICAgZmluYWxpemUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuaXNSZWZyZXNoaW5nVG9rZW4gPSBmYWxzZTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEhhbmRsZSBlcnJvciBtZXNzYWdlc1xuICAgKiBAcGFyYW0gZXJyb3JSZXNwb25zZSBmcm9tIHdoaWNoIG1lc3NhZ2VzIHNob3VsZCBiZSB0YWtlblxuICAgKlxuICAgKiBAVE9ETyBtb3ZlIHRvIHNlcGFyYXRlZCBpbnRlcmNlcHRvclxuICAgKi9cbiAgcHJpdmF0ZSBzaG93RXJyb3JNZXNzYWdlcyhlcnJvclJlc3BvbnNlOiBIdHRwRXJyb3JSZXNwb25zZSk6IHZvaWQge1xuICAgIGlmICghZXJyb3JSZXNwb25zZS5lcnJvci52aW9sYXRpb25zKSB7XG4gICAgICAvLyB0aGlzLnNuYWNrQmFyLm9wZW4oJ1NvbWV0aGluZyB3ZW50IHdyb25nJywgJycsIHtcbiAgICAgIC8vICAgcGFuZWxDbGFzczogJ2Vycm9yJ1xuICAgICAgLy8gfSk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZXJyb3JSZXNwb25zZS5lcnJvci52aW9sYXRpb25zLmZvckVhY2goKHZpb2xhdGlvbjogb2JqZWN0KTogdm9pZCA9PiB7XG4gICAgICAvLyB0aGlzLnNuYWNrQmFyLm9wZW4odmlvbGF0aW9uWydtZXNzYWdlJ10sICcnLCB7XG4gICAgICAvLyAgIHBhbmVsQ2xhc3M6ICdlcnJvcidcbiAgICAgIC8vIH0pO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { finalize } from 'rxjs/operators';
|
|
3
|
+
import { ENDPOINTS } from '../models/endpoint/endpoints.const';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../services/preloader/preloader.service";
|
|
6
|
+
/**
|
|
7
|
+
* interceptor for preloader handling
|
|
8
|
+
*/
|
|
9
|
+
export class PreloaderInterceptor {
|
|
10
|
+
constructor(preloaderService) {
|
|
11
|
+
this.preloaderService = preloaderService;
|
|
12
|
+
}
|
|
13
|
+
intercept(request, next) {
|
|
14
|
+
const endpoint = this.findEndpoint(`${request.method} ${request.url}`);
|
|
15
|
+
if (!!endpoint) {
|
|
16
|
+
this.preloaderService.add(endpoint);
|
|
17
|
+
return next.handle(request).pipe(finalize(() => {
|
|
18
|
+
this.preloaderService.delete(endpoint);
|
|
19
|
+
}));
|
|
20
|
+
}
|
|
21
|
+
return next.handle(request);
|
|
22
|
+
}
|
|
23
|
+
findEndpoint(requestPath) {
|
|
24
|
+
return Object.values(ENDPOINTS).find((endpoint) => endpoint.test(requestPath));
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
PreloaderInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PreloaderInterceptor, deps: [{ token: i1.PreloaderService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
28
|
+
PreloaderInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PreloaderInterceptor });
|
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PreloaderInterceptor, decorators: [{
|
|
30
|
+
type: Injectable
|
|
31
|
+
}], ctorParameters: function () { return [{ type: i1.PreloaderService }]; } });
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlbG9hZGVyLmludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2ludGVyY2VwdG9ycy9wcmVsb2FkZXIuaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVEzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHMUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7QUFFL0Q7O0dBRUc7QUFFSCxNQUFNLE9BQU8sb0JBQW9CO0lBRS9CLFlBQ1UsZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7SUFDekMsQ0FBQztJQUVKLFNBQVMsQ0FBQyxPQUE2QixFQUFFLElBQWlCO1FBQ3hELE1BQU0sUUFBUSxHQUFhLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ2pGLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRTtZQUNkLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7WUFFcEMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDOUIsUUFBUSxDQUFDLEdBQVMsRUFBRTtnQkFDbEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN6QyxDQUFDLENBQUMsQ0FDSCxDQUFDO1NBQ0g7UUFFRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVPLFlBQVksQ0FBQyxXQUFtQjtRQUN0QyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBa0IsRUFBVyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ3BHLENBQUM7O2tIQXZCVSxvQkFBb0I7c0hBQXBCLG9CQUFvQjs0RkFBcEIsb0JBQW9CO2tCQURoQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgSHR0cFJlcXVlc3QsXG4gIEh0dHBIYW5kbGVyLFxuICBIdHRwRXZlbnQsXG4gIEh0dHBJbnRlcmNlcHRvclxufSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaW5hbGl6ZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFByZWxvYWRlclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9wcmVsb2FkZXIvcHJlbG9hZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgRW5kcG9pbnQgfSBmcm9tICcuLi9tb2RlbHMvZW5kcG9pbnQvZW5kcG9pbnQnO1xuaW1wb3J0IHsgRU5EUE9JTlRTIH0gZnJvbSAnLi4vbW9kZWxzL2VuZHBvaW50L2VuZHBvaW50cy5jb25zdCc7XG5cbi8qKlxuICogaW50ZXJjZXB0b3IgZm9yIHByZWxvYWRlciBoYW5kbGluZ1xuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUHJlbG9hZGVySW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcHJlbG9hZGVyU2VydmljZTogUHJlbG9hZGVyU2VydmljZVxuICApIHt9XG5cbiAgaW50ZXJjZXB0KHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PHVua25vd24+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8SHR0cEV2ZW50PHVua25vd24+PiB7XG4gICAgY29uc3QgZW5kcG9pbnQ6IEVuZHBvaW50ID0gdGhpcy5maW5kRW5kcG9pbnQoYCR7cmVxdWVzdC5tZXRob2R9ICR7cmVxdWVzdC51cmx9YCk7XG4gICAgaWYgKCEhZW5kcG9pbnQpIHtcbiAgICAgIHRoaXMucHJlbG9hZGVyU2VydmljZS5hZGQoZW5kcG9pbnQpO1xuXG4gICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxdWVzdCkucGlwZShcbiAgICAgICAgZmluYWxpemUoKCk6IHZvaWQgPT4ge1xuICAgICAgICAgIHRoaXMucHJlbG9hZGVyU2VydmljZS5kZWxldGUoZW5kcG9pbnQpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxdWVzdCk7XG4gIH1cblxuICBwcml2YXRlIGZpbmRFbmRwb2ludChyZXF1ZXN0UGF0aDogc3RyaW5nKTogRW5kcG9pbnQge1xuICAgIHJldHVybiBPYmplY3QudmFsdWVzKEVORFBPSU5UUykuZmluZCgoZW5kcG9pbnQ6IEVuZHBvaW50KTogYm9vbGVhbiA9PiBlbmRwb2ludC50ZXN0KHJlcXVlc3RQYXRoKSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Inject, Injectable } from '@angular/core';
|
|
2
|
+
import { HttpParams } from '@angular/common/http';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../services/user/user-switcher.service";
|
|
5
|
+
/**
|
|
6
|
+
* Impersonate current's user (manager) to client experience with help of special header
|
|
7
|
+
*/
|
|
8
|
+
export class UserSwitcherInterceptor {
|
|
9
|
+
constructor(userSwitcherService, environment) {
|
|
10
|
+
this.userSwitcherService = userSwitcherService;
|
|
11
|
+
this.environment = environment;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* add token header if request url contain TaxTank API URL
|
|
15
|
+
*/
|
|
16
|
+
switch(req, username) {
|
|
17
|
+
// skip third party api requests
|
|
18
|
+
if (!req.url.includes(this.environment.api_uri) || !username) {
|
|
19
|
+
return req;
|
|
20
|
+
}
|
|
21
|
+
const params = new HttpParams({ fromString: req.params.toString() }).set('_switch_user', username);
|
|
22
|
+
return req.clone({ params });
|
|
23
|
+
// @TODO move to header solution when backend can support it
|
|
24
|
+
// return req.clone({
|
|
25
|
+
// setHeaders: {
|
|
26
|
+
// HTTP_X_SWITCH_USER: username
|
|
27
|
+
// }
|
|
28
|
+
// });
|
|
29
|
+
}
|
|
30
|
+
intercept(request, next) {
|
|
31
|
+
return next.handle(this.switch(request, this.userSwitcherService.get()));
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
UserSwitcherInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: UserSwitcherInterceptor, deps: [{ token: i1.UserSwitcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
35
|
+
UserSwitcherInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: UserSwitcherInterceptor });
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: UserSwitcherInterceptor, decorators: [{
|
|
37
|
+
type: Injectable
|
|
38
|
+
}], ctorParameters: function () { return [{ type: i1.UserSwitcherService }, { type: undefined, decorators: [{
|
|
39
|
+
type: Inject,
|
|
40
|
+
args: ['environment']
|
|
41
|
+
}] }]; } });
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1zd2l0Y2hlci1pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9pbnRlcmNlcHRvcnMvdXNlci1zd2l0Y2hlci1pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBSVksVUFBVSxFQUM1QixNQUFNLHNCQUFzQixDQUFDOzs7QUFHOUI7O0dBRUc7QUFFSCxNQUFNLE9BQU8sdUJBQXVCO0lBRWxDLFlBQ1MsbUJBQXdDLEVBQ2hCLFdBQWdCO1FBRHhDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDaEIsZ0JBQVcsR0FBWCxXQUFXLENBQUs7SUFFakQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLEdBQXFCLEVBQUUsUUFBZ0I7UUFDNUMsZ0NBQWdDO1FBQ2hDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQzVELE9BQU8sR0FBRyxDQUFDO1NBQ1o7UUFFRCxNQUFNLE1BQU0sR0FBZSxJQUFJLFVBQVUsQ0FBQyxFQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxFQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzdHLE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFDLE1BQU0sRUFBQyxDQUFDLENBQUM7UUFFM0IsNERBQTREO1FBQzVELHFCQUFxQjtRQUNyQixrQkFBa0I7UUFDbEIsbUNBQW1DO1FBQ25DLE1BQU07UUFDTixNQUFNO0lBQ1IsQ0FBQztJQUVELFNBQVMsQ0FBQyxPQUF5QixFQUFFLElBQWlCO1FBQ3BELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzNFLENBQUM7O3FIQTlCVSx1QkFBdUIscURBSXhCLGFBQWE7eUhBSlosdUJBQXVCOzRGQUF2Qix1QkFBdUI7a0JBRG5DLFVBQVU7OzBCQUtOLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgSHR0cFJlcXVlc3QsXG4gIEh0dHBIYW5kbGVyLFxuICBIdHRwRXZlbnQsXG4gIEh0dHBJbnRlcmNlcHRvciwgSHR0cFBhcmFtc1xufSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBVc2VyU3dpdGNoZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdXNlci91c2VyLXN3aXRjaGVyLnNlcnZpY2UnO1xuXG4vKipcbiAqIEltcGVyc29uYXRlIGN1cnJlbnQncyB1c2VyIChtYW5hZ2VyKSB0byBjbGllbnQgZXhwZXJpZW5jZSB3aXRoIGhlbHAgb2Ygc3BlY2lhbCBoZWFkZXJcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFVzZXJTd2l0Y2hlckludGVyY2VwdG9yIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgdXNlclN3aXRjaGVyU2VydmljZTogVXNlclN3aXRjaGVyU2VydmljZSxcbiAgICBASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByaXZhdGUgZW52aXJvbm1lbnQ6IGFueVxuICApIHtcbiAgfVxuXG4gIC8qKlxuICAgKiBhZGQgdG9rZW4gaGVhZGVyIGlmIHJlcXVlc3QgdXJsIGNvbnRhaW4gVGF4VGFuayBBUEkgVVJMXG4gICAqL1xuICBzd2l0Y2gocmVxOiBIdHRwUmVxdWVzdDxhbnk+LCB1c2VybmFtZTogc3RyaW5nKTogSHR0cFJlcXVlc3Q8YW55PiB7XG4gICAgLy8gc2tpcCB0aGlyZCBwYXJ0eSBhcGkgcmVxdWVzdHNcbiAgICBpZiAoIXJlcS51cmwuaW5jbHVkZXModGhpcy5lbnZpcm9ubWVudC5hcGlfdXJpKSB8fCAhdXNlcm5hbWUpIHtcbiAgICAgIHJldHVybiByZXE7XG4gICAgfVxuXG4gICAgY29uc3QgcGFyYW1zOiBIdHRwUGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoe2Zyb21TdHJpbmc6IHJlcS5wYXJhbXMudG9TdHJpbmcoKX0pLnNldCgnX3N3aXRjaF91c2VyJywgdXNlcm5hbWUpO1xuICAgIHJldHVybiByZXEuY2xvbmUoe3BhcmFtc30pO1xuXG4gICAgLy8gQFRPRE8gbW92ZSB0byBoZWFkZXIgc29sdXRpb24gd2hlbiBiYWNrZW5kIGNhbiBzdXBwb3J0IGl0XG4gICAgLy8gcmV0dXJuIHJlcS5jbG9uZSh7XG4gICAgLy8gICBzZXRIZWFkZXJzOiB7XG4gICAgLy8gICAgIEhUVFBfWF9TV0lUQ0hfVVNFUjogdXNlcm5hbWVcbiAgICAvLyAgIH1cbiAgICAvLyB9KTtcbiAgfVxuXG4gIGludGVyY2VwdChyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+IHtcbiAgICByZXR1cm4gbmV4dC5oYW5kbGUodGhpcy5zd2l0Y2gocmVxdWVzdCwgdGhpcy51c2VyU3dpdGNoZXJTZXJ2aWNlLmdldCgpKSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export var AlphabetColorsEnum;
|
|
2
|
+
(function (AlphabetColorsEnum) {
|
|
3
|
+
AlphabetColorsEnum["A"] = "#9CC3D5";
|
|
4
|
+
AlphabetColorsEnum["B"] = "#E69A8D";
|
|
5
|
+
AlphabetColorsEnum["C"] = "#ED2B33";
|
|
6
|
+
AlphabetColorsEnum["D"] = "#E3CD81";
|
|
7
|
+
AlphabetColorsEnum["E"] = "#343148";
|
|
8
|
+
AlphabetColorsEnum["F"] = "#2C5F2D";
|
|
9
|
+
AlphabetColorsEnum["G"] = "#FFA177";
|
|
10
|
+
AlphabetColorsEnum["H"] = "#435E55";
|
|
11
|
+
AlphabetColorsEnum["I"] = "#2BAE66";
|
|
12
|
+
AlphabetColorsEnum["J"] = "#3C1053";
|
|
13
|
+
AlphabetColorsEnum["K"] = "#DD4132";
|
|
14
|
+
AlphabetColorsEnum["L"] = "#FC766A";
|
|
15
|
+
AlphabetColorsEnum["M"] = "#ADEFD1";
|
|
16
|
+
AlphabetColorsEnum["N"] = "#79C000";
|
|
17
|
+
AlphabetColorsEnum["O"] = "#D198C5";
|
|
18
|
+
AlphabetColorsEnum["P"] = "#5B84B1";
|
|
19
|
+
AlphabetColorsEnum["Q"] = "#A13941";
|
|
20
|
+
AlphabetColorsEnum["R"] = "#D85A7F";
|
|
21
|
+
AlphabetColorsEnum["S"] = "#00203F";
|
|
22
|
+
AlphabetColorsEnum["T"] = "#42EADD";
|
|
23
|
+
AlphabetColorsEnum["U"] = "#5F4B8B";
|
|
24
|
+
AlphabetColorsEnum["V"] = "#FDDB27";
|
|
25
|
+
AlphabetColorsEnum["W"] = "#CDB599";
|
|
26
|
+
AlphabetColorsEnum["X"] = "#4B878B";
|
|
27
|
+
AlphabetColorsEnum["Y"] = "#B0B8B4";
|
|
28
|
+
AlphabetColorsEnum["Z"] = "#E3C9CE";
|
|
29
|
+
})(AlphabetColorsEnum || (AlphabetColorsEnum = {}));
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxwaGFiZXQtY29sb3JzLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL2NvbG9yL2FscGhhYmV0LWNvbG9ycy5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGtCQTJCWDtBQTNCRCxXQUFZLGtCQUFrQjtJQUM1QixtQ0FBYSxDQUFBO0lBQ2IsbUNBQWEsQ0FBQTtJQUNiLG1DQUFhLENBQUE7SUFDYixtQ0FBYSxDQUFBO0lBQ2IsbUNBQWEsQ0FBQTtJQUNiLG1DQUFhLENBQUE7SUFDYixtQ0FBYSxDQUFBO0lBQ2IsbUNBQWEsQ0FBQTtJQUNiLG1DQUFhLENBQUE7SUFDYixtQ0FBYSxDQUFBO0lBQ2IsbUNBQWEsQ0FBQTtJQUNiLG1DQUFhLENBQUE7SUFDYixtQ0FBYSxDQUFBO0lBQ2IsbUNBQWEsQ0FBQTtJQUNiLG1DQUFhLENBQUE7SUFDYixtQ0FBYSxDQUFBO0lBQ2IsbUNBQWEsQ0FBQTtJQUNiLG1DQUFhLENBQUE7SUFDYixtQ0FBYSxDQUFBO0lBQ2IsbUNBQWEsQ0FBQTtJQUNiLG1DQUFhLENBQUE7SUFDYixtQ0FBYSxDQUFBO0lBQ2IsbUNBQWEsQ0FBQTtJQUNiLG1DQUFhLENBQUE7SUFDYixtQ0FBYSxDQUFBO0lBQ2IsbUNBQWEsQ0FBQTtBQUNmLENBQUMsRUEzQlcsa0JBQWtCLEtBQWxCLGtCQUFrQixRQTJCN0IiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBBbHBoYWJldENvbG9yc0VudW0ge1xyXG4gIEEgPSAnIzlDQzNENScsXHJcbiAgQiA9ICcjRTY5QThEJyxcclxuICBDID0gJyNFRDJCMzMnLFxyXG4gIEQgPSAnI0UzQ0Q4MScsXHJcbiAgRSA9ICcjMzQzMTQ4JyxcclxuICBGID0gJyMyQzVGMkQnLFxyXG4gIEcgPSAnI0ZGQTE3NycsXHJcbiAgSCA9ICcjNDM1RTU1JyxcclxuICBJID0gJyMyQkFFNjYnLFxyXG4gIEogPSAnIzNDMTA1MycsXHJcbiAgSyA9ICcjREQ0MTMyJyxcclxuICBMID0gJyNGQzc2NkEnLFxyXG4gIE0gPSAnI0FERUZEMScsXHJcbiAgTiA9ICcjNzlDMDAwJyxcclxuICBPID0gJyNEMTk4QzUnLFxyXG4gIFAgPSAnIzVCODRCMScsXHJcbiAgUSA9ICcjQTEzOTQxJyxcclxuICBSID0gJyNEODVBN0YnLFxyXG4gIFMgPSAnIzAwMjAzRicsXHJcbiAgVCA9ICcjNDJFQUREJyxcclxuICBVID0gJyM1RjRCOEInLFxyXG4gIFYgPSAnI0ZEREIyNycsXHJcbiAgVyA9ICcjQ0RCNTk5JyxcclxuICBYID0gJyM0Qjg3OEInLFxyXG4gIFkgPSAnI0IwQjhCNCcsXHJcbiAgWiA9ICcjRTNDOUNFJ1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Inject, Injectable } from '@angular/core';
|
|
2
|
+
import { map } from 'rxjs/operators';
|
|
3
|
+
import { plainToClass } from 'class-transformer';
|
|
4
|
+
import { ChartData } from '../../models/chart/chart-data';
|
|
5
|
+
import { ChartSerie } from '../../models/chart/chart-serie';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/common/http";
|
|
8
|
+
/**
|
|
9
|
+
* Service for get property equity position half-year history chart data
|
|
10
|
+
*/
|
|
11
|
+
export class EquityPositionChartService {
|
|
12
|
+
constructor(http, environment) {
|
|
13
|
+
this.http = http;
|
|
14
|
+
this.environment = environment;
|
|
15
|
+
}
|
|
16
|
+
get() {
|
|
17
|
+
// @TODO refactor backend
|
|
18
|
+
return this.http.get(`${this.environment.apiV2}/properties/categories/equity`)
|
|
19
|
+
.pipe(map((response) => {
|
|
20
|
+
return response.map((item) => {
|
|
21
|
+
return plainToClass(ChartData, {
|
|
22
|
+
name: item.category.name,
|
|
23
|
+
data: item.equity.map((serie) => {
|
|
24
|
+
return plainToClass(ChartSerie, {
|
|
25
|
+
label: serie.date,
|
|
26
|
+
value: serie.amount
|
|
27
|
+
});
|
|
28
|
+
})
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
}));
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
EquityPositionChartService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: EquityPositionChartService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
35
|
+
EquityPositionChartService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: EquityPositionChartService, providedIn: 'root' });
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: EquityPositionChartService, decorators: [{
|
|
37
|
+
type: Injectable,
|
|
38
|
+
args: [{
|
|
39
|
+
providedIn: 'root'
|
|
40
|
+
}]
|
|
41
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: undefined, decorators: [{
|
|
42
|
+
type: Inject,
|
|
43
|
+
args: ['environment']
|
|
44
|
+
}] }]; } });
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXF1aXR5LXBvc2l0aW9uLWNoYXJ0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvcHJvcGVydHkvZXF1aXR5LXBvc2l0aW9uLWNoYXJ0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHbkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7QUFFNUQ7O0dBRUc7QUFJSCxNQUFNLE9BQU8sMEJBQTBCO0lBQ3JDLFlBQ1UsSUFBZ0IsRUFDTyxXQUFnQjtRQUR2QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ08sZ0JBQVcsR0FBWCxXQUFXLENBQUs7SUFDN0MsQ0FBQztJQUVMLEdBQUc7UUFDRCx5QkFBeUI7UUFDekIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSywrQkFBK0IsQ0FBQzthQUMzRSxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsUUFBZSxFQUFlLEVBQUU7WUFDbkMsT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUU7Z0JBQ2hDLE9BQU8sWUFBWSxDQUFDLFNBQVMsRUFBRTtvQkFDN0IsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSTtvQkFDeEIsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBVSxFQUFFLEVBQUU7d0JBQ25DLE9BQU8sWUFBWSxDQUFDLFVBQVUsRUFBRTs0QkFDOUIsS0FBSyxFQUFFLEtBQUssQ0FBQyxJQUFJOzRCQUNqQixLQUFLLEVBQUUsS0FBSyxDQUFDLE1BQU07eUJBQ3BCLENBQUMsQ0FBQztvQkFDTCxDQUFDLENBQUM7aUJBQ0gsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQzs7d0hBeEJVLDBCQUEwQiw0Q0FHM0IsYUFBYTs0SEFIWiwwQkFBMEIsY0FGekIsTUFBTTs0RkFFUCwwQkFBMEI7a0JBSHRDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFJSSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBDaGFydERhdGEgfSBmcm9tICcuLi8uLi9tb2RlbHMvY2hhcnQvY2hhcnQtZGF0YSc7XG5pbXBvcnQgeyBDaGFydFNlcmllIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NoYXJ0L2NoYXJ0LXNlcmllJztcblxuLyoqXG4gKiBTZXJ2aWNlIGZvciBnZXQgcHJvcGVydHkgZXF1aXR5IHBvc2l0aW9uIGhhbGYteWVhciBoaXN0b3J5IGNoYXJ0IGRhdGFcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRXF1aXR5UG9zaXRpb25DaGFydFNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcml2YXRlIGVudmlyb25tZW50OiBhbnlcbiAgKSB7IH1cblxuICBnZXQoKTogT2JzZXJ2YWJsZTxDaGFydERhdGFbXT4ge1xuICAgIC8vIEBUT0RPIHJlZmFjdG9yIGJhY2tlbmRcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS9wcm9wZXJ0aWVzL2NhdGVnb3JpZXMvZXF1aXR5YClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBhbnlbXSk6IENoYXJ0RGF0YVtdID0+IHtcbiAgICAgICAgICByZXR1cm4gcmVzcG9uc2UubWFwKChpdGVtOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBwbGFpblRvQ2xhc3MoQ2hhcnREYXRhLCB7XG4gICAgICAgICAgICAgIG5hbWU6IGl0ZW0uY2F0ZWdvcnkubmFtZSxcbiAgICAgICAgICAgICAgZGF0YTogaXRlbS5lcXVpdHkubWFwKChzZXJpZTogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHBsYWluVG9DbGFzcyhDaGFydFNlcmllLCB7XG4gICAgICAgICAgICAgICAgICBsYWJlbDogc2VyaWUuZGF0ZSxcbiAgICAgICAgICAgICAgICAgIHZhbHVlOiBzZXJpZS5hbW91bnRcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxufVxuIl19
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { NgModule } from '@angular/core';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { InterceptorsModule } from './interceptors/interceptors.module';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
export class TtCoreModule {
|
|
5
6
|
static forRoot(environment) {
|
|
@@ -16,17 +17,20 @@ export class TtCoreModule {
|
|
|
16
17
|
}
|
|
17
18
|
}
|
|
18
19
|
TtCoreModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TtCoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
19
|
-
TtCoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TtCoreModule, imports: [CommonModule
|
|
20
|
+
TtCoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TtCoreModule, imports: [CommonModule,
|
|
21
|
+
InterceptorsModule] });
|
|
20
22
|
TtCoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TtCoreModule, imports: [[
|
|
21
|
-
CommonModule
|
|
23
|
+
CommonModule,
|
|
24
|
+
InterceptorsModule
|
|
22
25
|
]] });
|
|
23
26
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TtCoreModule, decorators: [{
|
|
24
27
|
type: NgModule,
|
|
25
28
|
args: [{
|
|
26
29
|
declarations: [],
|
|
27
30
|
imports: [
|
|
28
|
-
CommonModule
|
|
31
|
+
CommonModule,
|
|
32
|
+
InterceptorsModule
|
|
29
33
|
]
|
|
30
34
|
}]
|
|
31
35
|
}] });
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHQtY29yZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvdHQtY29yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOztBQVN4RSxNQUFNLE9BQU8sWUFBWTtJQUNoQixNQUFNLENBQUMsT0FBTyxDQUFDLFdBQW1CO1FBQ3ZDLFlBQVksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBRXhELE9BQU87WUFDTCxRQUFRLEVBQUUsWUFBWTtZQUN0QixTQUFTLEVBQUU7Z0JBQ1Q7b0JBQ0UsT0FBTyxFQUFFLGFBQWE7b0JBQ3RCLFFBQVEsRUFBRSxXQUFXO2lCQUN0QjthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7OzBHQWJVLFlBQVk7MkdBQVosWUFBWSxZQUpyQixZQUFZO1FBQ1osa0JBQWtCOzJHQUdULFlBQVksWUFMZDtZQUNQLFlBQVk7WUFDWixrQkFBa0I7U0FDbkI7NEZBRVUsWUFBWTtrQkFQeEIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsRUFBRTtvQkFDaEIsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osa0JBQWtCO3FCQUNuQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSW50ZXJjZXB0b3JzTW9kdWxlIH0gZnJvbSAnLi9pbnRlcmNlcHRvcnMvaW50ZXJjZXB0b3JzLm1vZHVsZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW10sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSW50ZXJjZXB0b3JzTW9kdWxlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgVHRDb3JlTW9kdWxlIHtcbiAgcHVibGljIHN0YXRpYyBmb3JSb290KGVudmlyb25tZW50OiBvYmplY3QpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFR0Q29yZU1vZHVsZT4ge1xuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdhcGlfdXJpJywgZW52aXJvbm1lbnRbJ2FwaV91cmknXSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IFR0Q29yZU1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogJ2Vudmlyb25tZW50JyxcbiAgICAgICAgICB1c2VWYWx1ZTogZW52aXJvbm1lbnRcbiAgICAgICAgfVxuICAgICAgXVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|