Improve assignSelf function

This commit is contained in:
T'JAMPENS QUENTIN p2406187
2026-01-12 14:15:08 +01:00
parent de13fa0b4a
commit e118debc6b
+11 -7
View File
@@ -43,21 +43,25 @@ class TasksController extends Controller
} }
} }
public function assignSelf(Request $request): JsonResponse { public function assignSelf(Request $request): JsonResponse
{
try { try {
$task = Task::findOrFail($request["task_id"]);
$task = Task::find($request["task_id"]); if ($task->users()->count() >= $task->max_participants) {
if($task->max_participants === $task->users()->count()) {
return response()->json(["message" => "Max participants reached"], 403); return response()->json(["message" => "Max participants reached"], 403);
} }
if ($task->users()->where('users.id', $request->user()->id)->exists()) {
return response()->json(["message" => "Already registered"], 409);
}
$task->users()->attach($request->user()->id); $task->users()->attach($request->user()->id);
return response()->json(['message' => "Task assigned"], 200); return response()->json(['message' => "Task assigned"], 200);
} catch (\Exception $e) { } catch (\Throwable $e) {
Log::info($e->getMessage()); Log::error($e->getMessage());
return response()->json(['message' => "Server error"], 500); return response()->json(['message' => "Server error"], 500);
} }
} }