1 import { Account } from '../actors'
2 import { VideoChannel } from '../videos/channel/video-channel.model'
3 import { UserRole } from './user-role'
4 import { NSFWPolicyType } from '../videos/nsfw-policy.type'
5 import { UserNotificationSetting } from './user-notification-setting.model'
6 import { UserAdminFlag } from './user-flag.model'
7 import { VideoPlaylistType } from '@shared/models'
9 export interface User {
13 pendingEmail: string | null
15 emailVerified: boolean
16 nsfwPolicy: NSFWPolicyType
18 adminFlags?: UserAdminFlag
20 autoPlayVideo: boolean
21 autoPlayNextVideo: boolean
22 autoPlayNextVideoPlaylist: boolean
23 webTorrentEnabled: boolean
24 videosHistoryEnabled: boolean
25 videoLanguages: string[]
31 videoQuotaDaily: number
32 videoQuotaUsed?: number
33 videoQuotaUsedDaily?: number
35 videoAbusesCount?: number
36 videoAbusesAcceptedCount?: number
37 videoAbusesCreatedCount?: number
38 videoCommentsCount? : number
43 notificationSettings?: UserNotificationSetting
44 videoChannels?: VideoChannel[]
47 blockedReason?: string
49 noInstanceConfigWarningModal: boolean
50 noWelcomeModal: boolean
54 pluginAuth: string | null
57 export interface MyUserSpecialPlaylist {
60 type: VideoPlaylistType
63 export interface MyUser extends User {
64 specialPlaylists: MyUserSpecialPlaylist[]