})
}
- const channelInclude: Includeable[] = []
- const accountInclude: Includeable[] = []
+ const channelActorInclude: Includeable[] = []
+ const accountActorInclude: Includeable[] = []
if (options.forCount !== true) {
- accountInclude.push({
+ accountActorInclude.push({
model: ServerModel,
required: false
})
- accountInclude.push({
+ accountActorInclude.push({
model: ActorImageModel,
as: 'Avatars',
required: false
})
- channelInclude.push({
+ channelActorInclude.push({
model: ActorImageModel,
as: 'Avatars',
required: false
})
- channelInclude.push({
+ channelActorInclude.push({
model: ActorImageModel,
as: 'Banners',
required: false
}
if (options.forCount !== true || serverRequired) {
- channelInclude.push({
+ channelActorInclude.push({
model: ServerModel,
duplicating: false,
required: serverRequired,
where: {
[Op.and]: whereActorAnd
},
- include: channelInclude
+ include: channelActorInclude
},
{
model: AccountModel.unscoped(),
},
model: ActorModel.unscoped(),
required: true,
- include: accountInclude
+ include: accountActorInclude
}
]
}
}
}
- const scopes: string | ScopeOptions | (string | ScopeOptions)[] = [ ScopeNames.WITH_ACTOR_BANNER ]
+ const findScopes: string | ScopeOptions | (string | ScopeOptions)[] = [ ScopeNames.WITH_ACTOR_BANNER ]
if (options.withStats === true) {
- scopes.push({
+ findScopes.push({
method: [ ScopeNames.WITH_STATS, { daysPrior: 30 } as AvailableWithStatsOptions ]
})
}
return Promise.all([
- VideoChannelModel.scope(scopes).count(getQuery(true)),
- VideoChannelModel.scope(scopes).findAll(getQuery(false))
+ VideoChannelModel.unscoped().count(getQuery(true)),
+ VideoChannelModel.scope(findScopes).findAll(getQuery(false))
]).then(([ total, data ]) => ({ total, data }))
}
}
})
+ it('Should still correctly list channels', async function () {
+ {
+ const body = await servers[0].channels.list({ start: 1, count: 1, sort: 'createdAt' })
+
+ expect(body.total).to.equal(3)
+ expect(body.data).to.have.lengthOf(1)
+ expect(body.data[0].name).to.equal('second_video_channel')
+ }
+
+ {
+ const body = await servers[0].channels.listByAccount({ accountName, start: 1, count: 1, sort: 'createdAt' })
+
+ expect(body.total).to.equal(2)
+ expect(body.data).to.have.lengthOf(1)
+ expect(body.data[0].name).to.equal('second_video_channel')
+ }
+ })
+
it('Should delete the video channel avatar', async function () {
this.timeout(15000)
await servers[0].channels.deleteImage({ channelName: 'second_video_channel', type: 'avatar' })