2017-12-14 11:38:41 -05:00
|
|
|
import { Account } from '../actors'
|
2018-08-14 08:59:53 -04:00
|
|
|
import { VideoChannel } from '../videos/channel/video-channel.model'
|
2017-10-27 10:55:03 -04:00
|
|
|
import { UserRole } from './user-role'
|
2018-04-19 05:01:34 -04:00
|
|
|
import { NSFWPolicyType } from '../videos/nsfw-policy.type'
|
2018-12-26 04:36:24 -05:00
|
|
|
import { UserNotificationSetting } from './user-notification-setting.model'
|
2019-04-15 04:49:46 -04:00
|
|
|
import { UserAdminFlag } from './user-flag.model'
|
2020-08-27 03:58:27 -04:00
|
|
|
import { VideoPlaylistType } from '../videos/playlist/video-playlist-type.model'
|
2017-06-16 04:36:18 -04:00
|
|
|
|
2017-06-10 16:15:25 -04:00
|
|
|
export interface User {
|
|
|
|
id: number
|
|
|
|
username: string
|
|
|
|
email: string
|
2019-06-11 05:54:33 -04:00
|
|
|
pendingEmail: string | null
|
2019-08-28 08:40:06 -04:00
|
|
|
|
2018-11-21 02:48:29 -05:00
|
|
|
emailVerified: boolean
|
2018-04-19 05:01:34 -04:00
|
|
|
nsfwPolicy: NSFWPolicyType
|
2018-12-18 05:32:37 -05:00
|
|
|
|
2019-04-15 04:49:46 -04:00
|
|
|
adminFlags?: UserAdminFlag
|
|
|
|
|
2017-12-19 04:45:49 -05:00
|
|
|
autoPlayVideo: boolean
|
2019-09-24 02:48:01 -04:00
|
|
|
autoPlayNextVideo: boolean
|
2019-12-11 14:20:42 -05:00
|
|
|
autoPlayNextVideoPlaylist: boolean
|
2021-12-15 09:58:10 -05:00
|
|
|
|
|
|
|
// @deprecated in favour of p2pEnabled
|
2018-12-18 05:32:37 -05:00
|
|
|
webTorrentEnabled: boolean
|
2021-12-15 09:58:10 -05:00
|
|
|
p2pEnabled: boolean
|
|
|
|
|
2018-12-18 05:32:37 -05:00
|
|
|
videosHistoryEnabled: boolean
|
2019-08-28 08:40:06 -04:00
|
|
|
videoLanguages: string[]
|
2018-12-18 05:32:37 -05:00
|
|
|
|
2022-10-28 10:15:04 -04:00
|
|
|
role: {
|
|
|
|
id: UserRole
|
|
|
|
label: string
|
|
|
|
}
|
2019-04-15 04:49:46 -04:00
|
|
|
|
2017-09-04 14:07:54 -04:00
|
|
|
videoQuota: number
|
2018-08-28 03:01:35 -04:00
|
|
|
videoQuotaDaily: number
|
2019-08-28 08:40:06 -04:00
|
|
|
videoQuotaUsed?: number
|
|
|
|
videoQuotaUsedDaily?: number
|
2020-07-07 08:34:16 -04:00
|
|
|
|
2020-03-27 10:19:03 -04:00
|
|
|
videosCount?: number
|
2020-07-07 08:34:16 -04:00
|
|
|
|
|
|
|
abusesCount?: number
|
|
|
|
abusesAcceptedCount?: number
|
|
|
|
abusesCreatedCount?: number
|
|
|
|
|
2021-04-12 11:00:21 -04:00
|
|
|
videoCommentsCount?: number
|
2019-07-10 08:06:19 -04:00
|
|
|
|
|
|
|
theme: string
|
|
|
|
|
2017-12-04 04:34:40 -05:00
|
|
|
account: Account
|
2018-12-26 04:36:24 -05:00
|
|
|
notificationSettings?: UserNotificationSetting
|
2017-10-24 13:41:09 -04:00
|
|
|
videoChannels?: VideoChannel[]
|
2018-08-08 11:36:10 -04:00
|
|
|
|
|
|
|
blocked: boolean
|
|
|
|
blockedReason?: string
|
2018-08-14 11:56:51 -04:00
|
|
|
|
2019-08-28 08:40:06 -04:00
|
|
|
noInstanceConfigWarningModal: boolean
|
|
|
|
noWelcomeModal: boolean
|
2021-08-27 04:15:55 -04:00
|
|
|
noAccountSetupWarningModal: boolean
|
2019-08-28 08:40:06 -04:00
|
|
|
|
|
|
|
createdAt: Date
|
2020-05-05 03:44:53 -04:00
|
|
|
|
|
|
|
pluginAuth: string | null
|
2020-05-07 04:39:09 -04:00
|
|
|
|
|
|
|
lastLoginDate: Date | null
|
2022-10-05 09:37:15 -04:00
|
|
|
|
|
|
|
twoFactorEnabled: boolean
|
2017-06-10 16:15:25 -04:00
|
|
|
}
|
2020-01-02 07:07:18 -05:00
|
|
|
|
2020-01-03 08:17:57 -05:00
|
|
|
export interface MyUserSpecialPlaylist {
|
|
|
|
id: number
|
|
|
|
name: string
|
|
|
|
type: VideoPlaylistType
|
|
|
|
}
|
|
|
|
|
2020-01-02 07:07:18 -05:00
|
|
|
export interface MyUser extends User {
|
2020-01-03 08:17:57 -05:00
|
|
|
specialPlaylists: MyUserSpecialPlaylist[]
|
2020-01-02 07:07:18 -05:00
|
|
|
}
|