From d450ecbf7cf8e0b97c46e1f1f57cfcd6f7c30dce Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Tue, 2 Mar 2021 18:12:15 +0100 Subject: [PATCH] Locales as enums --- src/controllers/MailController.ts | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/src/controllers/MailController.ts b/src/controllers/MailController.ts index 6c3bc94..a854134 100644 --- a/src/controllers/MailController.ts +++ b/src/controllers/MailController.ts @@ -14,34 +14,34 @@ export class MailController { private initialized: boolean = false; @Post('/reset') - @OpenAPI({ description: "Sends reset mails" }) - async sendReset(@QueryParam("locale") locale: string) { + @OpenAPI({ description: "Sends reset mails", parameters: [{ in: "query", name: "locale", schema: { type: "string", enum: ["de", "en"] } }] }) + async sendReset(@QueryParam("locale") locale: locales) { if (!this.initialized) { await this.mailer.init(); this.initialized = true; } try { - this.mailer.sendResetMail("todo", "lelele", locale) + this.mailer.sendResetMail("todo", "lelele", locale?.toString()) } catch (error) { throw error; } - return new SuccessResponse(); + return new SuccessResponse(locale); } @Post('/test') - @OpenAPI({ description: "Sends test mails" }) - async sendTest(@QueryParam("locale") locale: string) { + @OpenAPI({ description: "Sends test mails", parameters: [{ in: "query", name: "locale", schema: { type: "string", enum: ["de", "en"] } }] }) + async sendTest(@QueryParam("locale") locale: locales) { if (!this.initialized) { await this.mailer.init(); this.initialized = true; } try { - this.mailer.sendTestMail(locale) + this.mailer.sendTestMail(locale?.toString()) } catch (error) { console.log(error) throw error; } - return new SuccessResponse(); + return new SuccessResponse(locale); } } @@ -54,5 +54,17 @@ export class SuccessResponse { success: boolean = true; @IsString() - message: "Sent!" + message: string = "Sent!" + + @IsString() + locale: locales; + + constructor(locale?: locales) { + this.locale = locale || locales.en; + } +} + +export enum locales { + de = "de", + en = "en" } \ No newline at end of file