diff --git a/app/Console/Commands/ProviderTokenRefresh.php b/app/Console/Commands/ProviderTokenRefresh.php new file mode 100644 index 0000000..3979e63 --- /dev/null +++ b/app/Console/Commands/ProviderTokenRefresh.php @@ -0,0 +1,48 @@ +argument('siteid')); + Config::set('site',$site); + + $so = ProviderOauth::where('name',$this->argument('provider'))->singleOrFail(); + $uo = User::where('email',$this->argument('user'))->singleOrFail(); + + if (($x=$so->tokens->where('user_id',$uo->id))->count() !== 1) + abort(500,sprintf('Unknown Tokens for [%s]',$uo->email)); + + Job::dispatchSync($x->pop()); + } +} \ No newline at end of file diff --git a/app/Jobs/ProviderTokenRefresh.php b/app/Jobs/ProviderTokenRefresh.php new file mode 100644 index 0000000..9daa8ce --- /dev/null +++ b/app/Jobs/ProviderTokenRefresh.php @@ -0,0 +1,39 @@ +to = $to; + } + + /** + * Execute the job. + * + * @return void + */ + public function handle() + { + $this->to->refreshToken(); + } +} \ No newline at end of file diff --git a/app/Models/ProviderToken.php b/app/Models/ProviderToken.php index b3b22b5..6b0dbcd 100644 --- a/app/Models/ProviderToken.php +++ b/app/Models/ProviderToken.php @@ -14,4 +14,11 @@ class ProviderToken extends Model 'access_token_expires_at', 'refresh_token_expires_at', ]; + + /* RELATIONS */ + + public function provider() + { + return $this->belongsTo(ProviderOauth::class,'provider_oauth_id'); + } } \ No newline at end of file