]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - shared/models/users/user.model.ts
Add migrations
[github/Chocobozzz/PeerTube.git] / shared / models / users / user.model.ts
index 5c48a17b28c48ad373f22e16c901bad56a3d90d3..859736b2fbf04bf7a51a8f15f40f0f7f991bffab 100644 (file)
@@ -1,10 +1,70 @@
-import { UserRole } from './user-role.type'
+import { Account } from '../actors'
+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 '@shared/models'
 
 export interface User {
   id: number
   username: string
   email: string
-  displayNSFW: boolean
+  pendingEmail: string | null
+
+  emailVerified: boolean
+  nsfwPolicy: NSFWPolicyType
+
+  adminFlags?: UserAdminFlag
+
+  autoPlayVideo: boolean
+  autoPlayNextVideo: boolean
+  autoPlayNextVideoPlaylist: boolean
+  webTorrentEnabled: boolean
+  videosHistoryEnabled: boolean
+  videoLanguages: string[]
+
   role: UserRole
+  roleLabel: string
+
+  videoQuota: number
+  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
+
   createdAt: Date
+
+  pluginAuth: string | null
+
+  lastLoginDate: Date | null
+}
+
+export interface MyUserSpecialPlaylist {
+  id: number
+  name: string
+  type: VideoPlaylistType
+}
+
+export interface MyUser extends User {
+  specialPlaylists: MyUserSpecialPlaylist[]
 }