X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;ds=sidebyside;f=client%2Fsrc%2Fapp%2Fshared%2Fusers%2Fuser.model.ts;h=b075ab717b60a61ad1e80b81eb72d3cd74995a6b;hb=1e1265b36c09df1465aa2b4866815c957b6a532e;hp=d4695ab67e6cd5c00f099a0dba486ac765383c78;hpb=46757b477c1adb5f98060d15998a3852e18902a6;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/src/app/shared/users/user.model.ts b/client/src/app/shared/users/user.model.ts index d4695ab67..b075ab717 100644 --- a/client/src/app/shared/users/user.model.ts +++ b/client/src/app/shared/users/user.model.ts @@ -1,33 +1,64 @@ -import { User as UserServerModel, UserRole } from '../../../../../shared'; +import { + User as UserServerModel, + UserRole, + VideoChannel, + UserRight, + hasUserRight +} from '../../../../../shared' +export type UserConstructorHash = { + id: number, + username: string, + email: string, + role: UserRole, + videoQuota?: number, + displayNSFW?: boolean, + createdAt?: Date, + account?: { + id: number + uuid: string + }, + videoChannels?: VideoChannel[] +} export class User implements UserServerModel { - id: number; - username: string; - email: string; - role: UserRole; - displayNSFW: boolean; - createdAt: Date; + id: number + username: string + email: string + role: UserRole + displayNSFW: boolean + videoQuota: number + account: { + id: number + uuid: string + } + videoChannels: VideoChannel[] + createdAt: Date + + constructor (hash: UserConstructorHash) { + this.id = hash.id + this.username = hash.username + this.email = hash.email + this.role = hash.role + this.account = hash.account + + if (hash.videoChannels !== undefined) { + this.videoChannels = hash.videoChannels + } + + if (hash.videoQuota !== undefined) { + this.videoQuota = hash.videoQuota + } - constructor(hash: { - id: number, - username: string, - email: string, - role: UserRole, - displayNSFW?: boolean, - createdAt?: Date, - }) { - this.id = hash.id; - this.username = hash.username; - this.email = hash.email; - this.role = hash.role; - this.displayNSFW = hash.displayNSFW; + if (hash.displayNSFW !== undefined) { + this.displayNSFW = hash.displayNSFW + } - if (hash.createdAt) { - this.createdAt = hash.createdAt; + if (hash.createdAt !== undefined) { + this.createdAt = hash.createdAt } } - isAdmin() { - return this.role === 'admin'; + hasRight (right: UserRight) { + return hasUserRight(this.role, right) } }