Email Betreff
This commit is contained in:
@@ -3,6 +3,7 @@ import {
|
||||
Benutzer,
|
||||
GEGNachweisWohnen,
|
||||
} from "#lib/client/prisma.js";
|
||||
import { getPaymentSuccessSubject } from "./helpers.js";
|
||||
|
||||
export async function sendGEGBestellungsMail(
|
||||
nachweis: GEGNachweisWohnen,
|
||||
@@ -11,7 +12,8 @@ export async function sendGEGBestellungsMail(
|
||||
await transport.sendMail({
|
||||
from: `"IBCornelsen" <info@online-energieausweis.org>`,
|
||||
to: user.email,
|
||||
subject: `Bestellbestätigung vom IBCornelsen (ID: ${nachweis.uid})`,
|
||||
// subject: getPaymentSuccessSubject(nachweis, ),
|
||||
// TODO
|
||||
cc: {
|
||||
address: user.email || "",
|
||||
name: user.name || "",
|
||||
|
||||
32
src/lib/server/mail/helpers.ts
Normal file
32
src/lib/server/mail/helpers.ts
Normal file
@@ -0,0 +1,32 @@
|
||||
import { shortenUID } from "#server/lib/hash.js";
|
||||
import { BedarfsausweisWohnen, Enums, Rechnung, VerbrauchsausweisGewerbe, VerbrauchsausweisWohnen } from "../prisma.js";
|
||||
|
||||
export function getPaymentSuccessSubject(ausweis: VerbrauchsausweisWohnen | VerbrauchsausweisGewerbe | BedarfsausweisWohnen, rechnung: Rechnung, ausweisart: Enums.Ausweisart) {
|
||||
const id = shortenUID(ausweis.uid);
|
||||
|
||||
let subject: string = "";
|
||||
if (ausweisart === Enums.Ausweisart.VerbrauchsausweisWohnen) {
|
||||
subject = `Bestellbestätigung vom IB Cornelsen - Verbrauchsausweis Wohnen (ID: ${id})`
|
||||
if (rechnung.ausweistyp === Enums.AusweisTyp.Beratung) {
|
||||
subject = `Bestellbestätigung vom IB Cornelsen - Verbrauchsausweis Wohnen mit Beratung (ID: ${id})`
|
||||
} else if (rechnung.ausweistyp === Enums.AusweisTyp.Offline) {
|
||||
subject = `Bestellbestätigung vom IB Cornelsen - Verbrauchsausweis Wohnen - offline Service (ID: ${id})`
|
||||
}
|
||||
} else if (ausweisart === Enums.Ausweisart.VerbrauchsausweisGewerbe) {
|
||||
subject = `Bestellbestätigung vom IB Cornelsen - Verbrauchsausweis Gewerbe (ID: ${id})`
|
||||
if (rechnung.ausweistyp === Enums.AusweisTyp.Beratung) {
|
||||
subject = `Bestellbestätigung vom IB Cornelsen - Verbrauchsausweis Gewerbe mit Beratung (ID: ${id})`
|
||||
} else if (rechnung.ausweistyp === Enums.AusweisTyp.Offline) {
|
||||
subject = `Bestellbestätigung vom IB Cornelsen - Verbrauchsausweis Gewerbe - offline Service (ID: ${id})`
|
||||
}
|
||||
} else if (ausweisart === Enums.Ausweisart.BedarfsausweisWohnen) {
|
||||
subject = `Bestellbestätigung vom IB Cornelsen - Bedarfsausweis Wohnen (ID: ${id})`
|
||||
if (rechnung.ausweistyp === Enums.AusweisTyp.Beratung) {
|
||||
subject = `Bestellbestätigung vom IB Cornelsen - Bedarfsausweis Wohnen mit Beratung (ID: ${id})`
|
||||
} else if (rechnung.ausweistyp === Enums.AusweisTyp.Offline) {
|
||||
subject = `Bestellbestätigung vom IB Cornelsen - Bedarfsausweis Wohnen - offline Service (ID: ${id})`
|
||||
}
|
||||
}
|
||||
|
||||
return subject;
|
||||
}
|
||||
@@ -11,6 +11,7 @@ import { prisma } from "#lib/server/prisma.js";
|
||||
import { getAnsichtsausweis } from "../ausweis.js";
|
||||
import Mail from "nodemailer/lib/mailer/index.js";
|
||||
import { shortenUID } from "#server/lib/hash.js";
|
||||
import { getPaymentSuccessSubject } from "./helpers.js";
|
||||
|
||||
export async function sendInvoiceMail(
|
||||
ausweis: VerbrauchsausweisWohnen,
|
||||
@@ -33,6 +34,10 @@ export async function sendInvoiceMail(
|
||||
|
||||
const ausweisart = getAusweisartFromUUID(ausweis.uid);
|
||||
|
||||
if (!ausweisart) {
|
||||
return
|
||||
}
|
||||
|
||||
const attachments: Mail.Attachment[] = [];
|
||||
|
||||
const id = shortenUID(ausweis.uid)
|
||||
@@ -65,7 +70,7 @@ export async function sendInvoiceMail(
|
||||
attachments,
|
||||
from: `"IBCornelsen" <info@online-energieausweis.org>`,
|
||||
to: user.email,
|
||||
subject: `Bestellbestätigung vom IBCornelsen (ID: ${id})`,
|
||||
subject: getPaymentSuccessSubject(ausweis, rechnung, ausweisart),
|
||||
cc: {
|
||||
address: rechnung.email || "",
|
||||
name: rechnung.empfaenger || "",
|
||||
|
||||
@@ -10,6 +10,7 @@ import { prisma } from "#lib/server/prisma.js";
|
||||
import { getAnsichtsausweis } from "../ausweis.js";
|
||||
import Mail from "nodemailer/lib/mailer/index.js";
|
||||
import { shortenUID } from "#server/lib/hash.js";
|
||||
import { getPaymentSuccessSubject } from "./helpers.js";
|
||||
|
||||
export async function sendPaymentSuccessMail(
|
||||
ausweis: VerbrauchsausweisWohnen,
|
||||
@@ -32,6 +33,11 @@ export async function sendPaymentSuccessMail(
|
||||
|
||||
let info: string = "";
|
||||
const ausweisart = getAusweisartFromUUID(ausweis.uid);
|
||||
|
||||
if (!ausweisart) {
|
||||
return;
|
||||
}
|
||||
|
||||
const attachments: Mail.Attachment[] = [];
|
||||
|
||||
const id = shortenUID(ausweis.uid)
|
||||
@@ -63,12 +69,12 @@ export async function sendPaymentSuccessMail(
|
||||
info =
|
||||
"Die Erstellung des Bedarfsausweises dauert momentan leider etwas länger. Bitte kontaktieren Sie uns in dringenden Fällen telefonisch (9 - 12 Uhr).";
|
||||
}
|
||||
|
||||
|
||||
await transport.sendMail({
|
||||
attachments,
|
||||
from: `"IBCornelsen" <info@online-energieausweis.org>`,
|
||||
to: user.email,
|
||||
subject: `Bestellbestätigung vom IBCornelsen (ID: ${id})`,
|
||||
subject: getPaymentSuccessSubject(ausweis, rechnung, ausweisart),
|
||||
cc: {
|
||||
address: rechnung.email || "",
|
||||
name: rechnung.empfaenger || "",
|
||||
|
||||
@@ -2,7 +2,7 @@ import { AufnahmeClient, ObjektClient, UploadedGebaeudeBild, UUidWithPrefix, Ver
|
||||
import { filterAusweise } from "#lib/filters.js";
|
||||
import { omit } from "#lib/helpers.js";
|
||||
import { authorizationHeaders, authorizationMiddleware } from "#lib/middleware/authorization.js";
|
||||
import { Enums, prisma, VerbrauchsausweisWohnenSchema } from "#lib/server/prisma";
|
||||
import { Enums, prisma } from "#lib/server/prisma.js";
|
||||
import { defineApiRoute } from "astro-typesafe-api/server";
|
||||
import { z } from "zod";
|
||||
|
||||
@@ -15,12 +15,16 @@ export const GET = defineApiRoute({
|
||||
skip: z.number().optional()
|
||||
}),
|
||||
async fetch(input, context, user) {
|
||||
if (user.rolle !== Enums.BenutzerRolle.ADMIN) {
|
||||
input.filters = input.filters || {}
|
||||
input.filters["benutzer"] = {
|
||||
uid: user.uid
|
||||
}
|
||||
}
|
||||
|
||||
const ausweise = await prisma.verbrauchsausweisWohnen.findMany({
|
||||
where: {
|
||||
...input.filters,
|
||||
benutzer: {
|
||||
uid: user.uid
|
||||
},
|
||||
...input.filters
|
||||
},
|
||||
include: {
|
||||
aufnahme: {
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
---
|
||||
return Astro.redirect("/dashboard/admin/ausweise-pruefen/1")
|
||||
return Astro.redirect("/dashboard/admin/ausweise-pruefen/1");
|
||||
---
|
||||
Reference in New Issue
Block a user