user()->can('roles.view'), 403); // Super Admin is intentionally excluded — it's granted only via // seeding/tinker, never assignable through the Users module. return RoleResource::collection(Role::where('name', '!=', 'super-admin')->orderBy('name')->get()); } /** * Read-only view of every role (including Super Admin) and its * permission set — for the Roles page, distinct from index() which * feeds the assignable-role dropdown in the Users module. */ public function overview(Request $request) { abort_unless($request->user()->can('roles.view'), 403); $roles = Role::with('permissions')->orderBy('name')->get(); return RoleResource::collection($roles); } }