diegosneves / assembleia-vota

No cooperativismo, cada associado possui um voto e as decisões são tomadas em assembleias, por votação. Imagine que você deve criar uma solução para dispositivos móveis para gerenciar e participar dessas sessões de votação.
MIT License
1 stars 0 forks source link

Homologate/0.3.0 :rocket: #18

Closed diegosneves closed 6 months ago

diegosneves commented 6 months ago

Solicitação de Pull Request

Status

Tipo

Descrição

feat/issue-13 :construction: Adiciona novas configs da web e atualiza README

Foram incluídas as configurações de segurança web, configuração CORS e de documentação OpenAPI. Além disso, o README foi atualizado com novas informações sobre a arquitetura do projeto e Swagger.


feat/issue-14 :sparkles: Adiciona manipulador de exceções global e DTO de exceção

Este commit inclui um manipulador de exceções global para controladores, que lida com as exceções lançadas ao processar solicitações e gera respostas de erro correspondentes. Juntamente com isso, um Data Transfer Object (DTO) também foi introduzido para encapsular a mensagem da exceção e o código do status HTTP.


feat/issue-14 :sparkles: Adiciona TopicController e classes associadas

Foi incorporado um novo TopicController juntamente com as classes associadas para suportar a operação. As classes, incluem TopicRequest e TopicCreatedResponse para tratar as requisições e respostas, e uma interface TopicControllerContract foi adicionada para definir o contrato de um controlador de tópicos. Essas modificações são um passo essencial para a implementação da funcionalidade de criação de tópicos.


feat/issue-15 :sparkles: Adicione o TopicEntity e suas classes associadas

Essa mudança introduz a entidade base TopicEntity, que armazena as informações sobre um tópico. Também foram incluídos o repositório para manipulação do TopicEntity e uma fábrica para criação de novas instâncias do TopicEntity.


feat/I16-23 :sparkles: Adiciona manipulação de exceções UUID e atualiza a fábrica de entidades.

Este commit introduz a classe ExceptionHandler, que sinaliza erros quando o formato UUID é inválido. Além disso, adiciona UuidUtilsException para lidar com essas exceções. O método de geração de UUID foi movido para a nova classe UuidUtils e agora é utilizado na fábrica de entidades TopicEntityFactory.


feat/I16-23 :recycle: Atualizações na classe TopicEntity e UuidUtils

Na classe TopicEntity, a documentação foi atualizada para esclarecer que a duração da sessão de votação é em minutos. Na classe UuidUtils, o método isValidUUID foi alterado para retornar um booleano em vez de lançar uma exceção e uma declaração de import e uma variável foram removidas para simplificar e melhorar a legibilidade do código.


feat/I16-23 :sparkles: Adiciona novas classes de exceções e melhora manejo de erros

Foram adicionadas novas classes de exceções para lidar com erros específicos que podem surgir durante a manipulação de atributos de tópicos, falhas de mapeamento, entre outros. A classe ExceptionHandler foi aprimorada para incluir status de HTTP associados a cada tipo de erro, fornecendo mensagens de erro mais específicas e detalhadas.


feat/I16-23 :sparkles: Adiciona funcionalidades de mapeamento de objetos e aprimora UuidUtils

Foram criadas as classes BuilderMapper e BuildingStrategy, responsáveis por conferir ao programa a capacidade de mapeamento de objetos. Além disso, a classe UuidUtils foi aprimorada, com a adição de comentários e a implementação do SLF4J para registro de logs.


feat/I16-23 :sparkles: Adiciona serviço para criar novos tópicos de discussão

Esse commit introduz a implementação de um serviço para criar novos tópicos de discussão. Este serviço valida as entradas do usuário para garantir que sejam válidas antes de criar e persistir os dados do tópico. Além disso, extrai informações relevantes do tópico criado e as encapsula em uma resposta para o usuário.


feat/I16-23 :sparkles: Remover AssembleiaVotaApplicationTests, atualizar TopicController e adicionar TopicServiceTest

As alterações englobam a remoção do arquivo de teste AssembleiaVotaApplicationTests, a adição de novos métodos no TopicController e a implementação do teste TopicServiceTest. O controle agora está vinculado ao serviço, e o respectivo teste foi implementado para garantir a correta funcionalidade do serviço.