/teams DELETE, PUT

This commit is contained in:
StudioTem committed 2023-01-30 10:39:10 +01:00
1 parent 5cb8ec7205
commit 2c6674df99
2 files changed
+47 -1

No files matched your search

@@ -40,4 +40,49 @@ class TeamController extends Controller
'team' => $team
], 201);
}
public function delete(Request $request)
{
$validator = Validator::make($request->all(), [
'data.id' => 'required',
]);
if($validator->fails()){
return response()->json($validator->errors(), 400);
}
$team = Team::find($request->all()['data']['id']);
$team->users()->detach();
$team->delete();
return response()->json([
'message' => 'Team deleted successfully',
'team' => $team
], 201);
}
public function update(Request $request)
{
$validator = Validator::make($request->all(), [
'data.id' => 'required',
'data.name' => 'required',
'data.employees' => 'required',
]);
if($validator->fails()){
return response()->json($validator->errors(), 400);
}
$userIdsArray = array_column($request->all()['data']['employees'], 'id');
$team = Team::find($request->all()['data']['id']);
$team->users()->detach();
$team->users()->attach( $userIdsArray );
$team->update($request->all()['data']);
return response()->json([
'message' => 'Team updated successfully',
'team' => $team
], 201);
}
}
+2 -1
View File
@@ -32,8 +32,9 @@ use Illuminate\Support\Facades\Route;
Route::get('/v1/teams', function () {
return new TeamCollection(Team::all());
});
Route::post('/v1/teams', TeamController::class . '@store');
Route::delete('/v1/teams', TeamController::class . '@delete');
Route::put('/v1/teams', TeamController::class . '@update');
Route::get('/v1/teams/{id}', function ($id) {
return new TeamResource(Team::find($id));