Skip to content

Commit

Permalink
feat: Add MyPageController (#17)
Browse files Browse the repository at this point in the history
  • Loading branch information
Ahyun0326 committed Mar 21, 2024
1 parent 6cf9c6e commit d951113
Showing 1 changed file with 128 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
package com.beotkkot.qtudy.controller.mypage;

import com.beotkkot.qtudy.dto.response.mypage.GetMyInterestResponseDto;
import com.beotkkot.qtudy.dto.response.mypage.GetMyPageAllResponseDto;
import com.beotkkot.qtudy.dto.response.mypage.GetMyPageInfoResponseDto;
import com.beotkkot.qtudy.dto.response.mypage.MyInterestResponseDto;
import com.beotkkot.qtudy.service.auth.AuthService;
import com.beotkkot.qtudy.service.mypage.MyPageService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequiredArgsConstructor
@Slf4j
public class MyPageController {

private final AuthService authService;
private final MyPageService myPageService;

// ๊ด€์‹ฌ ๋ถ„์•ผ ๋ชฉ๋ก ์ดˆ๊ธฐ ์„ ํƒ
@PostMapping("/my/interests")
public ResponseEntity<? super MyInterestResponseDto> saveMyInterests(@RequestParam("interests") List<Long> interests, @RequestHeader("Authorization") String token) {

Long kakao_uid;
try {
kakao_uid = authService.getKakaoUserInfo(token).getId();
if (kakao_uid == null)
return MyInterestResponseDto.noAuthentication();
} catch (Exception exception) {
log.info(exception.getMessage());
return MyInterestResponseDto.databaseError();
}

ResponseEntity<? super MyInterestResponseDto> response = myPageService.saveMyInterests(kakao_uid, interests);
return response;
}

// ๋‚ด ๊ด€์‹ฌ ๋ถ„์•ผ ๋ชฉ๋ก ์กฐํšŒ
@GetMapping("my/interests")
public ResponseEntity<? super GetMyInterestResponseDto> getMyInterests(@RequestHeader("Authorization") String token) {
Long kakao_uid;
try {
kakao_uid = authService.getKakaoUserInfo(token).getId();
if (kakao_uid == null)
return GetMyInterestResponseDto.noAuthentication();
} catch (Exception exception) {
log.info(exception.getMessage());
return GetMyInterestResponseDto.databaseError();
}
ResponseEntity<? super GetMyInterestResponseDto> response = myPageService.getMyInterests(kakao_uid);
return response;
}

// ๋‚ด ๊ด€์‹ฌ ๋ถ„์•ผ ๋ชฉ๋ก ์ˆ˜์ •
@PatchMapping("my/interests")
public ResponseEntity<? super MyInterestResponseDto> patchMyInterests(@RequestParam("interests") List<Long> interests, @RequestHeader("Authorization") String token) {
Long kakao_uid;
try {
kakao_uid = authService.getKakaoUserInfo(token).getId();
if (kakao_uid == null)
return MyInterestResponseDto.noAuthentication();
} catch (Exception exception) {
log.info(exception.getMessage());
return MyInterestResponseDto.databaseError();
}
ResponseEntity<? super MyInterestResponseDto> response = myPageService.patchMyInterests(kakao_uid, interests);
return response;
}

// ์‚ฌ์šฉ์ž ํ”„๋กœํ•„ ์กฐํšŒ
@GetMapping("/my")
public ResponseEntity<? super GetMyPageInfoResponseDto> getMyPageInfo(@RequestHeader("Authorization") String token) {

Long kakao_uid;
String email;
try {
kakao_uid = authService.getKakaoUserInfo(token).getId();
if (kakao_uid == null)
return GetMyPageInfoResponseDto.noAuthentication();
email = authService.getKakaoUserInfo(token).getEmail();
} catch (Exception exception) {
log.info(exception.getMessage());
return GetMyPageInfoResponseDto.databaseError();
}

ResponseEntity<? super GetMyPageInfoResponseDto> response = myPageService.getMyPageInfo(kakao_uid, email);

return response;
}

// ๋‚ด๊ฐ€ ์ž‘์„ฑํ•œ ๊ฒŒ์‹œ๊ธ€ ํ™•์ธ
@GetMapping("my/posts")
public ResponseEntity<? super GetMyPageAllResponseDto> getAllPost(@RequestParam("page") int page, @RequestHeader("Authorization") String token) {
Long kakao_uid;
try {
kakao_uid = authService.getKakaoUserInfo(token).getId();
if (kakao_uid == null)
return GetMyPageAllResponseDto.noAuthentication();
} catch (Exception exception) {
log.info(exception.getMessage());
return GetMyPageAllResponseDto.databaseError();
}

ResponseEntity<? super GetMyPageAllResponseDto> response = myPageService.getAllPost(kakao_uid, page);
return response;
}

// ๋‚ด๊ฐ€ ์Šคํฌ๋žฉํ•œ ๊ธ€ ํ™•์ธ
@GetMapping("/my/scrap")
public ResponseEntity<? super GetMyPageAllResponseDto> getAllScrapPost(@RequestParam("page") int page, @RequestHeader("Authorization") String token) {
Long kakao_uid;
try {
kakao_uid = authService.getKakaoUserInfo(token).getId();
if (kakao_uid == null)
return GetMyPageAllResponseDto.noAuthentication();
} catch (Exception exception) {
log.info(exception.getMessage());
return GetMyPageAllResponseDto.databaseError();
}

ResponseEntity<? super GetMyPageAllResponseDto> response = myPageService.getAllScrapPost(kakao_uid, page);
return response;
}
}

0 comments on commit d951113

Please sign in to comment.