mirror of
https://github.com/Chocobozzz/PeerTube.git
synced 2025-02-25 18:55:32 -06:00
Block comments from muted accounts/servers
Add better control for users of comments displayed on their videos: * Do not forward comments from muted remote accounts/servers (muted by the current server or by the video owner) * Do not list threads and hide replies (with their children) of accounts/servers muted by the video owner * Hide from RSS comments of muted accounts/servers by video owners Use case: * Try to limit spam propagation in the federation * Add ability for users to automatically hide comments on their videos from undesirable accounts/servers (the comment section belongs to videomakers, so they choose what's posted there)
This commit is contained in:
@@ -32,9 +32,10 @@ import { FindOptions, IncludeOptions, Op, Transaction, WhereOptions } from 'sequ
|
||||
import { AccountBlocklistModel } from './account-blocklist'
|
||||
import { ServerBlocklistModel } from '../server/server-blocklist'
|
||||
import { ActorFollowModel } from '../activitypub/actor-follow'
|
||||
import { MAccountActor, MAccountAP, MAccountDefault, MAccountFormattable, MAccountSummaryFormattable } from '../../typings/models'
|
||||
import { MAccountActor, MAccountAP, MAccountDefault, MAccountFormattable, MAccountSummaryFormattable, MAccount } from '../../typings/models'
|
||||
import * as Bluebird from 'bluebird'
|
||||
import { ModelCache } from '@server/models/model-cache'
|
||||
import { VideoModel } from '../video/video'
|
||||
|
||||
export enum ScopeNames {
|
||||
SUMMARY = 'SUMMARY'
|
||||
@@ -343,6 +344,29 @@ export class AccountModel extends Model<AccountModel> {
|
||||
})
|
||||
}
|
||||
|
||||
static loadAccountIdFromVideo (videoId: number): Bluebird<MAccount> {
|
||||
const query = {
|
||||
include: [
|
||||
{
|
||||
attributes: [ 'id', 'accountId' ],
|
||||
model: VideoChannelModel.unscoped(),
|
||||
required: true,
|
||||
include: [
|
||||
{
|
||||
attributes: [ 'id', 'channelId' ],
|
||||
model: VideoModel.unscoped(),
|
||||
where: {
|
||||
id: videoId
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
return AccountModel.findOne(query)
|
||||
}
|
||||
|
||||
static listLocalsForSitemap (sort: string): Bluebird<MAccountActor[]> {
|
||||
const query = {
|
||||
attributes: [ ],
|
||||
|
||||
Reference in New Issue
Block a user