From 9ad3d6cea0d3845df22cdf87194e7b440c072a5f Mon Sep 17 00:00:00 2001 From: faezehzafarbakhsh Date: Sat, 23 May 2026 14:03:10 +0330 Subject: [PATCH] create show for city and province --- backend/app/User/Controllers/CityController.php | 17 ++++++++++++++++- .../app/User/Controllers/ProvinceController.php | 17 ++++++++++++++++- backend/routes/web.php | 3 +++ 3 files changed, 35 insertions(+), 2 deletions(-) diff --git a/backend/app/User/Controllers/CityController.php b/backend/app/User/Controllers/CityController.php index eecd374c..25a796f4 100755 --- a/backend/app/User/Controllers/CityController.php +++ b/backend/app/User/Controllers/CityController.php @@ -2,16 +2,31 @@ namespace App\User\Controllers; +use App\Facades\DataTable\DataTableFacade; use App\Http\Controllers\Controller; use App\Models\City; use App\Traits\ApiResponse; use Illuminate\Http\JsonResponse; +use Illuminate\Http\Request; class CityController extends Controller { use ApiResponse; - public function list(City $city): JsonResponse + public function list(Request $request): JsonResponse + { + $data = DataTableFacade::run( + City::query(), + $request, + allowedFilters: ['*'], + allowedSortings: ['*'], + allowedSelects: ['id', 'name'] + ); + + return response()->json($data); + } + + public function show(City $city): JsonResponse { return $this->successResponse($city); } diff --git a/backend/app/User/Controllers/ProvinceController.php b/backend/app/User/Controllers/ProvinceController.php index bc9d6b8c..cfe81efa 100755 --- a/backend/app/User/Controllers/ProvinceController.php +++ b/backend/app/User/Controllers/ProvinceController.php @@ -2,16 +2,31 @@ namespace App\User\Controllers; +use App\Facades\DataTable\DataTableFacade; use App\Http\Controllers\Controller; +use App\Models\City; use App\Models\Province; use App\Traits\ApiResponse; use Illuminate\Http\JsonResponse; +use Illuminate\Http\Request; class ProvinceController extends Controller { use ApiResponse; + public function list(Request $request): JsonResponse + { + $data = DataTableFacade::run( + Province::query(), + $request, + allowedFilters: ['*'], + allowedSortings: ['*'], + allowedSelects: ['id', 'name'] + ); - public function list(Province $province): JsonResponse + return response()->json($data); + } + + public function show(Province $province): JsonResponse { return $this->successResponse($province); } diff --git a/backend/routes/web.php b/backend/routes/web.php index 07967c89..3287c409 100755 --- a/backend/routes/web.php +++ b/backend/routes/web.php @@ -28,11 +28,13 @@ Route::prefix('profile') Route::post('edit', 'edit')->name('edit'); Route::post('change_password', 'changePassword')->name('changePassword'); }); + Route::prefix('province') ->name('province.') ->controller(ProvinceController::class) ->group(function () { Route::get('list', 'list')->name('list'); + Route::get('/{province}', 'show')->name('show'); }); Route::prefix('city') @@ -40,4 +42,5 @@ Route::prefix('city') ->controller(CityController::class) ->group(function () { Route::get('list', 'list')->name('list'); + Route::get('/{city}', 'show')->name('show'); });