]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - shared/models/users/user.model.ts
allow private syndication feeds via a user feedToken
[github/Chocobozzz/PeerTube.git] / shared / models / users / user.model.ts
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 '../videos/playlist/video-playlist-type.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 videosCount?: number
36
37 abusesCount?: number
38 abusesAcceptedCount?: number
39 abusesCreatedCount?: number
40
41 videoCommentsCount? : number
42
43 theme: string
44
45 account: Account
46 notificationSettings?: UserNotificationSetting
47 videoChannels?: VideoChannel[]
48
49 blocked: boolean
50 blockedReason?: string
51
52 noInstanceConfigWarningModal: boolean
53 noWelcomeModal: boolean
54
55 createdAt: Date
56
57 pluginAuth: string | null
58
59 lastLoginDate: Date | null
60 }
61
62 export interface MyUserSpecialPlaylist {
63 id: number
64 name: string
65 type: VideoPlaylistType
66 }
67
68 export interface MyUser extends User {
69 specialPlaylists: MyUserSpecialPlaylist[]
70 }