video: VideoInfo
}
- videoAbuse?: {
+ abuse?: {
id: number
- video: VideoInfo
+
+ video?: VideoInfo
+
+ comment?: {
+ threadId: number
+
+ video: {
+ id: number
+ uuid: string
+ name: string
+ }
+ }
+
+ account?: ActorInfo
}
videoBlacklist?: {
// Additional fields
videoUrl?: string
commentUrl?: any[]
- videoAbuseUrl?: string
+ abuseUrl?: string
videoAutoBlacklistUrl?: string
accountUrl?: string
videoImportIdentifier?: string
this.comment = hash.comment
if (this.comment) this.setAvatarUrl(this.comment.account)
- this.videoAbuse = hash.videoAbuse
+ this.abuse = hash.abuse
this.videoBlacklist = hash.videoBlacklist
case UserNotificationType.COMMENT_MENTION:
if (!this.comment) break
this.accountUrl = this.buildAccountUrl(this.comment.account)
- this.commentUrl = [ this.buildVideoUrl(this.comment.video), { threadId: this.comment.threadId } ]
+ this.commentUrl = this.buildCommentUrl(this.comment)
break
- case UserNotificationType.NEW_VIDEO_ABUSE_FOR_MODERATORS:
- this.videoAbuseUrl = '/admin/moderation/video-abuses/list'
- this.videoUrl = this.buildVideoUrl(this.videoAbuse.video)
+ case UserNotificationType.NEW_ABUSE_FOR_MODERATORS:
+ this.abuseUrl = '/admin/moderation/abuses/list'
+
+ if (this.abuse.video) this.videoUrl = this.buildVideoUrl(this.abuse.video)
+ else if (this.abuse.comment) this.commentUrl = this.buildCommentUrl(this.abuse.comment)
+ else if (this.abuse.account) this.accountUrl = this.buildAccountUrl(this.abuse.account)
break
case UserNotificationType.VIDEO_AUTO_BLACKLIST_FOR_MODERATORS:
return videoImport.targetUrl || videoImport.magnetUri || videoImport.torrentName
}
- private setAvatarUrl (actor: { avatarUrl?: string, avatar?: Avatar }) {
+ private buildCommentUrl (comment: { video: { uuid: string }, threadId: number }) {
+ return [ this.buildVideoUrl(comment.video), { threadId: comment.threadId } ]
+ }
+
+ private setAvatarUrl (actor: { avatarUrl?: string, avatar?: { url?: string, path: string } }) {
actor.avatarUrl = Actor.GET_ACTOR_AVATAR_URL(actor)
}
}