1
0
Fork 0

Fix channels list count

This commit is contained in:
Chocobozzz 2022-03-21 09:26:48 +01:00
parent 9ca5728be1
commit 43fc899a10
No known key found for this signature in database
GPG Key ID: 583A612D890159BE
2 changed files with 31 additions and 13 deletions

View File

@ -143,28 +143,28 @@ export type SummaryOptions = {
})
}
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
@ -172,7 +172,7 @@ export type SummaryOptions = {
}
if (options.forCount !== true || serverRequired) {
channelInclude.push({
channelActorInclude.push({
model: ServerModel,
duplicating: false,
required: serverRequired,
@ -190,7 +190,7 @@ export type SummaryOptions = {
where: {
[Op.and]: whereActorAnd
},
include: channelInclude
include: channelActorInclude
},
{
model: AccountModel.unscoped(),
@ -202,7 +202,7 @@ export type SummaryOptions = {
},
model: ActorModel.unscoped(),
required: true,
include: accountInclude
include: accountActorInclude
}
]
}
@ -605,17 +605,17 @@ ON "Account->Actor"."serverId" = "Account->Actor->Server"."id"`
}
}
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 }))
}

View File

@ -325,6 +325,24 @@ describe('Test video channels', function () {
}
})
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' })