blob: 127ec08d2f68112f4aa2427b83bf91b3f3aa95b9 [file] [log] [blame]
import { Injectable, EventEmitter } from '@angular/core';
import { JwtHelper } from 'angular2-jwt';
import { BannerMessageStatusEn } from '../common/enums';
import { Globals } from '../common/globals';
import { JwtPayload } from '../model/jwt-payload';
@Injectable()
export class SessionContext {
public centralHttpResultCode$: EventEmitter<number> = new EventEmitter<number>();
public settings;
private my: string;
public getCurrSessionId(): string { return localStorage.getItem(Globals.LOCALSTORAGE_SESSION_ID); }
public setCurrSessionId(sid: string): void { localStorage.setItem(Globals.LOCALSTORAGE_SESSION_ID, sid); }
public clearStorage() {
localStorage.clear();
}
public getAccessToken(): string {
return localStorage.getItem(Globals.ACCESS_TOKEN);
}
public setAccessToken(accessToken: string): void {
localStorage.setItem(Globals.ACCESS_TOKEN, accessToken);
}
public getAccessTokenDecoded(): JwtPayload {
const accessToken = this.getAccessToken();
if (!accessToken) {
return;
}
const jwtHelper: JwtHelper = new JwtHelper();
const jwtPayload: JwtPayload = new JwtPayload();
const decoded: any = jwtHelper.decodeToken(accessToken);
jwtPayload.name = decoded.name;
jwtPayload.roles = decoded.roles;
return jwtPayload;
}
}