Variável de usuario logado

[Concluído]

Roberto Noya Criador 26/10/2019
Roberto Noya

Olá Equipe Especializa TI,

Tenho uma aplicação com Laravel 5.7 que acessa API de um banco através do Guzzle.

Eu criei um repositório onde preciso usar variáveis do usuário logado porém ocorre o erro "Trying to get property 'credencial' of non-object"

Quando eu insiro diretamente a credencial o codigo funciona perfeitamente. Pensei em informar a credencial no Controller porém existem vários controlers que acessa o repositorio por isso achei que seria interessante resolver isso no repositório.

Segue o repositorio:

namespace App\Repositories;

use GuzzleHttp\Client;

 

class BankSlipRepositorie

{

    protected $client;

    protected $body;    

    

    public function __construct(Client $client)

    {

        $this->client = new Client([

            'base_uri' => 'https://sandbox.pjbank.com.br/recebimentos/'.auth()->user()->credencial,

        ]);

    }    

 

    public function create($body)

    {       

        $this->body = $body;

        return $this->get("POST","transacoes",$this->body); 

    }

 

    public function get($method, $url, $body)

    {

        $response = $this->client->request($method, $url, ['form_params' => $body]);

        return json_decode($response->getBody()->getContents());    

    }

 

}

Manager Carlos Ferreira 28/10/2019
Carlos Ferreira

Olá, Roberto!
Tudo bem?

Fazendo dessa forma, usando um repository (que foi uma excelente estratégia), deu certo?

Criador Roberto Noya 28/10/2019
Roberto Noya

nao deu certo.

o repositorio nao reoonhece auth()->user()->credencial,

nem reconhece o usuaio auth()->user()->id

Manager Carlos Ferreira 29/10/2019
Carlos Ferreira

Certo, nem isso dá certo?
dd(auth()->check());

E isso daqui retorna o quê?
dd(auth()->user());

Normalmente isso é por conta das sessões do Laravel aplicadas no Middleware default "web". Isso acontece quando tem alguma classe que é chamada através de um Provider (normalmente).

No aguardo.

Criador Roberto Noya 01/11/2019
Roberto Noya

Olá Carlos,

 

Consegui resolver. Foi um equivoco meu na edição do arquivo.

Agora está tudo funcionando.

Finalmente conclui a integração com o banco PJ Bank.

Muito Obrigado!

Manager Carlos Ferreira 01/11/2019
Carlos Ferreira

Parabéns amigo! =D

Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!