<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\TipoEquipo;

class TipoEquipoController extends Controller
{
    public function index(Request $request) 
    {
        $filtro = $request->get('filtro');
        $paginar = $request->get('paginar') === 'true';

        $tipos_equipo = TipoEquipo::orderBy('id', 'ASC')
            ->orWhere('nombre', 'LIKE', '%'.$filtro.'%');

        if ($paginar) 
        {
            $tipos_equipo = $tipos_equipo->paginate(5);
            $paginacion =
            [
                'total'         => $tipos_equipo->total(),
                'pagina_actual' => $tipos_equipo->currentPage(),
                'por_pagina'    => $tipos_equipo->perPage(),
                'ultima_pagina' => $tipos_equipo->lastPage(),
                'desde'         => $tipos_equipo->firstItem(),
                'hasta'         => $tipos_equipo->lastItem(),
            ];
        }
        else {
            $tipos_equipo = $tipos_equipo->get();
            $paginacion = [];
        }

        return [
            'paginacion' => $paginacion,
            'tipos_equipo' => $tipos_equipo
        ];
    }

    public function store(Request $request)
    {
        $this->validate($request, [
            'nombre'    => 'required',
        ]);
        
        $tipo_equipo = TipoEquipo::create($request->all());

        return;
    }

    public function update(Request $request, $id)
    {
        $this->validate($request, [
            'nombre'    => 'required',
        ]);

        $tipo_equipo = TipoEquipo::find($id);

        $tipo_equipo->nombre = $request->nombre;
        $tipo_equipo->save();

        return;
    }
}
