-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat/M2-7(Criar interfaces para o banco de dados) ✨ #11
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…d spring-boot-starter-data-jpa dependencies - **Adicione as dependências PostgreSQL e spring-boot-starter-data-jpa** - As dependências PostgreSQL e spring-boot-starter-data-jpa foram adicionadas no arquivo pom.xml. - **Atualize o arquivo application.yaml** - O arquivo application.yaml foi atualizado com os detalhes da conexão PostgreSQL. Estas mudanças são necessárias para: - **Integrar um banco de dados PostgreSQL com a aplicação Spring Boot** - A integração com o banco de dados PostgreSQL permite à aplicação Spring Boot interagir com esse banco de dados. - **Utilizar o Spring Data JPA para interações com o banco de dados** - A dependência spring-boot-starter-data-jpa facilita as interações com o banco de dados, fornecendo um conjunto de ferramentas perspicazes e fáceis de usar. - **Crie um arquivo docker-compose** - Um arquivo docker-compose também foi criado para inicializar o contêiner do banco de dados PostgreSQL. - Lembre-se que estamos usando o modelo mais atual de Compose.
2 tasks
…n.yaml for PostgreSQL connection - **Detalhes da Conexão:** - O `application.yaml` foi atualizado para esclarecer os detalhes da conexão com o PostgreSQL.
…, MapperStrategy, and related classes **Adição de ProductEntity, MapperStrategy e classes relacionadas** - **ProductEntity e ProductMapper:** Foram adicionadas as classes `ProductEntity` e `ProductMapper`. - **Implementação da Interface MapperStrategy:** A interface `MapperStrategy` foi implementada. - **Objetivo das Mudanças:** Essas mudanças visam criar um mapeamento entre o modelo de domínio e a entidade do banco de dados. A entidade do banco de dados, então, pode ser salva e recuperada usando o `ProductRepository`. - **Nova Exceção:** Também foi adicionada uma nova mensagem de exceção para `ProductException`.
…y annotations from repository and service interfaces - **Anotações Removidas:** As anotações `@Repository` e `@Service` foram removidas das interfaces `ProductReader`, `ProductWriter`, `ProductPersistenceContract` e da classe `ProductService`.
…de domínio e recursos relacionados para o pacote "app" - Uma grande reestruturação dos pacotes foi realizada onde as classes de domínio e outros recursos relacionados foram movidos para o namespace "app". - As classes que anteriormente estavam diretamente sob o namespace "hexagonal" agora são colocadas em "hexagonal.app". - Esta reorganização é necessária para manter a modularidade e a gerenciabilidade e adere aos princípios da arquitetura hexagonal. - Os imports necessários também foram atualizados para garantir consistência e compatibilidade.
…ência H2 e para testes de integracao - Neste commit, o banco de dados H2 é adicionado como uma nova dependência de teste no arquivo pom.xml. - Em seguida, é criada uma classe ProductEntityMapper para auxiliar na mapeação entre Product e ProductContract. - Além disso, o repositório de produtos (ProductRepository) foi aprimorado para lidar com casos nulos tanto na busca quanto na gravação de produtos. - Por fim, um novo teste de integração para o ProductRepository foi adicionado para validar as alterações.
…ntityService e testes, atualiza ProductRepository e adiciona ProductRequest/Response - **Adicione ProdutoEntityService e testes**: Esse commit introduz ProdutoEntityService que inclui a lógica de negócios para lidar com os produtos e os testes relacionados. - **Atualização do ProdutoRepositório**: Foram realizadas pequenas atualizações no Produto e no ProdutoRepository para lidar com possíveis problemas com valores nulos e para melhorar o manuseio dos IDs únicos de produtos. - **Adicione ProdutoRequisição/Resposta**: Ele também inclui a criação de classes ProdutoRequeste ProdutoResponseto para facilitar o tratamento de solicitações/respostas dentro do serviço. - **Manipulação de exceções apropriadas**: A manipulação de exceções adequada foi adicionada para lidar com os casos em que o mapeamento entre as classes falha.
… classes to adapters directory - The mapping classes, including `ProductEntityMapper`, `ProductMapper`, `MapperStrategy`, `BuilderMapper`, have been moved from the 'app' directory to the 'adapters' directory. - As a consequence, all the paths of these classes imported in other classes have been updated too. - This modification aims to maintain the architecture clean and improve the project organization.
…alidades de ativação e desativação ao ProductEntityService - **Adição de funcionalidades de ativação e desativação ao ProductEntityService** - Foram adicionados métodos para ativar e desativar produtos dentro do ProductEntityService. - **Testes Relacionados** - Os testes relacionados foram escritos em ProductEntityServiceTest. - **Atualizações no ProductEntityServiceContract e ProductController** - Essas alterações também exigiram atualizações na interface do ProductEntityServiceContract, no ProductController e nas classes de Repositório para lidar com essas novas funcionalidades. - **Melhorias na classe ProductMapper** - A classe ProductMapper foi aprimorada para acomodar essas mudanças.
…ocalizações dos pacotes web e handler - **Refatoração das localizações dos pacotes web e handler** - Este commit move as classes CorsConfig, WebSecurityConfig e OpenApiConfig do pacote 'app.infrastructure.web' para o pacote 'adapters.config.web'. - **Mover ControllerExceptionHandler** - O ControllerExceptionHandler também é movido de 'adapters.config' para 'adapters.config.handler' para se alinhar com a estrutura do projeto. - **Melhora na clareza e manutenibilidade do código** - Essa reorganização melhora a clareza e a manutenibilidade do código.
…strutura de pacotes no módulo adaptador * A estrutura de pacotes no módulo adaptador foi refatorada. * As classes relacionadas à configuração web, manipulador e modelo foram movidas do pacote de serviço geral para subpacotes `Rest`. * A refatoração melhora a clareza e a possibilidade de manutenção do código.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Solicitação de Pull Request
Status
Tipo
Descrição
Adicione as dependências PostgreSQL e spring-boot-starter-data-jpa
Atualize o arquivo application.yaml
Estas mudanças são necessárias para:
Integrar um banco de dados PostgreSQL com a aplicação Spring Boot
Utilizar o Spring Data JPA para interações com o banco de dados
Crie um arquivo docker-compose
application.yaml
foi atualizado para esclarecer os detalhes da conexão com o PostgreSQL.Adição de ProductEntity, MapperStrategy e classes relacionadas
ProductEntity e ProductMapper: Foram adicionadas as classes
ProductEntity
eProductMapper
.Implementação da Interface MapperStrategy: A interface
MapperStrategy
foi implementada.Objetivo das Mudanças: Essas mudanças visam criar um mapeamento entre o modelo de domínio e a entidade do banco de dados. A entidade do banco de dados, então, pode ser salva e recuperada usando o
ProductRepository
.Nova Exceção: Também foi adicionada uma nova mensagem de exceção para
ProductException
.@Repository
e@Service
foram removidas das interfacesProductReader
,ProductWriter
,ProductPersistenceContract
e da classeProductService
.feat/M2-7(Criar interfaces para o banco de dados) ♻️ Move as classes de domínio e recursos relacionados para o pacote "app"
feat/M2-7(Criar interfaces para o banco de dados) ✅ Adiciona a dependência H2 e para testes de integracao
feat/M2-7(Criar interfaces para o banco de dados) ✨ Adiciona ProductEntityService e testes, atualiza ProductRepository e adiciona ProductRequest/Response
Adicione ProdutoEntityService e testes: Esse commit introduz ProdutoEntityService que inclui a lógica de negócios para lidar com os produtos e os testes relacionados.
Atualização do ProdutoRepositório: Foram realizadas pequenas atualizações no Produto e no ProdutoRepository para lidar com possíveis problemas com valores nulos e para melhorar o manuseio dos IDs únicos de produtos.
Adicione ProdutoRequisição/Resposta: Ele também inclui a criação de classes ProdutoRequeste ProdutoResponseto para facilitar o tratamento de solicitações/respostas dentro do serviço.
Manipulação de exceções apropriadas: A manipulação de exceções adequada foi adicionada para lidar com os casos em que o mapeamento entre as classes falha.
feat/M2-7(Criar interfaces para o banco de dados) ♻️ Relocate mapping classes to adapters directory
The mapping classes, including
ProductEntityMapper
,ProductMapper
,MapperStrategy
,BuilderMapper
, have been moved from the 'app' directory to the 'adapters' directory.As a consequence, all the paths of these classes imported in other classes have been updated too.
This modification aims to maintain the architecture clean and improve the project organization.
feat/M2-7(Criar interfaces para o banco de dados) 🎨 Adição de funcionalidades de ativação e desativação ao ProductEntityService
Adição de funcionalidades de ativação e desativação ao ProductEntityService
Testes Relacionados
Atualizações no ProductEntityServiceContract e ProductController
Melhorias na classe ProductMapper
feat/M2-7(Criar interfaces para o banco de dados) 🎨 Refatoração das localizações dos pacotes web e handler
Refatoração das localizações dos pacotes web e handler
Mover ControllerExceptionHandler
Melhora na clareza e manutenibilidade do código
feat/M2-7(Criar interfaces para o banco de dados) ♻️ Refatoração da estrutura de pacotes no módulo adaptador
Rest
.