<?php

namespace App\Http\Controllers\Api;

use App\Http\Controllers\ApiController;
use Illuminate\Http\Request;
use App\Profesional;

class ProfesionalController extends ApiController
{
    public function index(Request $request)
    {
        $profesionales = Profesional::with('tipos_profesional')
        ->filter($request->all())
        ->orderBy('id', 'DESC')
        ->get();

        return $this->showAll($profesionales);
    }

    public function show($id)
    {
        $profesional = Profesional::findOrFail($id);

        return $this->showOne($profesional);
    }

    public function store(Request $request)
    {
        $reglas = [
            'nombre' => 'required',
            'tipos_profesional_id' => 'required|exists:tipos_profesional,id',
        ];

        $request->validate($reglas);

        $campos = $request->all();

        $equipo = Profesional::create($campos);

        return $this->showOne($equipo);
    }

    public function update(Request $request, $id)
    {
        $profesional = Profesional::findOrFail($id);

        $reglas = [
            'tipos_profesional_id' => 'exists:tipos_profesional,id',
        ];

        $request->validate($reglas);

        $campos = $request->all();

        $profesional->update($campos);

        return $this->showOne($profesional);
    }

    public function destroy($id)
    {
        $profesional = Profesional::findOrFail($id);

        $profesional->delete();

        return $this->showOne($profesional);
    }
}
