Merge branch 'feature/Permissions' into 'develop'
create permission crud See merge request witelgroup/rms_v2!87
This commit is contained in:
83
app/Http/Controllers/V3/PermissionManagementController.php
Normal file
83
app/Http/Controllers/V3/PermissionManagementController.php
Normal file
@@ -0,0 +1,83 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\V3;
|
||||
|
||||
use App\Facades\DataTable\DataTableFacade;
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Requests\V3\Permission\StoreRequest;
|
||||
use App\Http\Requests\V3\Permission\UpdateRequest;
|
||||
use App\Http\Traits\ApiResponse;
|
||||
use App\Models\Permission;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class PermissionManagementController extends Controller
|
||||
{
|
||||
use ApiResponse;
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*/
|
||||
public function index(Request $request): JsonResponse
|
||||
{
|
||||
return response()->json(DataTableFacade::run(
|
||||
Permission::query(),
|
||||
$request,
|
||||
allowedFilters: ['*'],
|
||||
allowedSortings: ['*'])
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*/
|
||||
public function store(StoreRequest $request): JsonResponse
|
||||
{
|
||||
Permission::create([
|
||||
'name' => $request->name,
|
||||
'guard_name' => 'web',
|
||||
'name_fa' => $request->name_fa,
|
||||
'description' => $request->description,
|
||||
'type' => $request->type,
|
||||
'type_fa' => $request->type_fa,
|
||||
'need_province' => $request->need_province,
|
||||
'need_edare_shahri' => $request->need_edare_shahri,
|
||||
]);
|
||||
|
||||
return $this->successResponse();
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*/
|
||||
public function show(Permission $permission): JsonResponse
|
||||
{
|
||||
return $this->successResponse($permission);
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*/
|
||||
public function update(UpdateRequest $request, Permission $permission): JsonResponse
|
||||
{
|
||||
$permission->update([
|
||||
'name' => $request->name,
|
||||
'name_fa' => $request->name_fa,
|
||||
'description' => $request->description,
|
||||
'type' => $request->type,
|
||||
'type_fa' => $request->type_fa,
|
||||
'need_province' => $request->need_province,
|
||||
'need_edare_shahri' => $request->need_edare_shahri,
|
||||
]);
|
||||
|
||||
return $this->successResponse();
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*/
|
||||
public function destroy(Permission $permission): JsonResponse
|
||||
{
|
||||
$permission->delete();
|
||||
return $this->successResponse();
|
||||
}
|
||||
}
|
||||
34
app/Http/Requests/V3/Permission/StoreRequest.php
Normal file
34
app/Http/Requests/V3/Permission/StoreRequest.php
Normal file
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Requests\V3\Permission;
|
||||
|
||||
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, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
|
||||
*/
|
||||
public function rules(): array
|
||||
{
|
||||
return [
|
||||
'name' => 'required|string|unique:permissions,name',
|
||||
'name_fa' => 'required|string',
|
||||
'description' => 'required|string',
|
||||
'type' => 'required|string',
|
||||
'type_fa' => 'required|string',
|
||||
'need_province' => 'required|in:0,1',
|
||||
'need_edare_shahri' => 'required|in:0,1',
|
||||
];
|
||||
}
|
||||
}
|
||||
34
app/Http/Requests/V3/Permission/UpdateRequest.php
Normal file
34
app/Http/Requests/V3/Permission/UpdateRequest.php
Normal file
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Requests\V3\Permission;
|
||||
|
||||
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, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
|
||||
*/
|
||||
public function rules(): array
|
||||
{
|
||||
return [
|
||||
'name' => "required|string|unique:permissions,name,{$this->permission->id}",
|
||||
'name_fa' => 'required|string',
|
||||
'description' => 'required|string',
|
||||
'type' => 'required|string',
|
||||
'type_fa' => 'required|string',
|
||||
'need_province' => 'required|in:0,1',
|
||||
'need_edare_shahri' => 'required|in:0,1',
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -21,6 +21,7 @@ use App\Http\Controllers\V3\Dashboard\SafetyAndPrivacyController;
|
||||
use App\Http\Controllers\V3\FMSVehicleManagementController;
|
||||
use App\Http\Controllers\V3\Harim\DivarkeshiController;
|
||||
use App\Http\Controllers\V3\LogListController;
|
||||
use App\Http\Controllers\V3\PermissionManagementController;
|
||||
use App\Http\Controllers\V3\ProfileController;
|
||||
use App\Http\Controllers\V3\RahdaranController;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
@@ -362,3 +363,14 @@ Route::name('items.')
|
||||
Route::get('/items', 'getItems')->name('list');
|
||||
Route::get('/sub_items/{item}', 'getSubItems')->name('subItems');
|
||||
});
|
||||
|
||||
Route::prefix('permissions')
|
||||
->name('permissions.')
|
||||
->controller(PermissionManagementController::class)
|
||||
->group(function () {
|
||||
Route::get('/', 'index')->name('index');
|
||||
Route::post('/', 'store')->name('store');
|
||||
Route::get('/{permission}', 'show')->name('show');
|
||||
Route::post('/{permission}', 'update')->name('update');
|
||||
Route::delete('/{permission}', 'destroy')->name('destroy');
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user