Create assign task route
This commit is contained in:
1 parent
71fc82a0e7
commit
55f332d28e
3 files changed
+52
No files matched your search
@@ -3,6 +3,7 @@
|
|||||||
namespace App\Http\Controllers;
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
use App\Models\Events;
|
use App\Models\Events;
|
||||||
|
use App\Models\Task;
|
||||||
use Illuminate\Http\JsonResponse;
|
use Illuminate\Http\JsonResponse;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Support\Facades\Log;
|
use Illuminate\Support\Facades\Log;
|
||||||
@@ -43,4 +44,23 @@ class TasksController extends Controller
|
|||||||
return response()->json(['message' => "Server error"], 500);
|
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);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -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/create', [EventsController::class, "create"]);
|
||||||
|
|
||||||
Route::middleware(['web', 'auth:sanctum'])->post('/events/task', [TasksController::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"]);
|
||||||
@@ -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
|
||||||
|
}
|
||||||
Reference in new issue
Block a user