| 1234567891011121314151617181920212223242526272829303132 | 
							- <?php
 - 
 - namespace App\Actions\FilamentCompanies;
 - 
 - use Illuminate\Contracts\Auth\Authenticatable;
 - use Laravel\Socialite\Contracts\User as ProviderUser;
 - use Wallo\FilamentCompanies\ConnectedAccount;
 - use Wallo\FilamentCompanies\Contracts\CreatesConnectedAccounts;
 - use Wallo\FilamentCompanies\FilamentCompanies;
 - 
 - class CreateConnectedAccount implements CreatesConnectedAccounts
 - {
 -     /**
 -      * Create a connected account for a given user.
 -      */
 -     public function create(Authenticatable $user, string $provider, ProviderUser $providerUser): ConnectedAccount
 -     {
 -         return FilamentCompanies::connectedAccountModel()::forceCreate([
 -             'user_id' => $user->getAuthIdentifier(),
 -             'provider' => strtolower($provider),
 -             'provider_id' => $providerUser->getId(),
 -             'name' => $providerUser->getName(),
 -             'nickname' => $providerUser->getNickname(),
 -             'email' => $providerUser->getEmail(),
 -             'avatar_path' => $providerUser->getAvatar(),
 -             'token' => $providerUser->token,
 -             'secret' => $providerUser->tokenSecret ?? null,
 -             'refresh_token' => $providerUser->refreshToken ?? null,
 -             'expires_at' => property_exists($providerUser, 'expiresIn') ? now()->addSeconds($providerUser->expiresIn) : null,
 -         ]);
 -     }
 - }
 
 
  |