X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fsrc%2Fapp%2Fcore%2Fusers%2Fuser.model.ts;h=6ba30e4b81f22425da822448918a99ac906d2bca;hb=7b51ede977c299a74728171d8c124bcc4cbba6ea;hp=31b9c21525a462a74276bde53bb2ea256e68cac0;hpb=2291a412d25bd139398ca9e7a5131d0c1e4ffd7d;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/src/app/core/users/user.model.ts b/client/src/app/core/users/user.model.ts index 31b9c2152..6ba30e4b8 100644 --- a/client/src/app/core/users/user.model.ts +++ b/client/src/app/core/users/user.model.ts @@ -1,7 +1,8 @@ import { Account } from '@app/shared/shared-main/account/account.model' +import { hasUserRight } from '@shared/core-utils/users' import { - Avatar, - hasUserRight, + ActorImage, + HTMLServerConfig, NSFWPolicyType, User as UserServerModel, UserAdminFlag, @@ -12,21 +13,6 @@ import { } from '@shared/models' export class User implements UserServerModel { - static KEYS = { - ID: 'id', - ROLE: 'role', - EMAIL: 'email', - VIDEOS_HISTORY_ENABLED: 'videos-history-enabled', - USERNAME: 'username', - NSFW_POLICY: 'nsfw_policy', - WEBTORRENT_ENABLED: 'peertube-videojs-' + 'webtorrent_enabled', - AUTO_PLAY_VIDEO: 'auto_play_video', - SESSION_STORAGE_AUTO_PLAY_NEXT_VIDEO: 'auto_play_next_video', - AUTO_PLAY_VIDEO_PLAYLIST: 'auto_play_video_playlist', - THEME: 'last_active_theme', - VIDEO_LANGUAGES: 'video_languages' - } - id: number username: string email: string @@ -40,7 +26,11 @@ export class User implements UserServerModel { autoPlayVideo: boolean autoPlayNextVideo: boolean autoPlayNextVideoPlaylist: boolean - webTorrentEnabled: boolean + + p2pEnabled: boolean + // FIXME: deprecated in 4.1 + webTorrentEnabled: never + videosHistoryEnabled: boolean videoLanguages: string[] @@ -70,6 +60,7 @@ export class User implements UserServerModel { noInstanceConfigWarningModal: boolean noWelcomeModal: boolean + noAccountSetupWarningModal: boolean pluginAuth: string | null @@ -97,7 +88,7 @@ export class User implements UserServerModel { this.videoCommentsCount = hash.videoCommentsCount this.nsfwPolicy = hash.nsfwPolicy - this.webTorrentEnabled = hash.webTorrentEnabled + this.p2pEnabled = hash.p2pEnabled this.autoPlayVideo = hash.autoPlayVideo this.autoPlayNextVideo = hash.autoPlayNextVideo this.autoPlayNextVideoPlaylist = hash.autoPlayNextVideoPlaylist @@ -113,6 +104,7 @@ export class User implements UserServerModel { this.noInstanceConfigWarningModal = hash.noInstanceConfigWarningModal this.noWelcomeModal = hash.noWelcomeModal + this.noAccountSetupWarningModal = hash.noAccountSetupWarningModal this.notificationSettings = hash.notificationSettings @@ -126,12 +118,6 @@ export class User implements UserServerModel { } } - get accountAvatarUrl () { - if (!this.account) return '' - - return this.account.avatarUrl - } - hasRight (right: UserRight) { return hasUserRight(this.role, right) } @@ -146,7 +132,18 @@ export class User implements UserServerModel { } } - updateAccountAvatar (newAccountAvatar: Avatar) { - this.account.updateAvatar(newAccountAvatar) + updateAccountAvatar (newAccountAvatars?: ActorImage[]) { + if (newAccountAvatars) this.account.updateAvatar(newAccountAvatars) + else this.account.resetAvatar() + } + + isUploadDisabled () { + return this.videoQuota === 0 || this.videoQuotaDaily === 0 + } + + isAutoBlocked (serverConfig: HTMLServerConfig) { + if (serverConfig.autoBlacklist.videos.ofUsers.enabled !== true) return false + + return this.role === UserRole.USER && this.adminFlags !== UserAdminFlag.BYPASS_VIDEO_AUTO_BLACKLIST } }