import { logger } from '@server/helpers/logger' ; import { getAbuseTargetUrl } from '@server/lib/activitypub/url' ; import { UserModel } from '@server/models/user/user' ; import { MUserDefault } from '@server/types/models' ; import { AbstractNewAbuseMessage } from './abstract-new-abuse-message' ; export class NewAbuseMessageForReporter extends AbstractNewAbuseMessage { private reporter : MUserDefault ; async prepare ( ) { if ( this . abuse . ReporterAccount . isOwned ( ) !== true ) return ; await this . loadMessageAccount ( ) ; const reporter = await UserModel . loadByAccountActorId ( this . abuse . ReporterAccount . actorId ) ; if ( reporter . Account . id === this . message . accountId ) return ; this . reporter = reporter ; } log ( ) { logger . info ( 'Notifying reporter of new abuse message on %s.' , getAbuseTargetUrl ( this . abuse ) ) ; } getTargetUsers ( ) { if ( ! this . reporter ) return [ ] ; return [ this . reporter ] ; } createEmail ( to ) { return this . createEmailFor ( to , 'reporter' ) ; } }