docv-ged-archive/lib/4nk/UserStore.ts

47 lines
1.3 KiB
TypeScript

export default class UserStore {
private static instance: UserStore;
private constructor() { }
public static getInstance(): UserStore {
if (!UserStore.instance) {
UserStore.instance = new UserStore();
}
return UserStore.instance;
}
public connect(accessToken: string, refreshToken: string): void {
sessionStorage.setItem('accessToken', accessToken);
sessionStorage.setItem('refreshToken', refreshToken);
}
public isConnected(): boolean {
return sessionStorage.getItem('accessToken') !== null && sessionStorage.getItem('refreshToken') !== null;
}
public disconnect(): void {
sessionStorage.removeItem('accessToken');
sessionStorage.removeItem('refreshToken');
sessionStorage.removeItem('userPairingId');
}
public getAccessToken(): string | null {
return sessionStorage.getItem('accessToken');
}
public getRefreshToken(): string | null {
return sessionStorage.getItem('refreshToken');
}
public pair(userPairingId: string): void {
if (!userPairingId || userPairingId === 'undefined' || userPairingId === 'null') {
return;
}
sessionStorage.setItem('userPairingId', userPairingId);
}
public getUserPairingId(): string | null {
return sessionStorage.getItem('userPairingId');
}
}