데이터베이스 설계도 수정 :push
This commit is contained in:
@ -18,12 +18,14 @@ import com.eogns.board_back.dto.response.board.GetFavoriteListResponseDto;
|
||||
import com.eogns.board_back.dto.response.board.GetLatestBoardListResponseDto;
|
||||
import com.eogns.board_back.dto.response.board.GetSearchBoardListResponseDto;
|
||||
import com.eogns.board_back.dto.response.board.GetTop3BoardListResponseDto;
|
||||
import com.eogns.board_back.dto.response.board.GetUserBoardListResponseDto;
|
||||
import com.eogns.board_back.dto.response.board.IncreaseViewCountResponseDto;
|
||||
import com.eogns.board_back.dto.response.board.PatchBoardResponseDto;
|
||||
|
||||
import jakarta.validation.Valid;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
||||
import org.apache.catalina.connector.Response;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
//import org.springframework.security.authorization.method.AuthorizeReturnObject;
|
||||
import org.springframework.security.core.annotation.AuthenticationPrincipal;
|
||||
@ -102,6 +104,14 @@ public class BoardController {
|
||||
return response;
|
||||
}
|
||||
|
||||
@GetMapping("/user-board-list/{email}")
|
||||
public ResponseEntity<? super GetUserBoardListResponseDto> getuserBoardList(
|
||||
@PathVariable("email") String email
|
||||
) {
|
||||
ResponseEntity<? super GetUserBoardListResponseDto> response = boardService.getUserBoardList(email);
|
||||
return response;
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("")
|
||||
public ResponseEntity<? super PostBoardResponseDto> postBoard(
|
||||
|
@ -3,6 +3,7 @@ package com.eogns.board_back.controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import com.eogns.board_back.dto.response.user.GetSignInUserResponseDto;
|
||||
import com.eogns.board_back.dto.response.user.GetUserResponseDto;
|
||||
import com.eogns.board_back.service.UserService;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
@ -10,6 +11,9 @@ import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.security.core.annotation.AuthenticationPrincipal;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
|
||||
|
||||
|
||||
|
||||
@RestController
|
||||
@ -18,6 +22,15 @@ import org.springframework.web.bind.annotation.GetMapping;
|
||||
public class UserController {
|
||||
private final UserService userService;
|
||||
|
||||
@GetMapping("/{email}")
|
||||
public ResponseEntity<? super GetUserResponseDto> getUser(
|
||||
@PathVariable("email") String email
|
||||
){
|
||||
ResponseEntity<? super GetUserResponseDto> response = userService.getUser(email);
|
||||
return response;
|
||||
}
|
||||
|
||||
|
||||
@GetMapping("")
|
||||
public ResponseEntity<? super GetSignInUserResponseDto> getSignInUser(
|
||||
@AuthenticationPrincipal String email
|
||||
|
@ -0,0 +1,14 @@
|
||||
package com.eogns.board_back.dto.request.user;
|
||||
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
public class PatchNicknameRequestDto {
|
||||
@NotBlank
|
||||
private String nickname;
|
||||
}
|
@ -0,0 +1,12 @@
|
||||
package com.eogns.board_back.dto.request.user;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
public class PatchProfileImageRequestDto {
|
||||
private String profileImage;
|
||||
}
|
@ -0,0 +1,35 @@
|
||||
package com.eogns.board_back.dto.response.board;
|
||||
|
||||
import com.eogns.board_back.common.ResponseCode;
|
||||
import com.eogns.board_back.common.ResponseMessage;
|
||||
import com.eogns.board_back.dto.object.BoardListItem;
|
||||
import com.eogns.board_back.dto.response.ResponseDto;
|
||||
import com.eogns.board_back.entity.BoardListViewEntity;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
|
||||
@Getter
|
||||
public class GetUserBoardListResponseDto extends ResponseDto{
|
||||
private List<BoardListItem> userBoardList;
|
||||
|
||||
private GetUserBoardListResponseDto(List<BoardListViewEntity> boardListViewEntities){
|
||||
super((ResponseCode.SUCCESS), ResponseMessage.SUCCESS);
|
||||
|
||||
this.userBoardList = BoardListItem.getList(boardListViewEntities);
|
||||
}
|
||||
|
||||
public static ResponseEntity<GetUserBoardListResponseDto> success(List<BoardListViewEntity> boardListViewEntities){
|
||||
GetUserBoardListResponseDto result = new GetUserBoardListResponseDto(boardListViewEntities);
|
||||
return ResponseEntity.status(HttpStatus.OK).body(result);
|
||||
}
|
||||
|
||||
public static ResponseEntity<ResponseDto> noExistUser(){
|
||||
ResponseDto result = new ResponseDto(ResponseCode.NOT_EXISTED_USER, ResponseMessage.NOT_EXISTED_USER);
|
||||
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(result);
|
||||
}
|
||||
}
|
@ -0,0 +1,36 @@
|
||||
package com.eogns.board_back.dto.response.user;
|
||||
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
|
||||
import com.eogns.board_back.common.ResponseCode;
|
||||
import com.eogns.board_back.common.ResponseMessage;
|
||||
import com.eogns.board_back.dto.response.ResponseDto;
|
||||
import com.eogns.board_back.entity.UserEntity;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public class GetUserResponseDto extends ResponseDto{
|
||||
|
||||
private String email;
|
||||
private String nickname;
|
||||
private String profileImage;
|
||||
|
||||
private GetUserResponseDto(UserEntity userEntity){
|
||||
super(ResponseCode.SUCCESS, ResponseMessage.SUCCESS);
|
||||
this.email = userEntity.getEmail();
|
||||
this.nickname = userEntity.getNickname();
|
||||
this.profileImage = userEntity.getProfileImage();
|
||||
}
|
||||
|
||||
public static ResponseEntity<GetUserResponseDto> success(UserEntity userEntity){
|
||||
GetUserResponseDto result = new GetUserResponseDto(userEntity);
|
||||
return ResponseEntity.status(HttpStatus.OK).body(result);
|
||||
}
|
||||
|
||||
public static ResponseEntity<ResponseDto> noExistUser(){
|
||||
ResponseDto result = new ResponseDto(ResponseCode.NOT_EXISTED_USER, ResponseMessage.NOT_EXISTED_USER);
|
||||
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(result);
|
||||
}
|
||||
}
|
@ -0,0 +1,32 @@
|
||||
package com.eogns.board_back.dto.response.user;
|
||||
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
|
||||
import com.eogns.board_back.common.ResponseCode;
|
||||
import com.eogns.board_back.common.ResponseMessage;
|
||||
import com.eogns.board_back.dto.response.ResponseDto;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public class PatchNicknameResponseDto extends ResponseDto{
|
||||
private PatchNicknameResponseDto(){
|
||||
super(ResponseCode.SUCCESS, ResponseMessage.SUCCESS);
|
||||
}
|
||||
|
||||
public static ResponseEntity<PatchNicknameResponseDto> success(){
|
||||
PatchNicknameResponseDto result = new PatchNicknameResponseDto();
|
||||
return ResponseEntity.status(HttpStatus.OK).body(result);
|
||||
}
|
||||
|
||||
public static ResponseEntity<ResponseDto> noExistUser(){
|
||||
ResponseDto result = new ResponseDto(ResponseCode.NOT_EXISTED_USER, ResponseMessage.NOT_EXISTED_USER);
|
||||
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(result);
|
||||
}
|
||||
|
||||
public static ResponseEntity<ResponseDto> duplicateNickname(){
|
||||
ResponseDto result = new ResponseDto(ResponseCode.DUPLICATE_NICKNAME, ResponseMessage.DUPLICATE_NICKNAME);
|
||||
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(result);
|
||||
}
|
||||
}
|
@ -0,0 +1,28 @@
|
||||
package com.eogns.board_back.dto.response.user;
|
||||
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
|
||||
import com.eogns.board_back.common.ResponseCode;
|
||||
import com.eogns.board_back.common.ResponseMessage;
|
||||
import com.eogns.board_back.dto.response.ResponseDto;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public class PatchProfileImageResponseDto extends ResponseDto{
|
||||
private PatchProfileImageResponseDto(){
|
||||
super(ResponseCode.SUCCESS, ResponseMessage.SUCCESS);
|
||||
}
|
||||
|
||||
public static ResponseEntity<PatchProfileImageResponseDto> success(){
|
||||
PatchProfileImageResponseDto result = new PatchProfileImageResponseDto();
|
||||
return ResponseEntity.status(HttpStatus.OK).body(result);
|
||||
}
|
||||
|
||||
public static ResponseEntity<ResponseDto> noExistUser(){
|
||||
ResponseDto result = new ResponseDto(ResponseCode.NOT_EXISTED_USER, ResponseMessage.NOT_EXISTED_USER);
|
||||
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(result);
|
||||
}
|
||||
|
||||
}
|
@ -40,4 +40,12 @@ public class UserEntity{
|
||||
this.addressDetail = dto.getAddressDetail();
|
||||
this.agreedPersonal = dto.getAgreedPersonal();
|
||||
}
|
||||
|
||||
public void setNickname(String nickname) {
|
||||
this.nickname = nickname;
|
||||
}
|
||||
|
||||
public void setProfileImage(String profileImage) {
|
||||
this.profileImage = profileImage;
|
||||
}
|
||||
}
|
@ -13,4 +13,5 @@ public interface BoardListViewRepository extends JpaRepository<BoardListViewEnti
|
||||
List<BoardListViewEntity> findByOrderByWriteDatetimeDesc();
|
||||
List<BoardListViewEntity> findTop3ByWriteDatetimeGreaterThanOrderByFavoriteCountDescCommentCountDescViewCountDescWriteDatetimeDesc(String writeDatetime);
|
||||
List<BoardListViewEntity> findByTitleContainsOrContentContainsOrderByWriteDatetimeDesc(String title, String content);
|
||||
List<BoardListViewEntity> findByWriterEmailOrderByWriteDatetimeDesc(String email);
|
||||
}
|
||||
|
@ -15,6 +15,7 @@ import com.eogns.board_back.dto.response.board.GetFavoriteListResponseDto;
|
||||
import com.eogns.board_back.dto.response.board.GetLatestBoardListResponseDto;
|
||||
import com.eogns.board_back.dto.response.board.GetSearchBoardListResponseDto;
|
||||
import com.eogns.board_back.dto.response.board.GetTop3BoardListResponseDto;
|
||||
import com.eogns.board_back.dto.response.board.GetUserBoardListResponseDto;
|
||||
import com.eogns.board_back.dto.response.board.IncreaseViewCountResponseDto;
|
||||
import com.eogns.board_back.dto.response.board.PatchBoardResponseDto;
|
||||
|
||||
@ -31,5 +32,6 @@ public interface BoardService {
|
||||
ResponseEntity<? super PatchBoardResponseDto> patchBoard(PatchBoardResquestDto dto, Integer boardNumber, String email);
|
||||
ResponseEntity<? super IncreaseViewCountResponseDto> increaseViewCount(Integer boardNumber);
|
||||
ResponseEntity<? super DeleteBoardResponseDto> deleteBoard(Integer boardNumber, String email);
|
||||
ResponseEntity<? super GetUserBoardListResponseDto> getUserBoardList(String email);
|
||||
}
|
||||
|
||||
|
@ -1,10 +1,19 @@
|
||||
package com.eogns.board_back.service;
|
||||
|
||||
import org.apache.catalina.connector.Response;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
|
||||
import com.eogns.board_back.dto.response.user.GetSignInUserResponseDto;;
|
||||
import com.eogns.board_back.dto.request.user.PatchNicknameRequestDto;
|
||||
import com.eogns.board_back.dto.request.user.PatchProfileImageRequestDto;
|
||||
import com.eogns.board_back.dto.response.user.GetSignInUserResponseDto;
|
||||
import com.eogns.board_back.dto.response.user.GetUserResponseDto;
|
||||
import com.eogns.board_back.dto.response.user.PatchNicknameResponseDto;
|
||||
import com.eogns.board_back.dto.response.user.PatchProfileImageResponseDto;;
|
||||
|
||||
public interface UserService {
|
||||
ResponseEntity<? super GetUserResponseDto> getUser(String email);
|
||||
ResponseEntity<? super GetSignInUserResponseDto> getSinInuser(String email);
|
||||
ResponseEntity<? super PatchNicknameResponseDto> patchNickname(PatchNicknameRequestDto dto, String email);
|
||||
ResponseEntity<PatchProfileImageResponseDto> patchProfileImage(PatchProfileImageRequestDto dto, String email);
|
||||
|
||||
}
|
||||
|
@ -17,6 +17,7 @@ import com.eogns.board_back.dto.response.board.GetFavoriteListResponseDto;
|
||||
import com.eogns.board_back.dto.response.board.GetLatestBoardListResponseDto;
|
||||
import com.eogns.board_back.dto.response.board.GetSearchBoardListResponseDto;
|
||||
import com.eogns.board_back.dto.response.board.GetTop3BoardListResponseDto;
|
||||
import com.eogns.board_back.dto.response.board.GetUserBoardListResponseDto;
|
||||
import com.eogns.board_back.dto.response.board.IncreaseViewCountResponseDto;
|
||||
import com.eogns.board_back.dto.response.board.PatchBoardResponseDto;
|
||||
import com.eogns.board_back.dto.response.board.PostBoardResponseDto;
|
||||
@ -174,6 +175,25 @@ public class BoardServiceImplement implements BoardService{
|
||||
return GetSearchBoardListResponseDto.success(boardListViewEntities);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResponseEntity<? super GetUserBoardListResponseDto> getUserBoardList(String email) {
|
||||
|
||||
List<BoardListViewEntity> boardListViewEntities = new ArrayList<>();
|
||||
|
||||
try {
|
||||
|
||||
boolean existedUser = userRepository.existsByEmail(email);
|
||||
if(!existedUser) return GetUserBoardListResponseDto.noExistUser();
|
||||
|
||||
boardListViewEntities = boardListViewRepository.findByWriterEmailOrderByWriteDatetimeDesc(email);
|
||||
|
||||
} catch (Exception exception) {
|
||||
exception.printStackTrace();
|
||||
return ResponseDto.databaseError();
|
||||
}
|
||||
return GetUserBoardListResponseDto.success(boardListViewEntities);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResponseEntity<? super PostBoardResponseDto> postBoard(PostBoardRequestDto dto, String email) {
|
||||
try {
|
||||
@ -336,4 +356,6 @@ public class BoardServiceImplement implements BoardService{
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
@ -1,10 +1,16 @@
|
||||
package com.eogns.board_back.service.implement;
|
||||
|
||||
//import org.springframework.boot.autoconfigure.security.SecurityProperties.User;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.eogns.board_back.dto.request.user.PatchNicknameRequestDto;
|
||||
import com.eogns.board_back.dto.request.user.PatchProfileImageRequestDto;
|
||||
import com.eogns.board_back.dto.response.ResponseDto;
|
||||
import com.eogns.board_back.dto.response.user.GetSignInUserResponseDto;
|
||||
import com.eogns.board_back.dto.response.user.GetUserResponseDto;
|
||||
import com.eogns.board_back.dto.response.user.PatchNicknameResponseDto;
|
||||
import com.eogns.board_back.dto.response.user.PatchProfileImageResponseDto;
|
||||
import com.eogns.board_back.entity.UserEntity;
|
||||
import com.eogns.board_back.repository.UserRepository;
|
||||
import com.eogns.board_back.service.UserService;
|
||||
@ -17,6 +23,21 @@ public class UserServiceImplement implements UserService {
|
||||
|
||||
private final UserRepository userRepository;
|
||||
|
||||
@Override
|
||||
public ResponseEntity<? super GetUserResponseDto> getUser(String email) {
|
||||
UserEntity userEntity = null;
|
||||
|
||||
try {
|
||||
userEntity = userRepository.findByEmail(email);
|
||||
if(userEntity == null) return GetUserResponseDto.noExistUser();
|
||||
|
||||
} catch (Exception exception) {
|
||||
exception.printStackTrace();
|
||||
return ResponseDto.databaseError();
|
||||
}
|
||||
return GetUserResponseDto.success(userEntity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResponseEntity<? super GetSignInUserResponseDto> getSinInuser(String email) {
|
||||
|
||||
@ -34,5 +55,44 @@ public class UserServiceImplement implements UserService {
|
||||
|
||||
return GetSignInUserResponseDto.success(userEntity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResponseEntity<? super PatchNicknameResponseDto> patchNickname(PatchNicknameRequestDto dto, String email) {
|
||||
try {
|
||||
UserEntity userEntity = userRepository.findByEmail(email);
|
||||
if(userEntity == null) return PatchNicknameResponseDto.noExistUser();
|
||||
|
||||
String nickname = dto.getNickname();
|
||||
boolean existedNickname = userRepository.existsByNickname(nickname);
|
||||
if(existedNickname) return PatchNicknameResponseDto.duplicateNickname();
|
||||
|
||||
userEntity.setNickname(nickname);
|
||||
userRepository.save(userEntity);
|
||||
|
||||
} catch (Exception exception) {
|
||||
exception.printStackTrace();
|
||||
return ResponseDto.databaseError();
|
||||
}
|
||||
return PatchNicknameResponseDto.success();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResponseEntity<? super PatchProfileImageResponseDto> patchProfileImage(PatchProfileImageRequestDto dto, String email) {
|
||||
try {
|
||||
UserEntity userEntity = userRepository.findByEmail(email);
|
||||
if(userEntity == null) return PatchProfileImageResponseDto.noExistUser();
|
||||
|
||||
String ProfileImage = dto.getProfileImage();
|
||||
userEntity.setProfileImage(ProfileImage);
|
||||
userRepository.save(userEntity);
|
||||
|
||||
} catch (Exception exception) {
|
||||
exception.printStackTrace();
|
||||
return ResponseDto.databaseError();
|
||||
}
|
||||
return PatchProfileImageResponseDto.success();
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
@ -4,13 +4,13 @@
|
||||
"settings": {
|
||||
"width": 2000,
|
||||
"height": 2000,
|
||||
"scrollTop": -620.5229,
|
||||
"scrollLeft": -322.1664,
|
||||
"scrollTop": -647.182,
|
||||
"scrollLeft": -201.0012,
|
||||
"zoomLevel": 0.8,
|
||||
"show": 431,
|
||||
"database": 4,
|
||||
"databaseName": "test_DB",
|
||||
"canvasType": "@dineug/erd-editor/builtin-schema-sql",
|
||||
"canvasType": "ERD",
|
||||
"language": 1,
|
||||
"tableNameCase": 4,
|
||||
"columnNameCase": 2,
|
||||
@ -137,15 +137,15 @@
|
||||
"1uMXJT_u-apo92VSJebdL"
|
||||
],
|
||||
"ui": {
|
||||
"x": 1155.7499,
|
||||
"y": 705,
|
||||
"x": 1225.7499,
|
||||
"y": 621.25,
|
||||
"zIndex": 150,
|
||||
"widthName": 60,
|
||||
"widthComment": 117,
|
||||
"color": "#007CFF"
|
||||
},
|
||||
"meta": {
|
||||
"updateAt": 1725949448118,
|
||||
"updateAt": 1726126865410,
|
||||
"createAt": 1724303642740
|
||||
}
|
||||
},
|
||||
@ -225,15 +225,15 @@
|
||||
"pYDg6JbatIM5D1FHS-Zjj"
|
||||
],
|
||||
"ui": {
|
||||
"x": 942.843,
|
||||
"y": 920.4355,
|
||||
"x": 1046.593,
|
||||
"y": 957.9355,
|
||||
"zIndex": 364,
|
||||
"widthName": 60,
|
||||
"widthComment": 93,
|
||||
"color": "#FF0D00"
|
||||
},
|
||||
"meta": {
|
||||
"updateAt": 1725949444231,
|
||||
"updateAt": 1726126904053,
|
||||
"createAt": 1724304620674
|
||||
}
|
||||
}
|
||||
@ -900,8 +900,8 @@
|
||||
"columnIds": [
|
||||
"WSSBKHeYT3A8y6Hi9MRRb"
|
||||
],
|
||||
"x": 1155.7499,
|
||||
"y": 757,
|
||||
"x": 1225.7499,
|
||||
"y": 673.25,
|
||||
"direction": 1
|
||||
},
|
||||
"meta": {
|
||||
|
901
pro.vuerd.json
901
pro.vuerd.json
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user