Create assign task route

This commit is contained in:
T'JAMPENS QUENTIN p2406187
2025-11-14 09:47:13 +01:00
parent 71fc82a0e7
commit 55f332d28e
3 changed files with 52 additions and 0 deletions
+20
View File
@@ -3,6 +3,7 @@
namespace App\Http\Controllers;
use App\Models\Events;
use App\Models\Task;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Log;
@@ -43,4 +44,23 @@ class TasksController extends Controller
return response()->json(['message' => "Server error"], 500);
}
}
public function assignSelf(Request $request): JsonResponse {
try {
$task = Task::find($request["task_id"]);
if($task->max_participants = $task->users()->count()) {
return response()->json(["message" => "Max participants reached"], 403);
}
$task->users()->attach($request->user()->id);
return response()->json(['message' => "Task assigned"], 200);
} catch (\Exception $e) {
Log::info($e->getMessage());
return response()->json(['message' => "Server error"], 500);
}
}
}
+2
View File
@@ -36,3 +36,5 @@ Route::middleware(['web', 'auth:sanctum'])->get('/users', [UserController::class
Route::middleware(['web', 'auth:sanctum'])->post('/events/create', [EventsController::class, "create"]);
Route::middleware(['web', 'auth:sanctum'])->post('/events/task', [TasksController::class, "create"]);
Route::middleware(['web', 'auth:sanctum'])->post('/events/task/assign', [TasksController::class, "assignSelf"]);
+30
View File
@@ -0,0 +1,30 @@
meta {
name: Assign task
type: http
seq: 2
}
post {
url: {{url}}/api/events/task/assign
body: json
auth: inherit
}
headers {
X-XSRF-TOKEN:
}
body:json {
{
"task_id": "{{taskId}}"
}
}
vars:pre-request {
taskId: 1
}
settings {
encodeUrl: true
timeout: 0
}