diff --git a/src/controllers/MailController.ts b/src/controllers/MailController.ts new file mode 100644 index 0000000..fb39637 --- /dev/null +++ b/src/controllers/MailController.ts @@ -0,0 +1,29 @@ +import { Authorized, JsonController, Post, QueryParam } from 'routing-controllers'; +import { OpenAPI } from 'routing-controllers-openapi'; +import { Mailer } from '../Mailer'; + +/** + * The mail controller handels all endpoints concerning Mail sending. + */ +@JsonController() +@Authorized() +@OpenAPI({ security: [{ "AuthToken": [] }] }) +export class MailController { + private mailer: Mailer = new Mailer(); + private initialized: boolean = false; + + @Post('/reset') + @OpenAPI({ description: "Sends reset mails" }) + async sendReset(@QueryParam("locale") locale: string) { + if (!this.initialized) { + await this.mailer.init(); + this.initialized = true; + } + try { + this.mailer.sendResetMail("todo", "lelele", locale) + } catch (error) { + throw error; + } + return; + } +}