-import { VideoChannel as ServerVideoChannel, ViewsPerDate, Account } from '@shared/models'
+import { VideoChannel as ServerVideoChannel, ViewsPerDate, Account, Avatar } from '@shared/models'
import { Actor } from '../account/actor.model'
export class VideoChannel extends Actor implements ServerVideoChannel {
viewsPerDay?: ViewsPerDate[]
+ static GET_ACTOR_AVATAR_URL (actor: object) {
+ return Actor.GET_ACTOR_AVATAR_URL(actor) || this.GET_DEFAULT_AVATAR_URL()
+ }
+
+ static GET_DEFAULT_AVATAR_URL () {
+ return `${window.location.origin}/client/assets/images/default-avatar-videochannel.png`
+ }
+
constructor (hash: ServerVideoChannel) {
super(hash)
+ this.updateComputedAttributes()
+
this.displayName = hash.displayName
this.description = hash.description
this.support = hash.support
this.ownerAvatarUrl = Actor.GET_ACTOR_AVATAR_URL(this.ownerAccount)
}
}
+
+ updateAvatar (newAvatar: Avatar) {
+ this.avatar = newAvatar
+
+ this.updateComputedAttributes()
+ }
+
+ private updateComputedAttributes () {
+ this.avatarUrl = VideoChannel.GET_ACTOR_AVATAR_URL(this)
+ }
}