From e19967d240697e1795a1d5538bac57143a89d547 Mon Sep 17 00:00:00 2001 From: Jeffrey Malca <58093168+JeffreyMalcaQ@users.noreply.github.com> Date: Sun, 15 Mar 2026 18:08:17 -0500 Subject: [PATCH 1/3] feat: se resuelve reto de yape --- .gitignore | 2 + .idea/.gitignore | 10 +++ .idea/compiler.xml | 20 +++++ .idea/encodings.xml | 6 ++ .idea/jarRepositories.xml | 20 +++++ .idea/misc.xml | 12 +++ .idea/modules.xml | 9 +++ .idea/vcs.xml | 6 ++ .mvn/wrapper/maven-wrapper.properties | 3 + app/app.iml | 8 ++ app/pom.xml | 67 ++++++++++++++++ .../app/TransactionApplication.java | 12 +++ .../app/config/BeanConfiguration.java | 34 ++++++++ .../transaction/app/config/KafkaConfig.java | 20 +++++ .../transaction/app/config/SwaggerConfig.java | 22 ++++++ .../app/controller/TransactionController.java | 38 +++++++++ .../app/dto/CreateTransactionRequest.java | 21 +++++ .../app/dto/TransactionResponse.java | 41 ++++++++++ .../app/kafka/FraudResultConsumer.java | 47 +++++++++++ .../app/kafka/FraudResultProducer.java | 28 +++++++ .../app/kafka/TransactionProducer.java | 26 +++++++ .../app/mapper/TransactionMapper.java | 44 +++++++++++ .../app/persistence/TransactionEntity.java | 31 ++++++++ .../persistence/TransactionJpaRepository.java | 9 +++ .../TransactionRepositoryAdapter.java | 56 ++++++++++++++ app/src/main/resources/application.yaml | 12 +++ app/target/app-1.0.0.jar | Bin 0 -> 16285 bytes app/target/classes/application.yaml | 12 +++ .../app/TransactionApplication.class | Bin 0 -> 750 bytes .../app/config/BeanConfiguration.class | Bin 0 -> 1965 bytes .../transaction/app/config/KafkaConfig.class | Bin 0 -> 870 bytes .../app/config/SwaggerConfig.class | Bin 0 -> 1035 bytes .../controller/TransactionController.class | Bin 0 -> 3077 bytes .../app/dto/CreateTransactionRequest.class | Bin 0 -> 1514 bytes .../dto/TransactionResponse$StatusDto.class | Bin 0 -> 829 bytes .../app/dto/TransactionResponse$TypeDto.class | Bin 0 -> 823 bytes .../app/dto/TransactionResponse.class | Bin 0 -> 2327 bytes .../app/kafka/FraudResultConsumer.class | Bin 0 -> 1355 bytes .../app/kafka/TransactionProducer.class | Bin 0 -> 1334 bytes .../app/mapper/TransactionMapper.class | Bin 0 -> 2819 bytes .../app/persistence/TransactionEntity.class | Bin 0 -> 2459 bytes .../TransactionJpaRepository.class | Bin 0 -> 407 bytes .../TransactionRepositoryAdapter.class | Bin 0 -> 3948 bytes app/target/maven-archiver/pom.properties | 3 + .../compile/default-compile/createdFiles.lst | 15 ++++ .../compile/default-compile/inputFiles.lst | 13 ++++ core/core.iml | 8 ++ core/pom.xml | 27 +++++++ .../core/domain/enums/TransactionStatus.java | 7 ++ .../core/domain/event/FraudResultEvent.java | 18 +++++ .../core/domain/model/Transaction.java | 26 +++++++ .../core/domain/model/TransactionType.java | 27 +++++++ .../ports/input/CreateTransactionUseCase.java | 7 ++ .../ports/input/GetTransactionUseCase.java | 9 +++ .../output/TransactionEventPublisher.java | 7 ++ .../ports/output/TransactionRepository.java | 14 ++++ .../usecase/CreateTransactionService.java | 32 ++++++++ .../core/usecase/GetTransactionService.java | 20 +++++ .../UpdateTransactionStatusService.java | 16 ++++ .../CreateTransactionServiceTest.java | 45 +++++++++++ .../core/domain/enums/TransactionStatus.class | Bin 0 -> 1355 bytes .../core/domain/event/FraudResultEvent.class | Bin 0 -> 910 bytes .../core/domain/model/Transaction.class | Bin 0 -> 2522 bytes .../core/domain/model/TransactionType.class | Bin 0 -> 1762 bytes .../input/CreateTransactionUseCase.class | Bin 0 -> 308 bytes .../ports/input/GetTransactionUseCase.class | Bin 0 -> 258 bytes .../output/TransactionEventPublisher.class | Bin 0 -> 274 bytes .../ports/output/TransactionRepository.class | Bin 0 -> 552 bytes .../usecase/CreateTransactionService.class | Bin 0 -> 2002 bytes .../core/usecase/GetTransactionService.class | Bin 0 -> 1859 bytes .../UpdateTransactionStatusService.class | Bin 0 -> 875 bytes core/target/core-1.0.0.jar | Bin 0 -> 11030 bytes core/target/maven-archiver/pom.properties | 3 + .../compile/default-compile/createdFiles.lst | 11 +++ .../compile/default-compile/inputFiles.lst | 11 +++ .../default-testCompile/createdFiles.lst | 1 + .../default-testCompile/inputFiles.lst | 1 + ....usercase.CreateTransactionServiceTest.xml | 73 ++++++++++++++++++ ....usercase.CreateTransactionServiceTest.txt | 4 + .../CreateTransactionServiceTest.class | Bin 0 -> 2342 bytes pom.xml | 65 ++++++++++++++++ 81 files changed, 1079 insertions(+) create mode 100644 .idea/.gitignore create mode 100644 .idea/compiler.xml create mode 100644 .idea/encodings.xml create mode 100644 .idea/jarRepositories.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml create mode 100644 .mvn/wrapper/maven-wrapper.properties create mode 100644 app/app.iml create mode 100644 app/pom.xml create mode 100644 app/src/main/java/com/challenge/transaction/app/TransactionApplication.java create mode 100644 app/src/main/java/com/challenge/transaction/app/config/BeanConfiguration.java create mode 100644 app/src/main/java/com/challenge/transaction/app/config/KafkaConfig.java create mode 100644 app/src/main/java/com/challenge/transaction/app/config/SwaggerConfig.java create mode 100644 app/src/main/java/com/challenge/transaction/app/controller/TransactionController.java create mode 100644 app/src/main/java/com/challenge/transaction/app/dto/CreateTransactionRequest.java create mode 100644 app/src/main/java/com/challenge/transaction/app/dto/TransactionResponse.java create mode 100644 app/src/main/java/com/challenge/transaction/app/kafka/FraudResultConsumer.java create mode 100644 app/src/main/java/com/challenge/transaction/app/kafka/FraudResultProducer.java create mode 100644 app/src/main/java/com/challenge/transaction/app/kafka/TransactionProducer.java create mode 100644 app/src/main/java/com/challenge/transaction/app/mapper/TransactionMapper.java create mode 100644 app/src/main/java/com/challenge/transaction/app/persistence/TransactionEntity.java create mode 100644 app/src/main/java/com/challenge/transaction/app/persistence/TransactionJpaRepository.java create mode 100644 app/src/main/java/com/challenge/transaction/app/persistence/TransactionRepositoryAdapter.java create mode 100644 app/src/main/resources/application.yaml create mode 100644 app/target/app-1.0.0.jar create mode 100644 app/target/classes/application.yaml create mode 100644 app/target/classes/com/challenge/transaction/app/TransactionApplication.class create mode 100644 app/target/classes/com/challenge/transaction/app/config/BeanConfiguration.class create mode 100644 app/target/classes/com/challenge/transaction/app/config/KafkaConfig.class create mode 100644 app/target/classes/com/challenge/transaction/app/config/SwaggerConfig.class create mode 100644 app/target/classes/com/challenge/transaction/app/controller/TransactionController.class create mode 100644 app/target/classes/com/challenge/transaction/app/dto/CreateTransactionRequest.class create mode 100644 app/target/classes/com/challenge/transaction/app/dto/TransactionResponse$StatusDto.class create mode 100644 app/target/classes/com/challenge/transaction/app/dto/TransactionResponse$TypeDto.class create mode 100644 app/target/classes/com/challenge/transaction/app/dto/TransactionResponse.class create mode 100644 app/target/classes/com/challenge/transaction/app/kafka/FraudResultConsumer.class create mode 100644 app/target/classes/com/challenge/transaction/app/kafka/TransactionProducer.class create mode 100644 app/target/classes/com/challenge/transaction/app/mapper/TransactionMapper.class create mode 100644 app/target/classes/com/challenge/transaction/app/persistence/TransactionEntity.class create mode 100644 app/target/classes/com/challenge/transaction/app/persistence/TransactionJpaRepository.class create mode 100644 app/target/classes/com/challenge/transaction/app/persistence/TransactionRepositoryAdapter.class create mode 100644 app/target/maven-archiver/pom.properties create mode 100644 app/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst create mode 100644 app/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst create mode 100644 core/core.iml create mode 100644 core/pom.xml create mode 100644 core/src/main/java/com/challenge/transaction/core/domain/enums/TransactionStatus.java create mode 100644 core/src/main/java/com/challenge/transaction/core/domain/event/FraudResultEvent.java create mode 100644 core/src/main/java/com/challenge/transaction/core/domain/model/Transaction.java create mode 100644 core/src/main/java/com/challenge/transaction/core/domain/model/TransactionType.java create mode 100644 core/src/main/java/com/challenge/transaction/core/ports/input/CreateTransactionUseCase.java create mode 100644 core/src/main/java/com/challenge/transaction/core/ports/input/GetTransactionUseCase.java create mode 100644 core/src/main/java/com/challenge/transaction/core/ports/output/TransactionEventPublisher.java create mode 100644 core/src/main/java/com/challenge/transaction/core/ports/output/TransactionRepository.java create mode 100644 core/src/main/java/com/challenge/transaction/core/usecase/CreateTransactionService.java create mode 100644 core/src/main/java/com/challenge/transaction/core/usecase/GetTransactionService.java create mode 100644 core/src/main/java/com/challenge/transaction/core/usecase/UpdateTransactionStatusService.java create mode 100644 core/src/test/java/com/challenge/transaction/core/usercase/CreateTransactionServiceTest.java create mode 100644 core/target/classes/com/challenge/transaction/core/domain/enums/TransactionStatus.class create mode 100644 core/target/classes/com/challenge/transaction/core/domain/event/FraudResultEvent.class create mode 100644 core/target/classes/com/challenge/transaction/core/domain/model/Transaction.class create mode 100644 core/target/classes/com/challenge/transaction/core/domain/model/TransactionType.class create mode 100644 core/target/classes/com/challenge/transaction/core/ports/input/CreateTransactionUseCase.class create mode 100644 core/target/classes/com/challenge/transaction/core/ports/input/GetTransactionUseCase.class create mode 100644 core/target/classes/com/challenge/transaction/core/ports/output/TransactionEventPublisher.class create mode 100644 core/target/classes/com/challenge/transaction/core/ports/output/TransactionRepository.class create mode 100644 core/target/classes/com/challenge/transaction/core/usecase/CreateTransactionService.class create mode 100644 core/target/classes/com/challenge/transaction/core/usecase/GetTransactionService.class create mode 100644 core/target/classes/com/challenge/transaction/core/usecase/UpdateTransactionStatusService.class create mode 100644 core/target/core-1.0.0.jar create mode 100644 core/target/maven-archiver/pom.properties create mode 100644 core/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst create mode 100644 core/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst create mode 100644 core/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst create mode 100644 core/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst create mode 100644 core/target/surefire-reports/TEST-com.challenge.transaction.core.usercase.CreateTransactionServiceTest.xml create mode 100644 core/target/surefire-reports/com.challenge.transaction.core.usercase.CreateTransactionServiceTest.txt create mode 100644 core/target/test-classes/com/challenge/transaction/core/usercase/CreateTransactionServiceTest.class create mode 100644 pom.xml diff --git a/.gitignore b/.gitignore index 67045665db..a714fbcea8 100644 --- a/.gitignore +++ b/.gitignore @@ -102,3 +102,5 @@ dist # TernJS port file .tern-port + +.iml diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000000..ab1f4164ed --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,10 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Ignored default folder with query files +/queries/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml +# Editor-based HTTP Client requests +/httpRequests/ diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000000..40c03a4e0e --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000000..63e9001932 --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml new file mode 100644 index 0000000000..712ab9d985 --- /dev/null +++ b/.idea/jarRepositories.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000000..9dc782bb2d --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,12 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000000..966e525331 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000000..35eb1ddfbb --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties new file mode 100644 index 0000000000..8dea6c227c --- /dev/null +++ b/.mvn/wrapper/maven-wrapper.properties @@ -0,0 +1,3 @@ +wrapperVersion=3.3.4 +distributionType=only-script +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.12/apache-maven-3.9.12-bin.zip diff --git a/app/app.iml b/app/app.iml new file mode 100644 index 0000000000..a80f8afc3c --- /dev/null +++ b/app/app.iml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/app/pom.xml b/app/pom.xml new file mode 100644 index 0000000000..d2419608cf --- /dev/null +++ b/app/pom.xml @@ -0,0 +1,67 @@ + + 4.0.0 + + + com.yape.challenge + transaction-system + 1.0.0 + + + app + + + + com.yape.challenge + core + 1.0.0 + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-validation + + + org.springframework.boot + spring-boot-starter-data-jpa + + + org.postgresql + postgresql + + + org.springframework.kafka + spring-kafka + + + org.springdoc + springdoc-openapi-starter-webmvc-ui + 2.5.0 + + + org.mapstruct + mapstruct + ${mapstruct.version} + + + org.projectlombok + lombok + ${lombok.version} + provided + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + \ No newline at end of file diff --git a/app/src/main/java/com/challenge/transaction/app/TransactionApplication.java b/app/src/main/java/com/challenge/transaction/app/TransactionApplication.java new file mode 100644 index 0000000000..2d6ac21920 --- /dev/null +++ b/app/src/main/java/com/challenge/transaction/app/TransactionApplication.java @@ -0,0 +1,12 @@ +package com.challenge.transaction.app; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class TransactionApplication { + + public static void main(String[] args) { + SpringApplication.run(TransactionApplication.class, args); + } +} diff --git a/app/src/main/java/com/challenge/transaction/app/config/BeanConfiguration.java b/app/src/main/java/com/challenge/transaction/app/config/BeanConfiguration.java new file mode 100644 index 0000000000..1f4fffac94 --- /dev/null +++ b/app/src/main/java/com/challenge/transaction/app/config/BeanConfiguration.java @@ -0,0 +1,34 @@ +package com.challenge.transaction.app.config; + +import com.challenge.transaction.core.ports.input.CreateTransactionUseCase; +import com.challenge.transaction.core.ports.input.GetTransactionUseCase; +import com.challenge.transaction.core.ports.output.TransactionEventPublisher; +import com.challenge.transaction.core.ports.output.TransactionRepository; +import com.challenge.transaction.core.usecase.CreateTransactionService; +import com.challenge.transaction.core.usecase.GetTransactionService; +import com.challenge.transaction.core.usecase.UpdateTransactionStatusService; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class BeanConfiguration { + + @Bean + public CreateTransactionUseCase createTransactionUseCase( + TransactionRepository repository, + TransactionEventPublisher publisher) { + return new CreateTransactionService(repository, publisher); + } + + @Bean + public GetTransactionUseCase getTransactionUseCase( + TransactionRepository repository) { + return new GetTransactionService(repository); + } + + @Bean + public UpdateTransactionStatusService updateTransactionStatusService( + TransactionRepository repository) { + return new UpdateTransactionStatusService(repository); + } +} diff --git a/app/src/main/java/com/challenge/transaction/app/config/KafkaConfig.java b/app/src/main/java/com/challenge/transaction/app/config/KafkaConfig.java new file mode 100644 index 0000000000..2466985636 --- /dev/null +++ b/app/src/main/java/com/challenge/transaction/app/config/KafkaConfig.java @@ -0,0 +1,20 @@ +package com.challenge.transaction.app.config; + +import org.apache.kafka.clients.admin.NewTopic; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class KafkaConfig { + + @Bean + public NewTopic transactionCreatedTopic() { + return new NewTopic("transaction-created", 3, (short) 1); + } + + @Bean + public NewTopic transactionValidatedTopic() { + return new NewTopic("transaction-validated", 3, (short) 1); + } + +} \ No newline at end of file diff --git a/app/src/main/java/com/challenge/transaction/app/config/SwaggerConfig.java b/app/src/main/java/com/challenge/transaction/app/config/SwaggerConfig.java new file mode 100644 index 0000000000..ed7f13584f --- /dev/null +++ b/app/src/main/java/com/challenge/transaction/app/config/SwaggerConfig.java @@ -0,0 +1,22 @@ +package com.challenge.transaction.app.config; + +import io.swagger.v3.oas.models.OpenAPI; +import io.swagger.v3.oas.models.info.Info; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class SwaggerConfig { + + @Bean + public OpenAPI transactionApi() { + + return new OpenAPI() + .info(new Info() + .title("Transaction API") + .description("Reto de Yape") + .version("1.0")); + + } + +} diff --git a/app/src/main/java/com/challenge/transaction/app/controller/TransactionController.java b/app/src/main/java/com/challenge/transaction/app/controller/TransactionController.java new file mode 100644 index 0000000000..7dc457c9b0 --- /dev/null +++ b/app/src/main/java/com/challenge/transaction/app/controller/TransactionController.java @@ -0,0 +1,38 @@ +package com.challenge.transaction.app.controller; + +import com.challenge.transaction.app.dto.CreateTransactionRequest; +import com.challenge.transaction.app.dto.TransactionResponse; +import com.challenge.transaction.app.mapper.TransactionMapper; +import com.challenge.transaction.core.domain.model.Transaction; +import com.challenge.transaction.core.ports.input.CreateTransactionUseCase; +import com.challenge.transaction.core.ports.input.GetTransactionUseCase; +import lombok.AllArgsConstructor; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +import java.util.UUID; + +@RestController +@RequestMapping("/transactions") +@AllArgsConstructor +public class TransactionController { + + private final CreateTransactionUseCase createUseCase; + private final GetTransactionUseCase getUseCase; + + @PostMapping + public ResponseEntity create( + @RequestBody CreateTransactionRequest request) { + Transaction transaction = TransactionMapper.MAPPER.toDomain(request); + Transaction saved = createUseCase.create(transaction); + + return ResponseEntity.ok(TransactionMapper.MAPPER.toResponse(saved)); + } + + @GetMapping("/{id}") + public ResponseEntity get(@PathVariable UUID id) { + Transaction transaction = getUseCase.get(id); + + return ResponseEntity.ok(TransactionMapper.MAPPER.toResponse(transaction)); + } +} diff --git a/app/src/main/java/com/challenge/transaction/app/dto/CreateTransactionRequest.java b/app/src/main/java/com/challenge/transaction/app/dto/CreateTransactionRequest.java new file mode 100644 index 0000000000..33f38feb08 --- /dev/null +++ b/app/src/main/java/com/challenge/transaction/app/dto/CreateTransactionRequest.java @@ -0,0 +1,21 @@ +package com.challenge.transaction.app.dto; + +import lombok.Getter; +import lombok.Setter; + +import java.io.Serial; +import java.io.Serializable; +import java.util.UUID; + +@Getter +@Setter +public class CreateTransactionRequest implements Serializable { + + @Serial + private static final long serialVersionUID = 3741074636662158145L; + + private UUID accountExternalIdDebit; + private UUID accountExternalIdCredit; + private Integer transferTypeId; + private Double value; +} diff --git a/app/src/main/java/com/challenge/transaction/app/dto/TransactionResponse.java b/app/src/main/java/com/challenge/transaction/app/dto/TransactionResponse.java new file mode 100644 index 0000000000..52ffd1a52a --- /dev/null +++ b/app/src/main/java/com/challenge/transaction/app/dto/TransactionResponse.java @@ -0,0 +1,41 @@ +package com.challenge.transaction.app.dto; + +import lombok.Getter; +import lombok.Setter; + +import java.io.Serial; +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.UUID; + +@Getter +@Setter +public class TransactionResponse implements Serializable { + + @Serial + private static final long serialVersionUID = -5230394309771679808L; + + private UUID transactionExternalId; + private TypeDto transactionType; + private StatusDto transactionStatus; + private Double value; + private LocalDateTime createdAt; + + @Getter + @Setter + public static class StatusDto implements Serializable { + @Serial + private static final long serialVersionUID = 3144852181997944515L; + + private String name; + } + + @Getter + @Setter + public static class TypeDto implements Serializable { + @Serial + private static final long serialVersionUID = -5686189229013063853L; + + private String name; + } +} diff --git a/app/src/main/java/com/challenge/transaction/app/kafka/FraudResultConsumer.java b/app/src/main/java/com/challenge/transaction/app/kafka/FraudResultConsumer.java new file mode 100644 index 0000000000..ed95ac3967 --- /dev/null +++ b/app/src/main/java/com/challenge/transaction/app/kafka/FraudResultConsumer.java @@ -0,0 +1,47 @@ +package com.challenge.transaction.app.kafka; + +import com.challenge.transaction.core.domain.enums.TransactionStatus; +import com.challenge.transaction.core.domain.event.FraudResultEvent; +import com.challenge.transaction.core.domain.model.Transaction; +import com.challenge.transaction.core.usecase.UpdateTransactionStatusService; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.kafka.annotation.KafkaListener; +import org.springframework.stereotype.Component; + +import java.util.UUID; + +@Slf4j +@Component +@AllArgsConstructor +public class FraudResultConsumer { + private final UpdateTransactionStatusService service; + private final FraudResultProducer producer; + + @KafkaListener(topics = "transaction-created") + public void consume(Transaction transaction) { + String status; + + if (transaction.getValue() > 1000) { + status = TransactionStatus.REJECTED.name(); + } else { + status = TransactionStatus.APPROVED.name(); + } + + producer.publish(transaction.getTransactionExternalId().toString(), status); + } + + @KafkaListener(topics = "transaction-validated") + public void consume(FraudResultEvent event) { + log.info("[TRANSACTION-VALIDATED] init..."); + log.info("[TRANSACTION-VALIDATED] transactionId: {}",event.getTransactionId()); + + service.updateStatus( + UUID.fromString(event.getTransactionId()), + event.getStatus() + ); + + log.info("[TRANSACTION-VALIDATED] finished."); + } + +} diff --git a/app/src/main/java/com/challenge/transaction/app/kafka/FraudResultProducer.java b/app/src/main/java/com/challenge/transaction/app/kafka/FraudResultProducer.java new file mode 100644 index 0000000000..04c46dc5d8 --- /dev/null +++ b/app/src/main/java/com/challenge/transaction/app/kafka/FraudResultProducer.java @@ -0,0 +1,28 @@ +package com.challenge.transaction.app.kafka; + +import com.challenge.transaction.core.domain.event.FraudResultEvent; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.kafka.core.KafkaTemplate; +import org.springframework.stereotype.Component; + +@Slf4j +@Component +@RequiredArgsConstructor +public class FraudResultProducer { + + private final KafkaTemplate kafkaTemplate; + + public void publish(String transactionId, String status) { + log.info("[FRAUD-VALIDATION] init..."); + log.info("[FRAUD-VALIDATION] transactionId = {}", transactionId); + + FraudResultEvent event = new FraudResultEvent(); + event.setTransactionId(transactionId); + event.setStatus(status); + + kafkaTemplate.send("transaction-validated", event); + + log.info("[FRAUD-VALIDATION] valid finish."); + } +} diff --git a/app/src/main/java/com/challenge/transaction/app/kafka/TransactionProducer.java b/app/src/main/java/com/challenge/transaction/app/kafka/TransactionProducer.java new file mode 100644 index 0000000000..ed17ca726f --- /dev/null +++ b/app/src/main/java/com/challenge/transaction/app/kafka/TransactionProducer.java @@ -0,0 +1,26 @@ +package com.challenge.transaction.app.kafka; + +import com.challenge.transaction.core.domain.model.Transaction; +import com.challenge.transaction.core.ports.output.TransactionEventPublisher; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.kafka.core.KafkaTemplate; +import org.springframework.stereotype.Component; + +@Slf4j +@Component +@AllArgsConstructor +public class TransactionProducer implements TransactionEventPublisher { + + private final KafkaTemplate kafkaTemplate; + + @Override + public void publishTransactionCreated(Transaction transaction) { + log.info("[TRANSACTION-SEND] init..."); + log.info("[TRANSACTION-SEND] transactionId: {}", transaction.getTransactionExternalId()); + + kafkaTemplate.send("transaction-created", transaction); + + log.info("[TRANSACTION-SEND] init..."); + } +} diff --git a/app/src/main/java/com/challenge/transaction/app/mapper/TransactionMapper.java b/app/src/main/java/com/challenge/transaction/app/mapper/TransactionMapper.java new file mode 100644 index 0000000000..1a4802b0cd --- /dev/null +++ b/app/src/main/java/com/challenge/transaction/app/mapper/TransactionMapper.java @@ -0,0 +1,44 @@ +package com.challenge.transaction.app.mapper; + +import com.challenge.transaction.app.dto.CreateTransactionRequest; +import com.challenge.transaction.app.dto.TransactionResponse; +import com.challenge.transaction.core.domain.enums.TransactionStatus; +import com.challenge.transaction.core.domain.model.Transaction; +import com.challenge.transaction.core.domain.model.TransactionType; +import org.mapstruct.Mapping; +import org.mapstruct.Named; +import org.mapstruct.factory.Mappers; +import org.springframework.stereotype.Component; + +@Component +public interface TransactionMapper { + TransactionMapper MAPPER = Mappers.getMapper(TransactionMapper.class); + + @Mapping(target = "transactionType", source = "transferTypeId", qualifiedByName = "toTransactionType") + Transaction toDomain(CreateTransactionRequest request); + + @Mapping(target = "transactionStatus", source = "status", qualifiedByName = "toTransactionStatus") + @Mapping(target = "transactionType", source = "transactionType", qualifiedByName = "toTransactionTypeName") + TransactionResponse toResponse(Transaction transaction); + + @Named("toTransactionStatus") + default TransactionResponse.StatusDto toTransactionStatus(TransactionStatus status) { + TransactionResponse.StatusDto statusDto = new TransactionResponse.StatusDto(); + statusDto.setName(status.name()); + + return statusDto; + } + + @Named("toTransactionType") + default TransactionType toTransactionType(Integer transferTypeId) { + return TransactionType.fromId(transferTypeId); + } + + @Named("toTransactionTypeName") + default TransactionResponse.TypeDto toTransactionTypeName(TransactionType transactionType) { + TransactionResponse.TypeDto typeDto = new TransactionResponse.TypeDto(); + typeDto.setName(transactionType.name()); + + return typeDto; + } +} diff --git a/app/src/main/java/com/challenge/transaction/app/persistence/TransactionEntity.java b/app/src/main/java/com/challenge/transaction/app/persistence/TransactionEntity.java new file mode 100644 index 0000000000..d0064a4d3c --- /dev/null +++ b/app/src/main/java/com/challenge/transaction/app/persistence/TransactionEntity.java @@ -0,0 +1,31 @@ +package com.challenge.transaction.app.persistence; + +import jakarta.persistence.Entity; +import jakarta.persistence.Table; +import lombok.Getter; +import lombok.Setter; +import org.springframework.data.annotation.Id; + +import java.io.Serial; +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.UUID; + +@Entity +@Table(name = "transactions") +@Getter +@Setter +public class TransactionEntity implements Serializable { + + @Serial + private static final long serialVersionUID = 4397230746145932537L; + + @Id + private UUID transactionExternalId; + private UUID accountExternalIdDebit; + private UUID accountExternalIdCredit; + private Integer transferTypeId; + private Double value; + private String status; + private LocalDateTime createdAt; +} diff --git a/app/src/main/java/com/challenge/transaction/app/persistence/TransactionJpaRepository.java b/app/src/main/java/com/challenge/transaction/app/persistence/TransactionJpaRepository.java new file mode 100644 index 0000000000..47a1fec50d --- /dev/null +++ b/app/src/main/java/com/challenge/transaction/app/persistence/TransactionJpaRepository.java @@ -0,0 +1,9 @@ +package com.challenge.transaction.app.persistence; + +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.UUID; + +public interface TransactionJpaRepository + extends JpaRepository { +} diff --git a/app/src/main/java/com/challenge/transaction/app/persistence/TransactionRepositoryAdapter.java b/app/src/main/java/com/challenge/transaction/app/persistence/TransactionRepositoryAdapter.java new file mode 100644 index 0000000000..366303ddbb --- /dev/null +++ b/app/src/main/java/com/challenge/transaction/app/persistence/TransactionRepositoryAdapter.java @@ -0,0 +1,56 @@ +package com.challenge.transaction.app.persistence; + +import com.challenge.transaction.core.domain.enums.TransactionStatus; +import com.challenge.transaction.core.domain.model.Transaction; +import com.challenge.transaction.core.ports.output.TransactionRepository; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.util.Optional; +import java.util.UUID; + +@Slf4j +@Component +@AllArgsConstructor +public class TransactionRepositoryAdapter implements TransactionRepository { + + private final TransactionJpaRepository repository; + + @Override + public Transaction save(Transaction transaction) { + log.info("[TRANSACTION-SAVE] init..."); + TransactionEntity entity = new TransactionEntity(); + + entity.setTransactionExternalId(transaction.getTransactionExternalId()); + entity.setValue(transaction.getValue()); + entity.setStatus(transaction.getStatus().name()); + entity.setCreatedAt(transaction.getCreatedAt()); + + repository.save(entity); + + log.info("[TRANSACTION-SAVE] transactionExternalId: {}", transaction.getTransactionExternalId()); + log.info("[TRANSACTION-SAVE] end."); + + return transaction; + } + + @Override + public Optional findByExternalId(UUID id) { + return repository.findById(id).map(e -> { + Transaction t = new Transaction(); + t.setTransactionExternalId(e.getTransactionExternalId()); + t.setValue(e.getValue()); + return t; + }); + } + + @Override + public void updateStatus(UUID id, String status) { + + repository.findById(id).ifPresent(entity -> { + entity.setStatus(status); + repository.save(entity); + }); + } +} diff --git a/app/src/main/resources/application.yaml b/app/src/main/resources/application.yaml new file mode 100644 index 0000000000..dd5427c466 --- /dev/null +++ b/app/src/main/resources/application.yaml @@ -0,0 +1,12 @@ +spring: + datasource: + url: jdbc:postgresql://localhost:5432/transactions + username: postgres + password: postgres + + jpa: + hibernate: + ddl-auto: update + + kafka: + bootstrap-servers: localhost:9092 \ No newline at end of file diff --git a/app/target/app-1.0.0.jar b/app/target/app-1.0.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..0e3b9c5e876c8b989b976bd2d7bcb6001d9df59b GIT binary patch literal 16285 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 E0j6ikjsO4v literal 0 HcmV?d00001 diff --git a/app/target/classes/com/challenge/transaction/app/config/BeanConfiguration.class b/app/target/classes/com/challenge/transaction/app/config/BeanConfiguration.class new file mode 100644 index 0000000000000000000000000000000000000000..2c2f01e2d2e67d624258c45e1e0459a4cd0cb922 GIT binary patch literal 1965 zcmcgtT~8B16g>ll+FJP%5Ks~PETGPtF)3=W0eooG@Rjg5U50kBo!!jNqW%J3^uOp6 zi6s62-~2ktsiMCl83s#A%ePUzEX{@}*XYSe$@fHUOBm(W z&4(#lRUyOk4hnTjS74a%+Fi66$|Bi|;m>7!-wu_z(}-#!P&{s9 zI!4Xn4rXY_EbVhS@6yb05BHlHUeHcgcIFVd?S%sjv?rK~6O1>4k_4G%f>ziEcz7Ci W*uh?Jhn?vfwg-=5&iRDH9Pkg1WK{G3 literal 0 HcmV?d00001 diff --git a/app/target/classes/com/challenge/transaction/app/config/KafkaConfig.class b/app/target/classes/com/challenge/transaction/app/config/KafkaConfig.class new file mode 100644 index 0000000000000000000000000000000000000000..601cd7d8da5821980e074f2c65e65a2cecf6bf4d GIT binary patch literal 870 zcmb7CO>Yx15PeS4YzPZYQwo%?iW3Q_7;)$&2&qIuLad5Js+Bl8jH!)dHqd0~oQPAwQ(+SRZhWGo zV`#q6M!S~`^SVmcRGrdkP5dfM=sYU8N3xo2n$?L;wbM%t*OWj0p%u^6Xx(v7SXX)JQ>^YvlF&2+)= zJo;av0S#4=GhEGFI>PXz*N-k~AK~o2UmB+~73)HivO{C66W&P@wqN2D3-8!87nwS< z`P|R#)JMm~uTuU>3FEOUn&Jy9*Q(khyUe9}t-TwaifK>%-7p+nmTP78GA~6A@DLq( zU;e9u`4>j9OBtt?(Yo>Y9PBe~YS^aee*-Ptpct+Su!EbFk)^mzRlfOvfP7u}6~Tw@ vm1g4{S3gl+#Rw}H;TmI?YCOXoS{d&C1@HPF@wWbfSHrzh!F^n?JOF+I{O{Dy literal 0 HcmV?d00001 diff --git a/app/target/classes/com/challenge/transaction/app/config/SwaggerConfig.class b/app/target/classes/com/challenge/transaction/app/config/SwaggerConfig.class new file mode 100644 index 0000000000000000000000000000000000000000..62f4dfc8fa6beb6d3a760601e29106729924094c GIT binary patch literal 1035 zcmb7DZBG+H5Pp^dEyqb~6%`b@B4R=5`W9nSV^T?sB#jtLNcd!yV|y&NyO+Id@n`9m zl1SnY@JAVEuNClvirHi~GxO}sGtcgR|MB%3fCjjSG34?X_c4JP{X7hCmsf9Em8BmiM1DyG;*yS9F?T>5ovQ z+lFtF@!%m>zzjoi+X|hCFjYneSs4!{AD2;Pm`GLHkqpnP%`=Lv)G8g-SDXLtQZL{t z!^-&%iL`wc%Ajp*uq$F2ga@M2kvfu&(lsB~UE}F}nS@rwj#L42B*UZHLkGC&%Ec*^zmh@|2d`y% zHk7YbHsfz%)ZD{icy`f>LkW8}qf$qO));*nkfryCNwRmyuhUHwKs=VBs@?$KVRj pQ)yrZC0eueIp$Hu0*VMIcGj#iYPLpLN9BHY{y}Ef@he&begZ~43&8*Y literal 0 HcmV?d00001 diff --git a/app/target/classes/com/challenge/transaction/app/controller/TransactionController.class b/app/target/classes/com/challenge/transaction/app/controller/TransactionController.class new file mode 100644 index 0000000000000000000000000000000000000000..d7fbbaf923dd5314abeea2cbc67be51e9bb90ed6 GIT binary patch literal 3077 zcmcguZC4vb6nryNPT5A)ULkl1D(%|{`0$4+N92Q2>NZA<0 z7{iUKYVzuyXf&i(mt6b83q)1B%HyKd;!S!!~B9m9|+P`Y5q6m@0xbEGo|<3fJlyUn?W}$ zg*XgpzmwJ&R)!dhO^OUz9c6HaTQSDsqnu$h5c{&mF#gD`dqTH;V&TXC#}P?5=+pjD zh&rppB?yU*i1qD(qiN%rIq}h~UwE z(P)#tM)`Mc?RzR#5}PRty>}FqMCK210!@5TI>W-I|F#{NHXW0;GLKZ-ugbfwNg%U* zf{m(&tHw#Dv>N2`LBb@h>u5Qh_#{ii$|+)fqQ43ZFh_OKGS!Y2RUT9s(ciSWqv$&V zMpej1Na15@`7|R%-}zs_mJX4&P|E*`?D8SbTG*n_D~EW~!tc276V0;l3B4!D1~7{Z zE|8^*xJIpf#|p0F2DQi@KE+MiDT5i@!e_Md946q<-w0M{+`?_F(szvJd`{mx^rRUz z*64@PeYf5P_!Uhx+szQHIYRh8AtYD?@MTyTnrSx9(lHIBOPzH+NHZv4gKTFBNC#2} z$Yuy+l1A>*bMI@g0AECa?uURlzNA6JSg8vrm;Vh*`K9N`=9iyi?q?e6&|{7SobAJq g>tV=+&M@P-&>a@7c@VBFhA5_~U843@56Q#70rHEz00000 literal 0 HcmV?d00001 diff --git a/app/target/classes/com/challenge/transaction/app/dto/CreateTransactionRequest.class b/app/target/classes/com/challenge/transaction/app/dto/CreateTransactionRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..680d68067fa0affd955c2f9273e71b6ec7e93902 GIT binary patch literal 1514 zcmbVL?M@Rx6g^WYEwF`tQ3NG|pKVcA#a}>72-T#f(L|vCr`xeCS$1)EmY^@;3-}Nk zH75S>0elo+z<41`JG;I2oH=vuo$tTCegm+JhcifFB7;c-X-qNXkNFul z9q#tb=bd9=NrtH%+qLB*hKXveJ&i1;Gng?j3xi?H@=i?ah&zsOd%~1HcLQ!o+jC8R zdTMs1XYToeOL6co^Fq7|ML@(AZdqRF%E#wY_%3&v-G=Dcl*qTVics2)d3e}tY^z=8 z49u%77cZb_hpsJEO~F7BC5AaIxhva>HNE-c z=i7JZA9ooh_q;B_=3BNao`okJ64)mywmgeFZBFDw9Q`>dkL-Y9r}h6PZ!;|Qgxnor zbg^2CTg|YX1n7IrP@tsl<$$>he^`d>Wyn&kc7XgFDv6vWZNX@5rD|MStxe*R5P!u{ zGA^zX(F|!*Oj#<9)GZ9wMB-G*%)S@;mUv>TUayQAYxH41L~wY!Vh4qO>%8l(zJcv=V#jg(6Uu3Q-gViIlxhwxe{a%}lg2;lP1k z(;v`EAS94Dz>Ob;@NNQ;+MeJr_Sk;U9((-r*OzYq_OVrihk}n{fD+1t`l)y)!bIp% z_GIXiXR>V#j9g4{$Ja#5L zTKL{bJ2BeIt$`D6Y7d+t6tx&jLZi1RJaDPfqdgzD2+iEBOgNCK5{Y^*h6%&#Ha8=g zTCVl>@PI(C2sgW&-U;m@kxXT2=j^-u+WPQ=t8~pV)0TQl%l>pcl)2#n<46VTc!cV2D6za< literal 0 HcmV?d00001 diff --git a/app/target/classes/com/challenge/transaction/app/dto/TransactionResponse$TypeDto.class b/app/target/classes/com/challenge/transaction/app/dto/TransactionResponse$TypeDto.class new file mode 100644 index 0000000000000000000000000000000000000000..077b3a4b5aa1ff4650717d2dfed00101adeb70ca GIT binary patch literal 823 zcmbtS+inv<3_adlHVF$2Q5wp3?Zh|7UeS(Lv$M!k)*yEqSzyAR623s|FDEKG_D4|TKpNLZtCPI(H z52F(qJ3{$|(#pLe6xyAriVCVeY5{H_AiRvtB#e(ml1M$4p-Y9fB6iB?P)w)cku%|N z>H8?{)MzWWhM%T#-x)$ti-{yOddso{mnuEp^KpyN%-za_1DPt3s53E27+$xz8OhXg zrNe`L0=*~P>~eA^w2MSClckH+dFfYqd%#t?=7?!4J*8!THW|ruI8W5*nOG!|;N+Zm z;VimiWeKl)|JBT4&--h(J6Ahofc*3-WVD ud(0{C?0$uRx%6hvZp{&k(%G}J9(cj=Ft7Fqk8{0_P1ZGzRItv^uKoePp}2(r literal 0 HcmV?d00001 diff --git a/app/target/classes/com/challenge/transaction/app/dto/TransactionResponse.class b/app/target/classes/com/challenge/transaction/app/dto/TransactionResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..936a6c0c7a4b2ab91ae9d901de21eaddbbd4bc6b GIT binary patch literal 2327 zcmbuB+fEZv6o&s@C~aXXP}<7L0|vDPWjrBDIapdSkcx?v-f!9+7&6Q>on4~7khhv> zNW3s!d+$5=6vnluEuA)F(v%DKVP^gRp83|ARet^b{sTZ3uZI!9KnQ~xf*4{LJLTtG zH@S7Jzdbq?WyvtKW>|*YU>HcHOA&+-31L{n2sDP}vVEqPPq=9c>saWr#w~}JrD0n- zuU7SnwDn^9+B@M?ZOai12~XtqdnsxbH+L&^e8D}xE)7#ZJlxG^)Opu5jAD#o)FUc> zsFKZQp|A7jl{znN*FC0T0&#|MkNbh-vhFZs`}A+%Q`pGbuvnwPUEf|*Aub&->TCrgi zbI&YsGAHBa#X)&u5Sx|$*kl+ckA?J9g*X4PRJywYh*xKPBlTH|yjt=JU#D>^>$$$I z+j(aQler6;&S|}sH{}c(MdaGKo@qt-WSgKl|AjV@>SmTM5w%W1gW6W=iqMpEywkab zE#I$qo0@VDlY5g}qWNN8Y$`;f5D&Q7W|$8*6+L`l*K1|5W2jGK(o=Y?cC@6vB8HKD z;m9{amA?~0mSO!$^%X*n8dQH4mqh4YcP&fQawc~iL0?^{*}AArTn1r|nq&YBH!y^0 z+`?^I&ry31;12y!qjuNSL*1FWojX%ca%XBfG>?#megSBlr=3nSqdB;60rtfWyGx_G z4McH|My(Nm`$*A_A&mtZJH=lS`b;+iXp3XM;zd005l6el6TaeySn?5%cZ=h`VjYis z#EEWk!dLtlPkh8v-QuLL_$i(>#j8XpK%9ma7QZ3Xjazfo$wovIw@QV|tIECS07bZ%I76k{d^L=`lz~8J{hd}`Aqfdqw1ReX~DW%fg9LVgo)xS UY#~qUn7a;R8xgt^#ttI?07J?YkpKVy literal 0 HcmV?d00001 diff --git a/app/target/classes/com/challenge/transaction/app/kafka/FraudResultConsumer.class b/app/target/classes/com/challenge/transaction/app/kafka/FraudResultConsumer.class new file mode 100644 index 0000000000000000000000000000000000000000..dac2f832d13deb2ffdf4086a088b0d131be82b35 GIT binary patch literal 1355 zcma)6T~8B16g|U7E9(l#m!P7cprr`oS7J;F2|+MuqX~uj;M1@j%E0bSGdo-3&oWUo zKKKLtQO3L5hLVUa58b&lz4x4R@7z1T|NQ&~U<1#F(1-p!27C-6$M7OB5f6?;7)o82 z+*zSx5jbTu7mWr#5r-#&Z(EVnc4eG|Zqw*EiKJ!7$I>=cAQ@hl{|^!vD|r&jK*W;o zH)_Jky$(mk375o`7EsB<6%6I!`M3(7VXX&h%|t?JE}K%j^Afkx1BTJMbmypcY77&F zrSh?83LXkw=M`s_t`qApM)DZ-aUEj}!NY4Q!ek_033GY56XR4y4@^ z2O*t|l}#YRs<0~Ew+{#0k%}2!cH!;XswIZOtVtNwyI^FU+Fd)t%xjkT`SXZ_|+~tJp~`EosX+(@+7$Po5jTm8J+) zIxN(+Z+ceza=nt3-m93z269`a<(|G^uvgPwU?^Ug42ibVxX%sAH%-(qnkKD;d3sW2 z>2;y|OCJ@o`pCYA`?N05?gRSC0>+D9!In>v|AA|?jGtoaOXj>t-zf@31~3jE6Br?T zj7}e9|7GELhyv{h2ummu#WLB$v_7KW%15vmt7OfA(>EnvC)za9D}KlA;_^4J4quLZ bKujHc?+o9|(qI((n0)&1Bx6b=o&tXX(Yk=f literal 0 HcmV?d00001 diff --git a/app/target/classes/com/challenge/transaction/app/kafka/TransactionProducer.class b/app/target/classes/com/challenge/transaction/app/kafka/TransactionProducer.class new file mode 100644 index 0000000000000000000000000000000000000000..bb7726c33cf5d2e2d565afd1e46d72012336a10e GIT binary patch literal 1334 zcmb7^T~FIE6oy|@pb*M{vN87ky|rZ{+SN1#At44gt5^k9xpq@i42c~%4%2?tqADwc)eI9KY-OEB@80Pc2wuqC6Tfwm2)TZyJiIJ**WOyvzYjZjT zgxU!Itz(VygBi>)EEm>$5gI|Do(B(eWmGDd#}$U><4_qUQ=xhcd$r~XKjVJHRo_3b zuBM<6dDlG=p$+PTP-bQ1hgyZ1F+y2?TazYXc{dWfnazv{JS<|VjA{kTxXQ42&K{5$ zrZ=RLc9Wr0t9Qy+Vc5CY+1!pq8=Lw%vq@%)4)2^%4Xvyj$@JLyJbNJfin}rx+GBaV zQBZuL2b%%IjbyM~q0ifcW-x5jn*R{e(=nIIk9AK(MIk}GL;cvMFvCJqDzTTvU18eJ zSB7d+hdkWq5tbl9%pE(lS@rQkRqRE?ihV!^_%OZs&4W{#5lL87Vs) z5B8s}a}Ik4Iy0fzmCn`GLJLPnb=~b&YVv-jtc*oRrji`rQc7Fy4mug$_^Z;?3L~^7 z5&4nOiZ*6|2Xuifg5erHRdTuL^ imiL?G4eNYF8I@t)6xBPb{4r6V(A)%`;@OZ@1AYNKr-L~F literal 0 HcmV?d00001 diff --git a/app/target/classes/com/challenge/transaction/app/mapper/TransactionMapper.class b/app/target/classes/com/challenge/transaction/app/mapper/TransactionMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..bad98ce90a794a82c2d57aac45bed37933519653 GIT binary patch literal 2819 zcmbtWTXWk)6#mw6E!!2jI8B;11WHJ$lZJ|0N`sRouG50SNrMyImOLr;+EtMySG!Ip zFFf#zV3-LVm|^);fFkob!F>BK`IE?|%X);y^=!VWaN0jrvp5 zwz<>dhV)EFn00Bnj$w8>Mnk&BeqUDQqT@P(FYHNEcEy%-vtUT-xPTNxYRz&id6!`% zzgWv6jf{q@j*HM4)(88kyB;?hZrijRgFD@}hXso|22DNHj=^o^Ar$y?lGNL!AqnRb`l5s-2g zGq|GRs*YK_%}^K)NZW02I|^j~xI+e0P0wwY8w{KI@?zzGm?~&^CzjQ??5SA%+|41W z;AOIy!>ES$8Ey}bNm*>ujeAjC+rA`=>-a#!4IOzbGR(PNOX&*fb?ee-QboDmu@UGB zhD?jg;DO>OFbI<$Gw zaa`&*>Pe#Ra^*C)ibmB0M2j>%;+0`6(#2uf3AgLjss2X&ttR)BT-D*&^R8)IO^Y|~ z9S40gA>9a|;CxoPz1C;&;+TmC7e|Xq*nn|E;AY+oThP{pqo7$QBCva7BPIMn#V~ma zRd0LhlvH62IQVH;hy&(TZ2n___U9_$N|tDbP=+d&!*{yvLrR)S)xeOexOLO6nVzMd zLt#=rwWvHchAg~6fm3e=l+k=(D8^VD7RJ<>%qfN&1g{$H`*8Ti@)lcKDtBabGBWdf zHW_{#Hl63%(Kq`at9C&hCK@TM^%x$9fu+g7RD6EpGSZJFy;irw_jGp89}5pGRaMiG zt`BDOEj1t+u7vZb_J(P+zY*$hz83ptRzh)+4sGHd5-5?g$Fz>n zn)?In$!{3hUcPw(?F4Tv|4h;Zw&*_UYh0xdrCE&A8~8rSt_7#?zz0C*$?cb9IgKp7 zLYYn~C>KfcHC^k1Tr#ZUo6xO_JV6R+@;31jm;26Av;$&DIhhW0UOPz>7Zut+V_H#B z#CB*pf@qEqz3U^oc7pfLA-X})<_Xc#07NU;ARm|U+9_n6b7iqh_oun64=8&txEbGtu?xGBxQJnC&&=RkMKP*{{R$HHIV=S literal 0 HcmV?d00001 diff --git a/app/target/classes/com/challenge/transaction/app/persistence/TransactionEntity.class b/app/target/classes/com/challenge/transaction/app/persistence/TransactionEntity.class new file mode 100644 index 0000000000000000000000000000000000000000..92725c7aab6dead150ccb7c281f94946dc0cd374 GIT binary patch literal 2459 zcmbtUU2_vR6ukVF_RvFHpiCp}uB5~CBg_6rg3zv~H8ba_zJetJ`B z(G{_+yXMh4l^IRF;bC7eTFT%WQU4$m7PjHhDLM_c63ul#8O81CSgNkYec{nrI>%@x zhy~Z8Q-{LqgOpkx3cnQvJZ#`(AG=zSE-*T2)sT_DCt}G%`3px;sFc`k+h`mq$i#>} zWHh%EDfFOp+w?oNT_`X7r5k^v$}^~jq-~iY+w*Zi^D=0XRHh>jCh05G_Y1=T+s+5wFNF2h`rPg zqma}Qj66V4d}xKrFpRN?CK*>2lpX8b%vX`rV_l~X^c!p=Ml?vkuKr?%b2ATRK*{rBKBL@7Z9)5 z-!Zmq#B8z=^T$Sv6&o=(Y{XnZoCgo180%H+d_;ygwe<(F-z@AJR&z`kcGt0*f&c*e zB_gA*=myqN^6ymq6^9daL|$`}Z#v0ydGflG{I!$3kSCX&Yr$Mc+Bd zt9kN`&ki+Qc~-~GV_ula vvr7+Lc`D=PF)!5Q`H_Bdzgu+b1I}ibXZ3MyU@}deSibO~@45e-}`p`_rLf40x*nUQ%Im8iAD`gXckCc zH*Oeu!La7_i?i2d&KGDtZd#^)QlO!?FS{0Nur`U5hIP;c#&dR2&n*~*g0$wP?z@KN z89CpyE!}V&-I1FZpIczkGROETe31*02Sgl=N1WZ0~(gurI4T-l}06whOGG(X3G@ zNr8ntp$fXOAH7NRY3Rp*z=@~QCeUaZ#fKuE_FdDO4
!vW|Ff)Q7OSQc`$Hw^ip zhC?_kpfTi8R~o*|50e#JD|q^5QR@l#k0TVLk(k)F2-+2-`m*bA z3@;>+(Qq6m1V&cJp$@s0v4CKB#tnk8FP_qn*_o*7Vr0)K4_?%83d1ajIn&CIEU60Z zU0ph;*^7>%yiv%sv8jw|7{h6SCOTPI66mfV6>Oa=Sz&(|k0wOx49+Goq2U}}A{%N{ zsHkP@DH@Kz;mD0u6vbIo5v4~0=QUiwMRqbHmy-^Yx71swV(VaAYcEmb%7pw2AgokP zjFQ!0M{Ub16{Q;l`?7{9Otb#Xxl69}q(zT*t{7TXEG$KKqxEQ01mCP?Th**PiEHHG z>ZKC&CC7GsPq$0HQ}W{ktOX=+<_SSrR&bfVENgC*{ZF7}(zN7-QgK$gGX~oYa~tp^ zYq+L*kA7_Q7fiO1v;S901pIoD)a}#c#3PVgt;1&o*2RuLfn!ghshKsw6Ns&_j*>cc z8XjPDDIIb+e%e$zLG7?vkv9Sflgv-YsyR5BShmyVyv5eE|7Gbj&olk8KuM2b(jN)wG=!xs@IVdm{X^%6yj`xqwf#O4F zWbDCY^b85ys#mLzp}vlD^`R9IOrT)zNln`&Hz&tUMbTZcOG>RfMD6Z?>dlO2s>J#% z%B<;`ki-T_@{`%8}0NA03xTP$!@o+GyH zd!&tXUiu4m-b>>|OEcb2@s|041{eH+pO2ZZcwQ>!SGJ`IpQ^o|X>jm%8ea&UdP+RA zwEtBKU*nr3zSZy@z8BbCyA+$&4SSL2eNa7g+L+^Ymls*GzZie}C+=?~6vlYgu<`}z z^-S9KV#!(I0Ew0BGQk<57vKK)i=oN-vhmA6qW^yO_!Z&+DuFwy8fDyiGK7-h@~Ae2s78Tu*RJ_1}T$ANUi= z-}#on>wIoN1D`EuL>g;(GQPpLP2q05iMRMhxj-w+o;NHb(s`SEl;qL-Sby~nTFws+ zl#woDlN!6q*rCSVW$Y_sP)&!*c((r!BnR)}XaZLTexq#Y!44!j-^3`k(1%VwyRZja zF@Wv740Z<|?F?;IJvxe6Dxw_^b&*ROL&0*jm#P~=l7zd~13;2kyP{e$-~snlPp;i~>20y_Ty9gaoN zQ8m#KnV=$Au#re76dS8XLUdadbb~S6Y6il@4Kd9J3EQEVk=Ck_)w5C8>=C0_-K=`)F-HlhhkSt_wbs0Is&76eOk* tH~5~wP2A$BuwLT$4!^3nz9fS0;yrvA%s#>=_#C&nmg2r2@DqMP=YLBbc98%8 literal 0 HcmV?d00001 diff --git a/app/target/maven-archiver/pom.properties b/app/target/maven-archiver/pom.properties new file mode 100644 index 0000000000..68daeab7d6 --- /dev/null +++ b/app/target/maven-archiver/pom.properties @@ -0,0 +1,3 @@ +artifactId=app +groupId=com.yape.challenge +version=1.0.0 diff --git a/app/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/app/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst new file mode 100644 index 0000000000..8e3da7b6db --- /dev/null +++ b/app/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -0,0 +1,15 @@ +com\challenge\transaction\app\config\SwaggerConfig.class +com\challenge\transaction\app\mapper\TransactionMapper.class +com\challenge\transaction\app\config\KafkaConfig.class +com\challenge\transaction\app\kafka\FraudResultConsumer.class +com\challenge\transaction\app\TransactionApplication.class +com\challenge\transaction\app\dto\CreateTransactionRequest.class +com\challenge\transaction\app\controller\TransactionController.class +com\challenge\transaction\app\dto\TransactionResponse.class +com\challenge\transaction\app\persistence\TransactionEntity.class +com\challenge\transaction\app\dto\TransactionResponse$TypeDto.class +com\challenge\transaction\app\persistence\TransactionJpaRepository.class +com\challenge\transaction\app\dto\TransactionResponse$StatusDto.class +com\challenge\transaction\app\persistence\TransactionRepositoryAdapter.class +com\challenge\transaction\app\kafka\TransactionProducer.class +com\challenge\transaction\app\config\BeanConfiguration.class diff --git a/app/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/app/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst new file mode 100644 index 0000000000..621cad7b3d --- /dev/null +++ b/app/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -0,0 +1,13 @@ +C:\Users\malca\OneDrive\Documentos\Jeffrey\YAPE\app-nodejs-codechallenge\app\src\main\java\com\challenge\transaction\app\kafka\FraudResultConsumer.java +C:\Users\malca\OneDrive\Documentos\Jeffrey\YAPE\app-nodejs-codechallenge\app\src\main\java\com\challenge\transaction\app\persistence\TransactionRepositoryAdapter.java +C:\Users\malca\OneDrive\Documentos\Jeffrey\YAPE\app-nodejs-codechallenge\app\src\main\java\com\challenge\transaction\app\TransactionApplication.java +C:\Users\malca\OneDrive\Documentos\Jeffrey\YAPE\app-nodejs-codechallenge\app\src\main\java\com\challenge\transaction\app\dto\TransactionResponse.java +C:\Users\malca\OneDrive\Documentos\Jeffrey\YAPE\app-nodejs-codechallenge\app\src\main\java\com\challenge\transaction\app\config\SwaggerConfig.java +C:\Users\malca\OneDrive\Documentos\Jeffrey\YAPE\app-nodejs-codechallenge\app\src\main\java\com\challenge\transaction\app\dto\CreateTransactionRequest.java +C:\Users\malca\OneDrive\Documentos\Jeffrey\YAPE\app-nodejs-codechallenge\app\src\main\java\com\challenge\transaction\app\mapper\TransactionMapper.java +C:\Users\malca\OneDrive\Documentos\Jeffrey\YAPE\app-nodejs-codechallenge\app\src\main\java\com\challenge\transaction\app\persistence\TransactionEntity.java +C:\Users\malca\OneDrive\Documentos\Jeffrey\YAPE\app-nodejs-codechallenge\app\src\main\java\com\challenge\transaction\app\controller\TransactionController.java +C:\Users\malca\OneDrive\Documentos\Jeffrey\YAPE\app-nodejs-codechallenge\app\src\main\java\com\challenge\transaction\app\kafka\TransactionProducer.java +C:\Users\malca\OneDrive\Documentos\Jeffrey\YAPE\app-nodejs-codechallenge\app\src\main\java\com\challenge\transaction\app\config\BeanConfiguration.java +C:\Users\malca\OneDrive\Documentos\Jeffrey\YAPE\app-nodejs-codechallenge\app\src\main\java\com\challenge\transaction\app\config\KafkaConfig.java +C:\Users\malca\OneDrive\Documentos\Jeffrey\YAPE\app-nodejs-codechallenge\app\src\main\java\com\challenge\transaction\app\persistence\TransactionJpaRepository.java diff --git a/core/core.iml b/core/core.iml new file mode 100644 index 0000000000..a80f8afc3c --- /dev/null +++ b/core/core.iml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/core/pom.xml b/core/pom.xml new file mode 100644 index 0000000000..6450ff91a7 --- /dev/null +++ b/core/pom.xml @@ -0,0 +1,27 @@ + + 4.0.0 + + + com.yape.challenge + transaction-system + 1.0.0 + + + core + + + + org.projectlombok + lombok + 1.18.32 + provided + + + jakarta.validation + jakarta.validation-api + + + \ No newline at end of file diff --git a/core/src/main/java/com/challenge/transaction/core/domain/enums/TransactionStatus.java b/core/src/main/java/com/challenge/transaction/core/domain/enums/TransactionStatus.java new file mode 100644 index 0000000000..85574e9e3f --- /dev/null +++ b/core/src/main/java/com/challenge/transaction/core/domain/enums/TransactionStatus.java @@ -0,0 +1,7 @@ +package com.challenge.transaction.core.domain.enums; + +public enum TransactionStatus { + PENDING, + APPROVED, + REJECTED +} \ No newline at end of file diff --git a/core/src/main/java/com/challenge/transaction/core/domain/event/FraudResultEvent.java b/core/src/main/java/com/challenge/transaction/core/domain/event/FraudResultEvent.java new file mode 100644 index 0000000000..f90f885dc7 --- /dev/null +++ b/core/src/main/java/com/challenge/transaction/core/domain/event/FraudResultEvent.java @@ -0,0 +1,18 @@ +package com.challenge.transaction.core.domain.event; + +import lombok.Getter; +import lombok.Setter; + +import java.io.Serial; +import java.io.Serializable; + +@Getter +@Setter +public class FraudResultEvent implements Serializable { + + @Serial + private static final long serialVersionUID = 7775625147330100345L; + + private String transactionId; + private String status; +} diff --git a/core/src/main/java/com/challenge/transaction/core/domain/model/Transaction.java b/core/src/main/java/com/challenge/transaction/core/domain/model/Transaction.java new file mode 100644 index 0000000000..98752fb35d --- /dev/null +++ b/core/src/main/java/com/challenge/transaction/core/domain/model/Transaction.java @@ -0,0 +1,26 @@ +package com.challenge.transaction.core.domain.model; + +import com.challenge.transaction.core.domain.enums.TransactionStatus; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serial; +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.UUID; + +@Getter +@Setter +public class Transaction implements Serializable { + + @Serial + private static final long serialVersionUID = -1915736314429727217L; + + private UUID transactionExternalId; + private UUID accountExternalIdDebit; + private UUID accountExternalIdCredit; + private TransactionType transactionType; + private Double value; + private TransactionStatus status; + private LocalDateTime createdAt; +} diff --git a/core/src/main/java/com/challenge/transaction/core/domain/model/TransactionType.java b/core/src/main/java/com/challenge/transaction/core/domain/model/TransactionType.java new file mode 100644 index 0000000000..994115fe28 --- /dev/null +++ b/core/src/main/java/com/challenge/transaction/core/domain/model/TransactionType.java @@ -0,0 +1,27 @@ +package com.challenge.transaction.core.domain.model; + +import lombok.Getter; + +@Getter +public enum TransactionType { + + TRANSFER(1); + + private final int id; + + TransactionType(int id) { + this.id = id; + } + + public static TransactionType fromId(int id) { + + for (TransactionType type : values()) { + if (type.id == id) { + return type; + } + } + + throw new IllegalArgumentException("Tipo de transaccion no registrada"); + } + +} diff --git a/core/src/main/java/com/challenge/transaction/core/ports/input/CreateTransactionUseCase.java b/core/src/main/java/com/challenge/transaction/core/ports/input/CreateTransactionUseCase.java new file mode 100644 index 0000000000..68e9edaf32 --- /dev/null +++ b/core/src/main/java/com/challenge/transaction/core/ports/input/CreateTransactionUseCase.java @@ -0,0 +1,7 @@ +package com.challenge.transaction.core.ports.input; + +import com.challenge.transaction.core.domain.model.Transaction; + +public interface CreateTransactionUseCase { + Transaction create(Transaction transaction); +} diff --git a/core/src/main/java/com/challenge/transaction/core/ports/input/GetTransactionUseCase.java b/core/src/main/java/com/challenge/transaction/core/ports/input/GetTransactionUseCase.java new file mode 100644 index 0000000000..8d24e9db17 --- /dev/null +++ b/core/src/main/java/com/challenge/transaction/core/ports/input/GetTransactionUseCase.java @@ -0,0 +1,9 @@ +package com.challenge.transaction.core.ports.input; + +import com.challenge.transaction.core.domain.model.Transaction; + +import java.util.UUID; + +public interface GetTransactionUseCase { + Transaction get(UUID transactionExternalId); +} diff --git a/core/src/main/java/com/challenge/transaction/core/ports/output/TransactionEventPublisher.java b/core/src/main/java/com/challenge/transaction/core/ports/output/TransactionEventPublisher.java new file mode 100644 index 0000000000..492f68e3d5 --- /dev/null +++ b/core/src/main/java/com/challenge/transaction/core/ports/output/TransactionEventPublisher.java @@ -0,0 +1,7 @@ +package com.challenge.transaction.core.ports.output; + +import com.challenge.transaction.core.domain.model.Transaction; + +public interface TransactionEventPublisher { + void publishTransactionCreated(Transaction transaction); +} diff --git a/core/src/main/java/com/challenge/transaction/core/ports/output/TransactionRepository.java b/core/src/main/java/com/challenge/transaction/core/ports/output/TransactionRepository.java new file mode 100644 index 0000000000..4aae30f1c8 --- /dev/null +++ b/core/src/main/java/com/challenge/transaction/core/ports/output/TransactionRepository.java @@ -0,0 +1,14 @@ +package com.challenge.transaction.core.ports.output; + +import com.challenge.transaction.core.domain.model.Transaction; + +import java.util.Optional; +import java.util.UUID; + +public interface TransactionRepository { + Transaction save(Transaction transaction); + + Optional findByExternalId(UUID transactionExternalId); + + void updateStatus(UUID transactionExternalId, String status); +} diff --git a/core/src/main/java/com/challenge/transaction/core/usecase/CreateTransactionService.java b/core/src/main/java/com/challenge/transaction/core/usecase/CreateTransactionService.java new file mode 100644 index 0000000000..2ddfbd3cab --- /dev/null +++ b/core/src/main/java/com/challenge/transaction/core/usecase/CreateTransactionService.java @@ -0,0 +1,32 @@ +package com.challenge.transaction.core.usecase; + +import com.challenge.transaction.core.domain.enums.TransactionStatus; +import com.challenge.transaction.core.domain.model.Transaction; +import com.challenge.transaction.core.ports.input.CreateTransactionUseCase; +import com.challenge.transaction.core.ports.output.TransactionEventPublisher; +import com.challenge.transaction.core.ports.output.TransactionRepository; +import lombok.RequiredArgsConstructor; + +import java.time.LocalDateTime; +import java.util.UUID; + +@RequiredArgsConstructor +public class CreateTransactionService implements CreateTransactionUseCase { + + private final TransactionRepository repository; + private final TransactionEventPublisher publisher; + + @Override + public Transaction create(Transaction transaction) { + transaction.setTransactionExternalId(UUID.randomUUID()); + transaction.setStatus(TransactionStatus.PENDING); + transaction.setCreatedAt(LocalDateTime.now()); + + Transaction saved = repository.save(transaction); + + publisher.publishTransactionCreated(saved); + + return saved; + } + +} diff --git a/core/src/main/java/com/challenge/transaction/core/usecase/GetTransactionService.java b/core/src/main/java/com/challenge/transaction/core/usecase/GetTransactionService.java new file mode 100644 index 0000000000..83d39cd737 --- /dev/null +++ b/core/src/main/java/com/challenge/transaction/core/usecase/GetTransactionService.java @@ -0,0 +1,20 @@ +package com.challenge.transaction.core.usecase; + +import com.challenge.transaction.core.domain.model.Transaction; +import com.challenge.transaction.core.ports.input.GetTransactionUseCase; +import com.challenge.transaction.core.ports.output.TransactionRepository; +import lombok.AllArgsConstructor; + +import java.util.UUID; + +@AllArgsConstructor +public class GetTransactionService implements GetTransactionUseCase { + private final TransactionRepository repository; + + @Override + public Transaction get(UUID transactionExternalId) { + return repository.findByExternalId(transactionExternalId) + .orElseThrow(() -> new RuntimeException("Transaction not found")); + } + +} diff --git a/core/src/main/java/com/challenge/transaction/core/usecase/UpdateTransactionStatusService.java b/core/src/main/java/com/challenge/transaction/core/usecase/UpdateTransactionStatusService.java new file mode 100644 index 0000000000..4258fcf3ff --- /dev/null +++ b/core/src/main/java/com/challenge/transaction/core/usecase/UpdateTransactionStatusService.java @@ -0,0 +1,16 @@ +package com.challenge.transaction.core.usecase; + +import com.challenge.transaction.core.ports.output.TransactionRepository; +import lombok.AllArgsConstructor; + +import java.util.UUID; + +@AllArgsConstructor +public class UpdateTransactionStatusService { + + private final TransactionRepository repository; + + public void updateStatus(UUID transactionId, String status) { + repository.updateStatus(transactionId, status); + } +} diff --git a/core/src/test/java/com/challenge/transaction/core/usercase/CreateTransactionServiceTest.java b/core/src/test/java/com/challenge/transaction/core/usercase/CreateTransactionServiceTest.java new file mode 100644 index 0000000000..14f88695ea --- /dev/null +++ b/core/src/test/java/com/challenge/transaction/core/usercase/CreateTransactionServiceTest.java @@ -0,0 +1,45 @@ +package com.challenge.transaction.core.usercase; + +import com.challenge.transaction.core.domain.model.Transaction; +import com.challenge.transaction.core.ports.output.TransactionEventPublisher; +import com.challenge.transaction.core.ports.output.TransactionRepository; +import com.challenge.transaction.core.usecase.CreateTransactionService; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.junit.jupiter.MockitoExtension; + +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + +@ExtendWith(MockitoExtension.class) +class CreateTransactionServiceTest { + + @Mock + private TransactionRepository repository; + + @Mock + private TransactionEventPublisher publisher; + + @InjectMocks + private CreateTransactionService service; + + @Test + void shouldCreateTransactionAndPublishEvent() { + + Transaction transaction = new Transaction(); + transaction.setValue(100.0); + + when(repository.save(any())).thenReturn(transaction); + + Transaction result = service.create(transaction); + + verify(repository).save(any()); + verify(publisher).publishTransactionCreated(any()); + + assertNotNull(result); + } +} diff --git a/core/target/classes/com/challenge/transaction/core/domain/enums/TransactionStatus.class b/core/target/classes/com/challenge/transaction/core/domain/enums/TransactionStatus.class new file mode 100644 index 0000000000000000000000000000000000000000..93580babb445e23f9a6584334fcbed7dbe2381e2 GIT binary patch literal 1355 zcmbtT-%ry}6#nkou3IfID}qe$2cm4CR1oxGh#*XZnJ_6XAwFG79VK0xbREzBNjefC z8V%3>QO0vGGmM~5Yto*cbHDSQbH97;uixK(0$9N_9Vv$AZq%^deI5i}SoiEC=3$e& zi64cw8^xZz7d5ya+FsadH0|y4RVU#|tCE3#H4(gG!j!?S@|*JN_F1ss!~k+sf1J!&1AfTufQNN^bN9e=lahg9+|V&%B9EI4{pWx(X+~`w@}T8yeq>lEbY-sw zyxA;u1)L=I!+NQ^f*_FmV9{Zw7 zr<5A<2352!i^-6C>m~cqUX{m$NxYZ@P?LS1OxE%1AQi;KEqE_sBuY4iT(50(1BL-)AmdxYJDVV^gF5n+h#5_ac z5oXA<>D4IhlYr7hLXl*%WEEP{r=~}bG5Upm|Hq``vDk%V%BE;L^iS`sOqt6WVp^%B z*pdyEzQAz$2iT6%hT`m~ZRpO9)+RAUzZdtH!4u4NlD9g^Gv6uKx}zN9?hzE}jH}Yo orE^b{j&XvCBlL;R&p0iaucD81&Qr&ew82!T&3P;kE`_Im01J6L%m4rY literal 0 HcmV?d00001 diff --git a/core/target/classes/com/challenge/transaction/core/domain/event/FraudResultEvent.class b/core/target/classes/com/challenge/transaction/core/domain/event/FraudResultEvent.class new file mode 100644 index 0000000000000000000000000000000000000000..dd560bcb3ecee859c114a528df31240863048114 GIT binary patch literal 910 zcmbu7%We}f6o!9KE+ewlw3ZMAet* zn}7sDV!;FO4yfBc1>$%TDQ%hs5{vQpa=!DQ|Jc9&{P+prHJ(@Dq2Qw!poB8R@<<#D z9t%C>@B1SeS%&hK(#mc#6xyAzf*Yv#s0O%+fMF{#V;&ufIF@=SxlM#lMP!xHJTi&o z12Yy%b9pSa<-3W<1|MXa#rCb+V5nUJ_67`%?o7UC6QzfnPViQMC8t(St*}|@qt4LG zBbDJjnJ5vf6VZ<))t~0eP$nrA@p11B1KTH|9is`>HWYCtOGg)H=f7W`eqt!@m;qr+ zU8Uu_Y}}X0!6Z?mYa$Vcf|66>>1NR$s+3{7`#-ifsmh_W2eV!|>&KeRro9X&vfWv1}`s! zA1{P!^KgA3`~**@%CAVuBf;|ei*NAf>#pYXok_&BZs*B0!r5J2oTv7$d0Zo1p0(Wa Fv%gyMvrYg2 literal 0 HcmV?d00001 diff --git a/core/target/classes/com/challenge/transaction/core/domain/model/Transaction.class b/core/target/classes/com/challenge/transaction/core/domain/model/Transaction.class new file mode 100644 index 0000000000000000000000000000000000000000..a79d8679c9af36bc06812914208f9f0075d60473 GIT binary patch literal 2522 zcmbtU%Tg0T6g>@uBsd{R2yex=0hIBL5MF_RVx@FJ$bOh~!BCSKYciqKkMSF{O3Nx2 zet#12 zHk^I^)!rdDeTLp8%dz|whVH_2EsYe?N%U#B0F7bZbQ`*PVAwWy_POqRhSM}m-*O$@ zbUm)u-G*T~dc&=ATd#Ib8SVE5pY@JsD?3&GbD}- zyG4wH!9ApsWw*6w2Vs*MF5xnX+Vl;-)nr(WnVCDSMl&qojwFz|uV}c6YYb`AQ2{4Ujm$|uj=fdz9%yU z`mPnuC9fzbMZ9f+^X-bm`ihV=g&Zrq9yjAz0t-To2tyK2w(}|!7SVk>Zp$vPWw1+;uihBO|!ZS1^T0@D}U2ClsnBlxzk*eJIx@u(~yxn%>~-C z#6jbo)*1TJX=k)2X1;)Zlwq^9iesQ3cWBju0NlkKeKCUEqxB^C6Ote3unQe_cmazF@Kh8$ zrUVzU)CMn7Z@Q>My)(0)k&HGvBhkY_M7z<#1j1p$AIoZK;)7b18{SXc3k#N`n$Oz>==tm2u7%OhT>;Mv5Mif1Y=k9gsN=b3zq G&;J5?feHu! literal 0 HcmV?d00001 diff --git a/core/target/classes/com/challenge/transaction/core/domain/model/TransactionType.class b/core/target/classes/com/challenge/transaction/core/domain/model/TransactionType.class new file mode 100644 index 0000000000000000000000000000000000000000..4830b7a347ddadbd0156dbf2207d907982e7c2e5 GIT binary patch literal 1762 zcmbtVO>^5+6g|(9EJsmN*ZF8;5*pGJYzL~Qw0zV_a0u?;8MlEtWTwOFMOGaZS;{DK z2X-u&;cqZ(*sv%qkPID4*ZdLw0;|G#vO94hJKH0_uXFD`=iaO5KcD~h6u>6xCNct5 zH|jd>z6=5{?08NR%kWUTi64cI8^xZ}j=Ithoo>|j0%zysbmyxBZwvyu4Fg$$+|HfN z+pU}RI|A#?5qwsa)0~YlSOVtq?q>6|dP`vA^O2ldurXo6vN4G>0)`tzp(ik1DmU-T z2hs^-*m1V^?t5-hwQv>%6H_*(F(WW}0;q?*E=fI*LC@R1Cvd$qWW5#0!^7&(Mk|T^ zuu~n5pd6(B&)GPSIf3k&ANt9L!0fQAfn}q-tCI1Gjd?5xWc;>(Xjt63U}F)l(LAMc zC{QbvM@x{2ivmk0QXA}tjtn;APOs~QN&QRLJ5WuL!zF?9jgW!;_To^tEGBFS3rl!I zNh=A=oT8|_n}eYQtSHc%0_RQvHKn7O>__cSWK2xr#Vm`S?E4(XT7D;# zNiU|UUZOl!?p_>q8!Tvz>k*miD)j;rtwg$C+>!?au13d8R0OS5Zt#^_bAv&zaf1xD zhcu|ZTpNkSMpeLSMZMVdZu+Vu)Bm|EF00g;2Vx&l{L=8rI2S@;FTpSbS3o8+l-l*I(bd95h7vpiFK z@21k!Oo`Ld0274gd8!_M-s6+O`(%FuRkFFl^|yo?9Gzpl+FW_Mu5B#Le~;qI!qpr4 zoc=S4#qW@v(;t4Li68#?>j{?b7M73j`X4mWQi-#vc>z=W&ND3+nBGfN^n%+I8Lg3< zQswj$k9E$elP; zcE4N!%+XKLB4oxFY>r~Bx`T2I;wmvQ_l}JZ%B2sn;@p*Wm)cV9Qa1F(n+o*zt}Yd?v|)ka ZPo2pN*AWN;;Uyq~T^pTOLlm-s?i0XtPL2Qo literal 0 HcmV?d00001 diff --git a/core/target/classes/com/challenge/transaction/core/ports/output/TransactionEventPublisher.class b/core/target/classes/com/challenge/transaction/core/ports/output/TransactionEventPublisher.class new file mode 100644 index 0000000000000000000000000000000000000000..f2786a7084a856fb82d47eeefa0da32cbdcfe6c4 GIT binary patch literal 274 zcmaivJqp4=5QX3P7qzmrvDU^pfHopp2?~n+W;1AHvl})W4`<;4Jd_x*Fjh9hgEzzX z&Et8y16ZIJp+Q(_m$5!8W5k|>gIBgtI;76Bc3wDlJ{0WAke7iE-*$Bs8+K)E(&8*W zLW?lCsHiv*}x^Lm)J(uK}t=+vvO#qG~qKeE}5-R=fZJ literal 0 HcmV?d00001 diff --git a/core/target/classes/com/challenge/transaction/core/ports/output/TransactionRepository.class b/core/target/classes/com/challenge/transaction/core/ports/output/TransactionRepository.class new file mode 100644 index 0000000000000000000000000000000000000000..d738b5b2ecf260134a94cd78514b6be890fa8c95 GIT binary patch literal 552 zcmbV}&q@O^5Qisi?b=%ZoV_dU#XP`@P|-r6P;jmHF&o#EG+DBfVqeXJ58y+Iv+JRP zg3?>^3&ZzKe(xWzZvZfc;{;j)#>%gxdPZxtE3~A5u0ln|JE?rovh;x}=_8eq3#uK)l5 literal 0 HcmV?d00001 diff --git a/core/target/classes/com/challenge/transaction/core/usecase/CreateTransactionService.class b/core/target/classes/com/challenge/transaction/core/usecase/CreateTransactionService.class new file mode 100644 index 0000000000000000000000000000000000000000..af632e7f825aa0ed12c4fea78dbe77149066d307 GIT binary patch literal 2002 zcmbtVTT|0O6#lkcA|+TXatAG5dxLlfEQ+NqSS`p1^gT^?AWWKcl1Ht6yJ|yKT%jAv)>bjk z5VlpbYSj*fXgpCm`9mg*3+Ry$meC8DVOFzhingN~1~<34B1qd&HKALkqFFXq2ujsW zrDj#Rp=|!SWf*a|XgMgn72GyeqgZ7ai2rRhQSQM-L?rafxP&Ofle5|7rdxAb?QRHF zxDJD~URcW)*H#!7OXq^}6LML`Ach!vD5fI|OYw68C(2=rU{u1GjB!jb4Ev=JdW|b3 zOH+-!D)=Tz3>~KRhGG1uTBm>Uy}TmhDq;*Wd6~00X;-s?VWOGse`tAWzlQ4)ZpgTa zTa>JTT)7U{REH~v@Ga%t;C4gT$knjT>z1Pn%YMg@3rbPlvW25quBf}BwT!QiK{CCF zBOxIvBZV|WHo(JRM21dBZIG+ttQ9=P?o1*muy%cs@e)2GL%|)QQ{Al?y0gP=hLs@1 zc7YWd+!X6aK$Na~xG&*>jE8u{Q25VuokV3AZMxc0@+QR?7S54J>VY}TOL#0Jg9V0u zzXuG}+*V#ycDY9U?OxDLT|A{Oh$qStXp=irP`c@n>J(GA9G)Wz6Rzg>2+<)&(~BWe z(oMeR)+*fIR4WFZMEy1_tG4dR&BIQyqtk%N2GuL5RWb~{qIF=-2O+lQ6hoKCXqv1a z0!z`3MlBr|DIFQ)9*}I;N;I=0KyLUa+V)j_5&) zdW}Ng5S=d~P3tp~-g|ExebcFLVEd3#pV7CE0g{IIF`4{=snh{(hpGT2ahLHZ~ zqhx6vLpQC1kT67V&M@sp5u*v5#3YvJCU%I89P%WQ6%?>cmSd2yLOaiw44yZAS#A0f tNq)s_GPQ@PWO@(NpGYx8?=i?2qqVOEI&ush@x%1)BYvPBbkWy*@f)utT-*Qv literal 0 HcmV?d00001 diff --git a/core/target/classes/com/challenge/transaction/core/usecase/GetTransactionService.class b/core/target/classes/com/challenge/transaction/core/usecase/GetTransactionService.class new file mode 100644 index 0000000000000000000000000000000000000000..b85bd54809e1a24e9c53ad96ab587568ef2dfcc3 GIT binary patch literal 1859 zcmbtVYf}_Q6g>^d=rECG6{92(MAQWm$43&A3_)ZCrCha&1*-C~nQfqTwtH%(hseK5 zs(e&TRVtq?e^V-V9!lebwaO1Wv)z5~x%ZxX`p&EWUj75%7FLd-5B&}XJRHFw!(6Dl zez?Px$Y?q^0u z{`&gL?O@v4co^sP^C+kjWyd`XqsGv`EeykW!#3Q?R7q7ki{nU&Byds32?r-VjN%kS zeLu<@P=+C$EJdkU+e!5A3|H+`-UqD0MOuo)&;$-nGu-GwOhbMxkR37F6SyV+9f!ZdKYCFimFEK3iD5TVkRJmjhif}y@O_C|oJ zMo+*n&?L?nhFemJ2U&MhBx`&#qMdq6hdkQgiOkp4=78CeDZ_j(=^uKJDC($n^K7No zEL|3*F)TNF1^a}1Hod{%MZCM&;ZvmSsVfX;-)Ot&(z~6e9No6gl29zmoQ<)A&8Q~A zjbB~N4#;=!+q_GULiMWDz~K(M7_77lt`KpPg9XPSYo*F9w#3v&%qsP?BS+#H5?=t%G4e0I{DV&VFhkGd zg4YRpV>4|Ug9j)^9W%z{4XhvMA@aHRhcjg7o%*;Lm`;#n7%t5jNTno#6 zi{%#CvYMNVsKS~oav+btG5%Zq+zXt~^J7JRCDsU8Trcpy#}D-O=yZ`aGv>2EG literal 0 HcmV?d00001 diff --git a/core/target/classes/com/challenge/transaction/core/usecase/UpdateTransactionStatusService.class b/core/target/classes/com/challenge/transaction/core/usecase/UpdateTransactionStatusService.class new file mode 100644 index 0000000000000000000000000000000000000000..e50434359b427fca576ace0d892e5568cbbaa874 GIT binary patch literal 875 zcmbtS?MfR#6g`u~L^rGP+p29!ts(>kWAcA88IqB8C(O+yHf36~~KW$(0941rYxlW1q`J;QNhg6hCnmvEE1LF)Jm z(W_^XdKuH0DIo|^M#ymV----j>WdgUXV|MYZp5A7snZc}wa!oK!#omkk2jswaj(AL z4lsvG3G*Qqu*fj)DIRj!xlz(F6u;?MyF-S2b-&F}I5u5sNTs1;b&=k7l)V<6h+Y;O zMvAB{tj_Y$W5M-x!f-aJWAB?ooniLH2+zA@_;rzFIPtT~9F40P70hs2o#f>m)5{tW zG)-!yI@MY6yKgVh*USiZXgB9*P03ldofPFLruoyoMA-%Mbbzq-1MJ|-FO>3l@Tg_F z144uNWmK?2(e@CFRjg4)EPTK^DP_?HHof)&K8~~xDbM&p?I&hy2ajN5<)UXzd)3t; R>RC1LP8lIS5j%&^{{WSR>u&%6 literal 0 HcmV?d00001 diff --git a/core/target/core-1.0.0.jar b/core/target/core-1.0.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..05a9ee115afe3b1e694e73544e3b8c82977a5d36 GIT binary patch literal 11030 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 literal 0 HcmV?d00001 diff --git a/core/target/maven-archiver/pom.properties b/core/target/maven-archiver/pom.properties new file mode 100644 index 0000000000..5a51cd0688 --- /dev/null +++ b/core/target/maven-archiver/pom.properties @@ -0,0 +1,3 @@ +artifactId=core +groupId=com.yape.challenge +version=1.0.0 diff --git a/core/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/core/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst new file mode 100644 index 0000000000..9f36ede008 --- /dev/null +++ b/core/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -0,0 +1,11 @@ +com\challenge\transaction\core\usecase\UpdateTransactionStatusService.class +com\challenge\transaction\core\usecase\GetTransactionService.class +com\challenge\transaction\core\ports\output\TransactionRepository.class +com\challenge\transaction\core\usecase\CreateTransactionService.class +com\challenge\transaction\core\ports\input\GetTransactionUseCase.class +com\challenge\transaction\core\ports\input\CreateTransactionUseCase.class +com\challenge\transaction\core\domain\event\FraudResultEvent.class +com\challenge\transaction\core\domain\enums\TransactionStatus.class +com\challenge\transaction\core\ports\output\TransactionEventPublisher.class +com\challenge\transaction\core\domain\model\Transaction.class +com\challenge\transaction\core\domain\model\TransactionType.class diff --git a/core/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/core/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst new file mode 100644 index 0000000000..32c678faf5 --- /dev/null +++ b/core/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -0,0 +1,11 @@ +C:\Users\malca\OneDrive\Documentos\Jeffrey\YAPE\app-nodejs-codechallenge\core\src\main\java\com\challenge\transaction\core\domain\enums\TransactionStatus.java +C:\Users\malca\OneDrive\Documentos\Jeffrey\YAPE\app-nodejs-codechallenge\core\src\main\java\com\challenge\transaction\core\domain\event\FraudResultEvent.java +C:\Users\malca\OneDrive\Documentos\Jeffrey\YAPE\app-nodejs-codechallenge\core\src\main\java\com\challenge\transaction\core\ports\input\CreateTransactionUseCase.java +C:\Users\malca\OneDrive\Documentos\Jeffrey\YAPE\app-nodejs-codechallenge\core\src\main\java\com\challenge\transaction\core\ports\output\TransactionEventPublisher.java +C:\Users\malca\OneDrive\Documentos\Jeffrey\YAPE\app-nodejs-codechallenge\core\src\main\java\com\challenge\transaction\core\ports\output\TransactionRepository.java +C:\Users\malca\OneDrive\Documentos\Jeffrey\YAPE\app-nodejs-codechallenge\core\src\main\java\com\challenge\transaction\core\usecase\UpdateTransactionStatusService.java +C:\Users\malca\OneDrive\Documentos\Jeffrey\YAPE\app-nodejs-codechallenge\core\src\main\java\com\challenge\transaction\core\ports\input\GetTransactionUseCase.java +C:\Users\malca\OneDrive\Documentos\Jeffrey\YAPE\app-nodejs-codechallenge\core\src\main\java\com\challenge\transaction\core\usecase\CreateTransactionService.java +C:\Users\malca\OneDrive\Documentos\Jeffrey\YAPE\app-nodejs-codechallenge\core\src\main\java\com\challenge\transaction\core\usecase\GetTransactionService.java +C:\Users\malca\OneDrive\Documentos\Jeffrey\YAPE\app-nodejs-codechallenge\core\src\main\java\com\challenge\transaction\core\domain\model\TransactionType.java +C:\Users\malca\OneDrive\Documentos\Jeffrey\YAPE\app-nodejs-codechallenge\core\src\main\java\com\challenge\transaction\core\domain\model\Transaction.java diff --git a/core/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/core/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst new file mode 100644 index 0000000000..13e58cc0e5 --- /dev/null +++ b/core/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst @@ -0,0 +1 @@ +com\challenge\transaction\core\usercase\CreateTransactionServiceTest.class diff --git a/core/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/core/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst new file mode 100644 index 0000000000..9ae992d391 --- /dev/null +++ b/core/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst @@ -0,0 +1 @@ +C:\Users\malca\OneDrive\Documentos\Jeffrey\YAPE\app-nodejs-codechallenge\core\src\test\java\com\challenge\transaction\core\usercase\CreateTransactionServiceTest.java diff --git a/core/target/surefire-reports/TEST-com.challenge.transaction.core.usercase.CreateTransactionServiceTest.xml b/core/target/surefire-reports/TEST-com.challenge.transaction.core.usercase.CreateTransactionServiceTest.xml new file mode 100644 index 0000000000..850ee8d832 --- /dev/null +++ b/core/target/surefire-reports/TEST-com.challenge.transaction.core.usercase.CreateTransactionServiceTest.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/core/target/surefire-reports/com.challenge.transaction.core.usercase.CreateTransactionServiceTest.txt b/core/target/surefire-reports/com.challenge.transaction.core.usercase.CreateTransactionServiceTest.txt new file mode 100644 index 0000000000..c4a6400e3c --- /dev/null +++ b/core/target/surefire-reports/com.challenge.transaction.core.usercase.CreateTransactionServiceTest.txt @@ -0,0 +1,4 @@ +------------------------------------------------------------------------------- +Test set: com.challenge.transaction.core.usercase.CreateTransactionServiceTest +------------------------------------------------------------------------------- +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.970 s -- in com.challenge.transaction.core.usercase.CreateTransactionServiceTest diff --git a/core/target/test-classes/com/challenge/transaction/core/usercase/CreateTransactionServiceTest.class b/core/target/test-classes/com/challenge/transaction/core/usercase/CreateTransactionServiceTest.class new file mode 100644 index 0000000000000000000000000000000000000000..7c94631fae8b186fcdd306b0d84d33eb2982f886 GIT binary patch literal 2342 zcmbtV|5F=96#r}j9E9r^fm*AmKoJvyy{c$!gKZ;$elb7=3}UNwbJ-?~m%Gf}UerI! z8K+I_Os7BlM>)Q|B;_#DV{B%!d;8wo_iaD#y}$l`_8dSF)eKTd8yGS%j1h*j2fWQK zhr4xat9l@8#W1oWU8$}!q_eq-fl-Dlw%4@m26r6c)`g{f?grde(sM1_^MzIOnq0b8 z)2j)`+CAiEU?4qmbDu2JFN0G!ZQzWFvv}i(<&qax9l>Czgz&g>wv}flw7Ku7w9hbCofi$6E$2n0OoSFq9Hv2m|5UJP_8ZFSru1D0YP3mbTax z0VOBniBa4SZl?0Ut6HU)wc?p@6q3zbcy)=Wzfi z7N&p}Adlh&40!nb%!TE&21p_?Vu?kC1{3!U0PTP?b^-pfZQU>J|h6^5%x_K)p3glk^}p+ntzI?Br6 zljvSfu4Q(-(6`09)Wc_Xz{6PMzoct{Vd)rs;#VcyK+nT9{Z-qOszLgPqj}c9*6->^ z-RbqR=$_V4pgC}!W;Bqdl|~mB?$K$4_HSrU>GB((QTvI}wj(*{2~X4=I$5+c+J_gP zfc+k^cWKpZU=rWbYIX%s!5*D}?}(d)9AWI8Y(V`A|SyxGC@ z3m8u^mqG{G{8L;?VUHM}<{#tAMpt6x1un+qH2Y=;L@o8H>nSXCaQD!+IgFCcSz6~X zfqCRryVSrQ(#fX5p#7fd`quM%6c4bE? + 4.0.0 + + com.yape.challenge + transaction-system + 1.0.0 + pom + + + core + app + + + + 21 + 3.3.2 + 1.5.5.Final + 1.18.32 + + + + + + org.springframework.boot + spring-boot-dependencies + ${spring.boot.version} + pom + import + + + + + + + org.springframework.boot + spring-boot-starter-test + test + + + + org.mockito + mockito-junit-jupiter + test + + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.11.0 + + ${java.version} + ${java.version} + + + + + + \ No newline at end of file From 36b36e2a8e0ff78b30d76cb50b329f65b266bf2c Mon Sep 17 00:00:00 2001 From: Jeffrey Malca <58093168+JeffreyMalcaQ@users.noreply.github.com> Date: Sun, 15 Mar 2026 18:16:16 -0500 Subject: [PATCH 2/3] feat: se actualiza git ignore para elementos no necesarios --- app/pom.xml | 2 +- .../transaction/app/config/KafkaConfig.java | 3 +- app/src/main/resources/application.yaml | 2 +- app/target/app-1.0.0.jar | Bin 16285 -> 0 bytes app/target/classes/application.yaml | 12 --- .../app/TransactionApplication.class | Bin 750 -> 0 bytes .../app/config/BeanConfiguration.class | Bin 1965 -> 0 bytes .../transaction/app/config/KafkaConfig.class | Bin 870 -> 0 bytes .../app/config/SwaggerConfig.class | Bin 1035 -> 0 bytes .../controller/TransactionController.class | Bin 3077 -> 0 bytes .../app/dto/CreateTransactionRequest.class | Bin 1514 -> 0 bytes .../dto/TransactionResponse$StatusDto.class | Bin 829 -> 0 bytes .../app/dto/TransactionResponse$TypeDto.class | Bin 823 -> 0 bytes .../app/dto/TransactionResponse.class | Bin 2327 -> 0 bytes .../app/kafka/FraudResultConsumer.class | Bin 1355 -> 0 bytes .../app/kafka/TransactionProducer.class | Bin 1334 -> 0 bytes .../app/mapper/TransactionMapper.class | Bin 2819 -> 0 bytes .../app/persistence/TransactionEntity.class | Bin 2459 -> 0 bytes .../TransactionJpaRepository.class | Bin 407 -> 0 bytes .../TransactionRepositoryAdapter.class | Bin 3948 -> 0 bytes app/target/maven-archiver/pom.properties | 3 - .../compile/default-compile/createdFiles.lst | 15 ---- .../compile/default-compile/inputFiles.lst | 13 ---- core/pom.xml | 2 +- .../core/domain/enums/TransactionStatus.java | 2 +- .../core/domain/enums/TransactionStatus.class | Bin 1355 -> 0 bytes .../core/domain/event/FraudResultEvent.class | Bin 910 -> 0 bytes .../core/domain/model/Transaction.class | Bin 2522 -> 0 bytes .../core/domain/model/TransactionType.class | Bin 1762 -> 0 bytes .../input/CreateTransactionUseCase.class | Bin 308 -> 0 bytes .../ports/input/GetTransactionUseCase.class | Bin 258 -> 0 bytes .../output/TransactionEventPublisher.class | Bin 274 -> 0 bytes .../ports/output/TransactionRepository.class | Bin 552 -> 0 bytes .../usecase/CreateTransactionService.class | Bin 2002 -> 0 bytes .../core/usecase/GetTransactionService.class | Bin 1859 -> 0 bytes .../UpdateTransactionStatusService.class | Bin 875 -> 0 bytes core/target/core-1.0.0.jar | Bin 11030 -> 0 bytes core/target/maven-archiver/pom.properties | 3 - .../compile/default-compile/createdFiles.lst | 11 --- .../compile/default-compile/inputFiles.lst | 11 --- .../default-testCompile/createdFiles.lst | 1 - .../default-testCompile/inputFiles.lst | 1 - ....usercase.CreateTransactionServiceTest.xml | 73 ------------------ ....usercase.CreateTransactionServiceTest.txt | 4 - .../CreateTransactionServiceTest.class | Bin 2342 -> 0 bytes pom.xml | 2 +- 46 files changed, 6 insertions(+), 154 deletions(-) delete mode 100644 app/target/app-1.0.0.jar delete mode 100644 app/target/classes/application.yaml delete mode 100644 app/target/classes/com/challenge/transaction/app/TransactionApplication.class delete mode 100644 app/target/classes/com/challenge/transaction/app/config/BeanConfiguration.class delete mode 100644 app/target/classes/com/challenge/transaction/app/config/KafkaConfig.class delete mode 100644 app/target/classes/com/challenge/transaction/app/config/SwaggerConfig.class delete mode 100644 app/target/classes/com/challenge/transaction/app/controller/TransactionController.class delete mode 100644 app/target/classes/com/challenge/transaction/app/dto/CreateTransactionRequest.class delete mode 100644 app/target/classes/com/challenge/transaction/app/dto/TransactionResponse$StatusDto.class delete mode 100644 app/target/classes/com/challenge/transaction/app/dto/TransactionResponse$TypeDto.class delete mode 100644 app/target/classes/com/challenge/transaction/app/dto/TransactionResponse.class delete mode 100644 app/target/classes/com/challenge/transaction/app/kafka/FraudResultConsumer.class delete mode 100644 app/target/classes/com/challenge/transaction/app/kafka/TransactionProducer.class delete mode 100644 app/target/classes/com/challenge/transaction/app/mapper/TransactionMapper.class delete mode 100644 app/target/classes/com/challenge/transaction/app/persistence/TransactionEntity.class delete mode 100644 app/target/classes/com/challenge/transaction/app/persistence/TransactionJpaRepository.class delete mode 100644 app/target/classes/com/challenge/transaction/app/persistence/TransactionRepositoryAdapter.class delete mode 100644 app/target/maven-archiver/pom.properties delete mode 100644 app/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst delete mode 100644 app/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst delete mode 100644 core/target/classes/com/challenge/transaction/core/domain/enums/TransactionStatus.class delete mode 100644 core/target/classes/com/challenge/transaction/core/domain/event/FraudResultEvent.class delete mode 100644 core/target/classes/com/challenge/transaction/core/domain/model/Transaction.class delete mode 100644 core/target/classes/com/challenge/transaction/core/domain/model/TransactionType.class delete mode 100644 core/target/classes/com/challenge/transaction/core/ports/input/CreateTransactionUseCase.class delete mode 100644 core/target/classes/com/challenge/transaction/core/ports/input/GetTransactionUseCase.class delete mode 100644 core/target/classes/com/challenge/transaction/core/ports/output/TransactionEventPublisher.class delete mode 100644 core/target/classes/com/challenge/transaction/core/ports/output/TransactionRepository.class delete mode 100644 core/target/classes/com/challenge/transaction/core/usecase/CreateTransactionService.class delete mode 100644 core/target/classes/com/challenge/transaction/core/usecase/GetTransactionService.class delete mode 100644 core/target/classes/com/challenge/transaction/core/usecase/UpdateTransactionStatusService.class delete mode 100644 core/target/core-1.0.0.jar delete mode 100644 core/target/maven-archiver/pom.properties delete mode 100644 core/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst delete mode 100644 core/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst delete mode 100644 core/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst delete mode 100644 core/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst delete mode 100644 core/target/surefire-reports/TEST-com.challenge.transaction.core.usercase.CreateTransactionServiceTest.xml delete mode 100644 core/target/surefire-reports/com.challenge.transaction.core.usercase.CreateTransactionServiceTest.txt delete mode 100644 core/target/test-classes/com/challenge/transaction/core/usercase/CreateTransactionServiceTest.class diff --git a/app/pom.xml b/app/pom.xml index d2419608cf..67a3009db5 100644 --- a/app/pom.xml +++ b/app/pom.xml @@ -64,4 +64,4 @@ - \ No newline at end of file + diff --git a/app/src/main/java/com/challenge/transaction/app/config/KafkaConfig.java b/app/src/main/java/com/challenge/transaction/app/config/KafkaConfig.java index 2466985636..e8e5416cd5 100644 --- a/app/src/main/java/com/challenge/transaction/app/config/KafkaConfig.java +++ b/app/src/main/java/com/challenge/transaction/app/config/KafkaConfig.java @@ -16,5 +16,4 @@ public NewTopic transactionCreatedTopic() { public NewTopic transactionValidatedTopic() { return new NewTopic("transaction-validated", 3, (short) 1); } - -} \ No newline at end of file +} diff --git a/app/src/main/resources/application.yaml b/app/src/main/resources/application.yaml index dd5427c466..3c70d423a7 100644 --- a/app/src/main/resources/application.yaml +++ b/app/src/main/resources/application.yaml @@ -9,4 +9,4 @@ spring: ddl-auto: update kafka: - bootstrap-servers: localhost:9092 \ No newline at end of file + bootstrap-servers: localhost:9092 diff --git a/app/target/app-1.0.0.jar b/app/target/app-1.0.0.jar deleted file mode 100644 index 0e3b9c5e876c8b989b976bd2d7bcb6001d9df59b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16285 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 E0j6ikjsO4v diff --git a/app/target/classes/com/challenge/transaction/app/config/BeanConfiguration.class b/app/target/classes/com/challenge/transaction/app/config/BeanConfiguration.class deleted file mode 100644 index 2c2f01e2d2e67d624258c45e1e0459a4cd0cb922..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1965 zcmcgtT~8B16g>ll+FJP%5Ks~PETGPtF)3=W0eooG@Rjg5U50kBo!!jNqW%J3^uOp6 zi6s62-~2ktsiMCl83s#A%ePUzEX{@}*XYSe$@fHUOBm(W z&4(#lRUyOk4hnTjS74a%+Fi66$|Bi|;m>7!-wu_z(}-#!P&{s9 zI!4Xn4rXY_EbVhS@6yb05BHlHUeHcgcIFVd?S%sjv?rK~6O1>4k_4G%f>ziEcz7Ci W*uh?Jhn?vfwg-=5&iRDH9Pkg1WK{G3 diff --git a/app/target/classes/com/challenge/transaction/app/config/KafkaConfig.class b/app/target/classes/com/challenge/transaction/app/config/KafkaConfig.class deleted file mode 100644 index 601cd7d8da5821980e074f2c65e65a2cecf6bf4d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 870 zcmb7CO>Yx15PeS4YzPZYQwo%?iW3Q_7;)$&2&qIuLad5Js+Bl8jH!)dHqd0~oQPAwQ(+SRZhWGo zV`#q6M!S~`^SVmcRGrdkP5dfM=sYU8N3xo2n$?L;wbM%t*OWj0p%u^6Xx(v7SXX)JQ>^YvlF&2+)= zJo;av0S#4=GhEGFI>PXz*N-k~AK~o2UmB+~73)HivO{C66W&P@wqN2D3-8!87nwS< z`P|R#)JMm~uTuU>3FEOUn&Jy9*Q(khyUe9}t-TwaifK>%-7p+nmTP78GA~6A@DLq( zU;e9u`4>j9OBtt?(Yo>Y9PBe~YS^aee*-Ptpct+Su!EbFk)^mzRlfOvfP7u}6~Tw@ vm1g4{S3gl+#Rw}H;TmI?YCOXoS{d&C1@HPF@wWbfSHrzh!F^n?JOF+I{O{Dy diff --git a/app/target/classes/com/challenge/transaction/app/config/SwaggerConfig.class b/app/target/classes/com/challenge/transaction/app/config/SwaggerConfig.class deleted file mode 100644 index 62f4dfc8fa6beb6d3a760601e29106729924094c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1035 zcmb7DZBG+H5Pp^dEyqb~6%`b@B4R=5`W9nSV^T?sB#jtLNcd!yV|y&NyO+Id@n`9m zl1SnY@JAVEuNClvirHi~GxO}sGtcgR|MB%3fCjjSG34?X_c4JP{X7hCmsf9Em8BmiM1DyG;*yS9F?T>5ovQ z+lFtF@!%m>zzjoi+X|hCFjYneSs4!{AD2;Pm`GLHkqpnP%`=Lv)G8g-SDXLtQZL{t z!^-&%iL`wc%Ajp*uq$F2ga@M2kvfu&(lsB~UE}F}nS@rwj#L42B*UZHLkGC&%Ec*^zmh@|2d`y% zHk7YbHsfz%)ZD{icy`f>LkW8}qf$qO));*nkfryCNwRmyuhUHwKs=VBs@?$KVRj pQ)yrZC0eueIp$Hu0*VMIcGj#iYPLpLN9BHY{y}Ef@he&begZ~43&8*Y diff --git a/app/target/classes/com/challenge/transaction/app/controller/TransactionController.class b/app/target/classes/com/challenge/transaction/app/controller/TransactionController.class deleted file mode 100644 index d7fbbaf923dd5314abeea2cbc67be51e9bb90ed6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3077 zcmcguZC4vb6nryNPT5A)ULkl1D(%|{`0$4+N92Q2>NZA<0 z7{iUKYVzuyXf&i(mt6b83q)1B%HyKd;!S!!~B9m9|+P`Y5q6m@0xbEGo|<3fJlyUn?W}$ zg*XgpzmwJ&R)!dhO^OUz9c6HaTQSDsqnu$h5c{&mF#gD`dqTH;V&TXC#}P?5=+pjD zh&rppB?yU*i1qD(qiN%rIq}h~UwE z(P)#tM)`Mc?RzR#5}PRty>}FqMCK210!@5TI>W-I|F#{NHXW0;GLKZ-ugbfwNg%U* zf{m(&tHw#Dv>N2`LBb@h>u5Qh_#{ii$|+)fqQ43ZFh_OKGS!Y2RUT9s(ciSWqv$&V zMpej1Na15@`7|R%-}zs_mJX4&P|E*`?D8SbTG*n_D~EW~!tc276V0;l3B4!D1~7{Z zE|8^*xJIpf#|p0F2DQi@KE+MiDT5i@!e_Md946q<-w0M{+`?_F(szvJd`{mx^rRUz z*64@PeYf5P_!Uhx+szQHIYRh8AtYD?@MTyTnrSx9(lHIBOPzH+NHZv4gKTFBNC#2} z$Yuy+l1A>*bMI@g0AECa?uURlzNA6JSg8vrm;Vh*`K9N`=9iyi?q?e6&|{7SobAJq g>tV=+&M@P-&>a@7c@VBFhA5_~U843@56Q#70rHEz00000 diff --git a/app/target/classes/com/challenge/transaction/app/dto/CreateTransactionRequest.class b/app/target/classes/com/challenge/transaction/app/dto/CreateTransactionRequest.class deleted file mode 100644 index 680d68067fa0affd955c2f9273e71b6ec7e93902..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1514 zcmbVL?M@Rx6g^WYEwF`tQ3NG|pKVcA#a}>72-T#f(L|vCr`xeCS$1)EmY^@;3-}Nk zH75S>0elo+z<41`JG;I2oH=vuo$tTCegm+JhcifFB7;c-X-qNXkNFul z9q#tb=bd9=NrtH%+qLB*hKXveJ&i1;Gng?j3xi?H@=i?ah&zsOd%~1HcLQ!o+jC8R zdTMs1XYToeOL6co^Fq7|ML@(AZdqRF%E#wY_%3&v-G=Dcl*qTVics2)d3e}tY^z=8 z49u%77cZb_hpsJEO~F7BC5AaIxhva>HNE-c z=i7JZA9ooh_q;B_=3BNao`okJ64)mywmgeFZBFDw9Q`>dkL-Y9r}h6PZ!;|Qgxnor zbg^2CTg|YX1n7IrP@tsl<$$>he^`d>Wyn&kc7XgFDv6vWZNX@5rD|MStxe*R5P!u{ zGA^zX(F|!*Oj#<9)GZ9wMB-G*%)S@;mUv>TUayQAYxH41L~wY!Vh4qO>%8l(zJcv=V#jg(6Uu3Q-gViIlxhwxe{a%}lg2;lP1k z(;v`EAS94Dz>Ob;@NNQ;+MeJr_Sk;U9((-r*OzYq_OVrihk}n{fD+1t`l)y)!bIp% z_GIXiXR>V#j9g4{$Ja#5L zTKL{bJ2BeIt$`D6Y7d+t6tx&jLZi1RJaDPfqdgzD2+iEBOgNCK5{Y^*h6%&#Ha8=g zTCVl>@PI(C2sgW&-U;m@kxXT2=j^-u+WPQ=t8~pV)0TQl%l>pcl)2#n<46VTc!cV2D6za< diff --git a/app/target/classes/com/challenge/transaction/app/dto/TransactionResponse$TypeDto.class b/app/target/classes/com/challenge/transaction/app/dto/TransactionResponse$TypeDto.class deleted file mode 100644 index 077b3a4b5aa1ff4650717d2dfed00101adeb70ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 823 zcmbtS+inv<3_adlHVF$2Q5wp3?Zh|7UeS(Lv$M!k)*yEqSzyAR623s|FDEKG_D4|TKpNLZtCPI(H z52F(qJ3{$|(#pLe6xyAriVCVeY5{H_AiRvtB#e(ml1M$4p-Y9fB6iB?P)w)cku%|N z>H8?{)MzWWhM%T#-x)$ti-{yOddso{mnuEp^KpyN%-za_1DPt3s53E27+$xz8OhXg zrNe`L0=*~P>~eA^w2MSClckH+dFfYqd%#t?=7?!4J*8!THW|ruI8W5*nOG!|;N+Zm z;VimiWeKl)|JBT4&--h(J6Ahofc*3-WVD ud(0{C?0$uRx%6hvZp{&k(%G}J9(cj=Ft7Fqk8{0_P1ZGzRItv^uKoePp}2(r diff --git a/app/target/classes/com/challenge/transaction/app/dto/TransactionResponse.class b/app/target/classes/com/challenge/transaction/app/dto/TransactionResponse.class deleted file mode 100644 index 936a6c0c7a4b2ab91ae9d901de21eaddbbd4bc6b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2327 zcmbuB+fEZv6o&s@C~aXXP}<7L0|vDPWjrBDIapdSkcx?v-f!9+7&6Q>on4~7khhv> zNW3s!d+$5=6vnluEuA)F(v%DKVP^gRp83|ARet^b{sTZ3uZI!9KnQ~xf*4{LJLTtG zH@S7Jzdbq?WyvtKW>|*YU>HcHOA&+-31L{n2sDP}vVEqPPq=9c>saWr#w~}JrD0n- zuU7SnwDn^9+B@M?ZOai12~XtqdnsxbH+L&^e8D}xE)7#ZJlxG^)Opu5jAD#o)FUc> zsFKZQp|A7jl{znN*FC0T0&#|MkNbh-vhFZs`}A+%Q`pGbuvnwPUEf|*Aub&->TCrgi zbI&YsGAHBa#X)&u5Sx|$*kl+ckA?J9g*X4PRJywYh*xKPBlTH|yjt=JU#D>^>$$$I z+j(aQler6;&S|}sH{}c(MdaGKo@qt-WSgKl|AjV@>SmTM5w%W1gW6W=iqMpEywkab zE#I$qo0@VDlY5g}qWNN8Y$`;f5D&Q7W|$8*6+L`l*K1|5W2jGK(o=Y?cC@6vB8HKD z;m9{amA?~0mSO!$^%X*n8dQH4mqh4YcP&fQawc~iL0?^{*}AArTn1r|nq&YBH!y^0 z+`?^I&ry31;12y!qjuNSL*1FWojX%ca%XBfG>?#megSBlr=3nSqdB;60rtfWyGx_G z4McH|My(Nm`$*A_A&mtZJH=lS`b;+iXp3XM;zd005l6el6TaeySn?5%cZ=h`VjYis z#EEWk!dLtlPkh8v-QuLL_$i(>#j8XpK%9ma7QZ3Xjazfo$wovIw@QV|tIECS07bZ%I76k{d^L=`lz~8J{hd}`Aqfdqw1ReX~DW%fg9LVgo)xS UY#~qUn7a;R8xgt^#ttI?07J?YkpKVy diff --git a/app/target/classes/com/challenge/transaction/app/kafka/FraudResultConsumer.class b/app/target/classes/com/challenge/transaction/app/kafka/FraudResultConsumer.class deleted file mode 100644 index dac2f832d13deb2ffdf4086a088b0d131be82b35..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1355 zcma)6T~8B16g|U7E9(l#m!P7cprr`oS7J;F2|+MuqX~uj;M1@j%E0bSGdo-3&oWUo zKKKLtQO3L5hLVUa58b&lz4x4R@7z1T|NQ&~U<1#F(1-p!27C-6$M7OB5f6?;7)o82 z+*zSx5jbTu7mWr#5r-#&Z(EVnc4eG|Zqw*EiKJ!7$I>=cAQ@hl{|^!vD|r&jK*W;o zH)_Jky$(mk375o`7EsB<6%6I!`M3(7VXX&h%|t?JE}K%j^Afkx1BTJMbmypcY77&F zrSh?83LXkw=M`s_t`qApM)DZ-aUEj}!NY4Q!ek_033GY56XR4y4@^ z2O*t|l}#YRs<0~Ew+{#0k%}2!cH!;XswIZOtVtNwyI^FU+Fd)t%xjkT`SXZ_|+~tJp~`EosX+(@+7$Po5jTm8J+) zIxN(+Z+ceza=nt3-m93z269`a<(|G^uvgPwU?^Ug42ibVxX%sAH%-(qnkKD;d3sW2 z>2;y|OCJ@o`pCYA`?N05?gRSC0>+D9!In>v|AA|?jGtoaOXj>t-zf@31~3jE6Br?T zj7}e9|7GELhyv{h2ummu#WLB$v_7KW%15vmt7OfA(>EnvC)za9D}KlA;_^4J4quLZ bKujHc?+o9|(qI((n0)&1Bx6b=o&tXX(Yk=f diff --git a/app/target/classes/com/challenge/transaction/app/kafka/TransactionProducer.class b/app/target/classes/com/challenge/transaction/app/kafka/TransactionProducer.class deleted file mode 100644 index bb7726c33cf5d2e2d565afd1e46d72012336a10e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1334 zcmb7^T~FIE6oy|@pb*M{vN87ky|rZ{+SN1#At44gt5^k9xpq@i42c~%4%2?tqADwc)eI9KY-OEB@80Pc2wuqC6Tfwm2)TZyJiIJ**WOyvzYjZjT zgxU!Itz(VygBi>)EEm>$5gI|Do(B(eWmGDd#}$U><4_qUQ=xhcd$r~XKjVJHRo_3b zuBM<6dDlG=p$+PTP-bQ1hgyZ1F+y2?TazYXc{dWfnazv{JS<|VjA{kTxXQ42&K{5$ zrZ=RLc9Wr0t9Qy+Vc5CY+1!pq8=Lw%vq@%)4)2^%4Xvyj$@JLyJbNJfin}rx+GBaV zQBZuL2b%%IjbyM~q0ifcW-x5jn*R{e(=nIIk9AK(MIk}GL;cvMFvCJqDzTTvU18eJ zSB7d+hdkWq5tbl9%pE(lS@rQkRqRE?ihV!^_%OZs&4W{#5lL87Vs) z5B8s}a}Ik4Iy0fzmCn`GLJLPnb=~b&YVv-jtc*oRrji`rQc7Fy4mug$_^Z;?3L~^7 z5&4nOiZ*6|2Xuifg5erHRdTuL^ imiL?G4eNYF8I@t)6xBPb{4r6V(A)%`;@OZ@1AYNKr-L~F diff --git a/app/target/classes/com/challenge/transaction/app/mapper/TransactionMapper.class b/app/target/classes/com/challenge/transaction/app/mapper/TransactionMapper.class deleted file mode 100644 index bad98ce90a794a82c2d57aac45bed37933519653..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2819 zcmbtWTXWk)6#mw6E!!2jI8B;11WHJ$lZJ|0N`sRouG50SNrMyImOLr;+EtMySG!Ip zFFf#zV3-LVm|^);fFkob!F>BK`IE?|%X);y^=!VWaN0jrvp5 zwz<>dhV)EFn00Bnj$w8>Mnk&BeqUDQqT@P(FYHNEcEy%-vtUT-xPTNxYRz&id6!`% zzgWv6jf{q@j*HM4)(88kyB;?hZrijRgFD@}hXso|22DNHj=^o^Ar$y?lGNL!AqnRb`l5s-2g zGq|GRs*YK_%}^K)NZW02I|^j~xI+e0P0wwY8w{KI@?zzGm?~&^CzjQ??5SA%+|41W z;AOIy!>ES$8Ey}bNm*>ujeAjC+rA`=>-a#!4IOzbGR(PNOX&*fb?ee-QboDmu@UGB zhD?jg;DO>OFbI<$Gw zaa`&*>Pe#Ra^*C)ibmB0M2j>%;+0`6(#2uf3AgLjss2X&ttR)BT-D*&^R8)IO^Y|~ z9S40gA>9a|;CxoPz1C;&;+TmC7e|Xq*nn|E;AY+oThP{pqo7$QBCva7BPIMn#V~ma zRd0LhlvH62IQVH;hy&(TZ2n___U9_$N|tDbP=+d&!*{yvLrR)S)xeOexOLO6nVzMd zLt#=rwWvHchAg~6fm3e=l+k=(D8^VD7RJ<>%qfN&1g{$H`*8Ti@)lcKDtBabGBWdf zHW_{#Hl63%(Kq`at9C&hCK@TM^%x$9fu+g7RD6EpGSZJFy;irw_jGp89}5pGRaMiG zt`BDOEj1t+u7vZb_J(P+zY*$hz83ptRzh)+4sGHd5-5?g$Fz>n zn)?In$!{3hUcPw(?F4Tv|4h;Zw&*_UYh0xdrCE&A8~8rSt_7#?zz0C*$?cb9IgKp7 zLYYn~C>KfcHC^k1Tr#ZUo6xO_JV6R+@;31jm;26Av;$&DIhhW0UOPz>7Zut+V_H#B z#CB*pf@qEqz3U^oc7pfLA-X})<_Xc#07NU;ARm|U+9_n6b7iqh_oun64=8&txEbGtu?xGBxQJnC&&=RkMKP*{{R$HHIV=S diff --git a/app/target/classes/com/challenge/transaction/app/persistence/TransactionEntity.class b/app/target/classes/com/challenge/transaction/app/persistence/TransactionEntity.class deleted file mode 100644 index 92725c7aab6dead150ccb7c281f94946dc0cd374..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2459 zcmbtUU2_vR6ukVF_RvFHpiCp}uB5~CBg_6rg3zv~H8ba_zJetJ`B z(G{_+yXMh4l^IRF;bC7eTFT%WQU4$m7PjHhDLM_c63ul#8O81CSgNkYec{nrI>%@x zhy~Z8Q-{LqgOpkx3cnQvJZ#`(AG=zSE-*T2)sT_DCt}G%`3px;sFc`k+h`mq$i#>} zWHh%EDfFOp+w?oNT_`X7r5k^v$}^~jq-~iY+w*Zi^D=0XRHh>jCh05G_Y1=T+s+5wFNF2h`rPg zqma}Qj66V4d}xKrFpRN?CK*>2lpX8b%vX`rV_l~X^c!p=Ml?vkuKr?%b2ATRK*{rBKBL@7Z9)5 z-!Zmq#B8z=^T$Sv6&o=(Y{XnZoCgo180%H+d_;ygwe<(F-z@AJR&z`kcGt0*f&c*e zB_gA*=myqN^6ymq6^9daL|$`}Z#v0ydGflG{I!$3kSCX&Yr$Mc+Bd zt9kN`&ki+Qc~-~GV_ula vvr7+Lc`D=PF)!5Q`H_Bdzgu+b1I}ibXZ3MyU@}deSibO~@45e-}`p`_rLf40x*nUQ%Im8iAD`gXckCc zH*Oeu!La7_i?i2d&KGDtZd#^)QlO!?FS{0Nur`U5hIP;c#&dR2&n*~*g0$wP?z@KN z89CpyE!}V&-I1FZpIczkGROETe31*02Sgl=N1WZ0~(gurI4T-l}06whOGG(X3G@ zNr8ntp$fXOAH7NRY3Rp*z=@~QCeUaZ#fKuE_FdDO4
!vW|Ff)Q7OSQc`$Hw^ip zhC?_kpfTi8R~o*|50e#JD|q^5QR@l#k0TVLk(k)F2-+2-`m*bA z3@;>+(Qq6m1V&cJp$@s0v4CKB#tnk8FP_qn*_o*7Vr0)K4_?%83d1ajIn&CIEU60Z zU0ph;*^7>%yiv%sv8jw|7{h6SCOTPI66mfV6>Oa=Sz&(|k0wOx49+Goq2U}}A{%N{ zsHkP@DH@Kz;mD0u6vbIo5v4~0=QUiwMRqbHmy-^Yx71swV(VaAYcEmb%7pw2AgokP zjFQ!0M{Ub16{Q;l`?7{9Otb#Xxl69}q(zT*t{7TXEG$KKqxEQ01mCP?Th**PiEHHG z>ZKC&CC7GsPq$0HQ}W{ktOX=+<_SSrR&bfVENgC*{ZF7}(zN7-QgK$gGX~oYa~tp^ zYq+L*kA7_Q7fiO1v;S901pIoD)a}#c#3PVgt;1&o*2RuLfn!ghshKsw6Ns&_j*>cc z8XjPDDIIb+e%e$zLG7?vkv9Sflgv-YsyR5BShmyVyv5eE|7Gbj&olk8KuM2b(jN)wG=!xs@IVdm{X^%6yj`xqwf#O4F zWbDCY^b85ys#mLzp}vlD^`R9IOrT)zNln`&Hz&tUMbTZcOG>RfMD6Z?>dlO2s>J#% z%B<;`ki-T_@{`%8}0NA03xTP$!@o+GyH zd!&tXUiu4m-b>>|OEcb2@s|041{eH+pO2ZZcwQ>!SGJ`IpQ^o|X>jm%8ea&UdP+RA zwEtBKU*nr3zSZy@z8BbCyA+$&4SSL2eNa7g+L+^Ymls*GzZie}C+=?~6vlYgu<`}z z^-S9KV#!(I0Ew0BGQk<57vKK)i=oN-vhmA6qW^yO_!Z&+DuFwy8fDyiGK7-h@~Ae2s78Tu*RJ_1}T$ANUi= z-}#on>wIoN1D`EuL>g;(GQPpLP2q05iMRMhxj-w+o;NHb(s`SEl;qL-Sby~nTFws+ zl#woDlN!6q*rCSVW$Y_sP)&!*c((r!BnR)}XaZLTexq#Y!44!j-^3`k(1%VwyRZja zF@Wv740Z<|?F?;IJvxe6Dxw_^b&*ROL&0*jm#P~=l7zd~13;2kyP{e$-~snlPp;i~>20y_Ty9gaoN zQ8m#KnV=$Au#re76dS8XLUdadbb~S6Y6il@4Kd9J3EQEVk=Ck_)w5C8>=C0_-K=`)F-HlhhkSt_wbs0Is&76eOk* tH~5~wP2A$BuwLT$4!^3nz9fS0;yrvA%s#>=_#C&nmg2r2@DqMP=YLBbc98%8 diff --git a/app/target/maven-archiver/pom.properties b/app/target/maven-archiver/pom.properties deleted file mode 100644 index 68daeab7d6..0000000000 --- a/app/target/maven-archiver/pom.properties +++ /dev/null @@ -1,3 +0,0 @@ -artifactId=app -groupId=com.yape.challenge -version=1.0.0 diff --git a/app/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/app/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst deleted file mode 100644 index 8e3da7b6db..0000000000 --- a/app/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +++ /dev/null @@ -1,15 +0,0 @@ -com\challenge\transaction\app\config\SwaggerConfig.class -com\challenge\transaction\app\mapper\TransactionMapper.class -com\challenge\transaction\app\config\KafkaConfig.class -com\challenge\transaction\app\kafka\FraudResultConsumer.class -com\challenge\transaction\app\TransactionApplication.class -com\challenge\transaction\app\dto\CreateTransactionRequest.class -com\challenge\transaction\app\controller\TransactionController.class -com\challenge\transaction\app\dto\TransactionResponse.class -com\challenge\transaction\app\persistence\TransactionEntity.class -com\challenge\transaction\app\dto\TransactionResponse$TypeDto.class -com\challenge\transaction\app\persistence\TransactionJpaRepository.class -com\challenge\transaction\app\dto\TransactionResponse$StatusDto.class -com\challenge\transaction\app\persistence\TransactionRepositoryAdapter.class -com\challenge\transaction\app\kafka\TransactionProducer.class -com\challenge\transaction\app\config\BeanConfiguration.class diff --git a/app/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/app/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst deleted file mode 100644 index 621cad7b3d..0000000000 --- a/app/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +++ /dev/null @@ -1,13 +0,0 @@ -C:\Users\malca\OneDrive\Documentos\Jeffrey\YAPE\app-nodejs-codechallenge\app\src\main\java\com\challenge\transaction\app\kafka\FraudResultConsumer.java -C:\Users\malca\OneDrive\Documentos\Jeffrey\YAPE\app-nodejs-codechallenge\app\src\main\java\com\challenge\transaction\app\persistence\TransactionRepositoryAdapter.java -C:\Users\malca\OneDrive\Documentos\Jeffrey\YAPE\app-nodejs-codechallenge\app\src\main\java\com\challenge\transaction\app\TransactionApplication.java -C:\Users\malca\OneDrive\Documentos\Jeffrey\YAPE\app-nodejs-codechallenge\app\src\main\java\com\challenge\transaction\app\dto\TransactionResponse.java -C:\Users\malca\OneDrive\Documentos\Jeffrey\YAPE\app-nodejs-codechallenge\app\src\main\java\com\challenge\transaction\app\config\SwaggerConfig.java -C:\Users\malca\OneDrive\Documentos\Jeffrey\YAPE\app-nodejs-codechallenge\app\src\main\java\com\challenge\transaction\app\dto\CreateTransactionRequest.java -C:\Users\malca\OneDrive\Documentos\Jeffrey\YAPE\app-nodejs-codechallenge\app\src\main\java\com\challenge\transaction\app\mapper\TransactionMapper.java -C:\Users\malca\OneDrive\Documentos\Jeffrey\YAPE\app-nodejs-codechallenge\app\src\main\java\com\challenge\transaction\app\persistence\TransactionEntity.java -C:\Users\malca\OneDrive\Documentos\Jeffrey\YAPE\app-nodejs-codechallenge\app\src\main\java\com\challenge\transaction\app\controller\TransactionController.java -C:\Users\malca\OneDrive\Documentos\Jeffrey\YAPE\app-nodejs-codechallenge\app\src\main\java\com\challenge\transaction\app\kafka\TransactionProducer.java -C:\Users\malca\OneDrive\Documentos\Jeffrey\YAPE\app-nodejs-codechallenge\app\src\main\java\com\challenge\transaction\app\config\BeanConfiguration.java -C:\Users\malca\OneDrive\Documentos\Jeffrey\YAPE\app-nodejs-codechallenge\app\src\main\java\com\challenge\transaction\app\config\KafkaConfig.java -C:\Users\malca\OneDrive\Documentos\Jeffrey\YAPE\app-nodejs-codechallenge\app\src\main\java\com\challenge\transaction\app\persistence\TransactionJpaRepository.java diff --git a/core/pom.xml b/core/pom.xml index 6450ff91a7..5d6be521d6 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -24,4 +24,4 @@ jakarta.validation-api - \ No newline at end of file + diff --git a/core/src/main/java/com/challenge/transaction/core/domain/enums/TransactionStatus.java b/core/src/main/java/com/challenge/transaction/core/domain/enums/TransactionStatus.java index 85574e9e3f..75a7c14072 100644 --- a/core/src/main/java/com/challenge/transaction/core/domain/enums/TransactionStatus.java +++ b/core/src/main/java/com/challenge/transaction/core/domain/enums/TransactionStatus.java @@ -4,4 +4,4 @@ public enum TransactionStatus { PENDING, APPROVED, REJECTED -} \ No newline at end of file +} diff --git a/core/target/classes/com/challenge/transaction/core/domain/enums/TransactionStatus.class b/core/target/classes/com/challenge/transaction/core/domain/enums/TransactionStatus.class deleted file mode 100644 index 93580babb445e23f9a6584334fcbed7dbe2381e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1355 zcmbtT-%ry}6#nkou3IfID}qe$2cm4CR1oxGh#*XZnJ_6XAwFG79VK0xbREzBNjefC z8V%3>QO0vGGmM~5Yto*cbHDSQbH97;uixK(0$9N_9Vv$AZq%^deI5i}SoiEC=3$e& zi64cw8^xZz7d5ya+FsadH0|y4RVU#|tCE3#H4(gG!j!?S@|*JN_F1ss!~k+sf1J!&1AfTufQNN^bN9e=lahg9+|V&%B9EI4{pWx(X+~`w@}T8yeq>lEbY-sw zyxA;u1)L=I!+NQ^f*_FmV9{Zw7 zr<5A<2352!i^-6C>m~cqUX{m$NxYZ@P?LS1OxE%1AQi;KEqE_sBuY4iT(50(1BL-)AmdxYJDVV^gF5n+h#5_ac z5oXA<>D4IhlYr7hLXl*%WEEP{r=~}bG5Upm|Hq``vDk%V%BE;L^iS`sOqt6WVp^%B z*pdyEzQAz$2iT6%hT`m~ZRpO9)+RAUzZdtH!4u4NlD9g^Gv6uKx}zN9?hzE}jH}Yo orE^b{j&XvCBlL;R&p0iaucD81&Qr&ew82!T&3P;kE`_Im01J6L%m4rY diff --git a/core/target/classes/com/challenge/transaction/core/domain/event/FraudResultEvent.class b/core/target/classes/com/challenge/transaction/core/domain/event/FraudResultEvent.class deleted file mode 100644 index dd560bcb3ecee859c114a528df31240863048114..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 910 zcmbu7%We}f6o!9KE+ewlw3ZMAet* zn}7sDV!;FO4yfBc1>$%TDQ%hs5{vQpa=!DQ|Jc9&{P+prHJ(@Dq2Qw!poB8R@<<#D z9t%C>@B1SeS%&hK(#mc#6xyAzf*Yv#s0O%+fMF{#V;&ufIF@=SxlM#lMP!xHJTi&o z12Yy%b9pSa<-3W<1|MXa#rCb+V5nUJ_67`%?o7UC6QzfnPViQMC8t(St*}|@qt4LG zBbDJjnJ5vf6VZ<))t~0eP$nrA@p11B1KTH|9is`>HWYCtOGg)H=f7W`eqt!@m;qr+ zU8Uu_Y}}X0!6Z?mYa$Vcf|66>>1NR$s+3{7`#-ifsmh_W2eV!|>&KeRro9X&vfWv1}`s! zA1{P!^KgA3`~**@%CAVuBf;|ei*NAf>#pYXok_&BZs*B0!r5J2oTv7$d0Zo1p0(Wa Fv%gyMvrYg2 diff --git a/core/target/classes/com/challenge/transaction/core/domain/model/Transaction.class b/core/target/classes/com/challenge/transaction/core/domain/model/Transaction.class deleted file mode 100644 index a79d8679c9af36bc06812914208f9f0075d60473..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2522 zcmbtU%Tg0T6g>@uBsd{R2yex=0hIBL5MF_RVx@FJ$bOh~!BCSKYciqKkMSF{O3Nx2 zet#12 zHk^I^)!rdDeTLp8%dz|whVH_2EsYe?N%U#B0F7bZbQ`*PVAwWy_POqRhSM}m-*O$@ zbUm)u-G*T~dc&=ATd#Ib8SVE5pY@JsD?3&GbD}- zyG4wH!9ApsWw*6w2Vs*MF5xnX+Vl;-)nr(WnVCDSMl&qojwFz|uV}c6YYb`AQ2{4Ujm$|uj=fdz9%yU z`mPnuC9fzbMZ9f+^X-bm`ihV=g&Zrq9yjAz0t-To2tyK2w(}|!7SVk>Zp$vPWw1+;uihBO|!ZS1^T0@D}U2ClsnBlxzk*eJIx@u(~yxn%>~-C z#6jbo)*1TJX=k)2X1;)Zlwq^9iesQ3cWBju0NlkKeKCUEqxB^C6Ote3unQe_cmazF@Kh8$ zrUVzU)CMn7Z@Q>My)(0)k&HGvBhkY_M7z<#1j1p$AIoZK;)7b18{SXc3k#N`n$Oz>==tm2u7%OhT>;Mv5Mif1Y=k9gsN=b3zq G&;J5?feHu! diff --git a/core/target/classes/com/challenge/transaction/core/domain/model/TransactionType.class b/core/target/classes/com/challenge/transaction/core/domain/model/TransactionType.class deleted file mode 100644 index 4830b7a347ddadbd0156dbf2207d907982e7c2e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1762 zcmbtVO>^5+6g|(9EJsmN*ZF8;5*pGJYzL~Qw0zV_a0u?;8MlEtWTwOFMOGaZS;{DK z2X-u&;cqZ(*sv%qkPID4*ZdLw0;|G#vO94hJKH0_uXFD`=iaO5KcD~h6u>6xCNct5 zH|jd>z6=5{?08NR%kWUTi64cI8^xZ}j=Ithoo>|j0%zysbmyxBZwvyu4Fg$$+|HfN z+pU}RI|A#?5qwsa)0~YlSOVtq?q>6|dP`vA^O2ldurXo6vN4G>0)`tzp(ik1DmU-T z2hs^-*m1V^?t5-hwQv>%6H_*(F(WW}0;q?*E=fI*LC@R1Cvd$qWW5#0!^7&(Mk|T^ zuu~n5pd6(B&)GPSIf3k&ANt9L!0fQAfn}q-tCI1Gjd?5xWc;>(Xjt63U}F)l(LAMc zC{QbvM@x{2ivmk0QXA}tjtn;APOs~QN&QRLJ5WuL!zF?9jgW!;_To^tEGBFS3rl!I zNh=A=oT8|_n}eYQtSHc%0_RQvHKn7O>__cSWK2xr#Vm`S?E4(XT7D;# zNiU|UUZOl!?p_>q8!Tvz>k*miD)j;rtwg$C+>!?au13d8R0OS5Zt#^_bAv&zaf1xD zhcu|ZTpNkSMpeLSMZMVdZu+Vu)Bm|EF00g;2Vx&l{L=8rI2S@;FTpSbS3o8+l-l*I(bd95h7vpiFK z@21k!Oo`Ld0274gd8!_M-s6+O`(%FuRkFFl^|yo?9Gzpl+FW_Mu5B#Le~;qI!qpr4 zoc=S4#qW@v(;t4Li68#?>j{?b7M73j`X4mWQi-#vc>z=W&ND3+nBGfN^n%+I8Lg3< zQswj$k9E$elP; zcE4N!%+XKLB4oxFY>r~Bx`T2I;wmvQ_l}JZ%B2sn;@p*Wm)cV9Qa1F(n+o*zt}Yd?v|)ka ZPo2pN*AWN;;Uyq~T^pTOLlm-s?i0XtPL2Qo diff --git a/core/target/classes/com/challenge/transaction/core/ports/output/TransactionEventPublisher.class b/core/target/classes/com/challenge/transaction/core/ports/output/TransactionEventPublisher.class deleted file mode 100644 index f2786a7084a856fb82d47eeefa0da32cbdcfe6c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 274 zcmaivJqp4=5QX3P7qzmrvDU^pfHopp2?~n+W;1AHvl})W4`<;4Jd_x*Fjh9hgEzzX z&Et8y16ZIJp+Q(_m$5!8W5k|>gIBgtI;76Bc3wDlJ{0WAke7iE-*$Bs8+K)E(&8*W zLW?lCsHiv*}x^Lm)J(uK}t=+vvO#qG~qKeE}5-R=fZJ diff --git a/core/target/classes/com/challenge/transaction/core/ports/output/TransactionRepository.class b/core/target/classes/com/challenge/transaction/core/ports/output/TransactionRepository.class deleted file mode 100644 index d738b5b2ecf260134a94cd78514b6be890fa8c95..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 552 zcmbV}&q@O^5Qisi?b=%ZoV_dU#XP`@P|-r6P;jmHF&o#EG+DBfVqeXJ58y+Iv+JRP zg3?>^3&ZzKe(xWzZvZfc;{;j)#>%gxdPZxtE3~A5u0ln|JE?rovh;x}=_8eq3#uK)l5 diff --git a/core/target/classes/com/challenge/transaction/core/usecase/CreateTransactionService.class b/core/target/classes/com/challenge/transaction/core/usecase/CreateTransactionService.class deleted file mode 100644 index af632e7f825aa0ed12c4fea78dbe77149066d307..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2002 zcmbtVTT|0O6#lkcA|+TXatAG5dxLlfEQ+NqSS`p1^gT^?AWWKcl1Ht6yJ|yKT%jAv)>bjk z5VlpbYSj*fXgpCm`9mg*3+Ry$meC8DVOFzhingN~1~<34B1qd&HKALkqFFXq2ujsW zrDj#Rp=|!SWf*a|XgMgn72GyeqgZ7ai2rRhQSQM-L?rafxP&Ofle5|7rdxAb?QRHF zxDJD~URcW)*H#!7OXq^}6LML`Ach!vD5fI|OYw68C(2=rU{u1GjB!jb4Ev=JdW|b3 zOH+-!D)=Tz3>~KRhGG1uTBm>Uy}TmhDq;*Wd6~00X;-s?VWOGse`tAWzlQ4)ZpgTa zTa>JTT)7U{REH~v@Ga%t;C4gT$knjT>z1Pn%YMg@3rbPlvW25quBf}BwT!QiK{CCF zBOxIvBZV|WHo(JRM21dBZIG+ttQ9=P?o1*muy%cs@e)2GL%|)QQ{Al?y0gP=hLs@1 zc7YWd+!X6aK$Na~xG&*>jE8u{Q25VuokV3AZMxc0@+QR?7S54J>VY}TOL#0Jg9V0u zzXuG}+*V#ycDY9U?OxDLT|A{Oh$qStXp=irP`c@n>J(GA9G)Wz6Rzg>2+<)&(~BWe z(oMeR)+*fIR4WFZMEy1_tG4dR&BIQyqtk%N2GuL5RWb~{qIF=-2O+lQ6hoKCXqv1a z0!z`3MlBr|DIFQ)9*}I;N;I=0KyLUa+V)j_5&) zdW}Ng5S=d~P3tp~-g|ExebcFLVEd3#pV7CE0g{IIF`4{=snh{(hpGT2ahLHZ~ zqhx6vLpQC1kT67V&M@sp5u*v5#3YvJCU%I89P%WQ6%?>cmSd2yLOaiw44yZAS#A0f tNq)s_GPQ@PWO@(NpGYx8?=i?2qqVOEI&ush@x%1)BYvPBbkWy*@f)utT-*Qv diff --git a/core/target/classes/com/challenge/transaction/core/usecase/GetTransactionService.class b/core/target/classes/com/challenge/transaction/core/usecase/GetTransactionService.class deleted file mode 100644 index b85bd54809e1a24e9c53ad96ab587568ef2dfcc3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1859 zcmbtVYf}_Q6g>^d=rECG6{92(MAQWm$43&A3_)ZCrCha&1*-C~nQfqTwtH%(hseK5 zs(e&TRVtq?e^V-V9!lebwaO1Wv)z5~x%ZxX`p&EWUj75%7FLd-5B&}XJRHFw!(6Dl zez?Px$Y?q^0u z{`&gL?O@v4co^sP^C+kjWyd`XqsGv`EeykW!#3Q?R7q7ki{nU&Byds32?r-VjN%kS zeLu<@P=+C$EJdkU+e!5A3|H+`-UqD0MOuo)&;$-nGu-GwOhbMxkR37F6SyV+9f!ZdKYCFimFEK3iD5TVkRJmjhif}y@O_C|oJ zMo+*n&?L?nhFemJ2U&MhBx`&#qMdq6hdkQgiOkp4=78CeDZ_j(=^uKJDC($n^K7No zEL|3*F)TNF1^a}1Hod{%MZCM&;ZvmSsVfX;-)Ot&(z~6e9No6gl29zmoQ<)A&8Q~A zjbB~N4#;=!+q_GULiMWDz~K(M7_77lt`KpPg9XPSYo*F9w#3v&%qsP?BS+#H5?=t%G4e0I{DV&VFhkGd zg4YRpV>4|Ug9j)^9W%z{4XhvMA@aHRhcjg7o%*;Lm`;#n7%t5jNTno#6 zi{%#CvYMNVsKS~oav+btG5%Zq+zXt~^J7JRCDsU8Trcpy#}D-O=yZ`aGv>2EG diff --git a/core/target/classes/com/challenge/transaction/core/usecase/UpdateTransactionStatusService.class b/core/target/classes/com/challenge/transaction/core/usecase/UpdateTransactionStatusService.class deleted file mode 100644 index e50434359b427fca576ace0d892e5568cbbaa874..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 875 zcmbtS?MfR#6g`u~L^rGP+p29!ts(>kWAcA88IqB8C(O+yHf36~~KW$(0941rYxlW1q`J;QNhg6hCnmvEE1LF)Jm z(W_^XdKuH0DIo|^M#ymV----j>WdgUXV|MYZp5A7snZc}wa!oK!#omkk2jswaj(AL z4lsvG3G*Qqu*fj)DIRj!xlz(F6u;?MyF-S2b-&F}I5u5sNTs1;b&=k7l)V<6h+Y;O zMvAB{tj_Y$W5M-x!f-aJWAB?ooniLH2+zA@_;rzFIPtT~9F40P70hs2o#f>m)5{tW zG)-!yI@MY6yKgVh*USiZXgB9*P03ldofPFLruoyoMA-%Mbbzq-1MJ|-FO>3l@Tg_F z144uNWmK?2(e@CFRjg4)EPTK^DP_?HHof)&K8~~xDbM&p?I&hy2ajN5<)UXzd)3t; R>RC1LP8lIS5j%&^{{WSR>u&%6 diff --git a/core/target/core-1.0.0.jar b/core/target/core-1.0.0.jar deleted file mode 100644 index 05a9ee115afe3b1e694e73544e3b8c82977a5d36..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11030 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 diff --git a/core/target/maven-archiver/pom.properties b/core/target/maven-archiver/pom.properties deleted file mode 100644 index 5a51cd0688..0000000000 --- a/core/target/maven-archiver/pom.properties +++ /dev/null @@ -1,3 +0,0 @@ -artifactId=core -groupId=com.yape.challenge -version=1.0.0 diff --git a/core/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/core/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst deleted file mode 100644 index 9f36ede008..0000000000 --- a/core/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +++ /dev/null @@ -1,11 +0,0 @@ -com\challenge\transaction\core\usecase\UpdateTransactionStatusService.class -com\challenge\transaction\core\usecase\GetTransactionService.class -com\challenge\transaction\core\ports\output\TransactionRepository.class -com\challenge\transaction\core\usecase\CreateTransactionService.class -com\challenge\transaction\core\ports\input\GetTransactionUseCase.class -com\challenge\transaction\core\ports\input\CreateTransactionUseCase.class -com\challenge\transaction\core\domain\event\FraudResultEvent.class -com\challenge\transaction\core\domain\enums\TransactionStatus.class -com\challenge\transaction\core\ports\output\TransactionEventPublisher.class -com\challenge\transaction\core\domain\model\Transaction.class -com\challenge\transaction\core\domain\model\TransactionType.class diff --git a/core/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/core/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst deleted file mode 100644 index 32c678faf5..0000000000 --- a/core/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +++ /dev/null @@ -1,11 +0,0 @@ -C:\Users\malca\OneDrive\Documentos\Jeffrey\YAPE\app-nodejs-codechallenge\core\src\main\java\com\challenge\transaction\core\domain\enums\TransactionStatus.java -C:\Users\malca\OneDrive\Documentos\Jeffrey\YAPE\app-nodejs-codechallenge\core\src\main\java\com\challenge\transaction\core\domain\event\FraudResultEvent.java -C:\Users\malca\OneDrive\Documentos\Jeffrey\YAPE\app-nodejs-codechallenge\core\src\main\java\com\challenge\transaction\core\ports\input\CreateTransactionUseCase.java -C:\Users\malca\OneDrive\Documentos\Jeffrey\YAPE\app-nodejs-codechallenge\core\src\main\java\com\challenge\transaction\core\ports\output\TransactionEventPublisher.java -C:\Users\malca\OneDrive\Documentos\Jeffrey\YAPE\app-nodejs-codechallenge\core\src\main\java\com\challenge\transaction\core\ports\output\TransactionRepository.java -C:\Users\malca\OneDrive\Documentos\Jeffrey\YAPE\app-nodejs-codechallenge\core\src\main\java\com\challenge\transaction\core\usecase\UpdateTransactionStatusService.java -C:\Users\malca\OneDrive\Documentos\Jeffrey\YAPE\app-nodejs-codechallenge\core\src\main\java\com\challenge\transaction\core\ports\input\GetTransactionUseCase.java -C:\Users\malca\OneDrive\Documentos\Jeffrey\YAPE\app-nodejs-codechallenge\core\src\main\java\com\challenge\transaction\core\usecase\CreateTransactionService.java -C:\Users\malca\OneDrive\Documentos\Jeffrey\YAPE\app-nodejs-codechallenge\core\src\main\java\com\challenge\transaction\core\usecase\GetTransactionService.java -C:\Users\malca\OneDrive\Documentos\Jeffrey\YAPE\app-nodejs-codechallenge\core\src\main\java\com\challenge\transaction\core\domain\model\TransactionType.java -C:\Users\malca\OneDrive\Documentos\Jeffrey\YAPE\app-nodejs-codechallenge\core\src\main\java\com\challenge\transaction\core\domain\model\Transaction.java diff --git a/core/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/core/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst deleted file mode 100644 index 13e58cc0e5..0000000000 --- a/core/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst +++ /dev/null @@ -1 +0,0 @@ -com\challenge\transaction\core\usercase\CreateTransactionServiceTest.class diff --git a/core/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/core/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst deleted file mode 100644 index 9ae992d391..0000000000 --- a/core/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst +++ /dev/null @@ -1 +0,0 @@ -C:\Users\malca\OneDrive\Documentos\Jeffrey\YAPE\app-nodejs-codechallenge\core\src\test\java\com\challenge\transaction\core\usercase\CreateTransactionServiceTest.java diff --git a/core/target/surefire-reports/TEST-com.challenge.transaction.core.usercase.CreateTransactionServiceTest.xml b/core/target/surefire-reports/TEST-com.challenge.transaction.core.usercase.CreateTransactionServiceTest.xml deleted file mode 100644 index 850ee8d832..0000000000 --- a/core/target/surefire-reports/TEST-com.challenge.transaction.core.usercase.CreateTransactionServiceTest.xml +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/core/target/surefire-reports/com.challenge.transaction.core.usercase.CreateTransactionServiceTest.txt b/core/target/surefire-reports/com.challenge.transaction.core.usercase.CreateTransactionServiceTest.txt deleted file mode 100644 index c4a6400e3c..0000000000 --- a/core/target/surefire-reports/com.challenge.transaction.core.usercase.CreateTransactionServiceTest.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: com.challenge.transaction.core.usercase.CreateTransactionServiceTest -------------------------------------------------------------------------------- -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.970 s -- in com.challenge.transaction.core.usercase.CreateTransactionServiceTest diff --git a/core/target/test-classes/com/challenge/transaction/core/usercase/CreateTransactionServiceTest.class b/core/target/test-classes/com/challenge/transaction/core/usercase/CreateTransactionServiceTest.class deleted file mode 100644 index 7c94631fae8b186fcdd306b0d84d33eb2982f886..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2342 zcmbtV|5F=96#r}j9E9r^fm*AmKoJvyy{c$!gKZ;$elb7=3}UNwbJ-?~m%Gf}UerI! z8K+I_Os7BlM>)Q|B;_#DV{B%!d;8wo_iaD#y}$l`_8dSF)eKTd8yGS%j1h*j2fWQK zhr4xat9l@8#W1oWU8$}!q_eq-fl-Dlw%4@m26r6c)`g{f?grde(sM1_^MzIOnq0b8 z)2j)`+CAiEU?4qmbDu2JFN0G!ZQzWFvv}i(<&qax9l>Czgz&g>wv}flw7Ku7w9hbCofi$6E$2n0OoSFq9Hv2m|5UJP_8ZFSru1D0YP3mbTax z0VOBniBa4SZl?0Ut6HU)wc?p@6q3zbcy)=Wzfi z7N&p}Adlh&40!nb%!TE&21p_?Vu?kC1{3!U0PTP?b^-pfZQU>J|h6^5%x_K)p3glk^}p+ntzI?Br6 zljvSfu4Q(-(6`09)Wc_Xz{6PMzoct{Vd)rs;#VcyK+nT9{Z-qOszLgPqj}c9*6->^ z-RbqR=$_V4pgC}!W;Bqdl|~mB?$K$4_HSrU>GB((QTvI}wj(*{2~X4=I$5+c+J_gP zfc+k^cWKpZU=rWbYIX%s!5*D}?}(d)9AWI8Y(V`A|SyxGC@ z3m8u^mqG{G{8L;?VUHM}<{#tAMpt6x1un+qH2Y=;L@o8H>nSXCaQD!+IgFCcSz6~X zfqCRryVSrQ(#fX5p#7fd`quM%6c4bE? - \ No newline at end of file + From 5c6d88da94c4cf96a11d6af89ba912f94ca63382 Mon Sep 17 00:00:00 2001 From: Jeffrey Malca <58093168+JeffreyMalcaQ@users.noreply.github.com> Date: Sun, 15 Mar 2026 18:16:26 -0500 Subject: [PATCH 3/3] feat: se actualiza git ignore para elementos no necesarios --- .gitignore | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index a714fbcea8..bed58806b7 100644 --- a/.gitignore +++ b/.gitignore @@ -103,4 +103,14 @@ dist # TernJS port file .tern-port -.iml + +*.class +*.jar + +#Maven +target/ +dist/ + +# JetBrains IDE +.idea/ +.iml/