]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - shared/models/users/user-notification.model.ts
Merge branch 'develop' into pr/1285
[github/Chocobozzz/PeerTube.git] / shared / models / users / user-notification.model.ts
index 39beb2350e08a3a51e44b68eb2e87d3d918172d5..186b62612b1a27619da3b6ba90ca6ea96b994812 100644 (file)
@@ -2,34 +2,58 @@ export enum UserNotificationType {
   NEW_VIDEO_FROM_SUBSCRIPTION = 1,
   NEW_COMMENT_ON_MY_VIDEO = 2,
   NEW_VIDEO_ABUSE_FOR_MODERATORS = 3,
+
   BLACKLIST_ON_MY_VIDEO = 4,
-  UNBLACKLIST_ON_MY_VIDEO = 5
+  UNBLACKLIST_ON_MY_VIDEO = 5,
+
+  MY_VIDEO_PUBLISHED = 6,
+
+  MY_VIDEO_IMPORT_SUCCESS = 7,
+  MY_VIDEO_IMPORT_ERROR = 8,
+
+  NEW_USER_REGISTRATION = 9,
+  NEW_FOLLOW = 10,
+  COMMENT_MENTION = 11
 }
 
-interface VideoInfo {
+export interface VideoInfo {
   id: number
   uuid: string
   name: string
 }
 
+export interface ActorInfo {
+  id: number
+  displayName: string
+  name: string
+  host: string
+  avatar?: {
+    path: string
+  }
+}
+
 export interface UserNotification {
   id: number
   type: UserNotificationType
   read: boolean
 
   video?: VideoInfo & {
-    channel: {
-      id: number
-      displayName: string
-    }
+    channel: ActorInfo
+  }
+
+  videoImport?: {
+    id: number
+    video?: VideoInfo
+    torrentName?: string
+    magnetUri?: string
+    targetUrl?: string
   }
 
   comment?: {
     id: number
-    account: {
-      id: number
-      displayName: string
-    }
+    threadId: number
+    account: ActorInfo
+    video: VideoInfo
   }
 
   videoAbuse?: {
@@ -42,6 +66,18 @@ export interface UserNotification {
     video: VideoInfo
   }
 
+  account?: ActorInfo
+
+  actorFollow?: {
+    id: number
+    follower: ActorInfo
+    following: {
+      type: 'account' | 'channel'
+      name: string
+      displayName: string
+    }
+  }
+
   createdAt: string
   updatedAt: string
 }