Files
online-energieausweis/src/lib/server/klimafaktoren.ts
Moritz Utcke 176f1c08ad Klimafaktoren
2025-04-07 23:55:42 -04:00

48 lines
1023 B
TypeScript

import moment from "moment";
import { prisma } from "./prisma.js";
export async function getKlimafaktorenServer(plz: string, startdatum: Date, enddatum: Date) {
const start = moment(startdatum);
const end = moment(enddatum);
if (start.isSameOrAfter(end)) {
return []
}
const intervals = [];
let currentDate = start.clone();
while (currentDate.isSameOrBefore(end)) {
let copy = currentDate.clone();
intervals.push(copy);
currentDate.add(1, "year");
}
let klimafaktoren = await prisma.klimafaktoren.findMany({
where: {
plz,
month: intervals[0].month(),
OR: intervals.map((date) => {
return {
year: date.year(),
};
}),
},
});
if (!klimafaktoren) {
return []
}
// NOTE: Sollten wir hier lieber den Output padden und trotzdem die gefundenen zurückgeben?
if (klimafaktoren.length !== intervals.length) {
return []
}
return klimafaktoren.map((klimafaktor) => ({
month: klimafaktor.month,
year: klimafaktor.year,
klimafaktor: klimafaktor.klimafaktor,
}));
}