PermissionController.php 883 B

1234567891011121314151617181920212223242526272829303132
  1. <?php
  2. namespace App\Http\Controllers\API;
  3. use App\Http\Controllers\Controller;
  4. use App\Http\Resources\API\PermissionGroupResource;
  5. use App\Models\Menu;
  6. use App\Models\PermissionGroup;
  7. class PermissionController extends Controller
  8. {
  9. public function groupPermissions()
  10. {
  11. $permissionGroups = PermissionGroup::query()
  12. ->with(['permissions' => function ($query) {
  13. $query->where('guard_name', 'api');
  14. }])
  15. ->get()->filter(function($item) {
  16. return count($item->permissions) > 0;
  17. });
  18. return PermissionGroupResource::collection($permissionGroups);
  19. }
  20. public function menuPermissions()
  21. {
  22. $menus = Menu::select(['id','name', 'parent_id', 'permission'])->get();
  23. return $this->success([
  24. 'data' => make_tree($menus->toArray()),
  25. ]);
  26. }
  27. }