]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - shared/models/users/user-notification.model.ts
Support video views/viewers stats in server
[github/Chocobozzz/PeerTube.git] / shared / models / users / user-notification.model.ts
index 5f7c3397609df57d6d82efc05dc16b85afae0dae..0fd7a7181bca331309cae796e04b1dce8e9f505a 100644 (file)
@@ -1,6 +1,8 @@
 import { FollowState } from '../actors'
+import { AbuseState } from '../moderation'
+import { PluginType } from '../plugins'
 
-export enum UserNotificationType {
+export const enum UserNotificationType {
   NEW_VIDEO_FROM_SUBSCRIPTION = 1,
   NEW_COMMENT_ON_MY_VIDEO = 2,
   NEW_ABUSE_FOR_MODERATORS = 3,
@@ -21,23 +23,38 @@ export enum UserNotificationType {
 
   NEW_INSTANCE_FOLLOWER = 13,
 
-  AUTO_INSTANCE_FOLLOWING = 14
+  AUTO_INSTANCE_FOLLOWING = 14,
+
+  ABUSE_STATE_CHANGE = 15,
+
+  ABUSE_NEW_MESSAGE = 16,
+
+  NEW_PLUGIN_VERSION = 17,
+  NEW_PEERTUBE_VERSION = 18,
+
+  MY_VIDEO_STUDIO_EDITION_FINISHED = 19
 }
 
 export interface VideoInfo {
   id: number
   uuid: string
+  shortUUID: string
   name: string
 }
 
+export interface AvatarInfo {
+  width: number
+  path: string
+}
+
 export interface ActorInfo {
   id: number
   displayName: string
   name: string
   host: string
-  avatar?: {
-    path: string
-  }
+
+  avatars: AvatarInfo[]
+  avatar: AvatarInfo
 }
 
 export interface UserNotification {
@@ -66,17 +83,14 @@ export interface UserNotification {
 
   abuse?: {
     id: number
+    state: AbuseState
 
     video?: VideoInfo
 
     comment?: {
       threadId: number
 
-      video: {
-        id: number
-        uuid: string
-        name: string
-      }
+      video: VideoInfo
     }
 
     account?: ActorInfo
@@ -102,6 +116,16 @@ export interface UserNotification {
     }
   }
 
+  plugin?: {
+    name: string
+    type: PluginType
+    latestVersion: string
+  }
+
+  peertube?: {
+    latestVersion: string
+  }
+
   createdAt: string
   updatedAt: string
 }