X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=shared%2Fmodels%2Fusers%2Fuser.model.ts;h=63c5c8a92f961e36da3e9b4e40e064e27cb713e4;hb=b211106695bb82f6c32e53306081b5262c3d109d;hp=5c48a17b28c48ad373f22e16c901bad56a3d90d3;hpb=4771e0008dd26eadbb7eaff64255a6ec914fdadb;p=github%2FChocobozzz%2FPeerTube.git diff --git a/shared/models/users/user.model.ts b/shared/models/users/user.model.ts index 5c48a17b2..63c5c8a92 100644 --- a/shared/models/users/user.model.ts +++ b/shared/models/users/user.model.ts @@ -1,10 +1,75 @@ -import { UserRole } from './user-role.type' +import { Account } from '../actors' +import { VideoChannel } from '../videos/channel/video-channel.model' +import { UserRole } from './user-role' +import { NSFWPolicyType } from '../videos/nsfw-policy.type' +import { UserNotificationSetting } from './user-notification-setting.model' +import { UserAdminFlag } from './user-flag.model' +import { VideoPlaylistType } from '../videos/playlist/video-playlist-type.model' export interface User { id: number username: string email: string - displayNSFW: boolean + pendingEmail: string | null + + emailVerified: boolean + nsfwPolicy: NSFWPolicyType + + adminFlags?: UserAdminFlag + + autoPlayVideo: boolean + autoPlayNextVideo: boolean + autoPlayNextVideoPlaylist: boolean + + // @deprecated in favour of p2pEnabled + webTorrentEnabled: boolean + p2pEnabled: boolean + + videosHistoryEnabled: boolean + videoLanguages: string[] + role: UserRole + roleLabel: string + + videoQuota: number + videoQuotaDaily: number + videoQuotaUsed?: number + videoQuotaUsedDaily?: number + + videosCount?: number + + abusesCount?: number + abusesAcceptedCount?: number + abusesCreatedCount?: number + + videoCommentsCount?: number + + theme: string + + account: Account + notificationSettings?: UserNotificationSetting + videoChannels?: VideoChannel[] + + blocked: boolean + blockedReason?: string + + noInstanceConfigWarningModal: boolean + noWelcomeModal: boolean + noAccountSetupWarningModal: boolean + createdAt: Date + + pluginAuth: string | null + + lastLoginDate: Date | null +} + +export interface MyUserSpecialPlaylist { + id: number + name: string + type: VideoPlaylistType +} + +export interface MyUser extends User { + specialPlaylists: MyUserSpecialPlaylist[] }