Skip to content

Commit af1742b

Browse files
feat: if client national id already exists in database return it instead of creating a new instance
1 parent b361a41 commit af1742b

File tree

1 file changed

+7
-3
lines changed
  • techchallenge/src/main/java/br/com/grupo63/techchallenge/core/application/usecase/client

1 file changed

+7
-3
lines changed

techchallenge/src/main/java/br/com/grupo63/techchallenge/core/application/usecase/client/ClientUseCase.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,12 @@ public ClientDTO getByNationalId(String nationalId) throws NotFoundException {
2525
}
2626

2727
@Override
28-
public ClientDTO create(@Valid ClientDTO clientDTO) {
29-
Client client = new Client();
28+
public ClientDTO create(ClientDTO clientDTO) {
29+
Client client = repository.findByNationalId(clientDTO.getNationalId()).orElse(new Client());
30+
31+
if (client.getId() != null) {
32+
return ClientDTO.toDto(client);
33+
}
3034

3135
clientDTO.fillDomain(client);
3236

@@ -46,7 +50,7 @@ public List<ClientDTO> list() {
4650
}
4751

4852
@Override
49-
public ClientDTO update(@Valid ClientDTO clientDTO, Long id) throws NotFoundException {
53+
public ClientDTO update(ClientDTO clientDTO, Long id) throws NotFoundException {
5054
Client client = repository.findByIdAndDeletedFalse(id).orElseThrow(NotFoundException::new);
5155

5256
clientDTO.fillDomain(client);

0 commit comments

Comments
 (0)