+ public getIsAdmin(): boolean {
+ return localStorage.getItem(USER_IS_ADMIN) === 'true';
+ }
+
+ public getUser(): User | undefined {
+ const email = localStorage.getItem(USER_EMAIL_KEY);
+ const firstName = localStorage.getItem(USER_FIRST_NAME_KEY);
+ const lastName = localStorage.getItem(USER_LAST_NAME_KEY);
+ const uuid = this.getUuid();
+ const ownerUuid = this.getOwnerUuid();
+ const isAdmin = this.getIsAdmin();
+
+ return email && firstName && lastName && uuid && ownerUuid
+ ? { email, firstName, lastName, uuid, ownerUuid, isAdmin }
+ : undefined;
+ }
+
+ public saveUser(user: User) {
+ localStorage.setItem(USER_EMAIL_KEY, user.email);
+ localStorage.setItem(USER_FIRST_NAME_KEY, user.firstName);
+ localStorage.setItem(USER_LAST_NAME_KEY, user.lastName);
+ localStorage.setItem(USER_UUID_KEY, user.uuid);
+ localStorage.setItem(USER_OWNER_UUID_KEY, user.ownerUuid);
+ localStorage.setItem(USER_IS_ADMIN, JSON.stringify(user.isAdmin));
+ }
+
+ public removeUser() {
+ localStorage.removeItem(USER_EMAIL_KEY);
+ localStorage.removeItem(USER_FIRST_NAME_KEY);
+ localStorage.removeItem(USER_LAST_NAME_KEY);
+ localStorage.removeItem(USER_UUID_KEY);
+ localStorage.removeItem(USER_OWNER_UUID_KEY);
+ localStorage.removeItem(USER_IS_ADMIN);