X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fsrc%2Fapp%2Fcore%2Fusers%2Fuser.model.ts;h=6ba30e4b81f22425da822448918a99ac906d2bca;hb=7b51ede977c299a74728171d8c124bcc4cbba6ea;hp=4256f370b9eff73c5edcfada15b05f4bfd4d1721;hpb=7c87bce4715ca291c8e449d9de3d92c69725d45c;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 4256f370b..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,22 +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: 'theme', - LAST_ACTIVE_THEME: 'last_active_theme', - VIDEO_LANGUAGES: 'video_languages' - } - id: number username: string email: string @@ -41,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[] @@ -71,6 +60,7 @@ export class User implements UserServerModel { noInstanceConfigWarningModal: boolean noWelcomeModal: boolean + noAccountSetupWarningModal: boolean pluginAuth: string | null @@ -98,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 @@ -114,6 +104,7 @@ export class User implements UserServerModel { this.noInstanceConfigWarningModal = hash.noInstanceConfigWarningModal this.noWelcomeModal = hash.noWelcomeModal + this.noAccountSetupWarningModal = hash.noAccountSetupWarningModal this.notificationSettings = hash.notificationSettings @@ -127,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) } @@ -147,11 +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 + } }