Email Betreff
This commit is contained in:
@@ -3,6 +3,7 @@ import {
|
|||||||
Benutzer,
|
Benutzer,
|
||||||
GEGNachweisWohnen,
|
GEGNachweisWohnen,
|
||||||
} from "#lib/client/prisma.js";
|
} from "#lib/client/prisma.js";
|
||||||
|
import { getPaymentSuccessSubject } from "./helpers.js";
|
||||||
|
|
||||||
export async function sendGEGBestellungsMail(
|
export async function sendGEGBestellungsMail(
|
||||||
nachweis: GEGNachweisWohnen,
|
nachweis: GEGNachweisWohnen,
|
||||||
@@ -11,7 +12,8 @@ export async function sendGEGBestellungsMail(
|
|||||||
await transport.sendMail({
|
await transport.sendMail({
|
||||||
from: `"IBCornelsen" <info@online-energieausweis.org>`,
|
from: `"IBCornelsen" <info@online-energieausweis.org>`,
|
||||||
to: user.email,
|
to: user.email,
|
||||||
subject: `Bestellbestätigung vom IBCornelsen (ID: ${nachweis.uid})`,
|
// subject: getPaymentSuccessSubject(nachweis, ),
|
||||||
|
// TODO
|
||||||
cc: {
|
cc: {
|
||||||
address: user.email || "",
|
address: user.email || "",
|
||||||
name: user.name || "",
|
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 { getAnsichtsausweis } from "../ausweis.js";
|
||||||
import Mail from "nodemailer/lib/mailer/index.js";
|
import Mail from "nodemailer/lib/mailer/index.js";
|
||||||
import { shortenUID } from "#server/lib/hash.js";
|
import { shortenUID } from "#server/lib/hash.js";
|
||||||
|
import { getPaymentSuccessSubject } from "./helpers.js";
|
||||||
|
|
||||||
export async function sendInvoiceMail(
|
export async function sendInvoiceMail(
|
||||||
ausweis: VerbrauchsausweisWohnen,
|
ausweis: VerbrauchsausweisWohnen,
|
||||||
@@ -33,6 +34,10 @@ export async function sendInvoiceMail(
|
|||||||
|
|
||||||
const ausweisart = getAusweisartFromUUID(ausweis.uid);
|
const ausweisart = getAusweisartFromUUID(ausweis.uid);
|
||||||
|
|
||||||
|
if (!ausweisart) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
const attachments: Mail.Attachment[] = [];
|
const attachments: Mail.Attachment[] = [];
|
||||||
|
|
||||||
const id = shortenUID(ausweis.uid)
|
const id = shortenUID(ausweis.uid)
|
||||||
@@ -65,7 +70,7 @@ export async function sendInvoiceMail(
|
|||||||
attachments,
|
attachments,
|
||||||
from: `"IBCornelsen" <info@online-energieausweis.org>`,
|
from: `"IBCornelsen" <info@online-energieausweis.org>`,
|
||||||
to: user.email,
|
to: user.email,
|
||||||
subject: `Bestellbestätigung vom IBCornelsen (ID: ${id})`,
|
subject: getPaymentSuccessSubject(ausweis, rechnung, ausweisart),
|
||||||
cc: {
|
cc: {
|
||||||
address: rechnung.email || "",
|
address: rechnung.email || "",
|
||||||
name: rechnung.empfaenger || "",
|
name: rechnung.empfaenger || "",
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ import { prisma } from "#lib/server/prisma.js";
|
|||||||
import { getAnsichtsausweis } from "../ausweis.js";
|
import { getAnsichtsausweis } from "../ausweis.js";
|
||||||
import Mail from "nodemailer/lib/mailer/index.js";
|
import Mail from "nodemailer/lib/mailer/index.js";
|
||||||
import { shortenUID } from "#server/lib/hash.js";
|
import { shortenUID } from "#server/lib/hash.js";
|
||||||
|
import { getPaymentSuccessSubject } from "./helpers.js";
|
||||||
|
|
||||||
export async function sendPaymentSuccessMail(
|
export async function sendPaymentSuccessMail(
|
||||||
ausweis: VerbrauchsausweisWohnen,
|
ausweis: VerbrauchsausweisWohnen,
|
||||||
@@ -32,6 +33,11 @@ export async function sendPaymentSuccessMail(
|
|||||||
|
|
||||||
let info: string = "";
|
let info: string = "";
|
||||||
const ausweisart = getAusweisartFromUUID(ausweis.uid);
|
const ausweisart = getAusweisartFromUUID(ausweis.uid);
|
||||||
|
|
||||||
|
if (!ausweisart) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
const attachments: Mail.Attachment[] = [];
|
const attachments: Mail.Attachment[] = [];
|
||||||
|
|
||||||
const id = shortenUID(ausweis.uid)
|
const id = shortenUID(ausweis.uid)
|
||||||
@@ -68,7 +74,7 @@ export async function sendPaymentSuccessMail(
|
|||||||
attachments,
|
attachments,
|
||||||
from: `"IBCornelsen" <info@online-energieausweis.org>`,
|
from: `"IBCornelsen" <info@online-energieausweis.org>`,
|
||||||
to: user.email,
|
to: user.email,
|
||||||
subject: `Bestellbestätigung vom IBCornelsen (ID: ${id})`,
|
subject: getPaymentSuccessSubject(ausweis, rechnung, ausweisart),
|
||||||
cc: {
|
cc: {
|
||||||
address: rechnung.email || "",
|
address: rechnung.email || "",
|
||||||
name: rechnung.empfaenger || "",
|
name: rechnung.empfaenger || "",
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import { AufnahmeClient, ObjektClient, UploadedGebaeudeBild, UUidWithPrefix, Ver
|
|||||||
import { filterAusweise } from "#lib/filters.js";
|
import { filterAusweise } from "#lib/filters.js";
|
||||||
import { omit } from "#lib/helpers.js";
|
import { omit } from "#lib/helpers.js";
|
||||||
import { authorizationHeaders, authorizationMiddleware } from "#lib/middleware/authorization.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 { defineApiRoute } from "astro-typesafe-api/server";
|
||||||
import { z } from "zod";
|
import { z } from "zod";
|
||||||
|
|
||||||
@@ -15,12 +15,16 @@ export const GET = defineApiRoute({
|
|||||||
skip: z.number().optional()
|
skip: z.number().optional()
|
||||||
}),
|
}),
|
||||||
async fetch(input, context, user) {
|
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({
|
const ausweise = await prisma.verbrauchsausweisWohnen.findMany({
|
||||||
where: {
|
where: {
|
||||||
...input.filters,
|
...input.filters
|
||||||
benutzer: {
|
|
||||||
uid: user.uid
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
include: {
|
include: {
|
||||||
aufnahme: {
|
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