X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=shared%2Fmodels%2Fusers%2Fuser.model.ts;h=63c5c8a92f961e36da3e9b4e40e064e27cb713e4;hb=b211106695bb82f6c32e53306081b5262c3d109d;hp=188e29ede5fda28d8f002db85b133dba25e8baf0;hpb=0db1a226507a39b0a663e3e63f04851836a44d5a;p=github%2FChocobozzz%2FPeerTube.git diff --git a/shared/models/users/user.model.ts b/shared/models/users/user.model.ts index 188e29ede..63c5c8a92 100644 --- a/shared/models/users/user.model.ts +++ b/shared/models/users/user.model.ts @@ -1,17 +1,75 @@ import { Account } from '../actors' -import { VideoChannel } from '../videos/video-channel.model' +import { VideoChannel } from '../videos/channel/video-channel.model' import { UserRole } from './user-role' import { NSFWPolicyType } from '../videos/nsfw-policy.type' +import { UserNotificationSetting } from './user-notification-setting.model' +import { UserAdminFlag } from './user-flag.model' +import { VideoPlaylistType } from '../videos/playlist/video-playlist-type.model' export interface User { id: number username: string email: string + pendingEmail: string | null + + emailVerified: boolean nsfwPolicy: NSFWPolicyType + + adminFlags?: UserAdminFlag + autoPlayVideo: boolean + autoPlayNextVideo: boolean + autoPlayNextVideoPlaylist: boolean + + // @deprecated in favour of p2pEnabled + webTorrentEnabled: boolean + p2pEnabled: boolean + + videosHistoryEnabled: boolean + videoLanguages: string[] + role: UserRole + roleLabel: string + videoQuota: number - createdAt: Date + videoQuotaDaily: number + videoQuotaUsed?: number + videoQuotaUsedDaily?: number + + videosCount?: number + + abusesCount?: number + abusesAcceptedCount?: number + abusesCreatedCount?: number + + videoCommentsCount?: number + + theme: string + account: Account + notificationSettings?: UserNotificationSetting videoChannels?: VideoChannel[] + + blocked: boolean + blockedReason?: string + + noInstanceConfigWarningModal: boolean + noWelcomeModal: boolean + noAccountSetupWarningModal: boolean + + createdAt: Date + + pluginAuth: string | null + + lastLoginDate: Date | null +} + +export interface MyUserSpecialPlaylist { + id: number + name: string + type: VideoPlaylistType +} + +export interface MyUser extends User { + specialPlaylists: MyUserSpecialPlaylist[] }