2 Commits
2.1 ... 2.3

Author SHA1 Message Date
abce313193 feat: post-fill hook 2024-04-17 13:06:48 +02:00
9d17dacae2 Laravel 11 support 2024-04-12 12:13:50 +02:00
4 changed files with 21 additions and 2 deletions

View File

@@ -4,6 +4,7 @@ namespace Bluesquare\Connect\Commands;
use Bluesquare\Connect\Connect; use Bluesquare\Connect\Connect;
use Bluesquare\Connect\ConnectException; use Bluesquare\Connect\ConnectException;
use Bluesquare\Connect\Traits\HasConnectData;
use Bluesquare\Connect\Traits\HasConnectTokens; use Bluesquare\Connect\Traits\HasConnectTokens;
use Illuminate\Console\Command; use Illuminate\Console\Command;
@@ -32,6 +33,10 @@ class Sync extends Command
$data = $connect->getUserData($model->connect_access_token); $data = $connect->getUserData($model->connect_access_token);
$connect->updateUserData($model, $data); $connect->updateUserData($model, $data);
$model->save(); $model->save();
if (in_array(HasConnectData::class, class_uses($model))) {
$model->postFillConnectData($data);
}
} }
} }
catch (\Exception $exception) { catch (\Exception $exception) {

View File

@@ -6,6 +6,7 @@ use Bluesquare\Connect\Traits\HasConnectData;
use Bluesquare\Connect\Traits\HasConnectTokens; use Bluesquare\Connect\Traits\HasConnectTokens;
use Bluesquare\Connect\Traits\HasConnectWebhook; use Bluesquare\Connect\Traits\HasConnectWebhook;
use GuzzleHttp\Client; use GuzzleHttp\Client;
use Illuminate\Contracts\Foundation\Application;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Routing\Router; use Illuminate\Routing\Router;
use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Log;
@@ -17,7 +18,7 @@ class Connect
{ {
protected $app; protected $app;
public function __construct($app) public function __construct(Application $app)
{ {
$this->app = $app; $this->app = $app;
} }
@@ -94,7 +95,7 @@ class Connect
$url = $this->getUrl() . '/oauth/authorize?' . $query; $url = $this->getUrl() . '/oauth/authorize?' . $query;
return redirect()->to($url); return redirect($url);
} }
public function checkState(Request $request) public function checkState(Request $request)
@@ -223,6 +224,10 @@ class Connect
} else { } else {
$this->updateUserData($model, $data); $this->updateUserData($model, $data);
$model->save(); $model->save();
if (in_array(HasConnectData::class, class_uses($model))) {
$model->postFillConnectData($data);
}
} }
return $model; return $model;

View File

@@ -44,4 +44,9 @@ trait HasConnectData
foreach ($touched as $model) foreach ($touched as $model)
$model->save(); $model->save();
} }
public function postFillConnectData(array $data)
{
// Intended for post-processing / relationship handling
}
} }

View File

@@ -18,6 +18,10 @@ trait HasConnectWebhook
} }
$this->save(); $this->save();
if (in_array(HasConnectData::class, class_uses(self::class))) {
$this->postFillConnectData($data);
}
} }
public function onConnectDelete(array $data) public function onConnectDelete(array $data)