<?php

namespace App\Http\Controllers;

use App\Models\Magasin;
use Illuminate\Http\Request;

class MagasinController extends Controller
{
    /**
     * Liste des magasins
     */
    public function index()
    {
        $magasins = Magasin::latest()->whereDeleteAt(null)
            ->paginate(10)
            ->get();
    }

    /**
     * Show the form for creating a new resource.
     */
    public function create()
    {
        //
    }

    /**
     * Ajout d'un magasin
     */
    public function store(Request $request)
    {
        $validated = $request->validate([
            'nom' => 'required|string|max:255',
            'adresse' => 'nullable|string|max:150',
            'telephone' => 'nullable|string|min:10',
        ]);


        Magasin::create($validated);
        return redirect()->route('magasins.index')->with('success', 'Magasin créé avec succès');
    }

    /**
     * Display the specified resource.
     */
    public function show(string $id)
    {
        //
    }

    /**
     * Show the form for editing the specified resource.
     */
    public function edit(string $id)
    {
        //
    }

    /**
     * Mise à jour des informations du magasin
     */
    public function update(Request $request, string $id)
    {
        $validated = $request->validated([
            'nom' => 'required|string|max:255',
            'adresse' => 'nullable|string|max:150',
            'telephone' => 'nullable|string|min:10',
        ]);

        //Vérifie si le magasin existe
        $magasin = Magasin::findOrFail($id);

        //Met à jour les informations du magasin
        $magasin->update($validated);
        return redirect()->route('magasins.index')->with('success', 'Magasin mis à jour avec succès');
    }

    /**
     * Remove the specified resource from storage.
     */
    public function destroy(string $id)
    {
        //
    }
}
