Merge branch 'feature/CreateRahdaran' into 'develop'

Feature/create rahdaran

See merge request witelgroup/rms_v2!137
This commit is contained in:
2025-07-12 09:52:25 +00:00
4 changed files with 107 additions and 0 deletions

View File

@@ -2,7 +2,10 @@
namespace App\Http\Controllers\V3;
use App\Facades\DataTable\DataTableFacade;
use App\Http\Controllers\Controller;
use App\Http\Requests\V3\Rahdaran\StoreRequest;
use App\Http\Requests\V3\Rahdaran\UpdateRequest;
use App\Http\Traits\ApiResponse;
use App\Models\Rahdaran;
use Illuminate\Http\JsonResponse;
@@ -12,6 +15,45 @@ class RahdaranController extends Controller
{
use ApiResponse;
public function index(Request $request): JsonResponse
{
return response()->json(DataTableFacade::run(
Rahdaran::query(),
$request,
allowedFilters: ['*'],
allowedSortings: ['*'])
);
}
public function store(StoreRequest $request): JsonResponse
{
Rahdaran::query()->create([
'name' =>$request->name,
'code' =>$request->code,
]);
return $this->successResponse();
}
public function show(Rahdaran $rahdaran): JsonResponse
{
return $this->successResponse($rahdaran);
}
public function update(UpdateRequest $request, Rahdaran $rahdaran): JsonResponse
{
$rahdaran->update([
'name' =>$request->name,
'code' =>$request->code,
]);
return $this->successResponse();
}
public function destroy(Rahdaran $rahdaran): JsonResponse
{
$rahdaran->delete();
return $this->successResponse();
}
public function list(): JsonResponse
{
return $this->successResponse(Rahdaran::all());

View File

@@ -0,0 +1,30 @@
<?php
namespace App\Http\Requests\V3\Rahdaran;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
class StoreRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array<string, ValidationRule|array|string>
*/
public function rules(): array
{
return [
'name' => 'required|string|max:255',
'code' => 'required|string|max:255',
];
}
}

View File

@@ -0,0 +1,30 @@
<?php
namespace App\Http\Requests\V3\Rahdaran;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
class UpdateRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array<string, ValidationRule|array|string>
*/
public function rules(): array
{
return [
'name' => 'required|string|max:255',
'code' => 'required|string|max:255',
];
}
}

View File

@@ -179,8 +179,13 @@ Route::prefix('rahdaran')
->name('rahdaran.')
->controller(RahdaranController::class)
->group(function () {
Route::get('/', 'index')->name('index');
Route::get('/list', 'list')->name('list');
Route::get('/search', 'search')->name('search');
Route::post('/', 'store')->name('store');
Route::get('/{rahdaran}', 'show')->name('show');
Route::post('/{rahdaran}', 'update')->name('update');
Route::delete('/{rahdaran}', 'destroy')->name('destroy');
});
Route::prefix('fms_vehicle')