X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=shared%2Fmodels%2Fusers%2Fuser-notification.model.ts;h=5f7c3397609df57d6d82efc05dc16b85afae0dae;hb=17aa80ed016bafa3ccb071af3f86054033823284;hp=9dd4f099f26d5617ab0a223593b77c8913ff6290;hpb=f7cc67b455a12ccae9b0ea16876d166720364357;p=github%2FChocobozzz%2FPeerTube.git diff --git a/shared/models/users/user-notification.model.ts b/shared/models/users/user-notification.model.ts index 9dd4f099f..5f7c33976 100644 --- a/shared/models/users/user-notification.model.ts +++ b/shared/models/users/user-notification.model.ts @@ -1,15 +1,27 @@ +import { FollowState } from '../actors' + export 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, + MY_VIDEO_PUBLISHED = 6, + MY_VIDEO_IMPORT_SUCCESS = 7, MY_VIDEO_IMPORT_ERROR = 8, + 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 } export interface VideoInfo { @@ -18,16 +30,23 @@ export interface VideoInfo { 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?: { @@ -41,16 +60,26 @@ export interface UserNotification { comment?: { id: number threadId: number - account: { - id: number - displayName: string - } + account: ActorInfo video: VideoInfo } - videoAbuse?: { + abuse?: { id: number - video: VideoInfo + + video?: VideoInfo + + comment?: { + threadId: number + + video: { + id: number + uuid: string + name: string + } + } + + account?: ActorInfo } videoBlacklist?: { @@ -58,22 +87,18 @@ export interface UserNotification { video: VideoInfo } - account?: { - id: number - displayName: string - name: string - } + account?: ActorInfo actorFollow?: { id: number - follower: { - name: string - displayName: string - } + follower: ActorInfo + state: FollowState + following: { - type: 'account' | 'channel' + type: 'account' | 'channel' | 'instance' name: string displayName: string + host: string } }