Fix comments feed with musted accounts

pull/2737/head
Chocobozzz 2020-05-06 14:12:12 +02:00
parent f375bb3db4
commit 1df8a4d79a
No known key found for this signature in database
GPG Key ID: 583A612D890159BE
2 changed files with 21 additions and 2 deletions

View File

@ -381,13 +381,20 @@ export class VideoCommentModel extends Model<VideoCommentModel> {
return VideoCommentModel.findAndCountAll<MComment>(query)
}
static listForFeed (start: number, count: number, videoId?: number): Bluebird<MCommentOwnerVideoFeed[]> {
static async listForFeed (start: number, count: number, videoId?: number): Promise<MCommentOwnerVideoFeed[]> {
const serverActor = await getServerActor()
const query = {
order: [ [ 'createdAt', 'DESC' ] ] as Order,
offset: start,
limit: count,
where: {
deletedAt: null
deletedAt: null,
accountId: {
[Op.notIn]: Sequelize.literal(
'(' + buildBlockedAccountSQL(serverActor.Account.id) + ')'
)
}
},
include: [
{

View File

@ -20,6 +20,7 @@ import { addVideoCommentThread } from '../../../shared/extra-utils/videos/video-
import { waitJobs } from '../../../shared/extra-utils/server/jobs'
import { User } from '../../../shared/models/users'
import { VideoPrivacy } from '@shared/models'
import { addAccountToServerBlocklist } from '@shared/extra-utils/users/blocklist'
chai.use(require('chai-xml'))
chai.use(require('chai-json-schema'))
@ -216,6 +217,17 @@ describe('Test syndication feeds', () => {
expect(jsonObj.items[1].html_content).to.equal('super comment 1')
}
})
it('Should not list comments from muted accounts or instances', async function () {
await addAccountToServerBlocklist(servers[1].url, servers[1].accessToken, 'root@localhost:' + servers[0].port)
{
const json = await getJSONfeed(servers[1].url, 'video-comments', { version: 2 })
const jsonObj = JSON.parse(json.text)
expect(jsonObj.items.length).to.be.equal(0)
}
})
})
after(async function () {