<?php

namespace App\Http\Controllers;

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

class ProductosController extends Controller
{
    public function index(){
        $products = Product::orderBy('id','desc')->paginate();
        return view('productos.index', compact('products'));
    }

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

    public function show($id){
        $producto = Product::find($id);
        return view('productos.show', compact('producto'));
    }

    public function edit($id){
        $producto = Product::find($id);
        return view('productos.edit', compact('producto'));
    }

    public function store(Request $request){
        $request->validate([
            'nombre' => 'required',
            'marca' => 'required',
            'modelo' => 'required',
            'descripcion' => 'required',
            'rodado' => 'required',
            'color' => 'required',
            'tipo' => 'required',
            'precio' => 'required'
        ]);
        Product::create($request->all());

        return redirect(route('productos.index'));
    }

    public function update(Request $request,Product $producto){
        $request->validate([
            'nombre' => 'required',
            'marca' => 'required',
            'modelo' => 'required',
            'descripcion' => 'required',
            'rodado' => 'required',
            'color' => 'required',
            'tipo' => 'required',
            'precio' => 'required'
        ]);
        $producto->update($request->all());
        return redirect(route('productos.show',$producto));
    }

    public function destroy($id){
        $producto = Product::find($id);
        $producto->delete();
        return redirect(route('productos.index'));
    }

    public function vistaUsuario($id){
    $producto = Product::find($id);
    return view('productos.vistaUsuario', compact('producto'));
    }
}
