Add announcement editing and reliable per-recipient mail delivery
This commit is contained in:
@@ -3,6 +3,8 @@ import { authorizeAlarmJob, runAlarmJob } from "@/lib/alarms/job";
|
||||
|
||||
import { runNotdienstNotificationJob } from "@/lib/notdienst-notifications";
|
||||
|
||||
import { deliverDueAnnouncementEmails } from "@/lib/announcement-delivery";
|
||||
|
||||
export const runtime = "nodejs";
|
||||
export const dynamic = "force-dynamic";
|
||||
export async function POST(request: Request) {
|
||||
@@ -18,12 +20,26 @@ export async function POST(request: Request) {
|
||||
{ status },
|
||||
);
|
||||
try {
|
||||
const [alarm, planning] = await Promise.allSettled([runAlarmJob(), runNotdienstNotificationJob()]);
|
||||
if (alarm.status === "rejected" || planning.status === "rejected") throw new Error("Ein Hintergrundlauf ist fehlgeschlagen.");
|
||||
const result = { ...alarm.value, planning: planning.value };
|
||||
const [alarm, planning, announcements] = await Promise.allSettled([
|
||||
runAlarmJob(),
|
||||
runNotdienstNotificationJob(),
|
||||
deliverDueAnnouncementEmails(),
|
||||
]);
|
||||
if (
|
||||
alarm.status === "rejected" ||
|
||||
planning.status === "rejected" ||
|
||||
announcements.status === "rejected"
|
||||
)
|
||||
throw new Error("Ein Hintergrundlauf ist fehlgeschlagen.");
|
||||
const result = {
|
||||
...alarm.value,
|
||||
planning: planning.value,
|
||||
announcements: announcements.value,
|
||||
};
|
||||
revalidatePath("/dashboard");
|
||||
revalidatePath("/dashboard/notdienst/alarm");
|
||||
revalidatePath("/dashboard/notdienst/plan");
|
||||
revalidatePath("/dashboard/admin/news");
|
||||
return Response.json(result);
|
||||
} catch {
|
||||
return Response.json(
|
||||
|
||||
Reference in New Issue
Block a user