1 import { Account } from '../actors'
2 import { VideoChannel } from '../videos/channel/video-channel.model'
3 import { VideoPlaylist } from '../videos/playlist/video-playlist.model'
4 import { UserRole } from './user-role'
5 import { NSFWPolicyType } from '../videos/nsfw-policy.type'
6 import { UserNotificationSetting } from './user-notification-setting.model'
7 import { UserAdminFlag } from './user-flag.model'
8 import { VideoPlaylistType } from '@shared/models'
10 export interface User {
14 pendingEmail: string | null
16 emailVerified: boolean
17 nsfwPolicy: NSFWPolicyType
19 adminFlags?: UserAdminFlag
21 autoPlayVideo: boolean
22 autoPlayNextVideo: boolean
23 autoPlayNextVideoPlaylist: boolean
24 webTorrentEnabled: boolean
25 videosHistoryEnabled: boolean
26 videoLanguages: string[]
32 videoQuotaDaily: number
33 videoQuotaUsed?: number
34 videoQuotaUsedDaily?: number
39 notificationSettings?: UserNotificationSetting
40 videoChannels?: VideoChannel[]
43 blockedReason?: string
45 noInstanceConfigWarningModal: boolean
46 noWelcomeModal: boolean
51 export interface MyUserSpecialPlaylist {
54 type: VideoPlaylistType
57 export interface MyUser extends User {
58 specialPlaylists: MyUserSpecialPlaylist[]