@universis/common
Version:
Universis - common directives and services
38 lines • 4.7 kB
JavaScript
import { Injectable } from '@angular/core';
import * as i0 from "@angular/core";
export class ErrorsHandler {
static navigateToError(status, continueLink) {
if (continueLink) {
window.location.href = `#/error/${status}?continue=${encodeURIComponent(continueLink)}`;
}
else {
window.location.href = `#/error/${status}`;
}
}
handleError(error) {
// handle http response errors
if (error.rejection && typeof error.rejection.status === 'number') {
switch (error.rejection.status) {
case 0:
return ErrorsHandler.navigateToError(408.1);
case 401:
case 498:
return ErrorsHandler.navigateToError(401.1, '/auth/loginAs');
case 403.3:
case 408:
case 429:
case 502:
case 503:
return ErrorsHandler.navigateToError(error.rejection.status);
case 403.6:
return ErrorsHandler.navigateToError(error.rejection.status, '/auth/loginAs');
}
}
}
}
ErrorsHandler.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ErrorsHandler, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
ErrorsHandler.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ErrorsHandler });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ErrorsHandler, decorators: [{
type: Injectable
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lcnJvci9lcnJvci5oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUd6RCxNQUFNLE9BQU8sYUFBYTtJQUV4QixNQUFNLENBQUMsZUFBZSxDQUFDLE1BQWMsRUFBRSxZQUFxQjtRQUMxRCxJQUFJLFlBQVksRUFBRTtZQUNoQixNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxXQUFXLE1BQU0sYUFBYSxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO1NBQ3pGO2FBQU07WUFDTCxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxXQUFXLE1BQU0sRUFBRSxDQUFDO1NBQzVDO0lBQ0gsQ0FBQztJQUlELFdBQVcsQ0FBQyxLQUFVO1FBQ2xCLDhCQUE4QjtRQUM5QixJQUFJLEtBQUssQ0FBQyxTQUFTLElBQUksT0FBTyxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQU0sS0FBSyxRQUFRLEVBQUU7WUFDL0QsUUFBTyxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRTtnQkFDM0IsS0FBSyxDQUFDO29CQUNKLE9BQU8sYUFBYSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDOUMsS0FBSyxHQUFHLENBQUM7Z0JBQ1QsS0FBSyxHQUFHO29CQUNOLE9BQU8sYUFBYSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsZUFBZSxDQUFDLENBQUM7Z0JBQy9ELEtBQUssS0FBSyxDQUFDO2dCQUNYLEtBQUssR0FBRyxDQUFDO2dCQUNULEtBQUssR0FBRyxDQUFDO2dCQUNULEtBQUssR0FBRyxDQUFDO2dCQUNULEtBQUssR0FBRztvQkFDTixPQUFPLGFBQWEsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDL0QsS0FBSyxLQUFLO29CQUNSLE9BQU8sYUFBYSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxlQUFlLENBQUMsQ0FBQzthQUNuRjtTQUNKO0lBQ0wsQ0FBQzs7MkdBL0JVLGFBQWE7K0dBQWIsYUFBYTs0RkFBYixhQUFhO2tCQUR6QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXJyb3JIYW5kbGVyLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBFcnJvcnNIYW5kbGVyIGltcGxlbWVudHMgRXJyb3JIYW5kbGVyIHtcblxuICBzdGF0aWMgbmF2aWdhdGVUb0Vycm9yKHN0YXR1czogbnVtYmVyLCBjb250aW51ZUxpbms/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoY29udGludWVMaW5rKSB7XG4gICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IGAjL2Vycm9yLyR7c3RhdHVzfT9jb250aW51ZT0ke2VuY29kZVVSSUNvbXBvbmVudChjb250aW51ZUxpbmspfWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gYCMvZXJyb3IvJHtzdGF0dXN9YDtcbiAgICB9XG4gIH1cblxuXG5cbiAgaGFuZGxlRXJyb3IoZXJyb3I6IGFueSkge1xuICAgICAgLy8gaGFuZGxlIGh0dHAgcmVzcG9uc2UgZXJyb3JzXG4gICAgICBpZiAoZXJyb3IucmVqZWN0aW9uICYmIHR5cGVvZiBlcnJvci5yZWplY3Rpb24uc3RhdHVzID09PSAnbnVtYmVyJykge1xuICAgICAgICAgIHN3aXRjaChlcnJvci5yZWplY3Rpb24uc3RhdHVzKSB7XG4gICAgICAgICAgICAgIGNhc2UgMDpcbiAgICAgICAgICAgICAgICByZXR1cm4gRXJyb3JzSGFuZGxlci5uYXZpZ2F0ZVRvRXJyb3IoNDA4LjEpO1xuICAgICAgICAgICAgICBjYXNlIDQwMTpcbiAgICAgICAgICAgICAgY2FzZSA0OTg6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEVycm9yc0hhbmRsZXIubmF2aWdhdGVUb0Vycm9yKDQwMS4xLCAnL2F1dGgvbG9naW5BcycpO1xuICAgICAgICAgICAgICBjYXNlIDQwMy4zOlxuICAgICAgICAgICAgICBjYXNlIDQwODpcbiAgICAgICAgICAgICAgY2FzZSA0Mjk6XG4gICAgICAgICAgICAgIGNhc2UgNTAyOlxuICAgICAgICAgICAgICBjYXNlIDUwMzpcbiAgICAgICAgICAgICAgICByZXR1cm4gRXJyb3JzSGFuZGxlci5uYXZpZ2F0ZVRvRXJyb3IoZXJyb3IucmVqZWN0aW9uLnN0YXR1cyk7XG4gICAgICAgICAgICAgIGNhc2UgNDAzLjY6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEVycm9yc0hhbmRsZXIubmF2aWdhdGVUb0Vycm9yKGVycm9yLnJlamVjdGlvbi5zdGF0dXMsICcvYXV0aC9sb2dpbkFzJyk7XG4gICAgICAgICAgfVxuICAgICAgfVxuICB9XG5cblxuXG59XG4iXX0=