From 54ed313342a72b029b9545bc5ea193e3f0c2166d Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Wed, 27 Jan 2021 11:59:32 +0100 Subject: [PATCH] Implemented the test-mail endpoint via a new mailcontroller ref #124 --- src/controllers/MailController.ts | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 src/controllers/MailController.ts diff --git a/src/controllers/MailController.ts b/src/controllers/MailController.ts new file mode 100644 index 0000000..94ff599 --- /dev/null +++ b/src/controllers/MailController.ts @@ -0,0 +1,26 @@ +import { Authorized, JsonController, Post } from 'routing-controllers'; +import { OpenAPI, ResponseSchema } from 'routing-controllers-openapi'; +import { config } from '../config'; +import { Mailer } from '../mailer'; +import { ResponseEmpty } from '../models/responses/ResponseEmpty'; + + +@JsonController('/mails') +@OpenAPI({ security: [{ "AuthToken": [] }, { "RefreshTokenCookie": [] }] }) +export class MailController { + + private mailer: Mailer; + + constructor() { + this.mailer = new Mailer(); + } + + @Post('/test') + @Authorized(["MAIL:CREATE"]) + @ResponseSchema(ResponseEmpty, { statusCode: 200 }) + @OpenAPI({ description: 'Sends a test email to the configured from-address.' }) + async get() { + await this.mailer.sendTestMail(config.mail_from); + return new ResponseEmpty(); + } +} \ No newline at end of file