--- import MinimalLayout from "#layouts/MinimalLayout.astro"; import { validateAccessTokenServer } from "#server/lib/validateAccessToken"; import PINVerifyModule from "#modules/PINVerifyModule.svelte"; import { generatePinCode } from "#lib/pin"; import { logger } from "#lib/logger"; import { transport } from "#lib/mail"; import { prisma } from "#lib/server/prisma"; import { TokenType } from "#lib/auth/types"; import { encodeToken } from "#lib/auth/token"; import { BASE_URI } from "#lib/constants"; const valid = await validateAccessTokenServer(Astro) if (valid) { return Astro.redirect("/dashboard") } const redirect = Astro.url.searchParams.get("r"); const email = Astro.url.searchParams.get("e"); if (!email) { return Astro.redirect("/auth/signup") } const user = await prisma.benutzer.findUnique({ where: { email: email } }) if (!user) { // Der Nutzer existiert nicht, weiter zur Registrierung return Astro.redirect("/auth/signup") } if (user?.verified) { // Der Nutzer ist bereits verifiziert, wir können ihn auch direkt zum Login weiterleiten return Astro.redirect(redirect ?? "/auth/login") } const verificationJwt = encodeToken({ typ: TokenType.Verify, exp: Date.now() + (15 * 60 * 1000), id: user.id }) const pin = generatePinCode(email); // 30 Minuten logger.info(`Generated PIN ${email}: ${pin}`); await transport.sendMail({ from: `"IBCornelsen" `, to: email, subject: `Ihre Registrierung bei IBCornelsen - Bitte bestätigen Sie Ihre E-Mail-Adresse`, bcc: "info@online-energieausweis.org", html: `

Sehr geehrte*r ${user.vorname} ${user.name},

vielen Dank für Ihre Registrierung bei IBCornelsen. Ihr Benutzerkonto wurde erfolgreich erstellt.

Um Ihre Registrierung abzuschließen, klicken Sie bitte auf den folgenden Link, um Ihre E-Mail-Adresse zu bestätigen:

E-Mail-Adresse bestätigen

Alternativ können Sie den folgenden Bestätigungscode verwenden:

${pin}

Dieser Code ist 30 Minuten gültig.

Sollten Sie diese Registrierung nicht vorgenommen haben, können Sie diese E-Mail einfach ignorieren. Ihr Benutzerkonto wird in diesem Fall nicht aktiviert.

Falls Sie Fragen haben oder Unterstützung benötigen, stehen wir Ihnen gerne zur Verfügung. Kontaktieren Sie uns einfach unter support@online-energieausweis.org.

Mit freundlichen Grüßen,
Dipl.-Ing. Jens Cornelsen

IB Cornelsen
Katendeich 5A
21035 Hamburg
www.online-energieausweis.org

fon 040 · 209339850
fax 040 · 209339859

` }); ---