Тут дальше трам-пам-пам полный

This commit is contained in:
Programmist73 2023-05-12 23:28:38 +04:00
parent cefa4a0c02
commit 68a0bd7c14
5 changed files with 30 additions and 21 deletions

View File

@ -15,7 +15,7 @@ import org.springframework.security.config.annotation.web.configuration.WebSecur
import org.springframework.security.web.SecurityFilterChain;
import premium_store.controller.controller.UserSignupMvcController;
import premium_store.model.UserRole;
import premium_store.service.UserService;
import premium_store.service.GameClientService;
@Configuration
@EnableWebSecurity
@ -25,18 +25,18 @@ import premium_store.service.UserService;
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {
private final Logger log = LoggerFactory.getLogger(SecurityConfiguration.class);
private static final String LOGIN_URL = "/login";
private final UserService userService;
private final GameClientService clientService;
public SecurityConfiguration(UserService userService) {
this.userService = userService;
public SecurityConfiguration(GameClientService clientService) {
this.clientService = clientService;
createAdminOnStartup();
}
private void createAdminOnStartup() {
final String admin = "admin";
if (userService.findByLogin(admin) == null) {
if (clientService.findByLogin(admin) == null) {
log.info("Admin user successfully created");
userService.createUser(admin, "adminemail@gmail.com", admin, admin, UserRole.ADMIN);
clientService.addClient(admin, "adminemail@gmail.com", admin, admin, UserRole.ADMIN);
}
}
@ -61,7 +61,7 @@ public class SecurityConfiguration extends WebSecurityConfigurerAdapter {
public AuthenticationManager authenticationManagerBean(HttpSecurity http) throws Exception {
AuthenticationManagerBuilder authenticationManagerBuilder = http
.getSharedObject(AuthenticationManagerBuilder.class);
authenticationManagerBuilder.userDetailsService(userService);
authenticationManagerBuilder.userDetailsService(clientService);
return authenticationManagerBuilder.build();
}

View File

@ -15,6 +15,9 @@ public class UserSignupDto {
@NotBlank
private String email;
@NotBlank
private Integer balance;
@NotBlank
@Size(min = 6, max = 64)
private String passwordConfirm;
@ -35,6 +38,10 @@ public class UserSignupDto {
this.email = email;
}
public void setBalance(Integer balance) {
this.balance = balance;
}
public String getLogin(){
return login;
}
@ -50,4 +57,8 @@ public class UserSignupDto {
public String getEmail() {
return email;
}
public Integer getBalance() {
return balance;
}
}

View File

@ -3,6 +3,7 @@ package premium_store.controller.controller;
import org.springframework.web.bind.annotation.*;
import premium_store.WebConfiguration;
import premium_store.controller.DTO.ClientDTO;
import premium_store.model.UserRole;
import premium_store.service.GameClientService;
import premium_store.service.TankService;
@ -38,7 +39,7 @@ public class GameClientController {
@RequestParam("password") String password,
@RequestParam("email") String email,
@RequestParam("balance") Integer balance) {
return new ClientDTO(gameClientService.addClient(login, email, password, balance));
return new ClientDTO(gameClientService.addClient(login, email, password, balance, password, UserRole.USER));
}
@PutMapping("/{id}")

View File

@ -9,7 +9,8 @@ import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import premium_store.controller.DTO.UserSignupDto;
import premium_store.model.GameClient;
import premium_store.service.UserService;
import premium_store.model.UserRole;
import premium_store.service.GameClientService;
import javax.validation.Valid;
import javax.validation.ValidationException;
@ -19,10 +20,10 @@ import javax.validation.ValidationException;
public class UserSignupMvcController {
public static final String SIGNUP_URL = "/signup";
private final UserService userService;
private final GameClientService clientService;
public UserSignupMvcController(UserService userService) {
this.userService = userService;
public UserSignupMvcController(GameClientService clientService) {
this.clientService = clientService;
}
@GetMapping
@ -40,8 +41,7 @@ public class UserSignupMvcController {
return "signup";
}
try {
final GameClient user = userService.createUser(
userSignupDto.getLogin(), userSignupDto.getPassword(), userSignupDto.getPasswordConfirm());
final GameClient user = clientService.addClient(userSignupDto.getLogin(), userSignupDto.getEmail(), userSignupDto.getPassword(), userSignupDto.getBalance(), userSignupDto.getPasswordConfirm(), UserRole.USER);
return "redirect:/login?created=" + user.getLogin();
} catch (ValidationException e) {
model.addAttribute("errors", e.getMessage());

View File

@ -1,9 +1,6 @@
package premium_store;
import premium_store.model.GameClient;
import premium_store.model.TankLevel;
import premium_store.model.Nation;
import premium_store.model.Tank;
import premium_store.model.*;
import premium_store.service.GameClientService;
import premium_store.service.TankLevelService;
import premium_store.service.NationService;
@ -39,7 +36,7 @@ class PremiumStoreApplicationTests {
void testClientRead() {
gameClientService.deleteAllClients();
GameClient client = gameClientService.addClient("3tankista73", "fff@mail.ru", "user", 3400);
GameClient client = gameClientService.addClient("3tankista73", "fff@mail.ru", "user", 3400, "user", UserRole.USER);
log.info(client.toString());
GameClient findClient = gameClientService.findClient(client.getId());
@ -126,10 +123,10 @@ class PremiumStoreApplicationTests {
void testClientCreate() {
gameClientService.deleteAllClients();
GameClient firstClient = gameClientService.addClient("Barbarian", "dsfg@gmail.com", "user", 56000);
GameClient firstClient = gameClientService.addClient("Barbarian", "dsfg@gmail.com", "user", 56000, "user", UserRole.USER);
log.info(firstClient.toString());
GameClient secondClient = gameClientService.addClient("KorbenDallas", "tankoviyGeniy@mail.ru", "user", 37000);
GameClient secondClient = gameClientService.addClient("KorbenDallas", "tankoviyGeniy@mail.ru", "user", 37000, "user", UserRole.USER);
log.info(secondClient.toString());
Assertions.assertEquals(gameClientService.findAllClients().size(), 2);