diff options
Diffstat (limited to 'client/angular/users/models')
-rw-r--r-- | client/angular/users/models/token.ts | 24 | ||||
-rw-r--r-- | client/angular/users/models/user.ts | 20 |
2 files changed, 39 insertions, 5 deletions
diff --git a/client/angular/users/models/token.ts b/client/angular/users/models/token.ts index 688dfdc80..906bf501b 100644 --- a/client/angular/users/models/token.ts +++ b/client/angular/users/models/token.ts | |||
@@ -3,13 +3,27 @@ export class Token { | |||
3 | refresh_token: string; | 3 | refresh_token: string; |
4 | token_type: string; | 4 | token_type: string; |
5 | 5 | ||
6 | constructor (hash) { | 6 | constructor (hash?: any) { |
7 | this.access_token = hash.access_token; | 7 | if (hash) { |
8 | this.refresh_token = hash.refresh_token; | 8 | this.access_token = hash.access_token; |
9 | this.token_type = hash.token_type; | 9 | this.refresh_token = hash.refresh_token; |
10 | if (hash.token_type === 'bearer') { | ||
11 | this.token_type = 'Bearer'; | ||
12 | } else { | ||
13 | this.token_type = hash.token_type; | ||
14 | } | ||
15 | } | ||
10 | } | 16 | } |
11 | 17 | ||
12 | save() { | 18 | static load(): Token { |
19 | return new Token({ | ||
20 | access_token: localStorage.getItem('access_token'), | ||
21 | refresh_token: localStorage.getItem('refresh_token'), | ||
22 | token_type: localStorage.getItem('token_type') | ||
23 | }); | ||
24 | } | ||
25 | |||
26 | save():void { | ||
13 | localStorage.setItem('access_token', this.access_token); | 27 | localStorage.setItem('access_token', this.access_token); |
14 | localStorage.setItem('refresh_token', this.refresh_token); | 28 | localStorage.setItem('refresh_token', this.refresh_token); |
15 | localStorage.setItem('token_type', this.token_type); | 29 | localStorage.setItem('token_type', this.token_type); |
diff --git a/client/angular/users/models/user.ts b/client/angular/users/models/user.ts new file mode 100644 index 000000000..2c56a6132 --- /dev/null +++ b/client/angular/users/models/user.ts | |||
@@ -0,0 +1,20 @@ | |||
1 | import { Token } from './token'; | ||
2 | |||
3 | export class User { | ||
4 | username: string; | ||
5 | token: Token; | ||
6 | |||
7 | constructor (username: string, hash_token: any) { | ||
8 | this.username = username; | ||
9 | this.token = new Token(hash_token); | ||
10 | } | ||
11 | |||
12 | static load(): User { | ||
13 | return new User(localStorage.getItem('username'), Token.load()); | ||
14 | } | ||
15 | |||
16 | save(): void { | ||
17 | localStorage.setItem('username', this.username); | ||
18 | this.token.save(); | ||
19 | } | ||
20 | } | ||