for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace A17\Twill\Repositories\Behaviors;
trait HandleOauth
{
/**
* @param $oauthUser
* @return A17\Twill\Models\User
A17\Twill\Repositories\B...s\A17\Twill\Models\User
A17\Twill\Models\User
\
*/
public function oauthUser($oauthUser)
return $this->model->whereEmail($oauthUser->email)->first();
}
* @param $provider
* @return boolean
public function oauthIsUserLinked($oauthUser, $provider)
$user = $this->model->whereEmail($oauthUser->email)->first();
return $user->providers()
->where(['provider' => $provider, 'oauth_id' => $oauthUser->id])
->exists();
public function oauthUpdateProvider($oauthUser, $provider)
$provider = $user->providers()
->first();
$provider->token = $oauthUser->token;
$provider->avatar = $oauthUser->avatar;
$provider->save();
return $user;
public function oauthCreateUser($oauthUser)
$user = $this->model->firstOrNew([
'name' => $oauthUser->name,
'email' => $oauthUser->email,
'role' => config('twill.oauth.default_role'),
'published' => true,
]);
$user->save();