From 79d28b2a14cfab50b9a5a42e7d85ce7dedc7c180 Mon Sep 17 00:00:00 2001 From: INOUE Daisuke Date: Sun, 23 Mar 2025 14:06:00 +0900 Subject: MagicLink translation --- src/routes/magicLink.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'src/routes/magicLink.ts') diff --git a/src/routes/magicLink.ts b/src/routes/magicLink.ts index b4afca6..5eb424b 100644 --- a/src/routes/magicLink.ts +++ b/src/routes/magicLink.ts @@ -4,6 +4,7 @@ import { sendEmailFromTemplate } from "../lib/email.js"; import { generateMagicLinkToken } from "../util/generator.js"; import MagicLink from "../models/MagicLink.js"; import { getConfigMiddleware } from "../lib/middleware.js"; +import i18next from "i18next"; const router = Router(); @@ -16,7 +17,7 @@ router.post("/magic-link/event/create", async (req: Request, res: Response) => { ...frontendConfig(res), message: { type: "danger", - text: "Please provide an email address.", + text: i18next.t("ml.provideemail"), }, }); return; @@ -31,7 +32,7 @@ router.post("/magic-link/event/create", async (req: Request, res: Response) => { ...frontendConfig(res), message: { type: "success", - text: "Thanks! If this email address can create events, you should receive an email with a magic link.", + text: i18next.t("ml.thanks"), }, }); return; @@ -51,7 +52,7 @@ router.post("/magic-link/event/create", async (req: Request, res: Response) => { sendEmailFromTemplate( email, "", - `Magic link to create an event`, + i18next.t("ml.mailsubject"), "createEventMagicLink", { token, @@ -65,7 +66,7 @@ router.post("/magic-link/event/create", async (req: Request, res: Response) => { ...frontendConfig(res), message: { type: "success", - text: "Thanks! If this email address can create events, you should receive an email with a magic link.", + text: i18next.t("ml.thanks"), }, }); }); -- cgit v1.2.3 From 1fd6a7d2249fdf6ba5ca9ced6ea43348ebe0941d Mon Sep 17 00:00:00 2001 From: INOUE Daisuke Date: Wed, 2 Apr 2025 01:49:11 +0900 Subject: rename translation keys as filestructure --- src/routes/magicLink.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/routes/magicLink.ts') diff --git a/src/routes/magicLink.ts b/src/routes/magicLink.ts index 5eb424b..14312c1 100644 --- a/src/routes/magicLink.ts +++ b/src/routes/magicLink.ts @@ -17,7 +17,7 @@ router.post("/magic-link/event/create", async (req: Request, res: Response) => { ...frontendConfig(res), message: { type: "danger", - text: i18next.t("ml.provideemail"), + text: i18next.t("routes.magiclink.provideemail"), }, }); return; @@ -32,7 +32,7 @@ router.post("/magic-link/event/create", async (req: Request, res: Response) => { ...frontendConfig(res), message: { type: "success", - text: i18next.t("ml.thanks"), + text: i18next.t("routes.magiclink.thanks"), }, }); return; @@ -52,7 +52,7 @@ router.post("/magic-link/event/create", async (req: Request, res: Response) => { sendEmailFromTemplate( email, "", - i18next.t("ml.mailsubject"), + i18next.t("routes.magiclink.mailsubject"), "createEventMagicLink", { token, @@ -66,7 +66,7 @@ router.post("/magic-link/event/create", async (req: Request, res: Response) => { ...frontendConfig(res), message: { type: "success", - text: i18next.t("ml.thanks"), + text: i18next.t("routes.magiclink.thanks"), }, }); }); -- cgit v1.2.3 From a8a17443c2d070d2d23920ffff7e4a43c905698c Mon Sep 17 00:00:00 2001 From: Gavin Mogan Date: Wed, 23 Apr 2025 17:27:55 -0700 Subject: Refactor for everywhere to use sendEmailFromTemplate everywhere * Created a singleton to house handlebars so req doesn't need to be passed everywhere (should make unit testing easier later) * Subjectline for sendgrid and nodemailer are both always prefixed in sendEmail() * removed prefix subjectline from all other email places * added a couple if (!event) { return 404 } to help make typescript happy * some minor eslint auto fixes (looks like let => const where it can) --- src/routes/magicLink.ts | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) (limited to 'src/routes/magicLink.ts') diff --git a/src/routes/magicLink.ts b/src/routes/magicLink.ts index b4afca6..8d0f147 100644 --- a/src/routes/magicLink.ts +++ b/src/routes/magicLink.ts @@ -54,12 +54,8 @@ router.post("/magic-link/event/create", async (req: Request, res: Response) => { `Magic link to create an event`, "createEventMagicLink", { - token, - siteName: res.locals.config?.general.site_name, - siteLogo: res.locals.config?.general.email_logo_url, - domain: res.locals.config?.general.domain, + token }, - req, ); res.render("createEventMagicLink", { ...frontendConfig(res), -- cgit v1.2.3 From 14041a319cace03cfc23c0a919ed81fb141f88ce Mon Sep 17 00:00:00 2001 From: Gavin Mogan Date: Fri, 25 Apr 2025 21:43:39 -0700 Subject: Refactor to have email service MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Move hbsInstance back to app * Add email and hbs to req so typescript 🎉🎉🎉 * Init Email and config once --- src/routes/magicLink.ts | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) (limited to 'src/routes/magicLink.ts') diff --git a/src/routes/magicLink.ts b/src/routes/magicLink.ts index 8d0f147..e0a6310 100644 --- a/src/routes/magicLink.ts +++ b/src/routes/magicLink.ts @@ -1,6 +1,5 @@ import { Router, Request, Response } from "express"; import { frontendConfig } from "../lib/config.js"; -import { sendEmailFromTemplate } from "../lib/email.js"; import { generateMagicLinkToken } from "../util/generator.js"; import MagicLink from "../models/MagicLink.js"; import { getConfigMiddleware } from "../lib/middleware.js"; @@ -48,15 +47,14 @@ router.post("/magic-link/event/create", async (req: Request, res: Response) => { // Take this opportunity to delete any expired magic links await MagicLink.deleteMany({ expiryTime: { $lt: new Date() } }); - sendEmailFromTemplate( - email, - "", - `Magic link to create an event`, - "createEventMagicLink", - { + req.emailService.sendEmailFromTemplate({ + to: email, + subject: "Magic link to create an event", + templateName: "createEventMagicLink", + templateData: { token }, - ); + }); res.render("createEventMagicLink", { ...frontendConfig(res), message: { -- cgit v1.2.3