X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fsrc%2Fapp%2Fcore%2Fauth%2Fauth-user.model.ts;h=2260752653820f950518db0b83e63545f69abbcd;hb=98bd5e2256bfdeba6d5ab07f0421acfde1a0de26;hp=34efa24fcf1cb31af496401a4dfa6726abc331f3;hpb=a4ff3100d36f2fe9a4dfc00e8487c28a94433c4f;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/src/app/core/auth/auth-user.model.ts b/client/src/app/core/auth/auth-user.model.ts index 34efa24fc..226075265 100644 --- a/client/src/app/core/auth/auth-user.model.ts +++ b/client/src/app/core/auth/auth-user.model.ts @@ -1,13 +1,7 @@ import { Observable, of } from 'rxjs' import { map } from 'rxjs/operators' import { User } from '@app/core/users/user.model' -import { - flushUserInfoFromLocalStorage, - getUserInfoFromLocalStorage, - saveUserInfoIntoLocalStorage, - TokenOptions, - Tokens -} from '@root-helpers/users' +import { OAuthUserTokens } from '@root-helpers/users' import { hasUserRight } from '@shared/core-utils/users' import { MyUser as ServerMyUserModel, @@ -19,74 +13,46 @@ import { } from '@shared/models' export class AuthUser extends User implements ServerMyUserModel { - tokens: Tokens + oauthTokens: OAuthUserTokens specialPlaylists: MyUserSpecialPlaylist[] canSeeVideosLink = true - static load () { - const userInfo = getUserInfoFromLocalStorage() - - if (!userInfo) return null - - return new AuthUser(userInfo, Tokens.load()) - } - - static flush () { - flushUserInfoFromLocalStorage() - - Tokens.flush() - } - - constructor (userHash: Partial, hashTokens: TokenOptions) { + constructor (userHash: Partial, hashTokens: Partial) { super(userHash) - this.tokens = new Tokens(hashTokens) + this.oauthTokens = new OAuthUserTokens(hashTokens) this.specialPlaylists = userHash.specialPlaylists } getAccessToken () { - return this.tokens.accessToken + return this.oauthTokens.accessToken } getRefreshToken () { - return this.tokens.refreshToken + return this.oauthTokens.refreshToken } getTokenType () { - return this.tokens.tokenType + return this.oauthTokens.tokenType } refreshTokens (accessToken: string, refreshToken: string) { - this.tokens.accessToken = accessToken - this.tokens.refreshToken = refreshToken + this.oauthTokens.accessToken = accessToken + this.oauthTokens.refreshToken = refreshToken } hasRight (right: UserRight) { - return hasUserRight(this.role, right) + return hasUserRight(this.role.id, right) } canManage (user: ServerUserModel) { - const myRole = this.role + const myRole = this.role.id if (myRole === UserRole.ADMINISTRATOR) return true // I'm a moderator: I can only manage users - return user.role === UserRole.USER - } - - save () { - saveUserInfoIntoLocalStorage({ - id: this.id, - username: this.username, - email: this.email, - role: this.role, - nsfwPolicy: this.nsfwPolicy, - webTorrentEnabled: this.webTorrentEnabled, - autoPlayVideo: this.autoPlayVideo - }) - - this.tokens.save() + return user.role.id === UserRole.USER } computeCanSeeVideosLink (quotaObservable: Observable): Observable {