X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=shared%2Fmodels%2Fusers%2Fuser-notification.model.ts;h=0fd7a7181bca331309cae796e04b1dce8e9f505a;hb=b211106695bb82f6c32e53306081b5262c3d109d;hp=ee9ac275abb9b4c617bae5f10df7f2c60ad338ae;hpb=dc13348070d808d0ba3feb56a435b835c2e7e791;p=github%2FChocobozzz%2FPeerTube.git diff --git a/shared/models/users/user-notification.model.ts b/shared/models/users/user-notification.model.ts index ee9ac275a..0fd7a7181 100644 --- a/shared/models/users/user-notification.model.ts +++ b/shared/models/users/user-notification.model.ts @@ -1,18 +1,60 @@ -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, + MY_VIDEO_PUBLISHED = 6, + MY_VIDEO_IMPORT_SUCCESS = 7, - MY_VIDEO_IMPORT_ERROR = 8 + MY_VIDEO_IMPORT_ERROR = 8, + + NEW_USER_REGISTRATION = 9, + NEW_FOLLOW = 10, + 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, + + 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 + + avatars: AvatarInfo[] + avatar: AvatarInfo } export interface UserNotification { @@ -21,10 +63,7 @@ export interface UserNotification { read: boolean video?: VideoInfo & { - channel: { - id: number - displayName: string - } + channel: ActorInfo } videoImport?: { @@ -38,16 +77,23 @@ export interface UserNotification { comment?: { id: number threadId: number - account: { - id: number - displayName: string - } + account: ActorInfo video: VideoInfo } - videoAbuse?: { + abuse?: { id: number - video: VideoInfo + state: AbuseState + + video?: VideoInfo + + comment?: { + threadId: number + + video: VideoInfo + } + + account?: ActorInfo } videoBlacklist?: { @@ -55,6 +101,31 @@ export interface UserNotification { video: VideoInfo } + account?: ActorInfo + + actorFollow?: { + id: number + follower: ActorInfo + state: FollowState + + following: { + type: 'account' | 'channel' | 'instance' + name: string + displayName: string + host: string + } + } + + plugin?: { + name: string + type: PluginType + latestVersion: string + } + + peertube?: { + latestVersion: string + } + createdAt: string updatedAt: string }