visorus-erp-core 17.5.0 → 17.7.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/esm2022/lib/services/global.service.mjs +23 -5
- package/fesm2022/visorus-erp-core.mjs +33 -8
- package/fesm2022/visorus-erp-core.mjs.map +1 -1
- package/lib/httpInterceptor/httpInterceptor.d.ts +3 -1
- package/lib/services/global.service.d.ts +1 -0
- 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=
|
|
@@ -22,14 +22,32 @@ export class GlobalService {
|
|
|
22
22
|
}
|
|
23
23
|
buildAuth() {
|
|
24
24
|
const data = this.getUsuario();
|
|
25
|
+
if (!data.token_type || !data.access_token) {
|
|
26
|
+
this.closeEndPoint();
|
|
27
|
+
this.regresaAlprincipal("/login");
|
|
28
|
+
}
|
|
25
29
|
return {
|
|
26
30
|
headers: new HttpHeaders({
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
})
|
|
31
|
+
Authorization: data.token_type + " " + data.access_token,
|
|
32
|
+
"Content-Type": "application/json",
|
|
33
|
+
Accept: "application/json",
|
|
34
|
+
}),
|
|
31
35
|
};
|
|
32
36
|
}
|
|
37
|
+
regresaAlprincipal(url) {
|
|
38
|
+
const configString = localStorage.getItem("config");
|
|
39
|
+
let config = JSON.parse(configString || "");
|
|
40
|
+
let host = "";
|
|
41
|
+
if (config) {
|
|
42
|
+
if (config.host) {
|
|
43
|
+
host = config.host;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
if (url) {
|
|
47
|
+
host = host + url;
|
|
48
|
+
}
|
|
49
|
+
window.location.href = host;
|
|
50
|
+
}
|
|
33
51
|
validateEndPoint() {
|
|
34
52
|
return this.http.get(this.getUrl() + '/validate', this.buildAuth());
|
|
35
53
|
}
|
|
@@ -51,4 +69,4 @@ export class GlobalService {
|
|
|
51
69
|
return this.http.post(this.getUrl() + '/usuario/setModulo', modulo, this.buildAuth());
|
|
52
70
|
}
|
|
53
71
|
}
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcnAtY29yZS9zcmMvbGliL3NlcnZpY2VzL2dsb2JhbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUduRCxNQUFNLE9BQU8sYUFBYTtJQUl4QixZQUNVLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7SUFFMUIsQ0FBQztJQUVELGdCQUFnQjtRQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUMsU0FBUyxDQUMzQyxDQUFDLElBQVMsRUFBRSxFQUFFO1lBQ1osWUFBWSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3ZELENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELG9CQUFvQjtRQUNsQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxNQUFNLENBQUMsYUFBc0I7UUFDM0IsT0FBTyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3RGLENBQUM7SUFFRCxJQUFJLENBQUMsTUFBTTtRQUVULE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsK0JBQStCLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDMUYsQ0FBQztJQUVELFNBQVM7UUFDUCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDM0MsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwQyxDQUFDO1FBQ0QsT0FBTztZQUNMLE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBQztnQkFDdkIsYUFBYSxFQUFFLElBQUksQ0FBQyxVQUFVLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxZQUFZO2dCQUN4RCxjQUFjLEVBQUUsa0JBQWtCO2dCQUNsQyxNQUFNLEVBQUUsa0JBQWtCO2FBQzNCLENBQUM7U0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVELGtCQUFrQixDQUFDLEdBQVE7UUFDekIsTUFBTSxZQUFZLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwRCxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM1QyxJQUFJLElBQUksR0FBRyxFQUFFLENBQUM7UUFDZCxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1gsSUFBSSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ2hCLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO1lBQ3JCLENBQUM7UUFDSCxDQUFDO1FBQ0QsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNSLElBQUksR0FBRyxJQUFJLEdBQUcsR0FBRyxDQUFDO1FBQ3BCLENBQUM7UUFDRCxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDOUIsQ0FBQztJQUdELGdCQUFnQjtRQUVkLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLFdBQVcsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQsYUFBYTtRQUNYLFlBQVksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsZUFBZTtRQUNoQyxJQUFJLENBQUMsZUFBZSxHQUFHLGVBQWUsQ0FBQztJQUN6QyxDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksSUFBSSxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDeEMsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQzVCLENBQUM7SUFFRCxTQUFTLENBQUMsTUFBTTtRQUNkLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUN4RixDQUFDO0NBR0YiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbmltcG9ydCB7IEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgVXN1YXJpbyB9IGZyb20gJy4uL21vZGVscy9Vc3VhcmlvJztcblxuZXhwb3J0IGNsYXNzIEdsb2JhbFNlcnZpY2Uge1xuXG4gIHVzdWFyaW9JbnN0YW5jZTogVXN1YXJpbztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnRcbiAgKSB7XG4gIH1cblxuICBzZXRDb25maWd1cmFjaW9uKCkge1xuICAgIHRoaXMuaHR0cC5nZXQoJ2Fzc2V0cy9jb25maWcuanNvbicpLnN1YnNjcmliZShcbiAgICAgIChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2NvbmZpZycsIEpTT04uc3RyaW5naWZ5KGRhdGEpKTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgb2J0aWVuZUNvbmZpZ3VyYWNpb24oKSB7XG4gICAgcmV0dXJuIEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2NvbmZpZycpKTtcbiAgfVxuXG4gIGdldFVybCh1cmxDb21wb25lbnRlPzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMub2J0aWVuZUNvbmZpZ3VyYWNpb24oKS51cmwgKyAodXJsQ29tcG9uZW50ZSA/ICcvJyArIHVybENvbXBvbmVudGUgOiAnJyk7XG4gIH1cblxuICBhdXRoKHBhcmFtcykge1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuZ2V0VXJsKCkgKyAnL2xvZ2luJywgcGFyYW1zKTtcbiAgfVxuXG4gIGdldFVzdWFyaW9BY3R1YWwoKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5nZXRVcmwoKSArICcvdXN1YXJpby9vYnRpZW5lVXN1YXJpb0FjdHVhbCcsIHRoaXMuYnVpbGRBdXRoKCkpO1xuICB9XG5cbiAgYnVpbGRBdXRoKCkge1xuICAgIGNvbnN0IGRhdGEgPSB0aGlzLmdldFVzdWFyaW8oKTtcbiAgICBpZiAoIWRhdGEudG9rZW5fdHlwZSB8fCAhZGF0YS5hY2Nlc3NfdG9rZW4pIHtcbiAgICAgIHRoaXMuY2xvc2VFbmRQb2ludCgpO1xuICAgICAgdGhpcy5yZWdyZXNhQWxwcmluY2lwYWwoXCIvbG9naW5cIik7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoe1xuICAgICAgICBBdXRob3JpemF0aW9uOiBkYXRhLnRva2VuX3R5cGUgKyBcIiBcIiArIGRhdGEuYWNjZXNzX3Rva2VuLFxuICAgICAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgICAgICAgQWNjZXB0OiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgICAgIH0pLFxuICAgIH07XG4gIH1cblxuICByZWdyZXNhQWxwcmluY2lwYWwodXJsOiBhbnkpIHtcbiAgICBjb25zdCBjb25maWdTdHJpbmcgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImNvbmZpZ1wiKTtcbiAgICBsZXQgY29uZmlnID0gSlNPTi5wYXJzZShjb25maWdTdHJpbmcgfHwgXCJcIik7XG4gICAgbGV0IGhvc3QgPSBcIlwiO1xuICAgIGlmIChjb25maWcpIHtcbiAgICAgIGlmIChjb25maWcuaG9zdCkge1xuICAgICAgICBob3N0ID0gY29uZmlnLmhvc3Q7XG4gICAgICB9XG4gICAgfVxuICAgIGlmICh1cmwpIHtcbiAgICAgIGhvc3QgPSBob3N0ICsgdXJsO1xuICAgIH1cbiAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IGhvc3Q7XG4gIH1cblxuXG4gIHZhbGlkYXRlRW5kUG9pbnQoKSB7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLmdldFVybCgpICsgJy92YWxpZGF0ZScsIHRoaXMuYnVpbGRBdXRoKCkpO1xuICB9XG5cbiAgY2xvc2VFbmRQb2ludCgpIHtcbiAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgndXN1YXJpbycpO1xuICAgIHRoaXMuc2V0VXN1YXJpb0luc3RhbmNlKG51bGwpO1xuICB9XG5cbiAgZ2V0VXN1YXJpbygpIHtcbiAgICByZXR1cm4gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndXN1YXJpbycpKTtcbiAgfVxuXG4gIHNldFVzdWFyaW9JbnN0YW5jZSh1c3VhcmlvSW5zdGFuY2UpIHtcbiAgICB0aGlzLnVzdWFyaW9JbnN0YW5jZSA9IHVzdWFyaW9JbnN0YW5jZTtcbiAgfVxuICBcbiAgZ2V0TGFuZygpIHtcbiAgICBsZXQgbGFuZyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdsYW5nJyk7XG4gICAgcmV0dXJuIGxhbmcgPyBsYW5nIDogJ2VzJztcbiAgfVxuXG4gIHNldE1vZHVsbyhtb2R1bG8pIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodGhpcy5nZXRVcmwoKSArICcvdXN1YXJpby9zZXRNb2R1bG8nLCBtb2R1bG8sIHRoaXMuYnVpbGRBdXRoKCkpO1xuICB9XG5cbiAgXG59XG5cbiJdfQ==
|
|
@@ -101,14 +101,32 @@ class GlobalService {
|
|
|
101
101
|
}
|
|
102
102
|
buildAuth() {
|
|
103
103
|
const data = this.getUsuario();
|
|
104
|
+
if (!data.token_type || !data.access_token) {
|
|
105
|
+
this.closeEndPoint();
|
|
106
|
+
this.regresaAlprincipal("/login");
|
|
107
|
+
}
|
|
104
108
|
return {
|
|
105
109
|
headers: new HttpHeaders({
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
})
|
|
110
|
+
Authorization: data.token_type + " " + data.access_token,
|
|
111
|
+
"Content-Type": "application/json",
|
|
112
|
+
Accept: "application/json",
|
|
113
|
+
}),
|
|
110
114
|
};
|
|
111
115
|
}
|
|
116
|
+
regresaAlprincipal(url) {
|
|
117
|
+
const configString = localStorage.getItem("config");
|
|
118
|
+
let config = JSON.parse(configString || "");
|
|
119
|
+
let host = "";
|
|
120
|
+
if (config) {
|
|
121
|
+
if (config.host) {
|
|
122
|
+
host = config.host;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
if (url) {
|
|
126
|
+
host = host + url;
|
|
127
|
+
}
|
|
128
|
+
window.location.href = host;
|
|
129
|
+
}
|
|
112
130
|
validateEndPoint() {
|
|
113
131
|
return this.http.get(this.getUrl() + '/validate', this.buildAuth());
|
|
114
132
|
}
|
|
@@ -456,8 +474,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
456
474
|
}] });
|
|
457
475
|
|
|
458
476
|
class httpInterceptor {
|
|
459
|
-
constructor(loginModalService, toastrService, loadingScreenService) {
|
|
477
|
+
constructor(loginModalService, authService, toastrService, loadingScreenService) {
|
|
460
478
|
this.loginModalService = loginModalService;
|
|
479
|
+
this.authService = authService;
|
|
461
480
|
this.toastrService = toastrService;
|
|
462
481
|
this.loadingScreenService = loadingScreenService;
|
|
463
482
|
}
|
|
@@ -488,7 +507,13 @@ class httpInterceptor {
|
|
|
488
507
|
if (err.status === 401) {
|
|
489
508
|
//this.router.navigateByUrl('/login');
|
|
490
509
|
// this.router.navigateByUrl('/sing_out');
|
|
491
|
-
this.loginModalService.showModal();
|
|
510
|
+
// this.loginModalService.showModal();
|
|
511
|
+
// Solo cierra la sesión local: loginOut() dispararía un POST con el
|
|
512
|
+
// token ya vencido, ese POST también daría 401 y se entraría en bucle.
|
|
513
|
+
// El isLogin() evita repetir el cierre con 401 paralelos.
|
|
514
|
+
if (this.authService.isLogin()) {
|
|
515
|
+
this.authService.quitarUsuario();
|
|
516
|
+
}
|
|
492
517
|
}
|
|
493
518
|
if (err.status === 403)
|
|
494
519
|
this.toastrService.error('No tiene permiso sobre esta accion', 'Error', {
|
|
@@ -528,12 +553,12 @@ class httpInterceptor {
|
|
|
528
553
|
}
|
|
529
554
|
}
|
|
530
555
|
}
|
|
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 }); }
|
|
556
|
+
/** @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
557
|
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: httpInterceptor }); }
|
|
533
558
|
}
|
|
534
559
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: httpInterceptor, decorators: [{
|
|
535
560
|
type: Injectable
|
|
536
|
-
}], ctorParameters: () => [{ type: LoginModalService }, { type: i1$1.ToastrService }, { type: LoadingScreenService }] });
|
|
561
|
+
}], ctorParameters: () => [{ type: LoginModalService }, { type: AuthService }, { type: i1$1.ToastrService }, { type: LoadingScreenService }] });
|
|
537
562
|
|
|
538
563
|
class Error404Component {
|
|
539
564
|
constructor() { }
|