From bcbe2b4d3b6412b7799fb6476e8281a51746092c Mon Sep 17 00:00:00 2001 From: Hendrik Belitz Date: Thu, 24 Jul 2025 14:45:39 +0200 Subject: [PATCH] Small fixes to email service --- src/lib/server/email/email-service.ts | 6 +----- src/lib/server/email/mailer.ts | 10 +++++----- src/routes/api/admin/init/+server.ts | 10 +++------- 3 files changed, 9 insertions(+), 17 deletions(-) diff --git a/src/lib/server/email/email-service.ts b/src/lib/server/email/email-service.ts index ac16eb5..a5f97ae 100644 --- a/src/lib/server/email/email-service.ts +++ b/src/lib/server/email/email-service.ts @@ -5,11 +5,7 @@ import { type TemplateData, type Language } from "./template-engine"; -import type { - SelectClient, - SelectStaff, - SelectAppointment -} from "$lib/server/db/schema"; +import type { SelectClient, SelectStaff, SelectAppointment } from "$lib/server/db/tenant-schema"; import type { SelectTenant } from "$lib/server/db/central-schema"; /** diff --git a/src/lib/server/email/mailer.ts b/src/lib/server/email/mailer.ts index ca7fedd..d5d1a2d 100644 --- a/src/lib/server/email/mailer.ts +++ b/src/lib/server/email/mailer.ts @@ -1,6 +1,6 @@ import nodemailer from "nodemailer"; import { env } from "$env/dynamic/private"; -import type { SelectClient, SelectStaff } from "$lib/server/db/schema"; +import type { SelectClient, SelectStaff } from "$lib/server/db/tenant-schema"; import type Mail from "nodemailer/lib/mailer"; /** @@ -48,16 +48,16 @@ function createTransporter() { if (!env.SMTP_HOST || !env.SMTP_PORT || !env.SMTP_USER || !env.SMTP_PASS) { throw new Error("SMTP configuration is incomplete. Please check your environment variables."); } - - return nodemailer.createTransport({ + const config = { host: env.SMTP_HOST, port: parseInt(env.SMTP_PORT), - secure: env.SMTP_SECURE === "true", // true for 465, false for other ports + secure: env.SMTP_SECURE === "true", auth: { user: env.SMTP_USER, pass: env.SMTP_PASS } - }); + }; + return nodemailer.createTransport(config); } /** diff --git a/src/routes/api/admin/init/+server.ts b/src/routes/api/admin/init/+server.ts index f00ad97..ac72042 100644 --- a/src/routes/api/admin/init/+server.ts +++ b/src/routes/api/admin/init/+server.ts @@ -47,11 +47,7 @@ registerOpenAPIRoute("/admin/init", "POST", { example: "MySecurePassphrase123" } }, - required: ["name", "email"], - oneOf: [ - { required: ["passkey"] }, - { required: ["passphrase"] } - ] + required: ["name", "email"] } } } @@ -122,11 +118,11 @@ export const POST: RequestHandler = async ({ request }) => { // Validate that either passkey or passphrase is provided (but not both) const hasPasskey = !!body.passkey; const hasPassphrase = !!body.passphrase; - + if (!hasPasskey && !hasPassphrase) { return json({ error: "Either passkey or passphrase must be provided" }, { status: 400 }); } - + if (hasPasskey && hasPassphrase) { return json({ error: "Cannot provide both passkey and passphrase" }, { status: 400 }); }