/**
 * Holt Temperaturwerte vom Prozessor aus der passenden JSON-Datei über die API
 * @param type - Typ der Daten: DIA0 = alle, DIA1 = stündlich, DIA2 = täglich
 */
export const fetchTemperaturProzessorService = async (
  type: "DIA0" | "DIA1" | "DIA2"
) => {
  try {
    const isDev = process.env.NODE_ENV === "development";

    const channel = 117; // 117 = Temperatur Prozessor laut Spezifikation
    // Dynamisch: to = heute, from = 30 Tage zurück
    const getDateParts = (date: Date) => {
      const y = date.getFullYear();
      const m = String(date.getMonth() + 1).padStart(2, "0");
      const d = String(date.getDate()).padStart(2, "0");
      return { y, m, d };
    };
    const today = new Date();
    const toParts = getDateParts(today);
    const fromDateObj = new Date(today);
    fromDateObj.setDate(today.getDate() - 30);
    const fromParts = getDateParts(fromDateObj);

    const path = isDev
      ? `/api/cpl/getTemperaturProzessorHandler?typ=${type}`
      : `/CPL?seite.ACP&${type}=${fromParts.y};${fromParts.m};${fromParts.d};${toParts.y};${toParts.m};${toParts.d};${channel};1`;

    console.log("[Service] fetchTemperaturProzessorService", path);
    const res = await fetch(path);
    if (!res.ok)
      throw new Error("❌ Fehler beim Abrufen der Temperaturdaten (Prozessor)");

    return await res.json();
  } catch (err) {
    console.error("❌ Fehler in fetchTemperaturProzessorService:", err);
    return null;
  }
};
