diff --git a/app/Http/Controllers/AdminPermissionController.php b/app/Http/Controllers/AdminPermissionController.php index 7437348..c265e0a 100644 --- a/app/Http/Controllers/AdminPermissionController.php +++ b/app/Http/Controllers/AdminPermissionController.php @@ -27,6 +27,7 @@ class AdminPermissionController extends Controller $res[] = [ 'id' => $permission->id, 'label' => $permission->name, + 'slug' => $permission->slug, 'children' => $this->formatPermissionsTreeToArray($permission->children ?? []), ]; } diff --git a/app/Http/Controllers/AuthController.php b/app/Http/Controllers/AuthController.php index 48e5f8b..12b8cc0 100644 --- a/app/Http/Controllers/AuthController.php +++ b/app/Http/Controllers/AuthController.php @@ -3,6 +3,7 @@ namespace App\Http\Controllers; use App\Models\AdminUser; +use App\Models\AdminPermission; use Illuminate\Http\Request; use Illuminate\Support\Facades\Hash; @@ -34,6 +35,12 @@ class AuthController extends Controller { $token = $user->createToken($name)->plainTextToken; - return $this->json(['token' => $token, 'info' => $user, 'permissions' => $user->permissionIds()]); + $permissionsQuery = AdminPermission::query(); + if($user->id != 1){ + $permissions = $permissionsQuery->whereIn('id', $user->permissionIds()); + } + $permissions = $permissionsQuery->pluck('slug')->toArray(); + + return $this->json(['token' => $token, 'info' => $user, 'permissions' => $user->permissionIds(), 'permissions_slug'=>$permissions]); } } diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index 9adb5a0..87ba37d 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -5,14 +5,21 @@ namespace App\Http\Controllers; use App\Http\Requestes\RestPasswordRequest; use App\Services\OperationLogService; use App\Enums\OperationType; +use App\Models\AdminPermission; class UserController extends Controller { public function info() { $user = auth('api')->user(); + + $permissionsQuery = AdminPermission::query(); + if($user->id != 1){ + $permissions = $permissionsQuery->whereIn('id', $user->permissionIds()); + } + $permissions = $permissionsQuery->pluck('slug')->toArray(); - return $this->json(['info' => $user, 'permissions' => $user->permissionIds()]); + return $this->json(['info' => $user, 'permissions' => $user->permissionIds(), 'permissions_slug'=>$permissions]); } public function resetPwd(RestPasswordRequest $request)