[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
Rodrigo Pais
Criador Rodrigo Pais 01/11/2023

Professor, fiz todo o modulo mas fiquei na dúvida de como implementar o super admini para que ele possa ver os dados de todas as empresas cadastradas, conseguiria me orientar de como faria isso ou se tem em alguma aula?

Abçs

RP

Manager Carlos Ferreira 01/11/2023

Olá, Rodrigo! Tudo bem?

Desculpas demorar te responder, tinha muitas features aqui para resolver.

Na trait que aplica a query (filtro de tenant_id), vc pode verificar se o usuário é super admin, se for, não aplica. Aplica esse scope apenas se for super admin: https://github.com/especializati/larafood/blob/master/app/Tenant/Scopes/TenantScope.php#L23

Pegou a ideia?

Carlos Ferreira
Criador Rodrigo Pais 01/11/2023

Professor, tudo bem!

Eu fiz assim, veja se ficou bom? Funcionou, mas não sei se foi a melhor pratica.

public function apply(Builder $builder, Model $model): void    
    {
        if (app(ManagerEmpresa::class)->isAdmin()) {
            $builder->where('empresa_id', '<>', 0);
        } else {
            $builder->where('empresa_id', app(ManagerEmpresa::class)->getEmpresaIdentify());
        }        
    }
Rodrigo Pais
Manager Carlos Ferreira 01/11/2023

Boa amigo, isso mesmo a ideia, uma pequena refatoração com clean code:

public function apply(Builder $builder, Model $model): void    

{

    if (app(ManagerEmpresa::class)->isAdmin()) {

        $builder->where('empresa_id', '<>', 0);

        return;

    }

    $builder->where('empresa_id', app(ManagerEmpresa::class)->getEmpresaIdentify());      

}

Carlos Ferreira
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!