This commit is contained in:
foobar
2022-08-21 21:39:06 +02:00
commit 27c1969aaa
7354 changed files with 897064 additions and 0 deletions

56
routes/api.php Normal file
View File

@@ -0,0 +1,56 @@
<?php
use App\Models\City;
use App\Http\Resources\CityResource;
use App\Http\Resources\CityCollection;
use App\Filters\CityFilter;
use App\Http\Controllers\DatabaseController;
use App\Http\Requests\StoreCityRequest;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
use App\Http\Requests\UpdateCityRequest;
/*
|--------------------------------------------------------------------------
| API Routes
|--------------------------------------------------------------------------
|
| Here is where you can register API routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| is assigned the "api" middleware group. Enjoy building your API!
|
*/
Route::middleware('auth:sanctum')->get('/user', function (Request $request) {
return $request->user();
});
Route::get('/city/{id}', function ($id) {
return new CityResource(City::findOrFail($id));
});
Route::get('/city', function (Request $request) {
$filter = new CityFilter();
$filterItems = $filter->transform($request); // [['column', 'operator', 'value']]
return new CityCollection(City::where($filterItems)->get());
});
Route::group(['middleware' => 'auth:sanctum'], function() {
Route::post('/city', function (StoreCityRequest $request) {
$id = DatabaseController::storeApiRequest($request);
return new CityResource(City::findOrFail($id));
});
Route::put('/city/{id}', function ($id, UpdateCityRequest $request) {
$DatabaseController = new DatabaseController();
$DatabaseController->updateApiRequest($id, $request);
});
Route::delete('/city/{id}', function ($id) {
City::findOrFail($id)->delete();
});
});