-import { UserNotification as UserNotificationServer, UserNotificationType, VideoInfo, ActorInfo } from '../../../../../shared'
+import { ActorInfo, FollowState, UserNotification as UserNotificationServer, UserNotificationType, VideoInfo } from '../../../../../shared'
import { Actor } from '@app/shared/actor/actor.model'
export class UserNotification implements UserNotificationServer {
actorFollow?: {
id: number
+ state: FollowState
follower: ActorInfo & { avatarUrl?: string }
following: {
type: 'account' | 'channel'
videoUrl?: string
commentUrl?: any[]
videoAbuseUrl?: string
+ videoAutoBlacklistUrl?: string
accountUrl?: string
videoImportIdentifier?: string
videoImportUrl?: string
+ instanceFollowUrl?: string
constructor (hash: UserNotificationServer) {
this.id = hash.id
this.videoUrl = this.buildVideoUrl(this.videoAbuse.video)
break
+ case UserNotificationType.VIDEO_AUTO_BLACKLIST_FOR_MODERATORS:
+ this.videoAutoBlacklistUrl = '/admin/moderation/video-auto-blacklist/list'
+ this.videoUrl = this.buildVideoUrl(this.video)
+ break
+
case UserNotificationType.BLACKLIST_ON_MY_VIDEO:
this.videoUrl = this.buildVideoUrl(this.videoBlacklist.video)
break
case UserNotificationType.MY_VIDEO_IMPORT_SUCCESS:
this.videoImportUrl = this.buildVideoImportUrl()
this.videoImportIdentifier = this.buildVideoImportIdentifier(this.videoImport)
- this.videoUrl = this.buildVideoUrl(this.videoImport.video)
+
+ if (this.videoImport.video) this.videoUrl = this.buildVideoUrl(this.videoImport.video)
break
case UserNotificationType.MY_VIDEO_IMPORT_ERROR:
case UserNotificationType.NEW_FOLLOW:
this.accountUrl = this.buildAccountUrl(this.actorFollow.follower)
break
+
+ case UserNotificationType.NEW_INSTANCE_FOLLOWER:
+ this.instanceFollowUrl = '/admin/follows/followers-list'
+ break
}
} catch (err) {
console.error(err)