import { VideoAbuseModel } from '../abuse/video-abuse'
import { AccountModel } from '../account/account'
import { AccountVideoRateModel } from '../account/account-video-rate'
+import { ActorImageModel } from '../account/actor-image'
import { UserModel } from '../account/user'
import { UserVideoHistoryModel } from '../account/user-video-history'
import { ActorModel } from '../activitypub/actor'
-import { AvatarModel } from '../avatar/avatar'
import { VideoRedundancyModel } from '../redundancy/video-redundancy'
import { ServerModel } from '../server/server'
import { TrackerModel } from '../server/tracker'
required: false
},
{
- model: AvatarModel.unscoped(),
+ model: ActorImageModel.unscoped(),
+ as: 'Avatar',
required: false
}
]
required: false
},
{
- model: AvatarModel.unscoped(),
+ model: ActorImageModel.unscoped(),
+ as: 'Avatar',
required: false
}
]
@BeforeDestroy
static async sendDelete (instance: MVideoAccountLight, options) {
- if (instance.isOwned()) {
- if (!instance.VideoChannel) {
- instance.VideoChannel = await instance.$get('VideoChannel', {
- include: [
- ActorModel,
- AccountModel
- ],
- transaction: options.transaction
- }) as MChannelAccountDefault
- }
+ if (!instance.isOwned()) return undefined
- return sendDeleteVideo(instance, options.transaction)
+ // Lazy load channels
+ if (!instance.VideoChannel) {
+ instance.VideoChannel = await instance.$get('VideoChannel', {
+ include: [
+ ActorModel,
+ AccountModel
+ ],
+ transaction: options.transaction
+ }) as MChannelAccountDefault
}
- return undefined
+ return sendDeleteVideo(instance, options.transaction)
}
@BeforeDestroy
logger.info('Saving video abuses details of video %s.', instance.url)
+ if (!instance.Trackers) instance.Trackers = await instance.$get('Trackers', { transaction: options.transaction })
const details = instance.toFormattedDetailsJSON()
for (const abuse of instance.VideoAbuses) {
function buildActor (rowActor: any) {
const avatarModel = rowActor.Avatar.id !== null
- ? new AvatarModel(pick(rowActor.Avatar, avatarKeys), buildOpts)
+ ? new ActorImageModel(pick(rowActor.Avatar, avatarKeys), buildOpts)
: null
const serverModel = rowActor.Server.id !== null