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
feat/I31-33 :sparkle: Implementar Sessão de votação #37
Este commit modifica os nomes e descrições das tags na configuração do OpenApi.
Modificação de Tags
A tag "Associados" foi substituída por "Sessão".
Foi atualizada a descrição voltada para as funcionalidades das sessões.
Alteração na Descrição de Votos
A descrição da tag "Votos" foi alterada para enfatizar a coleta e contagem de votos.
feat/I31-33 :sparkles: Adição de Estrutura para Gestão de Sessões de Votação
Este commit cria as classes e interfaces necessárias para o gerenciamento de sessões de votação.
Implementação de Componentes
Mapeadores
Fábricas
Entidades
DTOs
Requests
Responses
Controllers
Contratos de Controllers
Todos esses componentes estão relacionados ao gerenciamento das sessões.
feat/I31-33 :sparkles: Adição do SessionEntityRepository e atualização do SessionController e TopicServiceContract
Nova adição de arquivo: SessionEntityRepository. Esse novo arquivo foi adicionado para gerenciar a entidade Session no banco de dados.
Atualização em arquivo: SessionController. Foi atualizado para usar o novo serviço de sessão e encapsular a implementação do serviço.
Atualização em arquivo: TopicServiceContract. Também foi atualizado, com comentários javadoc adicionados para explicar seu propósito e funcionalidade.
feat/I31-33 :white_check_mark: Adiciona funcionalidade para buscar tópico por ID
Introdução de uma nova função: 'getTopic'. Esta função permite buscar um tópico dado seu identificador.
Tratamento para casos em que o ID é inválido ou não encontrado.
Adição de testes correspondentes para cada cenário.
feat/I31-33 :sparkles: Adiciona exceções personalizadas para IDs de tópicos
Criação de duas exceções personalizadas: InvalidTopicIdException e TopicIdNotFoundException. Estas foram criadas para lidar com problemas específicos relacionados aos IDs de tópicos.
Adição de mensagens correspondentes no enum: ExceptionHandler.
feat/I31-33 :recycle: Renomear "BuildingStrategy" para "MapperStrategy" e atualizar métodos relacionados
Refatoração do código: A interface BuildingStrategy foi renomeada para MapperStrategy. Esta mudança de nomenclatura torna a designação mais adequada ao papel de mapeamento realizado.
Atualização de métodos: Os métodos em diferentes classes que se referem a essa estratégia também foram atualizados para seguir a nova nomenclatura.
feat/I31-33 :sparkles: Adicionar exceções personalizadas e manipuladores de exceção
Adição de novas exceções personalizadas: Foram criadas para lidar com argumentos inválidos de sessão, falha na criação de sessão e sessão não encontrada.
Alteração de nomenclatura: O nome da exceção InvalidTopicIdException foi alterado para InvalidIdException.
Adição de manipuladores de exceção: Correspondentes adicionados ao ControllerExceptionHandler com o propósito de lidar com as novas exceções e fornecer feedback de erro apropriado para o usuário.
Atualizações em mensagens de erro: Alterações foram realizadas nas mensagens de erro no enum ExceptionHandler.
feat/I31-33 :recycle: Refatora exceção InvalidTopicId para InvalidIdException
Substituição da exceção: A exceção InvalidTopicIdException foi substituída por InvalidIdException para tornar a aplicação mais genérica.
Adição de verificação: Foi adicionada uma verificação para garantir que o ID do tópico não seja nulo, melhorando a robustez do código.
Mudanças relacionadas: Alterações correspondentes foram realizadas em TopicService e TopicServiceTest.
feat/I31-33 :sparkles: Adiciona implementação e testes para o serviço de Sessão
Adição da implementação: O serviço SessionService e seu respectivo contrato SessionServiceContract foram adicionados ao projeto.
Inclusão de testes unitários: Foram incluídos para garantir o correto funcionamento do SessionService.
Responsabilidades do SessionService: Este serviço é responsável por controlar as operações relacionadas às sessões de votação, como iniciar uma nova sessão, recuperar uma sessão existente e verificar se uma sessão está aberta.
Solicitação de Pull Request
Status
Tipo
Descrição
Atualização da Configuração do OpenApi
Modificação de Tags
Alteração na Descrição de Votos
feat/I31-33 :sparkles: Adição de Estrutura para Gestão de Sessões de Votação
Implementação de Componentes
Todos esses componentes estão relacionados ao gerenciamento das sessões.
feat/I31-33 :sparkles: Adição do SessionEntityRepository e atualização do SessionController e TopicServiceContract
Nova adição de arquivo: SessionEntityRepository. Esse novo arquivo foi adicionado para gerenciar a entidade Session no banco de dados.
Atualização em arquivo: SessionController. Foi atualizado para usar o novo serviço de sessão e encapsular a implementação do serviço.
Atualização em arquivo: TopicServiceContract. Também foi atualizado, com comentários javadoc adicionados para explicar seu propósito e funcionalidade.
feat/I31-33 :white_check_mark: Adiciona funcionalidade para buscar tópico por ID
Introdução de uma nova função: 'getTopic'. Esta função permite buscar um tópico dado seu identificador.
Tratamento para casos em que o ID é inválido ou não encontrado.
Adição de testes correspondentes para cada cenário.
feat/I31-33 :sparkles: Adiciona exceções personalizadas para IDs de tópicos
Criação de duas exceções personalizadas: InvalidTopicIdException e TopicIdNotFoundException. Estas foram criadas para lidar com problemas específicos relacionados aos IDs de tópicos.
Adição de mensagens correspondentes no enum: ExceptionHandler.
feat/I31-33 :recycle: Renomear "BuildingStrategy" para "MapperStrategy" e atualizar métodos relacionados
Refatoração do código: A interface BuildingStrategy foi renomeada para MapperStrategy. Esta mudança de nomenclatura torna a designação mais adequada ao papel de mapeamento realizado.
Atualização de métodos: Os métodos em diferentes classes que se referem a essa estratégia também foram atualizados para seguir a nova nomenclatura.
feat/I31-33 :sparkles: Adicionar exceções personalizadas e manipuladores de exceção
Adição de novas exceções personalizadas: Foram criadas para lidar com argumentos inválidos de sessão, falha na criação de sessão e sessão não encontrada.
Alteração de nomenclatura: O nome da exceção InvalidTopicIdException foi alterado para InvalidIdException.
Adição de manipuladores de exceção: Correspondentes adicionados ao ControllerExceptionHandler com o propósito de lidar com as novas exceções e fornecer feedback de erro apropriado para o usuário.
Atualizações em mensagens de erro: Alterações foram realizadas nas mensagens de erro no enum ExceptionHandler.
feat/I31-33 :recycle: Refatora exceção InvalidTopicId para InvalidIdException
Substituição da exceção: A exceção InvalidTopicIdException foi substituída por InvalidIdException para tornar a aplicação mais genérica.
Adição de verificação: Foi adicionada uma verificação para garantir que o ID do tópico não seja nulo, melhorando a robustez do código.
Mudanças relacionadas: Alterações correspondentes foram realizadas em TopicService e TopicServiceTest.
feat/I31-33 :sparkles: Adiciona implementação e testes para o serviço de Sessão
Adição da implementação: O serviço SessionService e seu respectivo contrato SessionServiceContract foram adicionados ao projeto.
Inclusão de testes unitários: Foram incluídos para garantir o correto funcionamento do SessionService.
Responsabilidades do SessionService: Este serviço é responsável por controlar as operações relacionadas às sessões de votação, como iniciar uma nova sessão, recuperar uma sessão existente e verificar se uma sessão está aberta.