Skip to content

Commit

Permalink
Fix onlinebanking to run from the main class
Browse files Browse the repository at this point in the history
  • Loading branch information
Elwizzy12 committed Nov 18, 2024
1 parent c2d47e8 commit ed77a67
Show file tree
Hide file tree
Showing 8 changed files with 3,014 additions and 20 deletions.
18 changes: 18 additions & 0 deletions online-banking-app/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,17 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
<dependency>
<groupId>de.adorsys.webank</groupId>
<artifactId>webank-bank-account-service-impl</artifactId>
<version>0.1-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>de.adorsys.ledgers</groupId>
<artifactId>ledgers-postings-service-impl</artifactId>
<scope>compile</scope>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
Expand All @@ -98,6 +109,13 @@
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
<configuration>
<excludes>
<exclude>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
package com.adorsys.webank.Config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Configuration
public class WebConfig {

@Bean
public WebMvcConfigurer corsConfigurer() {
return new WebMvcConfigurer() {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**") // Applies to all endpoints
.allowedOrigins("http://localhost:5173") // Replace with your frontend URL
.allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS")
.allowedHeaders("*")
.allowCredentials(true);
}
};
}
}
Original file line number Diff line number Diff line change
@@ -1,15 +1,39 @@
package com.adorsys.webank;

import com.adorsys.webank.obs.EnableObsServiceimpl;
import de.adorsys.ledgers.postings.impl.EnablePostingService;
import de.adorsys.webank.bank.api.service.BankAccountInitService;
import de.adorsys.webank.bank.api.service.EnableBankAccountService;
import de.adorsys.webank.bank.server.utils.client.ExchangeRateClient;
import org.jetbrains.annotations.NotNull;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration;
import org.springframework.boot.context.event.ApplicationReadyEvent;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.ApplicationListener;


@SpringBootApplication
@SpringBootApplication(exclude = {SecurityAutoConfiguration.class})
@EnableBankAccountService
@EnablePostingService
@EnableFeignClients(basePackageClasses = ExchangeRateClient.class)
@EnableObsServiceimpl
public class OnlineBankingApplication {
public class OnlineBankingApplication implements ApplicationListener<ApplicationReadyEvent> {

private final BankAccountInitService bankInitService;

@Autowired
public OnlineBankingApplication(BankAccountInitService bankInitService) {
this.bankInitService = bankInitService;
}

public static void main(String[] args) {
SpringApplication.run(OnlineBankingApplication.class, args);
}

public static void main(String[] args) {
SpringApplication.run(OnlineBankingApplication.class, args);
}
}
@Override
public void onApplicationEvent(@NotNull ApplicationReadyEvent event) {
bankInitService.initConfigData();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
/*
* Copyright (c) 2018-2024 adorsys GmbH and Co. KG
* All rights are reserved.
*/

package com.adorsys.webank.mockbank;

@org.springframework.context.annotation.Configuration
public class Config {
@org.springframework.context.annotation.Bean
public MockBankConfigSource configSource() {
return new MockBankConfigSource();
}

@org.springframework.context.annotation.Bean
public java.security.Principal getPrincipal(){
return () -> "anonymous";
}

@org.springframework.context.annotation.Bean
public com.fasterxml.jackson.databind.ObjectMapper objectMapper() {
return new com.fasterxml.jackson.databind.ObjectMapper()
.configure(com.fasterxml.jackson.databind.DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);

}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
/*
* Copyright (c) 2018-2024 adorsys GmbH and Co. KG
* All rights are reserved.
*/

package com.adorsys.webank.mockbank;

import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;
import de.adorsys.webank.bank.api.service.domain.ASPSPConfigData;
import de.adorsys.webank.bank.api.service.domain.ASPSPConfigSource;
import de.adorsys.webank.bank.api.service.domain.LedgerAccountModel;


//@Component
public class MockBankConfigSource implements ASPSPConfigSource {
private ObjectMapper mapper = new ObjectMapper(new YAMLFactory());

@Override
public ASPSPConfigData aspspConfigData() {
java.io.InputStream inputStream = MockBankConfigSource.class.getResourceAsStream("aspsps-config.yml");
try {
return mapper.readValue(inputStream,ASPSPConfigData.class);
} catch (java.io.IOException e) {
throw new IllegalStateException(e);
}
}

@Override
public java.util.List<LedgerAccountModel> chartOfAccount(String coaFile) {
java.io.InputStream inputStream = MockBankConfigSource.class.getResourceAsStream(coaFile);
LedgerAccountModel[] ledgerAccounts;
try {
ledgerAccounts = mapper.readValue(inputStream, LedgerAccountModel[].class);
} catch (java.io.IOException e) {
throw new IllegalStateException(e);
}
return java.util.Arrays.asList(ledgerAccounts);
}
}
27 changes: 14 additions & 13 deletions online-banking-app/src/main/resources/application.properties
Original file line number Diff line number Diff line change
@@ -1,15 +1,16 @@
# Server configuration
server.port=8080
# H2 Database Configuration
spring.h2.console.enabled=true
spring.datasource.url=jdbc:h2:mem:testdb

# H2 Database settings
spring.h2.console.enabled=true
spring.h2.console.path=/h2-console # Path to access the H2 console
spring.datasource.url=jdbc:h2:mem:testdb # In-memory database URL
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa # Default username
spring.datasource.password= # Default password (empty)
# Swagger Configuration
springdoc.api-docs.path=/api-docs
springdoc.swagger-ui.path=/swagger-ui.html

# Swagger settings
springfox.documentation.enabled=true
springfox.documentation.swagger.v2.path=/api-docs
springdoc.swagger-ui.path=/swagger-ui.html
# Additional Settings (if needed)
spring.datasource.driver-class-name=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=

# Hibernate DDL auto (update, create-drop, validate, etc.)
spring.jpa.hibernate.ddl-auto=update
spring.cloud.compatibility-verifier.enabled=false
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: mockbank
ledger: mockbank
coaFile: sample_coa_banking.yml
coaExtensions:
### Hello Bank
- shortDesc: Hello Bank
name: 11240
parent: 1124
### Clearing account as subaccount of Deposits with Centralbank - Non-Interest bearing
- shortDesc: SEPA-Clearing Account (sepa-credit-transfers)
name: 11031
parent: 1103
- shortDesc: INSTANT_SEPA-Clearing Account (instant-sepa-credit-transfers)
name: 11032
parent: 1103
- shortDesc: TARGET2-Clearing Account (target-2-payments)
name: 11033
parent: 1103
- shortDesc: CROSS_BORDER-Clearing Account (cross-border-credit-transfers)
name: 11034
parent: 1103
### Sample Bank Account Bank account Natural persons (households), residents, Interest bearing
- shortDesc: Bank Account Marion Mueller
name: DE69760700240340283600
parent: 2332
- shortDesc: Bank Account Anton Brueckner
name: DE80760700240271232400
parent: 2332
- shortDesc: Bank Account Max Musterman
name: DE38760700240320465700
parent: 2332
### Payment products supported.
clearingAccounts:
- paymentProduct: SEPA
accountNbr: 11031
- paymentProduct: INSTANT_SEPA
accountNbr: 11032
- paymentProduct: TARGET2
accountNbr: 11033
- paymentProduct: CROSS_BORDER
accountNbr: 11034
bankParentAccount: 2332


### Marker used to prevent repeated processing of this config file.
updateMarkerAccountNbr: 2320
Loading

0 comments on commit ed77a67

Please sign in to comment.