visorus-erp-core 17.5.0 → 17.6.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/esm2022/lib/httpInterceptor/httpInterceptor.mjs +16 -7
- package/fesm2022/visorus-erp-core.mjs +11 -4
- package/fesm2022/visorus-erp-core.mjs.map +1 -1
- package/lib/globalPrimeNg.d.ts +2 -2
- package/lib/httpInterceptor/httpInterceptor.d.ts +3 -1
- package/lib/importComponents.d.ts +2 -2
- package/package.json +1 -1
|
@@ -4,13 +4,16 @@ import { catchError, tap } from 'rxjs/operators';
|
|
|
4
4
|
import { ToastrService } from 'ngx-toastr';
|
|
5
5
|
import { LoginModalService } from '../components/login-modal/login-modal.service';
|
|
6
6
|
import { LoadingScreenService } from '../components/loading-screen/loading-screen.service';
|
|
7
|
+
import { AuthService } from '../../public_api';
|
|
7
8
|
import * as i0 from "@angular/core";
|
|
8
9
|
import * as i1 from "../components/login-modal/login-modal.service";
|
|
9
|
-
import * as i2 from "
|
|
10
|
-
import * as i3 from "
|
|
10
|
+
import * as i2 from "../../public_api";
|
|
11
|
+
import * as i3 from "ngx-toastr";
|
|
12
|
+
import * as i4 from "../components/loading-screen/loading-screen.service";
|
|
11
13
|
export class httpInterceptor {
|
|
12
|
-
constructor(loginModalService, toastrService, loadingScreenService) {
|
|
14
|
+
constructor(loginModalService, authService, toastrService, loadingScreenService) {
|
|
13
15
|
this.loginModalService = loginModalService;
|
|
16
|
+
this.authService = authService;
|
|
14
17
|
this.toastrService = toastrService;
|
|
15
18
|
this.loadingScreenService = loadingScreenService;
|
|
16
19
|
}
|
|
@@ -41,7 +44,13 @@ export class httpInterceptor {
|
|
|
41
44
|
if (err.status === 401) {
|
|
42
45
|
//this.router.navigateByUrl('/login');
|
|
43
46
|
// this.router.navigateByUrl('/sing_out');
|
|
44
|
-
this.loginModalService.showModal();
|
|
47
|
+
// this.loginModalService.showModal();
|
|
48
|
+
// Solo cierra la sesión local: loginOut() dispararía un POST con el
|
|
49
|
+
// token ya vencido, ese POST también daría 401 y se entraría en bucle.
|
|
50
|
+
// El isLogin() evita repetir el cierre con 401 paralelos.
|
|
51
|
+
if (this.authService.isLogin()) {
|
|
52
|
+
this.authService.quitarUsuario();
|
|
53
|
+
}
|
|
45
54
|
}
|
|
46
55
|
if (err.status === 403)
|
|
47
56
|
this.toastrService.error('No tiene permiso sobre esta accion', 'Error', {
|
|
@@ -81,10 +90,10 @@ export class httpInterceptor {
|
|
|
81
90
|
}
|
|
82
91
|
}
|
|
83
92
|
}
|
|
84
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: httpInterceptor, deps: [{ token: i1.LoginModalService }, { token: i2.
|
|
93
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: httpInterceptor, deps: [{ token: i1.LoginModalService }, { token: i2.AuthService }, { token: i3.ToastrService }, { token: i4.LoadingScreenService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
85
94
|
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: httpInterceptor }); }
|
|
86
95
|
}
|
|
87
96
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: httpInterceptor, decorators: [{
|
|
88
97
|
type: Injectable
|
|
89
|
-
}], ctorParameters: () => [{ type: i1.LoginModalService }, { type: i2.
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
98
|
+
}], ctorParameters: () => [{ type: i1.LoginModalService }, { type: i2.AuthService }, { type: i3.ToastrService }, { type: i4.LoadingScreenService }] });
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cEludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXJwLWNvcmUvc3JjL2xpYi9odHRwSW50ZXJjZXB0b3IvaHR0cEludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFPM0MsT0FBTyxFQUFjLEVBQUUsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7O0FBRy9DLE1BQU0sT0FBTyxlQUFlO0lBQ3hCLFlBQ1ksaUJBQW9DLEVBQ3BDLFdBQXdCLEVBQ3ZCLGFBQTRCLEVBQy9CLG9CQUEyQztRQUh6QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3ZCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQy9CLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBdUI7SUFFckQsQ0FBQztJQUVELFNBQVMsQ0FBQyxPQUF5QixFQUFFLElBQWlCO1FBRW5ELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFBLCtCQUErQjtRQUN2RSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUMxRCxJQUFJLENBQUMsb0JB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QUFJO3FCQUNoQixDQUFDLENBQUM7Z0JBQ1AsQ0FBQztZQUNELElBQUksU0FBUyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUMsQ0FBQztnQkFDekIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFO29CQUN2RCxPQUFPLEVBQUUsSUFBSTtpQkFDaEIsQ0FBQyxDQUFDO1lBQ1AsQ0FBQztZQUVELElBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUMsQ0FBQztnQkFDeEIsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDO29CQUMxQyxLQUFLLElBQUksVUFBVSxHQUFHLENBQUMsRUFBRSxVQUFVLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxFQUFFLENBQUM7d0JBQ2pGLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUU7NEJBQzNFLE9BQU8sRUFBRSxJQUFJOzRCQUNiLFdBQVcsRUFBRSxJQUFJO3lCQUNwQixDQUFDLENBQUM7b0JBQ1AsQ0FBQztZQUNMLENBQUM7UUFDTCxDQUFDO0lBRUwsQ0FBQztrSUF2RlEsZUFBZTtzSUFBZixlQUFlOzs0RkFBZixlQUFlO2tCQUQzQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBIdHRwUmVxdWVzdCxcbiAgICBIdHRwSGFuZGxlcixcbiAgICBIdHRwRXZlbnQsXG4gICAgSHR0cEludGVyY2VwdG9yLCBIdHRwRXJyb3JSZXNwb25zZVxufSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBUb2FzdHJTZXJ2aWNlIH0gZnJvbSAnbmd4LXRvYXN0cic7XG5pbXBvcnQgeyBMb2dpbk1vZGFsU2VydmljZSB9IGZyb20gJy4uL2NvbXBvbmVudHMvbG9naW4tbW9kYWwvbG9naW4tbW9kYWwuc2VydmljZSc7XG5pbXBvcnQgeyBMb2FkaW5nU2NyZWVuU2VydmljZSB9IGZyb20gJy4uL2NvbXBvbmVudHMvbG9hZGluZy1zY3JlZW4vbG9hZGluZy1zY3JlZW4uc2VydmljZSc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uL3B1YmxpY19hcGknO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgaHR0cEludGVyY2VwdG9yIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBsb2dpbk1vZGFsU2VydmljZTogTG9naW5Nb2RhbFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxuICAgICAgICAgcHJpdmF0ZSB0b2FzdHJTZXJ2aWNlOiBUb2FzdHJTZXJ2aWNlLFxuICAgICAgcHJpdmF0ZSBsb2FkaW5nU2NyZWVuU2VydmljZSA6IExvYWRpbmdTY3JlZW5TZXJ2aWNlXG4gICAgICAgICApIHtcbiAgICB9XG5cbiAgICBpbnRlcmNlcHQocmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55PiwgbmV4dDogSHR0cEhhbmRsZXIpOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PiB7XG5cbiAgICAgICB0aGlzLmxvYWRpbmdTY3JlZW5TZXJ2aWNlLnN0YXJ0TG9hZGluZygpOy8vIHRoaXMubG9hZGluZ1NlcnZpY2Uuc3RhcnQoKTtcbiAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcXVlc3QpLnBpcGUoY2F0Y2hFcnJvcigoZXJyb3IsIGNhdWdodCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5sb2FkaW5nU2NyZWVuU2VydmljZS5zdG9wTG9hZGluZygpO1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVFcnJvcihlcnJvcik7XG4gICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvcik7XG4gICAgICAgIH0pIGFzIGFueSwgdGFwKChyZXMgOiBhbnkpID0+IHtcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgIGNvbnN0IGJvZHkgPSAocmVzLmJvZHkpID8gcmVzLmJvZHkgOiBudWxsO1xuICAgICAgICAgICAgaWYocmVzLnR5cGUgIT09IDAgICYmICByZXMudHlwZSA9PT0gNCl7XG4gICAgICAgICAgICB0aGlzLmxvYWRpbmdTY3JlZW5TZXJ2aWNlLnN0b3BMb2FkaW5nKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoYm9keSkge1xuICAgICAgICAgICAgICAgIGxldCBtZXNzYWdlID0gKGJvZHkuc3VjY2VzcykgPyBib2R5LnN1Y2Nlc3MgOiBudWxsO1xuXG4gICAgICAgICAgICAgICAgaWYgKG1lc3NhZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50b2FzdHJTZXJ2aWNlLnN1Y2Nlc3MobWVzc2FnZSwgJ0V4aXRvJywge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGltZU91dDogMzAwMCwgY2xvc2VCdXR0b246IHRydWVcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KSBhcyBhbnkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlRXJyb3IoZXJyOiBIdHRwRXJyb3JSZXNwb25zZSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIGlmIChlcnIuc3RhdHVzID09PSA0MDEgfHwgZXJyLnN0YXR1cyA9PT0gNDAzKSB7XG4gICAgICAgICAgICBpZiAoZXJyLnN0YXR1cyA9PT0gNDAxKSB7XG4gICAgICAgICAgICAgICAgLy90aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcvbG9naW4nKTtcbiAgICAgICAgICAgICAgICAvLyB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcvc2luZ19vdXQnKTtcbiAgICAgICAgICAgICAgICAvLyB0aGlzLmxvZ2luTW9kYWxTZXJ2aWNlLnNob3dNb2RhbCgpO1xuICAgICAgICAgICAgICAgIC8vIFNvbG8gY2llcnJhIGxhIHNlc2nDs24gbG9jYWw6IGxvZ2luT3V0KCkgZGlzcGFyYXLDrWEgdW4gUE9TVCBjb24gZWxcbiAgICAgICAgICAgICAgICAvLyB0b2tlbiB5YSB2ZW5jaWRvLCBlc2UgUE9TVCB0YW1iacOpbiBkYXLDrWEgNDAxIHkgc2UgZW50cmFyw61hIGVuIGJ1Y2xlLlxuICAgICAgICAgICAgICAgIC8vIEVsIGlzTG9naW4oKSBldml0YSByZXBldGlyIGVsIGNpZXJyZSBjb24gNDAxIHBhcmFsZWxvcy5cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5hdXRoU2VydmljZS5pc0xvZ2luKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hdXRoU2VydmljZS5xdWl0YXJVc3VhcmlvKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGVyci5zdGF0dXMgPT09IDQwMylcbiAgICAgICAgICAgIHRoaXMudG9hc3RyU2VydmljZS5lcnJvcignTm8gdGllbmUgcGVybWlzbyBzb2JyZSBlc3RhIGFjY2lvbicsICdFcnJvcicsIHtcbiAgICAgICAgICAgICAgICB0aW1lT3V0OiA1MDAwXG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHJldHVybiBvZihlcnIubWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgIGlmKGVyci5zdGF0dXMgIT09IDQwMSAmJiBlcnIuc3RhdHVzICE9PSA0MDMgJiYgZXJyLnN0YXR1cyAhPT0gNDA5KXtcbiAgICAgICAgdGhpcy50b2FzdHJTZXJ2aWNlLmVycm9yKCdPY3VycmlvIHVuIGVycm9yIGFsIHByb2Nlc2FyIHN1IHNvbGljaXR1ZCcsICdFcnJvcicsIHtcbiAgICAgICAgICB0aW1lT3V0OiA1MDAwXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgICB0aGlzLnJlYWRFcnJvcihlcnIpO1xuICAgICAgICByZXR1cm4gb2YoZXJyKTtcbiAgICB9XG5cbiAgICByZWFkRXJyb3IocmVzcHVlc3RhOiBhbnkpIHtcbiAgICAgICAgaWYocmVzcHVlc3RhLmVycm9yKXtcbiAgICAgICAgICAgIGlmIChyZXNwdWVzdGEuZXJyb3IuZXJyb3IpXG4gICAgICAgICAgICBpZiAocmVzcHVlc3RhLmVycm9yLmVycm9yLm1lc3NhZ2Upe1xuICAgICAgICAgICAgICAgIHRoaXMudG9hc3RyU2VydmljZS5lcnJvcihyZXNwdWVzdGEuZXJyb3IuZXJyb3IubWVzc2FnZSwgJ0Vycm9yJywge1xuICAgICAgICAgICAgICAgICAgICB0aW1lT3V0OiAzMDAwXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAocmVzcHVlc3RhLmVycm9yLm1lc3NhZ2Upe1xuICAgICAgICAgICAgICAgIHRoaXMudG9hc3RyU2VydmljZS5lcnJvcihyZXNwdWVzdGEuZXJyb3IubWVzc2FnZSwgJ0Vycm9yJywge1xuICAgICAgICAgICAgICAgICAgICB0aW1lT3V0OiAzMDAwXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmKHJlc3B1ZXN0YS5lcnJvci5fZXJyb3JzKXtcbiAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShyZXNwdWVzdGEuZXJyb3IuX2Vycm9ycykpXG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaW5kZXhFcnJvciA9IDA7IGluZGV4RXJyb3IgPCByZXNwdWVzdGEuZXJyb3IuX2Vycm9ycy5sZW5ndGg7IGluZGV4RXJyb3IrKykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRvYXN0clNlcnZpY2UuZXJyb3IocmVzcHVlc3RhLmVycm9yLl9lcnJvcnNbaW5kZXhFcnJvcl0ubWVzc2FnZSwgJ0Vycm9yJywge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGltZU91dDogMzAwMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsb3NlQnV0dG9uOiB0cnVlXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG4iXX0=
|
|
@@ -456,8 +456,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
456
456
|
}] });
|
|
457
457
|
|
|
458
458
|
class httpInterceptor {
|
|
459
|
-
constructor(loginModalService, toastrService, loadingScreenService) {
|
|
459
|
+
constructor(loginModalService, authService, toastrService, loadingScreenService) {
|
|
460
460
|
this.loginModalService = loginModalService;
|
|
461
|
+
this.authService = authService;
|
|
461
462
|
this.toastrService = toastrService;
|
|
462
463
|
this.loadingScreenService = loadingScreenService;
|
|
463
464
|
}
|
|
@@ -488,7 +489,13 @@ class httpInterceptor {
|
|
|
488
489
|
if (err.status === 401) {
|
|
489
490
|
//this.router.navigateByUrl('/login');
|
|
490
491
|
// this.router.navigateByUrl('/sing_out');
|
|
491
|
-
this.loginModalService.showModal();
|
|
492
|
+
// this.loginModalService.showModal();
|
|
493
|
+
// Solo cierra la sesión local: loginOut() dispararía un POST con el
|
|
494
|
+
// token ya vencido, ese POST también daría 401 y se entraría en bucle.
|
|
495
|
+
// El isLogin() evita repetir el cierre con 401 paralelos.
|
|
496
|
+
if (this.authService.isLogin()) {
|
|
497
|
+
this.authService.quitarUsuario();
|
|
498
|
+
}
|
|
492
499
|
}
|
|
493
500
|
if (err.status === 403)
|
|
494
501
|
this.toastrService.error('No tiene permiso sobre esta accion', 'Error', {
|
|
@@ -528,12 +535,12 @@ class httpInterceptor {
|
|
|
528
535
|
}
|
|
529
536
|
}
|
|
530
537
|
}
|
|
531
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: httpInterceptor, deps: [{ token: LoginModalService }, { token: i1$1.ToastrService }, { token: LoadingScreenService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
538
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: httpInterceptor, deps: [{ token: LoginModalService }, { token: AuthService }, { token: i1$1.ToastrService }, { token: LoadingScreenService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
532
539
|
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: httpInterceptor }); }
|
|
533
540
|
}
|
|
534
541
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: httpInterceptor, decorators: [{
|
|
535
542
|
type: Injectable
|
|
536
|
-
}], ctorParameters: () => [{ type: LoginModalService }, { type: i1$1.ToastrService }, { type: LoadingScreenService }] });
|
|
543
|
+
}], ctorParameters: () => [{ type: LoginModalService }, { type: AuthService }, { type: i1$1.ToastrService }, { type: LoadingScreenService }] });
|
|
537
544
|
|
|
538
545
|
class Error404Component {
|
|
539
546
|
constructor() { }
|