$input * * @throws AuthorizationException * @throws ValidationException */ public function create(User $user, array $input): Organization { Gate::forUser($user)->authorize('create', Jetstream::newTeamModel()); Validator::make($input, [ 'name' => ['required', 'string', 'max:255'], ])->validateWithBag('createTeam'); AddingTeam::dispatch($user); $organization = new Organization(); $organization->name = $input['name']; $organization->personal_team = false; $organization->owner()->associate($user); $organization->save(); $organization->users()->attach( $user, [ 'role' => 'owner', ] ); $user->ownedTeams()->save($organization); $user->switchTeam($organization); return $organization; } }