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