Я только изучаю laravel, и хочу делать все правильно без велосипедов.
Смотрите, при каждом запросе я создаю один объект $apiClient. И код получается громоздким.
А хотелось бы создавать его в middleware, и как-то передавать в контроллер.
Вот код который везде повторяется, и я хочу перенести его в middleware, а с нее получать уже созданный объект $apiClient. Как это сделать? Или скажите как правильно это вообще сделать, чтобы код не повторялся.
class PipelinesController extends Controller
{
public function index(Request $request)
{
// От сюда
$clientId = $request->bearerToken();
$userData = UsersData::where('client_id', $clientId)->first();
$amocrmTokens = $userData->amocrmTokens;
$config = config('amocrm');
$clientSecret = $config['clientSecret'];
$redirectUri = $config['redirectUri'];
$accessToken = new AccessToken([
'access_token' => $amocrmTokens['access_token'],
'refresh_token' => $amocrmTokens['refresh_token'],
'expires' => $amocrmTokens['expires_in'],
]);
$apiClient = new AmoCRMApiClient($clientId, $clientSecret, $redirectUri);
$apiClient->setAccessToken($accessToken);
$apiClient->setAccountBaseDomain($userData['referer']);
//До сюда код повторяется в каждом запросе
try {
return $apiClient->pipelines()->get();
} catch (AmoCRMApiException $e) {
return $e;
}
}