$input * * @throws AuthorizationException */ public function create(User $user, array $input): Company { Gate::forUser($user)->authorize('create', FilamentCompanies::newCompanyModel()); Validator::make($input, [ 'name' => ['required', 'string', 'max:255'], ])->validateWithBag('createCompany'); AddingCompany::dispatch($user); $user->switchCompany($company = $user->ownedCompanies()->create([ 'name' => $input['name'], 'personal_company' => false, ])); return $company; } }