aboutsummaryrefslogtreecommitdiffhomepage
path: root/client/src/app/shared/auth/user.model.ts
diff options
context:
space:
mode:
authorChocobozzz <florian.bigard@gmail.com>2016-08-05 18:04:08 +0200
committerChocobozzz <florian.bigard@gmail.com>2016-08-05 18:04:08 +0200
commit629d8d6f70cf83b55011dff53bfe1c4a95ac3433 (patch)
tree9d5a145609d9c693ddacfbc42ae75ca3c841aef0 /client/src/app/shared/auth/user.model.ts
parent99a64bfed25e45547df3045cf249bc895e6f220b (diff)
downloadPeerTube-629d8d6f70cf83b55011dff53bfe1c4a95ac3433.tar.gz
PeerTube-629d8d6f70cf83b55011dff53bfe1c4a95ac3433.tar.zst
PeerTube-629d8d6f70cf83b55011dff53bfe1c4a95ac3433.zip
Client: implement password change
Diffstat (limited to 'client/src/app/shared/auth/user.model.ts')
-rw-r--r--client/src/app/shared/auth/user.model.ts23
1 files changed, 19 insertions, 4 deletions
diff --git a/client/src/app/shared/auth/user.model.ts b/client/src/app/shared/auth/user.model.ts
index 98852f835..e486873ab 100644
--- a/client/src/app/shared/auth/user.model.ts
+++ b/client/src/app/shared/auth/user.model.ts
@@ -1,15 +1,24 @@
1export class User { 1export class User {
2 private static KEYS = { 2 private static KEYS = {
3 ID: 'id',
4 ROLE: 'role',
3 USERNAME: 'username' 5 USERNAME: 'username'
4 }; 6 };
5 7
8 id: string;
9 role: string;
6 username: string; 10 username: string;
7 tokens: Tokens; 11 tokens: Tokens;
8 12
9 static load() { 13 static load() {
10 const usernameLocalStorage = localStorage.getItem(this.KEYS.USERNAME); 14 const usernameLocalStorage = localStorage.getItem(this.KEYS.USERNAME);
11 if (usernameLocalStorage) { 15 if (usernameLocalStorage) {
12 return new User(localStorage.getItem(this.KEYS.USERNAME), Tokens.load()); 16 return new User(
17 localStorage.getItem(this.KEYS.ID),
18 localStorage.getItem(this.KEYS.USERNAME),
19 localStorage.getItem(this.KEYS.ROLE),
20 Tokens.load()
21 );
13 } 22 }
14 23
15 return null; 24 return null;
@@ -17,11 +26,15 @@ export class User {
17 26
18 static flush() { 27 static flush() {
19 localStorage.removeItem(this.KEYS.USERNAME); 28 localStorage.removeItem(this.KEYS.USERNAME);
29 localStorage.removeItem(this.KEYS.ID);
30 localStorage.removeItem(this.KEYS.ROLE);
20 Tokens.flush(); 31 Tokens.flush();
21 } 32 }
22 33
23 constructor(username: string, hash_tokens: any) { 34 constructor(id: string, username: string, role: string, hash_tokens: any) {
35 this.id = id;
24 this.username = username; 36 this.username = username;
37 this.role = role;
25 this.tokens = new Tokens(hash_tokens); 38 this.tokens = new Tokens(hash_tokens);
26 } 39 }
27 40
@@ -43,12 +56,14 @@ export class User {
43 } 56 }
44 57
45 save() { 58 save() {
46 localStorage.setItem('username', this.username); 59 localStorage.setItem(User.KEYS.ID, this.id);
60 localStorage.setItem(User.KEYS.USERNAME, this.username);
61 localStorage.setItem(User.KEYS.ROLE, this.role);
47 this.tokens.save(); 62 this.tokens.save();
48 } 63 }
49} 64}
50 65
51// Private class used only by User 66// Private class only used by User
52class Tokens { 67class Tokens {
53 private static KEYS = { 68 private static KEYS = {
54 ACCESS_TOKEN: 'access_token', 69 ACCESS_TOKEN: 'access_token',