<?php

namespace App\Http\Controllers\tables;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\Sertifikat;
use Illuminate\Support\Facades\Auth;

class SertifikatController extends Controller
{
    public function index()
    {
        $user = Auth::user();

        if ($user->role == "Siswa") {
            $sertifikat = Sertifikat::join("siswa", "siswa.user_id", "=", "sertifikat.user_id")->where("siswa.user_id", "=", $user->id)->get(["siswa.*", "sertifikat.*", "sertifikat.id as sid"]);
        } else {
            $sertifikat = Sertifikat::join("siswa", "siswa.user_id", "=", "sertifikat.user_id")->get(["siswa.*", "sertifikat.*", "sertifikat.id as sid"]);
        }
        return view('content.sertifikat.index', compact('sertifikat'));
    }

    public function create()
    {
        return view('content.sertifikat.create');
    }

    public function edit(Request $request, $sertifikatId)
    {
        $sertifikat = Sertifikat::find($sertifikatId);
        return view('content.sertifikat.edit', compact('sertifikat'));
    }

    public function update(Request $request, $sertifikatId)
    {
        $sertifikat = Sertifikat::find($sertifikatId);

        if ($request->sertifikat) {
            $fileName = $sertifikat->user_id . ".pdf";
            $request->file("sertifikat")->move(public_path("file/sertifikat"), $fileName);

            $request->merge(["sertifikat" => $fileName]);
        }

        $sertifikat->fill($request->input())->save();

        return redirect()->route("sertifikat")->with("success", "Data Berhasil Diperbarui!");
    }

    public function destroy(Request $request, $sertifikatId)
    {
        $sertifikat = Sertifikat::find($sertifikatId);

        $sertifikat->delete();
        try {
            unlink(public_path("file/sertifikat/") . $sertifikat->sertifikat);
        } catch (\Exception $e) {
        }

        return redirect()->route("sertifikat")->with("success", "Data Berhasil Dihapus!");
    }
}
