<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Support\Facades\DB;

return new class extends Migration
{
    public function up(): void
    {
        $this->updateDecisionContent(
            'Die dargestellte 30-Jahres-Reihe ist ein transparentes Modellbeispiel und keine individuelle Prognose für ein Luxemburger Projekt. Alle verwendeten Modellwerte sind direkt in der Statistik einsehbar. Ihre tatsächlichen Kosten hängen unter anderem von Angebot, Verbrauch, Ertrag, Strompreis, Einspeisemodell, Förderung, Wartung und Finanzierung ab.',
            false,
        );
    }

    public function down(): void
    {
        $this->updateDecisionContent(
            'Die dargestellte 30-Jahres-Reihe ist ein festes Modellbeispiel und keine individuelle Prognose für ein Luxemburger Projekt. Ihre tatsächlichen Kosten hängen unter anderem von Angebot, Verbrauch, Ertrag, Strompreis, Einspeisemodell, Förderung, Wartung und Finanzierung ab.',
            true,
        );
    }

    private function updateDecisionContent(string $note, bool $restoreSource): void
    {
        $service = DB::table('services')->where('slug', 'photovoltaik')->first();

        if (! $service) {
            return;
        }

        $decision = json_decode($service->decision_content ?: '[]', true) ?: [];
        $decision['economics_chart_note'] = $note;

        if ($restoreSource) {
            $decision['economics_chart_source_label'] = 'Datenquelle: Energietec-Plus · 30-Jahres-Modell';
            $decision['economics_chart_source_url'] = 'https://www.energietec.plus/schwerpunkte/photovoltaik.html';
        } else {
            unset($decision['economics_chart_source_label'], $decision['economics_chart_source_url']);
        }

        DB::table('services')->where('id', $service->id)->update([
            'decision_content' => json_encode($decision, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES),
            'updated_at' => now(),
        ]);
    }
};
