continued the kita-planer

This commit is contained in:
t.indorf
2026-05-08 14:32:14 +02:00
parent b686e714ff
commit 7aff691803
85 changed files with 9434 additions and 588 deletions
+6 -4
View File
@@ -47,6 +47,9 @@ export async function saveNotdienstAvailabilities(payloadRaw: {
if (!kitaId) {
return { error: "Kein Mandant zugeordnet." };
}
if (!session.user.familyId) {
return { error: "Dein Account ist noch keinem Haushalt zugeordnet." };
}
// ── 2. Validierung (Soll-Tage) ─────────────────────────────────────
const kita = await prisma.kita.findUniqueOrThrow({
@@ -61,12 +64,12 @@ export async function saveNotdienstAvailabilities(payloadRaw: {
};
}
// Sicherstellen, dass alle Kinder zum angemeldeten User gehören und zur kitaId passen
// Sicherstellen, dass alle Kinder zum Haushalt des angemeldeten Users gehören.
const validChildren = await prisma.child.findMany({
where: {
id: { in: childrenIds },
kitaId,
parentLinks: { some: { userId: session.user.id } },
familyId: session.user.familyId,
},
select: { id: true },
});
@@ -101,11 +104,10 @@ export async function saveNotdienstAvailabilities(payloadRaw: {
// ── 3. Datenbank-Transaktion ───────────────────────────────────────
try {
await prisma.$transaction(async (tx) => {
// a) Alle *eigenen* bestehenden Einträge im Zielmonat für diese Kinder löschen
// a) Alle bestehenden Haushaltseinträge im Zielmonat für diese Kinder löschen
await tx.notdienstAvailability.deleteMany({
where: {
kitaId,
userId: session.user.id,
childId: { in: childrenIds },
date: {
gte: new Date(targetYear, targetMonth - 1, 1),