ontimize-web-ngx
Version:
Ontimize Web framework using Angular 15
68 lines • 8.52 kB
JavaScript
import { Injectable, Injector } from '@angular/core';
import { AppConfig } from '../config/app-config';
import { Codes } from '../util/codes';
import * as i0 from "@angular/core";
export class LoginStorageService {
constructor(injector) {
this.injector = injector;
this._config = this.injector.get(AppConfig).getConfiguration();
this._localStorageKey = this._config.uuid;
}
getSessionInfo() {
const info = localStorage.getItem(this._localStorageKey);
if (!info) {
return {};
}
const stored = JSON.parse(info);
return stored[Codes.SESSION_KEY] || {};
}
storeSessionInfo(sessionInfo) {
if (sessionInfo !== undefined) {
const info = localStorage.getItem(this._localStorageKey);
let stored = null;
if (info && info.length > 0) {
stored = JSON.parse(info);
}
else {
stored = {};
}
stored[Codes.SESSION_KEY] = sessionInfo;
try {
localStorage.setItem(this._localStorageKey, JSON.stringify(stored));
}
catch (e) {
console.error("Cannot set new item in localStorage. Error: " + e);
}
}
}
updateSessionId(id) {
let session = this.getSessionInfo();
if (session.id !== id) {
session.id = id;
this.storeSessionInfo(session);
}
}
sessionExpired() {
const sessionInfo = this.getSessionInfo();
delete sessionInfo.id;
delete sessionInfo.user;
this.storeSessionInfo(sessionInfo);
}
isLoggedIn() {
const sessionInfo = this.getSessionInfo();
if (sessionInfo && sessionInfo.id && sessionInfo.user && sessionInfo.user.length > 0) {
if (typeof sessionInfo.id === 'number' && (isNaN(sessionInfo.id) || sessionInfo.id < 0)) {
return false;
}
return true;
}
return false;
}
}
LoginStorageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LoginStorageService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
LoginStorageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LoginStorageService, providedIn: 'root' });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LoginStorageService, decorators: [{
type: Injectable,
args: [{ providedIn: 'root' }]
}], ctorParameters: function () { return [{ type: i0.Injector }]; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4tc3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL3NlcnZpY2VzL2xvZ2luLXN0b3JhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHakQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHdEMsTUFBTSxPQUFPLG1CQUFtQjtJQUs5QixZQUFzQixRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ3RDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUMvRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7SUFDNUMsQ0FBQztJQUVNLGNBQWM7UUFDbkIsTUFBTSxJQUFJLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1QsT0FBTyxFQUFFLENBQUM7U0FDWDtRQUNELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEMsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRU0sZ0JBQWdCLENBQUMsV0FBd0I7UUFDOUMsSUFBSSxXQUFXLEtBQUssU0FBUyxFQUFFO1lBQzdCLE1BQU0sSUFBSSxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFDekQsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQ2xCLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUMzQixNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUMzQjtpQkFBTTtnQkFDTCxNQUFNLEdBQUcsRUFBRSxDQUFDO2FBQ2I7WUFDRCxNQUFNLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxHQUFHLFdBQVcsQ0FBQztZQUN4QyxJQUFJO2dCQUNGLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQzthQUNyRTtZQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNWLE9BQU8sQ0FBQyxLQUFLLENBQUMsOENBQThDLEdBQUcsQ0FBQyxDQUFDLENBQUM7YUFDbkU7U0FDRjtJQUNILENBQUM7SUFFTSxlQUFlLENBQUMsRUFBbUI7UUFDeEMsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3BDLElBQUksT0FBTyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDckIsT0FBTyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ2hDO0lBQ0gsQ0FBQztJQUVNLGNBQWM7UUFDbkIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzFDLE9BQU8sV0FBVyxDQUFDLEVBQUUsQ0FBQztRQUN0QixPQUFPLFdBQVcsQ0FBQyxJQUFJLENBQUM7UUFDeEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFTSxVQUFVO1FBQ2YsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzFDLElBQUksV0FBVyxJQUFJLFdBQVcsQ0FBQyxFQUFFLElBQUksV0FBVyxDQUFDLElBQUksSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDcEYsSUFBSSxPQUFPLFdBQVcsQ0FBQyxFQUFFLEtBQUssUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsSUFBSSxXQUFXLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUFFO2dCQUN2RixPQUFPLEtBQUssQ0FBQzthQUNkO1lBQ0QsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7aUhBN0RVLG1CQUFtQjtxSEFBbkIsbUJBQW1CLGNBRE4sTUFBTTs0RkFDbkIsbUJBQW1CO2tCQUQvQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEFwcENvbmZpZyB9IGZyb20gJy4uL2NvbmZpZy9hcHAtY29uZmlnJztcbmltcG9ydCB7IENvbmZpZyB9IGZyb20gJy4uL3R5cGVzL2NvbmZpZy50eXBlJztcbmltcG9ydCB7IFNlc3Npb25JbmZvIH0gZnJvbSAnLi4vdHlwZXMvc2Vzc2lvbi1pbmZvLnR5cGUnO1xuaW1wb3J0IHsgQ29kZXMgfSBmcm9tICcuLi91dGlsL2NvZGVzJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBMb2dpblN0b3JhZ2VTZXJ2aWNlIHtcblxuICBwcml2YXRlIF9jb25maWc6IENvbmZpZztcbiAgcHVibGljIF9sb2NhbFN0b3JhZ2VLZXk6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgdGhpcy5fY29uZmlnID0gdGhpcy5pbmplY3Rvci5nZXQoQXBwQ29uZmlnKS5nZXRDb25maWd1cmF0aW9uKCk7XG4gICAgdGhpcy5fbG9jYWxTdG9yYWdlS2V5ID0gdGhpcy5fY29uZmlnLnV1aWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0U2Vzc2lvbkluZm8oKTogU2Vzc2lvbkluZm8ge1xuICAgIGNvbnN0IGluZm8gPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLl9sb2NhbFN0b3JhZ2VLZXkpO1xuICAgIGlmICghaW5mbykge1xuICAgICAgcmV0dXJuIHt9O1xuICAgIH1cbiAgICBjb25zdCBzdG9yZWQgPSBKU09OLnBhcnNlKGluZm8pO1xuICAgIHJldHVybiBzdG9yZWRbQ29kZXMuU0VTU0lPTl9LRVldIHx8IHt9O1xuICB9XG5cbiAgcHVibGljIHN0b3JlU2Vzc2lvbkluZm8oc2Vzc2lvbkluZm86IFNlc3Npb25JbmZvKTogdm9pZCB7XG4gICAgaWYgKHNlc3Npb25JbmZvICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnN0IGluZm8gPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLl9sb2NhbFN0b3JhZ2VLZXkpO1xuICAgICAgbGV0IHN0b3JlZCA9IG51bGw7XG4gICAgICBpZiAoaW5mbyAmJiBpbmZvLmxlbmd0aCA+IDApIHtcbiAgICAgICAgc3RvcmVkID0gSlNPTi5wYXJzZShpbmZvKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHN0b3JlZCA9IHt9O1xuICAgICAgfVxuICAgICAgc3RvcmVkW0NvZGVzLlNFU1NJT05fS0VZXSA9IHNlc3Npb25JbmZvO1xuICAgICAgdHJ5IHtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5fbG9jYWxTdG9yYWdlS2V5LCBKU09OLnN0cmluZ2lmeShzdG9yZWQpKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihcIkNhbm5vdCBzZXQgbmV3IGl0ZW0gaW4gbG9jYWxTdG9yYWdlLiBFcnJvcjogXCIgKyBlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlU2Vzc2lvbklkKGlkOiBzdHJpbmcgfCBudW1iZXIpIHtcbiAgICBsZXQgc2Vzc2lvbiA9IHRoaXMuZ2V0U2Vzc2lvbkluZm8oKTtcbiAgICBpZiAoc2Vzc2lvbi5pZCAhPT0gaWQpIHtcbiAgICAgIHNlc3Npb24uaWQgPSBpZDtcbiAgICAgIHRoaXMuc3RvcmVTZXNzaW9uSW5mbyhzZXNzaW9uKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2Vzc2lvbkV4cGlyZWQoKTogdm9pZCB7XG4gICAgY29uc3Qgc2Vzc2lvbkluZm8gPSB0aGlzLmdldFNlc3Npb25JbmZvKCk7XG4gICAgZGVsZXRlIHNlc3Npb25JbmZvLmlkO1xuICAgIGRlbGV0ZSBzZXNzaW9uSW5mby51c2VyO1xuICAgIHRoaXMuc3RvcmVTZXNzaW9uSW5mbyhzZXNzaW9uSW5mbyk7XG4gIH1cblxuICBwdWJsaWMgaXNMb2dnZWRJbigpOiBib29sZWFuIHtcbiAgICBjb25zdCBzZXNzaW9uSW5mbyA9IHRoaXMuZ2V0U2Vzc2lvbkluZm8oKTtcbiAgICBpZiAoc2Vzc2lvbkluZm8gJiYgc2Vzc2lvbkluZm8uaWQgJiYgc2Vzc2lvbkluZm8udXNlciAmJiBzZXNzaW9uSW5mby51c2VyLmxlbmd0aCA+IDApIHtcbiAgICAgIGlmICh0eXBlb2Ygc2Vzc2lvbkluZm8uaWQgPT09ICdudW1iZXInICYmIChpc05hTihzZXNzaW9uSW5mby5pZCkgfHwgc2Vzc2lvbkluZm8uaWQgPCAwKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbn1cbiJdfQ==