style: clean up whitespace in multiple files
Some checks failed
CI / Get Changed Files (pull_request) Successful in 8s
CI / Docker frontend validation (pull_request) Successful in 24s
CI / eslint (pull_request) Successful in 30s
CI / oxlint (pull_request) Successful in 39s
CI / prettier (pull_request) Failing after 43s
CI / Checkstyle Main (pull_request) Failing after 1m22s
CI / test-build (pull_request) Successful in 1m44s
CI / Docker backend validation (pull_request) Failing after 1m54s
Some checks failed
CI / Get Changed Files (pull_request) Successful in 8s
CI / Docker frontend validation (pull_request) Successful in 24s
CI / eslint (pull_request) Successful in 30s
CI / oxlint (pull_request) Successful in 39s
CI / prettier (pull_request) Failing after 43s
CI / Checkstyle Main (pull_request) Failing after 1m22s
CI / test-build (pull_request) Successful in 1m44s
CI / Docker backend validation (pull_request) Failing after 1m54s
This commit is contained in:
parent
cc1979a068
commit
74798949c6
27 changed files with 119 additions and 149 deletions
|
@ -8,9 +8,6 @@ import org.springframework.boot.CommandLineRunner;
|
||||||
import org.springframework.boot.SpringApplication;
|
import org.springframework.boot.SpringApplication;
|
||||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.mail.MailException;
|
|
||||||
import org.springframework.mail.MailSender;
|
|
||||||
import org.springframework.mail.SimpleMailMessage;
|
|
||||||
import org.springframework.mail.javamail.JavaMailSenderImpl;
|
import org.springframework.mail.javamail.JavaMailSenderImpl;
|
||||||
import org.springframework.web.client.RestTemplate;
|
import org.springframework.web.client.RestTemplate;
|
||||||
|
|
||||||
|
|
|
@ -112,7 +112,6 @@ public class BlackJackService {
|
||||||
dealCardToPlayer(game);
|
dealCardToPlayer(game);
|
||||||
dealCardToSplitHand(game);
|
dealCardToSplitHand(game);
|
||||||
|
|
||||||
return blackJackGameRepository.save(game);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private BlackJackGameEntity processGameBasedOnState(BlackJackGameEntity game) {
|
private BlackJackGameEntity processGameBasedOnState(BlackJackGameEntity game) {
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
package de.szut.casino.config;
|
package de.szut.casino.config;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
import io.swagger.v3.oas.models.Components;
|
import io.swagger.v3.oas.models.Components;
|
||||||
import io.swagger.v3.oas.models.OpenAPI;
|
import io.swagger.v3.oas.models.OpenAPI;
|
||||||
import io.swagger.v3.oas.models.info.Info;
|
import io.swagger.v3.oas.models.info.Info;
|
||||||
|
|
|
@ -18,12 +18,12 @@ public class WebConfig {
|
||||||
@Override
|
@Override
|
||||||
public void addCorsMappings(CorsRegistry registry) {
|
public void addCorsMappings(CorsRegistry registry) {
|
||||||
registry.addMapping("/**")
|
registry.addMapping("/**")
|
||||||
.allowedOrigins(frontendHost)
|
.allowedOrigins(frontendHost)
|
||||||
.allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS")
|
.allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS")
|
||||||
.allowedHeaders("*")
|
.allowedHeaders("*")
|
||||||
.exposedHeaders("*")
|
.exposedHeaders("*")
|
||||||
.allowCredentials(true)
|
.allowCredentials(true)
|
||||||
.maxAge(3600);
|
.maxAge(3600);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -53,8 +53,8 @@ public class DepositController {
|
||||||
.build())
|
.build())
|
||||||
.setQuantity(1L)
|
.setQuantity(1L)
|
||||||
.build())
|
.build())
|
||||||
.setSuccessUrl(frontendHost+"/home?success=true")
|
.setSuccessUrl(frontendHost + "/home?success=true")
|
||||||
.setCancelUrl(frontendHost+"/home?success=false")
|
.setCancelUrl(frontendHost + "/home?success=false")
|
||||||
.setMode(SessionCreateParams.Mode.PAYMENT)
|
.setMode(SessionCreateParams.Mode.PAYMENT)
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
package de.szut.casino.exceptionHandling.exceptions;
|
package de.szut.casino.exceptionHandling.exceptions;
|
||||||
|
|
||||||
import de.szut.casino.security.service.EmailService;
|
|
||||||
|
|
||||||
public class EmailNotVerifiedException extends Exception {
|
public class EmailNotVerifiedException extends Exception {
|
||||||
public EmailNotVerifiedException() {
|
public EmailNotVerifiedException() {
|
||||||
super("Email not verified");
|
super("Email not verified");
|
||||||
|
|
|
@ -1,9 +1,7 @@
|
||||||
package de.szut.casino.security;
|
package de.szut.casino.security;
|
||||||
|
|
||||||
import de.szut.casino.exceptionHandling.ErrorDetails;
|
|
||||||
import de.szut.casino.exceptionHandling.exceptions.EmailNotVerifiedException;
|
import de.szut.casino.exceptionHandling.exceptions.EmailNotVerifiedException;
|
||||||
import de.szut.casino.security.dto.AuthResponseDto;
|
import de.szut.casino.security.dto.AuthResponseDto;
|
||||||
import de.szut.casino.security.dto.GithubCallbackDto;
|
|
||||||
import de.szut.casino.security.dto.LoginRequestDto;
|
import de.szut.casino.security.dto.LoginRequestDto;
|
||||||
import de.szut.casino.security.dto.ResetPasswordDto;
|
import de.szut.casino.security.dto.ResetPasswordDto;
|
||||||
import de.szut.casino.security.service.AuthService;
|
import de.szut.casino.security.service.AuthService;
|
||||||
|
@ -42,11 +40,11 @@ public class AuthController {
|
||||||
|
|
||||||
@PostMapping("/verify")
|
@PostMapping("/verify")
|
||||||
public ResponseEntity<Void> verifyEmail(@RequestParam("token") String token) throws MessagingException, IOException {
|
public ResponseEntity<Void> verifyEmail(@RequestParam("token") String token) throws MessagingException, IOException {
|
||||||
if (authService.verifyEmail(token)) {
|
if (authService.verifyEmail(token)) {
|
||||||
return ResponseEntity.badRequest().build();
|
return ResponseEntity.badRequest().build();
|
||||||
}
|
}
|
||||||
|
|
||||||
return ResponseEntity.ok().build();
|
return ResponseEntity.ok().build();
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("/recover-password")
|
@PostMapping("/recover-password")
|
||||||
|
|
|
@ -2,26 +2,14 @@ package de.szut.casino.security;
|
||||||
|
|
||||||
import de.szut.casino.security.dto.AuthResponseDto;
|
import de.szut.casino.security.dto.AuthResponseDto;
|
||||||
import de.szut.casino.security.dto.GithubCallbackDto;
|
import de.szut.casino.security.dto.GithubCallbackDto;
|
||||||
import de.szut.casino.security.jwt.JwtUtils;
|
|
||||||
import de.szut.casino.user.AuthProvider;
|
|
||||||
import de.szut.casino.user.UserEntity;
|
|
||||||
import de.szut.casino.user.UserRepository;
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.http.HttpEntity;
|
|
||||||
import org.springframework.http.HttpHeaders;
|
|
||||||
import org.springframework.http.HttpMethod;
|
|
||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
import org.springframework.security.crypto.password.PasswordEncoder;
|
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.client.RestTemplate;
|
|
||||||
import org.springframework.web.servlet.view.RedirectView;
|
import org.springframework.web.servlet.view.RedirectView;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
|
||||||
import java.util.*;
|
|
||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/oauth2/github")
|
@RequestMapping("/oauth2/github")
|
||||||
public class GitHubController {
|
public class GitHubController {
|
||||||
|
|
|
@ -16,7 +16,6 @@ import org.springframework.http.ResponseEntity;
|
||||||
import org.springframework.security.authentication.AuthenticationManager;
|
import org.springframework.security.authentication.AuthenticationManager;
|
||||||
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
|
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
|
||||||
import org.springframework.security.core.Authentication;
|
import org.springframework.security.core.Authentication;
|
||||||
import org.springframework.security.core.GrantedAuthority;
|
|
||||||
import org.springframework.security.crypto.password.PasswordEncoder;
|
import org.springframework.security.crypto.password.PasswordEncoder;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.web.client.RestTemplate;
|
import org.springframework.web.client.RestTemplate;
|
||||||
|
|
|
@ -1,8 +1,6 @@
|
||||||
package de.szut.casino.security;
|
package de.szut.casino.security;
|
||||||
|
|
||||||
import de.szut.casino.security.jwt.JwtAuthenticationFilter;
|
import de.szut.casino.security.jwt.JwtAuthenticationFilter;
|
||||||
import de.szut.casino.security.oauth2.CustomOAuth2UserService;
|
|
||||||
import de.szut.casino.security.oauth2.OAuth2AuthenticationSuccessHandler;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
|
@ -67,18 +65,18 @@ public class SecurityConfig {
|
||||||
@Bean
|
@Bean
|
||||||
public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
|
public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
|
||||||
http
|
http
|
||||||
.cors(cors -> cors.configurationSource(corsConfigurationSource()))
|
.cors(cors -> cors.configurationSource(corsConfigurationSource()))
|
||||||
.csrf(csrf -> csrf.disable())
|
.csrf(csrf -> csrf.disable())
|
||||||
.sessionManagement(session -> session.sessionCreationPolicy(SessionCreationPolicy.STATELESS))
|
.sessionManagement(session -> session.sessionCreationPolicy(SessionCreationPolicy.STATELESS))
|
||||||
.authorizeHttpRequests(auth -> {
|
.authorizeHttpRequests(auth -> {
|
||||||
auth.requestMatchers("/auth/**", "/webhook", "/swagger/**", "/swagger-ui/**", "/health", "/error", "/oauth2/**").permitAll()
|
auth.requestMatchers("/auth/**", "/webhook", "/swagger/**", "/swagger-ui/**", "/health", "/error", "/oauth2/**").permitAll()
|
||||||
.requestMatchers(org.springframework.http.HttpMethod.OPTIONS, "/**").permitAll()
|
.requestMatchers(org.springframework.http.HttpMethod.OPTIONS, "/**").permitAll()
|
||||||
.anyRequest().authenticated();
|
.anyRequest().authenticated();
|
||||||
})
|
})
|
||||||
// Disable Spring's built-in OAuth2 login since we're implementing a custom flow
|
// Disable Spring's built-in OAuth2 login since we're implementing a custom flow
|
||||||
// We're using our own GitHubController for OAuth2 login
|
// We're using our own GitHubController for OAuth2 login
|
||||||
.authenticationProvider(authenticationProvider())
|
.authenticationProvider(authenticationProvider())
|
||||||
.addFilterBefore(jwtAuthenticationFilter, UsernamePasswordAuthenticationFilter.class);
|
.addFilterBefore(jwtAuthenticationFilter, UsernamePasswordAuthenticationFilter.class);
|
||||||
|
|
||||||
return http.build();
|
return http.build();
|
||||||
}
|
}
|
||||||
|
|
|
@ -54,10 +54,10 @@ public class CustomOAuth2UserService extends DefaultOAuth2UserService {
|
||||||
Optional<UserEntity> userOptional = userRepository.findByEmail(email);
|
Optional<UserEntity> userOptional = userRepository.findByEmail(email);
|
||||||
UserEntity user;
|
UserEntity user;
|
||||||
|
|
||||||
if(userOptional.isPresent()) {
|
if (userOptional.isPresent()) {
|
||||||
user = userOptional.get();
|
user = userOptional.get();
|
||||||
|
|
||||||
if(!user.getProvider().equals(AuthProvider.valueOf(registrationId.toUpperCase()))) {
|
if (!user.getProvider().equals(AuthProvider.valueOf(registrationId.toUpperCase()))) {
|
||||||
throw new OAuth2AuthenticationProcessingException("You're signed up with " +
|
throw new OAuth2AuthenticationProcessingException("You're signed up with " +
|
||||||
user.getProvider() + ". Please use your " + user.getProvider() +
|
user.getProvider() + ". Please use your " + user.getProvider() +
|
||||||
" account to login.");
|
" account to login.");
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
package de.szut.casino.security.oauth2;
|
package de.szut.casino.security.oauth2;
|
||||||
|
|
||||||
import de.szut.casino.security.jwt.JwtUtils;
|
import de.szut.casino.security.jwt.JwtUtils;
|
||||||
import de.szut.casino.user.UserEntity;
|
|
||||||
import de.szut.casino.user.UserRepository;
|
import de.szut.casino.user.UserRepository;
|
||||||
import jakarta.servlet.ServletException;
|
import jakarta.servlet.ServletException;
|
||||||
import jakarta.servlet.http.HttpServletRequest;
|
import jakarta.servlet.http.HttpServletRequest;
|
||||||
|
|
|
@ -8,7 +8,7 @@ import java.util.Map;
|
||||||
public class OAuth2UserInfoFactory {
|
public class OAuth2UserInfoFactory {
|
||||||
|
|
||||||
public static OAuth2UserInfo getOAuth2UserInfo(String registrationId, Map<String, Object> attributes) {
|
public static OAuth2UserInfo getOAuth2UserInfo(String registrationId, Map<String, Object> attributes) {
|
||||||
if(registrationId.equalsIgnoreCase(AuthProvider.GITHUB.toString())) {
|
if (registrationId.equalsIgnoreCase(AuthProvider.GITHUB.toString())) {
|
||||||
return new GitHubOAuth2UserInfo(attributes);
|
return new GitHubOAuth2UserInfo(attributes);
|
||||||
} else {
|
} else {
|
||||||
throw new OAuth2AuthenticationProcessingException("Sorry! Login with " + registrationId + " is not supported yet.");
|
throw new OAuth2AuthenticationProcessingException("Sorry! Login with " + registrationId + " is not supported yet.");
|
||||||
|
|
|
@ -1,11 +1,6 @@
|
||||||
package de.szut.casino.user;
|
package de.szut.casino.user;
|
||||||
|
|
||||||
import jakarta.persistence.Column;
|
import jakarta.persistence.*;
|
||||||
import jakarta.persistence.Entity;
|
|
||||||
import jakarta.persistence.EnumType;
|
|
||||||
import jakarta.persistence.Enumerated;
|
|
||||||
import jakarta.persistence.GeneratedValue;
|
|
||||||
import jakarta.persistence.Id;
|
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
|
|
|
@ -29,11 +29,11 @@ public class UserService {
|
||||||
}
|
}
|
||||||
|
|
||||||
UserEntity user = new UserEntity(
|
UserEntity user = new UserEntity(
|
||||||
createUserDto.getEmail(),
|
createUserDto.getEmail(),
|
||||||
createUserDto.getUsername(),
|
createUserDto.getUsername(),
|
||||||
passwordEncoder.encode(createUserDto.getPassword()),
|
passwordEncoder.encode(createUserDto.getPassword()),
|
||||||
BigDecimal.valueOf(100),
|
BigDecimal.valueOf(100),
|
||||||
RandomStringUtils.randomAlphanumeric(64)
|
RandomStringUtils.randomAlphanumeric(64)
|
||||||
);
|
);
|
||||||
|
|
||||||
return userRepository.save(user);
|
return userRepository.save(user);
|
||||||
|
@ -50,7 +50,7 @@ public class UserService {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void saveUser(UserEntity user) {
|
public void saveUser(UserEntity user) {
|
||||||
userRepository.save(user);
|
userRepository.save(user);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isVerified(String usernameOrEmail) {
|
public boolean isVerified(String usernameOrEmail) {
|
||||||
|
|
|
@ -19,7 +19,7 @@ public class TransactionController {
|
||||||
@RequestHeader("Authorization") String authToken,
|
@RequestHeader("Authorization") String authToken,
|
||||||
@RequestParam(value = "limit", required = false) Integer limit,
|
@RequestParam(value = "limit", required = false) Integer limit,
|
||||||
@RequestParam(value = "offset", required = false) Integer offset
|
@RequestParam(value = "offset", required = false) Integer offset
|
||||||
) {
|
) {
|
||||||
UserTransactionsDto transactionEntities = this.transactionService.getUserTransactionsDto(authToken, limit, offset);
|
UserTransactionsDto transactionEntities = this.transactionService.getUserTransactionsDto(authToken, limit, offset);
|
||||||
|
|
||||||
return ResponseEntity.ok(transactionEntities);
|
return ResponseEntity.ok(transactionEntities);
|
||||||
|
|
Reference in a new issue