]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - shared/models/users/user-notification.model.ts
Add new plugin/peertube version notifs
[github/Chocobozzz/PeerTube.git] / shared / models / users / user-notification.model.ts
index 186b62612b1a27619da3b6ba90ca6ea96b994812..8b33e3fbdab30d66a90719ba315a0ea06ff68bc5 100644 (file)
@@ -1,7 +1,11 @@
-export enum UserNotificationType {
+import { FollowState } from '../actors'
+import { AbuseState } from '../moderation'
+import { PluginType } from '../plugins'
+
+export const enum UserNotificationType {
   NEW_VIDEO_FROM_SUBSCRIPTION = 1,
   NEW_COMMENT_ON_MY_VIDEO = 2,
-  NEW_VIDEO_ABUSE_FOR_MODERATORS = 3,
+  NEW_ABUSE_FOR_MODERATORS = 3,
 
   BLACKLIST_ON_MY_VIDEO = 4,
   UNBLACKLIST_ON_MY_VIDEO = 5,
@@ -13,7 +17,20 @@ export enum UserNotificationType {
 
   NEW_USER_REGISTRATION = 9,
   NEW_FOLLOW = 10,
-  COMMENT_MENTION = 11
+  COMMENT_MENTION = 11,
+
+  VIDEO_AUTO_BLACKLIST_FOR_MODERATORS = 12,
+
+  NEW_INSTANCE_FOLLOWER = 13,
+
+  AUTO_INSTANCE_FOLLOWING = 14,
+
+  ABUSE_STATE_CHANGE = 15,
+
+  ABUSE_NEW_MESSAGE = 16,
+
+  NEW_PLUGIN_VERSION = 17,
+  NEW_PEERTUBE_VERSION = 18
 }
 
 export interface VideoInfo {
@@ -56,9 +73,23 @@ export interface UserNotification {
     video: VideoInfo
   }
 
-  videoAbuse?: {
+  abuse?: {
     id: number
-    video: VideoInfo
+    state: AbuseState
+
+    video?: VideoInfo
+
+    comment?: {
+      threadId: number
+
+      video: {
+        id: number
+        uuid: string
+        name: string
+      }
+    }
+
+    account?: ActorInfo
   }
 
   videoBlacklist?: {
@@ -71,13 +102,26 @@ export interface UserNotification {
   actorFollow?: {
     id: number
     follower: ActorInfo
+    state: FollowState
+
     following: {
-      type: 'account' | 'channel'
+      type: 'account' | 'channel' | 'instance'
       name: string
       displayName: string
+      host: string
     }
   }
 
+  plugin?: {
+    name: string
+    type: PluginType
+    latestVersion: string
+  }
+
+  peertube?: {
+    latestVersion: string
+  }
+
   createdAt: string
   updatedAt: string
 }