X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=shared%2Fmodels%2Fusers%2Fuser-notification.model.ts;h=a2621fb5bc7c050712baba91688e072f23b11320;hb=d0800f7661f13fabe7bb6f4aa0ea50764f106405;hp=fafc2b7d74e12cca8ae6618627166d51f877bc3b;hpb=883993c81ecc2388d4a4b37b29b81b6de73d264f;p=github%2FChocobozzz%2FPeerTube.git diff --git a/shared/models/users/user-notification.model.ts b/shared/models/users/user-notification.model.ts index fafc2b7d7..a2621fb5b 100644 --- a/shared/models/users/user-notification.model.ts +++ b/shared/models/users/user-notification.model.ts @@ -1,9 +1,11 @@ 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_VIDEO_ABUSE_FOR_MODERATORS = 3, + NEW_ABUSE_FOR_MODERATORS = 3, BLACKLIST_ON_MY_VIDEO = 4, UNBLACKLIST_ON_MY_VIDEO = 5, @@ -19,23 +21,38 @@ export enum UserNotificationType { VIDEO_AUTO_BLACKLIST_FOR_MODERATORS = 12, - NEW_INSTANCE_FOLLOWER = 13 + 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 { 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 { @@ -62,9 +79,19 @@ export interface UserNotification { video: VideoInfo } - videoAbuse?: { + abuse?: { id: number - video: VideoInfo + state: AbuseState + + video?: VideoInfo + + comment?: { + threadId: number + + video: VideoInfo + } + + account?: ActorInfo } videoBlacklist?: { @@ -78,13 +105,25 @@ export interface UserNotification { 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 }