2019-04-08 10:26:01 -05:00
|
|
|
import { FollowState } from '../actors'
|
2020-07-27 09:26:25 -05:00
|
|
|
import { AbuseState } from '../moderation'
|
2021-03-11 09:54:52 -06:00
|
|
|
import { PluginType } from '../plugins'
|
2019-04-08 10:26:01 -05:00
|
|
|
|
2021-03-11 03:55:09 -06:00
|
|
|
export const enum UserNotificationType {
|
2018-12-26 03:36:24 -06:00
|
|
|
NEW_VIDEO_FROM_SUBSCRIPTION = 1,
|
|
|
|
NEW_COMMENT_ON_MY_VIDEO = 2,
|
2020-07-08 08:51:46 -05:00
|
|
|
NEW_ABUSE_FOR_MODERATORS = 3,
|
2019-01-08 04:26:41 -06:00
|
|
|
|
2018-12-26 03:36:24 -06:00
|
|
|
BLACKLIST_ON_MY_VIDEO = 4,
|
2019-01-02 09:37:43 -06:00
|
|
|
UNBLACKLIST_ON_MY_VIDEO = 5,
|
2019-01-08 04:26:41 -06:00
|
|
|
|
2019-01-02 09:37:43 -06:00
|
|
|
MY_VIDEO_PUBLISHED = 6,
|
2019-01-08 04:26:41 -06:00
|
|
|
|
2019-01-02 09:37:43 -06:00
|
|
|
MY_VIDEO_IMPORT_SUCCESS = 7,
|
2019-01-04 01:56:20 -06:00
|
|
|
MY_VIDEO_IMPORT_ERROR = 8,
|
2019-01-08 04:26:41 -06:00
|
|
|
|
2019-01-04 01:56:20 -06:00
|
|
|
NEW_USER_REGISTRATION = 9,
|
|
|
|
NEW_FOLLOW = 10,
|
2019-04-02 04:26:47 -05:00
|
|
|
COMMENT_MENTION = 11,
|
|
|
|
|
2019-04-08 10:26:01 -05:00
|
|
|
VIDEO_AUTO_BLACKLIST_FOR_MODERATORS = 12,
|
|
|
|
|
2019-08-30 09:50:12 -05:00
|
|
|
NEW_INSTANCE_FOLLOWER = 13,
|
|
|
|
|
2020-07-27 09:26:25 -05:00
|
|
|
AUTO_INSTANCE_FOLLOWING = 14,
|
|
|
|
|
|
|
|
ABUSE_STATE_CHANGE = 15,
|
|
|
|
|
2021-03-11 09:54:52 -06:00
|
|
|
ABUSE_NEW_MESSAGE = 16,
|
|
|
|
|
|
|
|
NEW_PLUGIN_VERSION = 17,
|
|
|
|
NEW_PEERTUBE_VERSION = 18
|
2018-12-26 03:36:24 -06:00
|
|
|
}
|
|
|
|
|
2019-01-02 09:37:43 -06:00
|
|
|
export interface VideoInfo {
|
2018-12-26 03:36:24 -06:00
|
|
|
id: number
|
|
|
|
uuid: string
|
|
|
|
name: string
|
|
|
|
}
|
|
|
|
|
2019-01-16 09:05:40 -06:00
|
|
|
export interface ActorInfo {
|
|
|
|
id: number
|
|
|
|
displayName: string
|
|
|
|
name: string
|
2019-01-21 06:52:46 -06:00
|
|
|
host: string
|
2019-01-16 09:05:40 -06:00
|
|
|
avatar?: {
|
|
|
|
path: string
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2018-12-26 03:36:24 -06:00
|
|
|
export interface UserNotification {
|
|
|
|
id: number
|
|
|
|
type: UserNotificationType
|
|
|
|
read: boolean
|
|
|
|
|
|
|
|
video?: VideoInfo & {
|
2019-01-16 09:05:40 -06:00
|
|
|
channel: ActorInfo
|
2018-12-26 03:36:24 -06:00
|
|
|
}
|
|
|
|
|
2019-01-02 09:37:43 -06:00
|
|
|
videoImport?: {
|
|
|
|
id: number
|
|
|
|
video?: VideoInfo
|
|
|
|
torrentName?: string
|
|
|
|
magnetUri?: string
|
|
|
|
targetUrl?: string
|
|
|
|
}
|
|
|
|
|
2018-12-26 03:36:24 -06:00
|
|
|
comment?: {
|
|
|
|
id: number
|
2019-01-02 09:37:43 -06:00
|
|
|
threadId: number
|
2019-01-16 09:05:40 -06:00
|
|
|
account: ActorInfo
|
2019-01-02 09:37:43 -06:00
|
|
|
video: VideoInfo
|
2018-12-26 03:36:24 -06:00
|
|
|
}
|
|
|
|
|
2020-07-01 09:05:30 -05:00
|
|
|
abuse?: {
|
2018-12-26 03:36:24 -06:00
|
|
|
id: number
|
2020-07-27 09:26:25 -05:00
|
|
|
state: AbuseState
|
2020-07-01 09:05:30 -05:00
|
|
|
|
|
|
|
video?: VideoInfo
|
|
|
|
|
|
|
|
comment?: {
|
|
|
|
threadId: number
|
|
|
|
|
|
|
|
video: {
|
2020-07-09 08:54:24 -05:00
|
|
|
id: number
|
2020-07-01 09:05:30 -05:00
|
|
|
uuid: string
|
2020-07-09 08:54:24 -05:00
|
|
|
name: string
|
2020-07-01 09:05:30 -05:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
account?: ActorInfo
|
2018-12-26 03:36:24 -06:00
|
|
|
}
|
|
|
|
|
|
|
|
videoBlacklist?: {
|
|
|
|
id: number
|
|
|
|
video: VideoInfo
|
|
|
|
}
|
|
|
|
|
2019-01-16 09:05:40 -06:00
|
|
|
account?: ActorInfo
|
2019-01-04 01:56:20 -06:00
|
|
|
|
|
|
|
actorFollow?: {
|
|
|
|
id: number
|
2019-01-16 09:05:40 -06:00
|
|
|
follower: ActorInfo
|
2019-04-08 10:26:01 -05:00
|
|
|
state: FollowState
|
2019-08-30 09:50:12 -05:00
|
|
|
|
2019-01-04 01:56:20 -06:00
|
|
|
following: {
|
2019-08-30 09:50:12 -05:00
|
|
|
type: 'account' | 'channel' | 'instance'
|
2019-01-04 01:56:20 -06:00
|
|
|
name: string
|
|
|
|
displayName: string
|
2019-08-30 09:50:12 -05:00
|
|
|
host: string
|
2019-01-04 01:56:20 -06:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-03-11 09:54:52 -06:00
|
|
|
plugin?: {
|
|
|
|
name: string
|
|
|
|
type: PluginType
|
|
|
|
latestVersion: string
|
|
|
|
}
|
|
|
|
|
|
|
|
peertube?: {
|
|
|
|
latestVersion: string
|
|
|
|
}
|
|
|
|
|
2018-12-26 03:36:24 -06:00
|
|
|
createdAt: string
|
|
|
|
updatedAt: string
|
|
|
|
}
|