From 02ef3ae2ad21d89d7f352ae04505f2e20551672e Mon Sep 17 00:00:00 2001 From: amirghasempoor Date: Mon, 5 May 2025 14:21:34 +0330 Subject: [PATCH] add permission instead of role --- laravel/Dockerfile | 4 +- .../Admin/UserManagementController.php | 4 +- .../app/Http/Requests/Admin/UpdateRequest.php | 2 +- laravel/routes/web.php | 78 ++++++++++--------- 4 files changed, 45 insertions(+), 43 deletions(-) diff --git a/laravel/Dockerfile b/laravel/Dockerfile index 7e57cee..beac546 100644 --- a/laravel/Dockerfile +++ b/laravel/Dockerfile @@ -3,6 +3,7 @@ FROM docker.arvancloud.ir/php:8.3-fpm-alpine3.21 # Install common php extension dependencies RUN apk update && apk add --no-cache \ bash \ + nano \ curl \ libpng \ libpng-dev \ @@ -19,8 +20,7 @@ RUN apk update && apk add --no-cache \ WORKDIR /var/www/crm COPY . . -RUN chown -R www-data:www-data /var/www/crm \ - && chmod -R 777 /var/www/crm/storage +RUN chmod -R 777 /var/www/crm/storage /var/www/crm/bootstrap/cache # install composer diff --git a/laravel/app/Http/Controllers/Admin/UserManagementController.php b/laravel/app/Http/Controllers/Admin/UserManagementController.php index 8412e5d..7f67cd1 100644 --- a/laravel/app/Http/Controllers/Admin/UserManagementController.php +++ b/laravel/app/Http/Controllers/Admin/UserManagementController.php @@ -68,7 +68,7 @@ class UserManagementController extends Controller 'telephone_id' => $request->telephone_id, ]); - $user->givePermissionTo($request->permissions); + $user->syncPermissions($request->permissions); }); return $this->successResponse(); @@ -102,7 +102,7 @@ class UserManagementController extends Controller 'telephone_id' => $request->telephone_id ]); - $user->syncRoles($request->roles); + $user->syncPermissions($request->permissions); }); return $this->successResponse(); diff --git a/laravel/app/Http/Requests/Admin/UpdateRequest.php b/laravel/app/Http/Requests/Admin/UpdateRequest.php index ea3b3fa..2e6c989 100644 --- a/laravel/app/Http/Requests/Admin/UpdateRequest.php +++ b/laravel/app/Http/Requests/Admin/UpdateRequest.php @@ -36,7 +36,7 @@ class UpdateRequest extends FormRequest 'regex:/^09\d{9}$/' ], 'province_id' => 'required|exists:provinces,id', - 'roles' => 'required|exists:roles,id', + 'permissions' => 'required|exists:permissions,id', 'avatar' => 'mimes:png,jpg,pdf|max:2048', 'email' => ['email', Rule::unique('users', 'email')->ignore($this->user->id)], 'telephone_id' => ['required', 'string', Rule::unique('users', 'telephone_id')->ignore($this->user->id)] diff --git a/laravel/routes/web.php b/laravel/routes/web.php index 3a14653..332bbfb 100644 --- a/laravel/routes/web.php +++ b/laravel/routes/web.php @@ -8,45 +8,47 @@ use App\Http\Controllers\ProfileController; use App\Http\Middleware\SuperAdminCheck; use Illuminate\Support\Facades\Route; -Route::prefix('auth') - ->name('auth.') - ->controller(AuthController::class) - ->group(function () { - Route::post('/login', 'login')->name('login'); - Route::post('/logout', 'logout')->name('logout'); - }); +Route::prefix('server')->group(function () { + Route::prefix('auth') + ->name('auth.') + ->controller(AuthController::class) + ->group(function () { + Route::post('/login', 'login')->name('login'); + Route::post('/logout', 'logout')->name('logout'); + }); -Route::prefix('profile') - ->name('profile.') - ->controller(ProfileController::class) - ->group(function () { - Route::get('/info', 'info')->middleware('auth:sanctum')->name('info'); - Route::post('/change_password', 'changePassword')->middleware('auth:sanctum')->name('changePassword'); - }); + Route::prefix('profile') + ->name('profile.') + ->controller(ProfileController::class) + ->group(function () { + Route::get('/info', 'info')->middleware('auth:sanctum')->name('info'); + Route::post('/change_password', 'changePassword')->middleware('auth:sanctum')->name('changePassword'); + }); -Route::prefix('users') - ->name('users.') - ->middleware(['auth:sanctum', 'permission:manage_users']) - ->controller(UserManagementController::class) - ->group(function () { - Route::get('/', 'index')->name('index'); - Route::get('/{user}', 'show')->middleware([SuperAdminCheck::class])->name('show'); - Route::post('/', 'store')->name('store'); - Route::post('/{user}', 'update')->middleware([SuperAdminCheck::class])->name('update'); - Route::delete('/{user}', 'destroy')->middleware([SuperAdminCheck::class])->name('destroy'); - }); + Route::prefix('users') + ->name('users.') + ->middleware(['auth:sanctum', 'permission:manage_users']) + ->controller(UserManagementController::class) + ->group(function () { + Route::get('/', 'index')->name('index'); + Route::get('/{user}', 'show')->middleware([SuperAdminCheck::class])->name('show'); + Route::post('/', 'store')->name('store'); + Route::post('/{user}', 'update')->middleware([SuperAdminCheck::class])->name('update'); + Route::delete('/{user}', 'destroy')->middleware([SuperAdminCheck::class])->name('destroy'); + }); -Route::prefix('calls') - ->name('calls.') - ->controller(CallController::class) - ->group(function () { - Route::post('/', 'store')->name('store'); - Route::get('/list', 'list')->name('list')->middleware(['auth', 'permission:manage_calls']); - Route::post('/{call}', 'update')->name('update')->middleware(['auth', 'permission:manage_calls']); - }); + Route::prefix('calls') + ->name('calls.') + ->controller(CallController::class) + ->group(function () { + Route::post('/', 'store')->name('store'); + Route::get('/list', 'list')->name('list')->middleware(['auth', 'permission:manage_calls']); + Route::post('/{call}', 'update')->name('update')->middleware(['auth', 'permission:manage_calls']); + }); -Route::middleware('auth') - ->controller(CategoryController::class) - ->group(function () { - Route::get('/categories', 'list'); - }); + Route::middleware('auth') + ->controller(CategoryController::class) + ->group(function () { + Route::get('/categories', 'list'); + }); +});