From ba75d268596bc7b289bacf1cc4cb53493d6ad444 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Thu, 1 Feb 2018 11:08:10 +0100 Subject: Send an email on video abuse report --- server/lib/emailer.ts | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'server/lib') diff --git a/server/lib/emailer.ts b/server/lib/emailer.ts index 317cec706..bc0061c99 100644 --- a/server/lib/emailer.ts +++ b/server/lib/emailer.ts @@ -1,7 +1,10 @@ import { createTransport, Transporter } from 'nodemailer' +import { UserRight } from '../../shared/models/users' import { isTestInstance } from '../helpers/core-utils' import { logger } from '../helpers/logger' import { CONFIG } from '../initializers' +import { UserModel } from '../models/account/user' +import { VideoModel } from '../models/video/video' import { JobQueue } from './job-queue' import { EmailPayload } from './job-queue/handlers/email' import { readFileSync } from 'fs' @@ -82,6 +85,24 @@ class Emailer { return JobQueue.Instance.createJob({ type: 'email', payload: emailPayload }) } + async addVideoAbuseReport (videoId: number) { + const video = await VideoModel.load(videoId) + + const text = `Hi,\n\n` + + `Your instance received an abuse for video the following video ${video.url}\n\n` + + `Cheers,\n` + + `PeerTube.` + + const to = await UserModel.listEmailsWithRight(UserRight.MANAGE_VIDEO_ABUSES) + const emailPayload: EmailPayload = { + to, + subject: '[PeerTube] Received a video abuse', + text + } + + return JobQueue.Instance.createJob({ type: 'email', payload: emailPayload }) + } + sendMail (to: string[], subject: string, text: string) { if (!this.transporter) { throw new Error('Cannot send mail because SMTP is not configured.') -- cgit v1.2.3