From 4fa587f7e50493a28073c38ca0c5e344b9455f84 Mon Sep 17 00:00:00 2001 From: Loi Phan Date: Mon, 4 Sep 2023 17:18:50 +0700 Subject: [PATCH] Implement local storage service and add access token propery for user model --- javascript-practice/src/js/models/user.js | 3 ++- .../src/js/services/localStorageService.js | 23 +++++++++++++++++++ .../src/js/services/userService.js | 3 +++ 3 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 javascript-practice/src/js/services/localStorageService.js diff --git a/javascript-practice/src/js/models/user.js b/javascript-practice/src/js/models/user.js index 3e6ab49..0d0536c 100644 --- a/javascript-practice/src/js/models/user.js +++ b/javascript-practice/src/js/models/user.js @@ -1,8 +1,9 @@ export default class User { - constructor({ email, password, walletName = '' }) { + constructor({ email, password, walletName = '', accessToken = '' }) { this.email = email; this.password = password; this.walletName = walletName; + this.accessToken = accessToken; } static createIdUser() { diff --git a/javascript-practice/src/js/services/localStorageService.js b/javascript-practice/src/js/services/localStorageService.js new file mode 100644 index 0000000..9c2d8e3 --- /dev/null +++ b/javascript-practice/src/js/services/localStorageService.js @@ -0,0 +1,23 @@ +class LocalStorageService { + constructor() { + this.localStorage = localStorage; + } + + add(key, value) { + this.localStorage.setItem(key, value); + } + + static get(key) { + this.localStorage.getItem(key); + } + + static remove(key) { + this.localStorage.removeItem(key); + } + + static clear() { + this.localStorage.clear(); + } +} + +export default new LocalStorageService(); diff --git a/javascript-practice/src/js/services/userService.js b/javascript-practice/src/js/services/userService.js index 556fe54..5d6e5a1 100644 --- a/javascript-practice/src/js/services/userService.js +++ b/javascript-practice/src/js/services/userService.js @@ -1,6 +1,7 @@ import { createToken } from '../helpers/helpers'; import User from '../models/user'; import CommonService from './commonService'; +import LocalStorageService from './localStorageService'; export default class UserService extends CommonService { constructor() { @@ -62,5 +63,7 @@ export default class UserService extends CommonService { newUserData.accessToken = createToken(); this.save(newUserData, this.defaultPath + id); + + LocalStorageService.add('accessToken', newUserData.accessToken); } }