Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions api/src/main/java/com/bouquet/api/user/dto/UserResponse.java
Original file line number Diff line number Diff line change
@@ -1,9 +1,26 @@
package com.bouquet.api.user.dto;

import com.bouquet.api.post.dto.Post;
import com.bouquet.api.post.dto.PostResponse;
import lombok.*;

public class UserResponse {

@Getter
@Builder
@NoArgsConstructor(access = AccessLevel.PRIVATE)
@AllArgsConstructor(access = AccessLevel.PRIVATE)
public static class OnlyId {
private long id;
public static UserResponse.OnlyId build(User user) {
return UserResponse.OnlyId.builder()
.id(user.getId())
.build();
}
}



@Getter
@Builder
@NoArgsConstructor(access = AccessLevel.PRIVATE)
Expand Down
10 changes: 9 additions & 1 deletion api/src/main/java/com/bouquet/api/user/service/UserService.java
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
package com.bouquet.api.user.service;


import com.bouquet.api.message.dto.Message;
import com.bouquet.api.message.dto.MessageResponse;
import com.bouquet.api.message.exception.MessageNotFoundException;
import com.bouquet.api.user.dto.User;
import com.bouquet.api.user.dto.UserResponse;
import com.bouquet.api.user.exception.UserNotFoundException;
import com.bouquet.api.user.repository.UserRepository;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
Expand Down Expand Up @@ -37,6 +41,10 @@ public HashMap<String, Object> checknick(){
return result;
}


public UserResponse.OnlyId delete(Long id) {
User user = userRepository.findById(id).orElseThrow(UserNotFoundException::new);
userRepository.deleteById(id);
return UserResponse.OnlyId.build(user);
}

}
17 changes: 12 additions & 5 deletions api/src/main/java/com/bouquet/api/user/web/UserController.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package com.bouquet.api.user.web;


import com.bouquet.api.post.dto.PostResponse;
import com.bouquet.api.post.service.PostService;
import com.bouquet.api.user.dto.KakaoTokenInfo;
import com.bouquet.api.user.dto.KakaoUserInfo;
import com.bouquet.api.user.dto.User;
Expand All @@ -12,9 +14,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;

import javax.servlet.http.HttpSession;
import java.util.HashMap;
Expand All @@ -29,6 +29,8 @@ public class UserController {
@Autowired
private UserRepository userRepository;

private final UserService userService;

//프론트에서 인증 코드를 보내주면 카카오 서버와 통신하고 사용자 정보를 조회한다.
@RequestMapping("kakaoLogin")
public ResponseEntity<Object> kakaoLogin(String code, HttpSession httpSession) {
Expand Down Expand Up @@ -60,8 +62,6 @@ public ResponseEntity<Object> kakaoLogin(String code, HttpSession httpSession) {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).build();
}

private final UserService userService;

@GetMapping(value = "/login/user/nickname")
public ResponseEntity<UserResponse.UserInfo> getUser(String nickname){
UserResponse.UserInfo response = userService.create(nickname);
Expand All @@ -74,4 +74,11 @@ public ResponseEntity<Map<String, Object>> loginComplete(HttpSession session) {
return new ResponseEntity<Map<String, Object>>(result, HttpStatus.OK);
}

@DeleteMapping(value = "/user/{userId}")
public ResponseEntity<UserResponse.OnlyId> delete(@PathVariable Long userId) {
UserResponse.OnlyId response = userService.delete(userId);
return ResponseEntity.ok().body(response);
}


}