storj/web/satellite/src/utils/localData.ts
Vitalii Shpital 98b59fe305 web/satellite: reworked Encrypt your data component
Reworked component to have all needed warnings and info.
Removed Warning route from objects flow.
Updated tests.

Change-Id: Iced68aca7fbf4e1f7b7e5302147a51fd0e9115c8
2021-11-05 17:36:01 +00:00

65 lines
1.9 KiB
TypeScript

// Copyright (C) 2019 Storj Labs, Inc.
// See LICENSE for copying information.
/**
* LocalData exposes methods to manage local storage.
*/
export class LocalData {
private static userId = 'userId';
private static selectedProjectId = 'selectedProjectId';
private static userIdPassSalt = 'userIdPassSalt';
private static serverSideEncryptionAcknowledge = 'serverSideEncryptionAcknowledge';
public static getUserId(): string | null {
return localStorage.getItem(LocalData.userId);
}
public static setUserId(id: string): void {
localStorage.setItem(LocalData.userId, id);
}
public static removeUserId(): void {
localStorage.removeItem(LocalData.userId);
}
public static getSelectedProjectId(): string | null {
return localStorage.getItem(LocalData.selectedProjectId);
}
public static setSelectedProjectId(id: string): void {
localStorage.setItem(LocalData.selectedProjectId, id);
}
public static removeSelectedProjectId(): void {
localStorage.removeItem(LocalData.selectedProjectId);
}
public static getUserIDPassSalt(): UserIDPassSalt | null {
const data: string | null = localStorage.getItem(LocalData.userIdPassSalt);
if (data) {
const parsed = JSON.parse(data);
return new UserIDPassSalt(parsed.userId, parsed.passwordHash, parsed.salt);
}
return null;
}
public static setUserIDPassSalt(id: string, passwordHash: string, salt: string): void {
const data = new UserIDPassSalt(id, passwordHash, salt);
localStorage.setItem(LocalData.userIdPassSalt, JSON.stringify(data));
}
}
/**
* UserIDPassSalt is an entity holding user id, password hash and salt to be stored in local storage.
*/
export class UserIDPassSalt {
public constructor(
public userId: string = '',
public passwordHash: string = '',
public salt: string = '',
) {}
}