[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
Wesley Alves Cardoso
Criador Wesley Alves Cardoso 20/01/2025

Opa Professor, tudo bom, o curso foi muito bom e ma tirou várias dúvidas, mais deixou outras XD, eu fiquei com um pouco de dúvida sobre níveis de permissão, por exemplo, no final não entendi muito bem como implementar outros níveis de permissão, outra coisa é, o model User é genérico, se eu queser atribuir dados diferenter para usuarios "diferentes" tipo, tem um que é pessoa física e outro que é pj entende como eu faço sem ter que criar outros models? espero que possa me ajudar...

Manager Carlos Ferreira 20/01/2025

Fala Wesley! Tudo bem?

O curso que vc fez, foi este daqui => https://academy.especializati.com.br/curso/laravel-api-com-acl?

Me diga qual foi, que fica mais fácil de te direcionar.

Carlos Ferreira
Criador Wesley Alves Cardoso 20/01/2025

Foi esse mesmo

Wesley Alves Cardoso
Manager Carlos Ferreira 20/01/2025

O que vc quer dizer com outros níveis de permissão? Me dê mais detalhes da sua ideia, que te guio pelo melhor caminho possível.

Sobre usar outro model, é tranquilo, basta relacionar o outro model com as permissões, igual foi feito com user.

Carlos Ferreira
Criador Wesley Alves Cardoso 20/01/2025

Minha idéia é griar grupos de permissão para inserir os users, por exemplo usuários criados internamente serão delegados a grupos (admin, financeiro, mentores e etc) e quem se cadastrar por fora vai para o grupo clientes.
Também tenho dúvida sobre os tipos de user, por exemplo, cliente pessoa física e cliente pessoa jurídica terão dados diferentes, et tenho que criar extendendo o model ou é feito de outra forma.

Wesley Alves Cardoso
Manager Carlos Ferreira 20/01/2025

Você pode associar os uses aos roles, fiz algo semelhante no LaravelFood: https://github.com/especializati/larafood

Carlos Ferreira
Criador Wesley Alves Cardoso 20/01/2025

Eu entendi a parte de permissões, mais outracoisa que pode ser símples mais eu não entendi é o seguinte, eu tenho que criar a seguinte estrutura

preciso criar os users da aplicação:

## Administrativo 88

 

#### Sócio

- Nome

- Sobrenome

- Gosta de ser chamado (Apelido)

- Data de Aniversário (Dia/Mês)

- Celular

- mail

- CPF

- Senha

#### Executivo

- Nome

- Sobrenome

- Gosta de ser chamado (Apelido)

- Data de Aniversário (Dia/Mês)

- Celular

- mail

- CPF

- Senha

#### Operacional

- Nome

- Sobrenome

- Gosta de ser chamado (Apelido)

- Data de Aniversário (Dia/Mês)

- Celular

- mail

- CPF

- Foto de perfil

- Senha

- Mini Bio

## Equipe

 

#### Líderes dos Mentores 88

- Nome

- Sobrenome

- Gosta de ser chamado (Apelido)

- Data de Aniversário (Dia/Mês)

- Celular

- mail

- CPF

- Foto de perfil

- Senha

- Mini Bio

- Agenda de disponibilidade

#### Mentores 88

- Nome

- Sobrenome

- Gosta de ser chamado (Apelido)

- Data de Aniversário (Dia/Mês)

- Celular

- mail

- CPF

- Foto de perfil

- Senha

- Mini Bio

- Agenda de disponibilidade

#### Especialista Criadores Conteúdo Cliente

- Nome

- Sobrenome

- Gosta de ser chamado (Apelido)

- Data de Aniversário (Dia/Mês)

- Celular

- mail

- CPF

- Foto de perfil

- Senha

- Mini Bio

- Agenda de disponibilidade

## CLIENTE ADMIN PJ

 

#### Cliente PJ Corporativo Admin

- Nome

- Sobrenome

- Gosta de ser chamado (Apelido)

- Data de Aniversário (Dia/Mês)

- Celular

- mail

- Nome do cliente PJ

- CNPJ

- Voucher

- Área no cliente PJ

- CARGO da PF no cliente PJ

- Senha

#### Cliente PJ Medico

- Nome

- Sobrenome

- Gosta de ser chamado (Apelido)

- Data de Aniversário (Dia/Mês)

- Celular

- mail

- Nome do cliente PJ

- CNPJ

- Voucher

- Área no cliente PJ

- CARGO da PF no cliente PJ

- Foto de perfil

- Senha

## Cliente CPF

 

#### Cliente Plataforma

- Nome

- Sobrenome

- Gosta de ser chamado (Apelido)

- Data de Aniversário (Dia/Mês)

- Celular

- mail

- CPF

- Sexo

- Nome do Cartão

- Número do Cartão

- Validade

- CVV

- País

- CEP

- Endereço

- Cidade

- Estado

- Altura

- Peso

- Idade

- Senha

#### Cliente Voucher

- Nome

- Sobrenome

- Gosta de ser chamado (Apelido)

- Data de Aniversário (Dia/Mês)

- Celular

- mail

- CPF

- Voucher

- Sexo

- Altura

- Peso

- Idade

 

- Senha

quero saber como fazer isso sem precisar criar inumeras tabelas

 

Wesley Alves Cardoso
Manager Carlos Ferreira 20/01/2025

Pode criar uma tabela com relacionamento 1:1, com todas essas colunas, porém as que são opicionais, com valor default de null.

Ou, pode definir estes fields em uma coluna json, e assim montar o formulário (deve ser essa sua ideia né?)

Carlos Ferreira
Criador Wesley Alves Cardoso 20/01/2025

Tipo assim, quando o user for pessoaa fisica pede cpf, se for juridica, cnpj, eu criei um acl, então por exemplo se um user for "partner", "executive"... ter campos que só são deles igual no que eu mostrei acima mais sempre pegando os outros dados comuns, se vc puder me exemplificar com algum exemplo de como fazer seria bom XD

Wesley Alves Cardoso
Manager Carlos Ferreira 20/01/2025

Não entendi bem, vc criou dois modelos diferentes para diferenciar pj  de cpf, certo?

Sua dificuldade está exatamente em relacionar ao perfil e limitar as permissões?

Carlos Ferreira
Criador Wesley Alves Cardoso 20/01/2025

basicamenteo que está me bugando é diferenciar users

Wesley Alves Cardoso
Manager Carlos Ferreira 20/01/2025

Você autentica com guards diferentes, certo?

O que precisa agora é replicar a mesma lógica que aplicou no model user, no meu model que representa pjur.

Carlos Ferreira
Criador Wesley Alves Cardoso 20/01/2025

Bom eu vi aqui algumas formas e consegui fazer como eu pensava, porém percebi que para os clientes pj, fica melhor usar Tenants, vi o curso, mais percebi que mudou muita coisa no laravel, tentei ir adaptando mais tive alguma dificuldade, tem alguma dica para acompanhar o curso sem perder a linha de raciocínio sobre as versões

Wesley Alves Cardoso
Manager Carlos Ferreira 20/01/2025

Quais dificuldades vc teve? Compartilhe comigo e vou te ajudando uma a uma.

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

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!