$input * * @throws ValidationException */ public function update(User $user, array $input): void { Validator::make($input, [ 'name' => ['required', 'string', 'max:255'], 'email' => ['required', 'email', 'max:255', Rule::unique('users')->ignore($user->id)], 'photo' => ['nullable', 'mimes:jpg,jpeg,png', 'max:1024'], 'timezone' => ['required', 'timezone:all'], 'week_start' => ['required', Rule::enum(Weekday::class)], ])->validateWithBag('updateProfileInformation'); if (isset($input['photo'])) { $user->updateProfilePhoto($input['photo']); } if ($input['email'] !== $user->email && $user instanceof MustVerifyEmail) { $user->forceFill([ 'name' => $input['name'], 'email' => $input['email'], 'email_verified_at' => null, 'timezone' => $input['timezone'], 'week_start' => $input['week_start'], ])->save(); $user->sendEmailVerificationNotification(); } else { $user->forceFill([ 'name' => $input['name'], 'timezone' => $input['timezone'], 'week_start' => $input['week_start'], ])->save(); } } }