Files
ticcat/app/Http/Controllers/ToDoController.php
2024-02-10 14:59:46 +01:00

63 lines
1.4 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Http\Requests\ToDoRequest;
use App\Http\Resources\ToDoResource;
use App\Models\ToDo;
use Illuminate\Http\Request;
class ToDoController extends Controller
{
/**
* Display a listing of to dos.
*/
public function index(Request $request)
{
//dd($request->user()->toDos);
return response()->json(ToDoResource::collection($request->user()->toDos));
}
/**
* Store newly to do created resource in storage.
*/
public function store(ToDoRequest $request)
{
$data = $request->validated();
$toDo = $request->user()->toDos()->create($data);
return response()->json(new ToDoResource($toDo), 201);
}
/**
* Display the specified to do.
*/
public function show(ToDo $todo)
{
return response()->json(new ToDoResource($todo));
}
/**
* Update the specified resource in storage.
*/
public function update(ToDoRequest $request, ToDo $todo)
{
$data = $request->validated();
$data['checked'] = $request->input('checked') ? now() : null;
$todo->update($data);
return response()->json(new ToDoResource($todo));
}
/**
* Remove the specified to do resource from storage.
*/
public function destroy(ToDo $todo)
{
$todo->delete();
return response()->noContent();
}
}