From b04eacffd12124f385d52e3f3537c802c60a20d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=95=D0=BB=D0=B5=D0=BD=D0=B0=20=D0=91=D0=B0=D0=BA=D0=B0?= =?UTF-8?q?=D0=BB=D1=8C=D1=81=D0=BA=D0=B0=D1=8F?= Date: Tue, 14 May 2024 14:19:47 +0400 Subject: [PATCH] =?UTF-8?q?=D0=BD=D0=B0=D1=87=D0=B8=D0=BD=D0=B0=D1=8E=20?= =?UTF-8?q?=D0=B4=D0=B5=D0=BB=D0=B0=D1=82=D1=8C=20=D0=BF=D0=B0=D0=B3=D0=B8?= =?UTF-8?q?=D0=BD=D0=B0=D1=86=D0=B8=D1=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../backend/users/api/UserController.java | 100 +++++++++--------- .../users/repository/UserRepository.java | 4 +- .../src/main/resources/templates/default.html | 30 ++++-- .../main/resources/templates/favorites.html | 15 +++ data.mv.db | Bin 126976 -> 106496 bytes 5 files changed, 88 insertions(+), 61 deletions(-) create mode 100644 backend/src/main/resources/templates/favorites.html diff --git a/backend/src/main/java/com/example/backend/users/api/UserController.java b/backend/src/main/java/com/example/backend/users/api/UserController.java index 532744c..608dc0e 100644 --- a/backend/src/main/java/com/example/backend/users/api/UserController.java +++ b/backend/src/main/java/com/example/backend/users/api/UserController.java @@ -1,61 +1,61 @@ -// package com.example.backend.users.api; +package com.example.backend.users.api; -// import org.modelmapper.ModelMapper; -// import org.springframework.stereotype.Controller; -// import org.springframework.ui.Model; -// import org.springframework.validation.BindingResult; -// import org.springframework.web.bind.annotation.GetMapping; -// import org.springframework.web.bind.annotation.ModelAttribute; -// import org.springframework.web.bind.annotation.PostMapping; -// import org.springframework.web.bind.annotation.RequestMapping; -// import org.springframework.web.bind.annotation.RestController; +import org.modelmapper.ModelMapper; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; -// import com.example.backend.core.configurations.Constants; -// import com.example.backend.users.model.UserEntity; -// import com.example.backend.users.service.UserService; +import com.example.backend.core.configurations.Constants; +import com.example.backend.users.model.UserEntity; +import com.example.backend.users.service.UserService; -// import jakarta.validation.Valid; -// import org.springframework.web.bind.annotation.RequestBody; +import jakarta.validation.Valid; +import org.springframework.web.bind.annotation.RequestBody; -// @Controller -// // @RequestMapping(Constants.API_URL + "/user") -// public class UserController { +@Controller +// @RequestMapping(Constants.API_URL + "/user") +public class UserController { -// private static final String CATEGORIES_VIEW = "categories"; -// private static final String LOGIN_VIEW = "login"; -// private static final String USER_ATTRIBUTE = "user"; + private static final String CATEGORIES_VIEW = "categories"; + private static final String LOGIN_VIEW = "login"; + private static final String USER_ATTRIBUTE = "user"; -// private final UserService userService; -// private final ModelMapper modelMapper; + private final UserService userService; + private final ModelMapper modelMapper; -// public UserController(UserService userService, ModelMapper modelMapper) { -// this.modelMapper = modelMapper; -// this.userService = userService; -// } + public UserController(UserService userService, ModelMapper modelMapper) { + this.modelMapper = modelMapper; + this.userService = userService; + } -// private UserEntity toEntity(UserDTO dto) { -// return modelMapper.map(dto, UserEntity.class); -// } + private UserEntity toEntity(UserDTO dto) { + return modelMapper.map(dto, UserEntity.class); + } -// private UserDTO toDto(UserEntity entity) { -// return modelMapper.map(entity, UserDTO.class); -// } + private UserDTO toDto(UserEntity entity) { + return modelMapper.map(entity, UserDTO.class); + } -// @GetMapping("/edit/") -// public String create(Model model) { -// model.addAttribute(CATEGORIES_VIEW, new UserDTO()); -// return LOGIN_VIEW; -// } + @GetMapping("/edit/") + public String create(Model model) { + model.addAttribute(CATEGORIES_VIEW, new UserDTO()); + return LOGIN_VIEW; + } -// @PostMapping("/edit/") -// public String create( -// @ModelAttribute(name = USER_ATTRIBUTE) @Valid UserDTO userDTO, -// BindingResult bindingResult, -// Model model) { -// if (bindingResult.hasErrors()) { -// return LOGIN_VIEW + "/login"; -// } -// userService.create(toEntity(userDTO)); -// return Constants.REDIRECT_VIEW + "/user"; -// } -// } + @PostMapping("/edit/") + public String create( + @ModelAttribute(name = USER_ATTRIBUTE) @Valid UserDTO userDTO, + BindingResult bindingResult, + Model model) { + if (bindingResult.hasErrors()) { + return LOGIN_VIEW + "/login"; + } + userService.create(toEntity(userDTO)); + return Constants.REDIRECT_VIEW + "/user"; + } +} diff --git a/backend/src/main/java/com/example/backend/users/repository/UserRepository.java b/backend/src/main/java/com/example/backend/users/repository/UserRepository.java index 34bf1c4..fd63fff 100644 --- a/backend/src/main/java/com/example/backend/users/repository/UserRepository.java +++ b/backend/src/main/java/com/example/backend/users/repository/UserRepository.java @@ -2,9 +2,11 @@ package com.example.backend.users.repository; import java.util.Optional; import org.springframework.data.repository.CrudRepository; +import org.springframework.data.repository.PagingAndSortingRepository; import com.example.backend.users.model.UserEntity; -public interface UserRepository extends CrudRepository { +public interface UserRepository + extends CrudRepository, PagingAndSortingRepository { Optional findByLoginIgnoreCase(String login); } diff --git a/backend/src/main/resources/templates/default.html b/backend/src/main/resources/templates/default.html index 0ecb274..eefb856 100644 --- a/backend/src/main/resources/templates/default.html +++ b/backend/src/main/resources/templates/default.html @@ -32,18 +32,28 @@