user()->tokenCan('companies:read'), 403); $companies = Company::withoutGlobalScopes() ->accessibleBy($request->user()) ->orderBy('name') ->paginate(min((int) $request->query('per_page', 25), 100)); return CompanyResource::collection($companies); } public function store(Request $request) { abort(404); } public function show(Request $request, int $company): CompanyResource { abort_unless($request->user()->tokenCan('companies:read'), 403); $company = Company::withoutGlobalScopes() ->whereKey($company) ->accessibleBy($request->user()) ->first(); abort_unless($company !== null, 403); return CompanyResource::make($company); } public function update(Request $request, string $id) { abort(404); } public function destroy(string $id) { abort(404); } }