<?php

namespace App\Http\Controllers\API\v1\Voter;

use PDF;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Voter;

class PenyataController extends Controller
{
    // GET PENYATA BERDASARKAN NO ANGGOTA
    public function getPenyata($no_anggota)
    {
        $voter = Voter::where('no_anggota', $no_anggota)->firstOrFail();

        return response()->json([
            'user' => $voter,
        ]);
    }

    // SAHKAN PENYATA BERDASARKAN NO ANGGOTA
    public function sahkan(Request $request, $no_anggota)
    {
        $request->validate([
            'persetujuan' => 'required|in:Bersetuju,Tidak Bersetuju',
            'no_kp' => 'nullable',
            'nokp' => 'nullable',
        ]);


        $voter = Voter::where('no_anggota', $no_anggota)->first();

        if (!$voter) {
            return response()->json([
                'message' => 'Voter tidak dijumpai'
            ], 404);
        }

        if ($voter->status_penyata === 'DISAHKAN') {
            return response()->json([
                'message' => 'Penyata ini telah DISAHKAN sebelum ini'
            ], 409); // Conflict
        }

        $noKp = $request->input('no_kp', $request->input('nokp'));

        $voter->update([
            'persetujuan'   => $request->persetujuan,
            'status_penyata' => $request->persetujuan === 'Bersetuju'
                ? 'DISAHKAN'
                : 'PERLU_SEMAK',
            'no_kp'          => $noKp,
            'tarikh_sah'    => now()
        ]);

        return response()->json([
            'success' => true,
            'status'  => $voter->status_penyata,
            'user'    => $voter->fresh(),
        ]);
    }

    public function pdf($no_anggota)
    {
        $penyata = Voter::where('no_anggota', $no_anggota)->first();

        $pdf = Pdf::loadView('pdf.penyata-anggota', [
            'p' => $penyata
        ])->setPaper('A4', 'portrait');

        return $pdf->download("Penyata_$no_anggota.pdf");
    }
    
    
    



}
