-import { AbuseMessageModel } from '@server/models/abuse/abuse-message'
+import { AccountModel } from '@server/models/account/account'
import { getServerActor } from '@server/models/application/application'
import { ServerBlocklistModel } from '@server/models/server/server-blocklist'
import {
import { isBlockedByServerOrAccount } from './blocklist'
import { Emailer } from './emailer'
import { PeerTubeSocket } from './peertube-socket'
-import { AccountModel } from '@server/models/account/account'
class Notifier {
async function buildReporterOptions () {
// Only notify our users
- if (abuse.ReporterAccount.isOwned() !== true) return
+ if (abuse.ReporterAccount.isOwned() !== true) return undefined
const reporter = await UserModel.loadByAccountActorId(abuse.ReporterAccount.actorId)
// Don't notify my own message
- if (reporter.Account.id === message.accountId) return
+ if (reporter.Account.id === message.accountId) return undefined
return { users: [ reporter ], settingGetter, notificationCreator, emailSender: emailSenderReporter }
}
// Don't notify my own message
moderators = moderators.filter(m => m.Account.id !== message.accountId)
- if (moderators.length === 0) return
+ if (moderators.length === 0) return undefined
return { users: moderators, settingGetter, notificationCreator, emailSender: emailSenderModerators }
}
- const [ reporterOptions, moderatorsOptions ] = await Promise.all([
+ const options = await Promise.all([
buildReporterOptions(),
buildModeratorsOptions()
])
- return Promise.all([
- this.notify(reporterOptions),
- this.notify(moderatorsOptions)
- ])
+ return Promise.all(
+ options
+ .filter(opt => !!opt)
+ .map(opt => this.notify(opt))
+ )
}
private async notifyModeratorsOfVideoAutoBlacklist (videoBlacklist: MVideoBlacklistLightVideo) {