Skip to content

Backend > Feature > Adicionar limitação de, no máximo, um(a) Presidente e um(a) Conselheiro(a). #18

@ManoMax

Description

@ManoMax

OVERVIEW

  • Para começarmos a gerenciar o sistema de lideranças e seus respectivos níveis de acesso ao sistema, é interessante que exista uma melhor gestão quanto ao número de tais cargos.
  • Para essa task inicial, vamos limitar o número de Presidentes e Conselheiros na EJ;
  • Ao criar um novo usuário com a função de Presidente ou atualizar a função dele para Presidente, o antigo Presidente precisa perder tal função;
  • Sendo assim, o novo usuário receberá a função de Presidente, enquanto o antigo presidente terá a função atualizada para Assessor(a) (ainda que ele venha possuir o cargo de Diretor(a) em uma outra requisição).
    • Ou seja, para deixar de ser Presidente e se tornar Diretor(a), é necessário que existam duas requisições:
      1. Mude para Assessor(a);
      2. Depois para Diretor(a);
  • Faça o mesmo para a função de Conselheiro(a);

TASK

Backend

  • Limitar o número de membros com a função de Presidente para um só usuário;
  • Caso o item acima ocorra, substituir as funções de ambos os Usuários (antigo presidente fica como Assessor(a) e o novo presidente fica como Presidente);
  • Limitar o número de membros com a função de Conselheiro(a) para um só usuário;
  • Caso o item acima ocorra, substituir as funções de ambos os Usuários (antigo(a) Conselheiro(a) fica como Assessor(a) e o novo(a) Conselheiro(a) fica como Conselheiro(a));

Frontend

  • Limitar o número de membros com a função de Presidente para um só usuário;
  • Caso o item acima ocorra, exibir botão ou model de alerta, informando que a mudança de cargo ocorrerá e questionando se o usuário quer mesmo fazer isso;
  • Caso o item acima seja correspondido com uma resposta afirmativa, enviar a requisição ao Backend.
  • Caso o item acima ocorra, exibir botão ou model de alerta, informando que a mudança de cargo ocorrerá e questionando se o usuário quer mesmo fazer isso;
  • Caso o item acima seja correspondido com uma resposta afirmativa, enviar a requisição ao Backend.

Links:

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

Status

👀 In review

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions