Add miniature quick actions to add video to Watch later playlist
[oweals/peertube.git] / shared / models / users / user.model.ts
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
9 export interface User {
10   id: number
11   username: string
12   email: string
13   pendingEmail: string | null
14
15   emailVerified: boolean
16   nsfwPolicy: NSFWPolicyType
17
18   adminFlags?: UserAdminFlag
19
20   autoPlayVideo: boolean
21   autoPlayNextVideo: boolean
22   autoPlayNextVideoPlaylist: boolean
23   webTorrentEnabled: boolean
24   videosHistoryEnabled: boolean
25   videoLanguages: string[]
26
27   role: UserRole
28   roleLabel: string
29
30   videoQuota: number
31   videoQuotaDaily: number
32   videoQuotaUsed?: number
33   videoQuotaUsedDaily?: number
34
35   theme: string
36
37   account: Account
38   notificationSettings?: UserNotificationSetting
39   videoChannels?: VideoChannel[]
40
41   blocked: boolean
42   blockedReason?: string
43
44   noInstanceConfigWarningModal: boolean
45   noWelcomeModal: boolean
46
47   createdAt: Date
48 }
49
50 export interface MyUser extends User {
51   specialPlaylists: Partial<VideoPlaylist>[]
52 }