import { getSort, throwIfNotValid } from '../utils'
import { VideoModel } from './video'
import { CONSTRAINTS_FIELDS } from '../../initializers'
+import { AvatarModel } from '../avatar/avatar'
enum ScopeNames {
WITH_ACCOUNT = 'WITH_ACCOUNT',
[ScopeNames.WITH_ACCOUNT]: {
include: [
{
- model: () => AccountModel,
+ model: () => AccountModel.unscoped(),
required: true,
include: [
{
- model: () => ActorModel,
- required: true
+ model: () => ActorModel.unscoped(),
+ required: true,
+ include: [
+ {
+ model: () => AvatarModel.unscoped(),
+ required: false
+ }
+ ]
}
]
}
indexes: [
{
fields: [ 'accountId' ]
+ },
+ {
+ fields: [ 'actorId' ]
}
]
})
}
if (instance.Actor.isOwned()) {
- logger.debug('Sending delete of actor of video channel %s.', instance.Actor.url)
-
return sendDeleteActor(instance.Actor, options.transaction)
}
const actor = this.Actor.toFormattedJSON()
const videoChannel = {
id: this.id,
- displayName: this.name,
+ displayName: this.getDisplayName(),
description: this.description,
support: this.support,
isLocal: this.Actor.isOwned(),
videos: undefined
}
- if (this.Account) {
- videoChannel.ownerAccount = {
- id: this.Account.id,
- uuid: this.Account.Actor.uuid
- }
- }
+ if (this.Account) videoChannel.ownerAccount = this.Account.toFormattedJSON()
return Object.assign(actor, videoChannel)
}
]
})
}
+
+ getDisplayName () {
+ return this.name
+ }
}