<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Models\KategoriModel;
use App\Models\BeritaModel;
use Illuminate\Support\Str;


class KategoriController extends Controller
{
    public function index()
    {
        $data = KategoriModel::allKategori();
        return view('dashboard.kategori.kategori', ['data' => $data]);
    }

    public function store(Request $request)
    {

        $data = [
            'nama_kategori' => $request->input('nama'),
            'slug_kategori' => Str::slug($request->input('nama')),
        ];

        $result = KategoriModel::insert($data);

        if ($result) {
            return redirect()->route('kategori')->with('success', 'Kategori berhasil ditambahkan');
        } else {
            return back()->with('error', 'Gagal menambahkan kategori');
        }
    }

    public function update(Request $request, $id)
    {
        $data = [
            'nama_kategori' => $request->input('nama'),
            'slug_kategori' => Str::slug($request->input('nama')),
        ];

        $result = KategoriModel::where('id_kategori', $id)->update($data);

        if ($result) {
            return redirect()->route('kategori')->with('success', 'Kategori berhasil diupdate');
        } else {
            return back()->with('error', 'Gagal mengupdate kategori');
        }
    }

    public function destroy(Request $request)
    {
        $id = $request->input('id_kategori');

        $cek = BeritaModel::where('id_kategori', $id)->count();
        if ($cek > 0) {
            return response()->json(['status' => 'error', 'message' => 'Kategori sedang digunakan di berita!'])->header('X-SweetAlert', 'error|Gagal menghapus kategori');
        } else {
            KategoriModel::where('id_kategori', $id)->delete();
        }
    }
}
