Files

83 lines
2.2 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Models\EstadoTurno;
use Illuminate\Http\Request;
class EstadoTurnoController extends Controller
{
/**
* Display a listing of the resource.
*/
public function index() : JsonResponse
{
$estadoTurnos = EstadoTurno::all();
return response()->json([
'success' => true,
'data' => $estadoTurnos,
'message' => 'Estados de turno obtenidos correctamente'
], 200);
}
/**
* Store a newly created resource in storage.
*/
public function store(Request $request) : JsonResponse
{
$validated = $request->validate([
'descripcion' => 'required|string|max:255|unique:estado_turnos,descripcion',
]);
$estadoTurno = EstadoTurno::create($validated);
return response()->json([
'success' => true,
'data' => $estadoTurno,
'message' => 'Estado de turno creado correctamente'
], 201);
}
/**
* Display the specified resource.
*/
public function show(EstadoTurno $estadoTurno) : JsonResponse
{
return response()->json([
'success' => true,
'data' => $estadoTurno,
'message' => 'Estado de turno obtenido correctamente'
], 200);
}
/**
* Update the specified resource in storage.
*/
public function update(Request $request, EstadoTurno $estadoTurno): JsonResponse
{
$validated = $request->validate([
'descripcion' => 'required|string|max:255|unique:estado_turnos,descripcion,' . $estadoTurno->id,
]);
$estadoTurno->update($validated);
return response()->json([
'success' => true,
'data' => $estadoTurno,
'message' => 'Estado de turno actualizado correctamente'
], 200);
}
/**
* Remove the specified resource from storage.
*/
public function destroy(EstadoTurno $estadoTurno) : JsonResponse
{
$estadoTurno->delete();
return response()->json([
'success' => true,
'message' => 'Estado de turno eliminado correctamente'
}
}