Skip to content

Commit

Permalink
[Main Merge] 추천 Hard Delete (#236)
Browse files Browse the repository at this point in the history
* Fix: ErrorStatus 수정 (#55)

* [FEAT] 오늘의 조합 댓글 작성 API 개발 (#58)

* feat : CombinationComment domain column 수정

Related: #50

* feat : CombinationComment Request, Response 작성

Related: #50

* feat : CombinationComment 에러 상태 추가

Related: #50

* feat : CombinationComment Service 구현

Related: #50

* feat : CombinationComment Controller 구현

Related: #50

* feat : 오늘의 조합 댓글 작성 시 Combination commentCount 증가 구현

Related: #50

* [FEAT] 오늘의 조합 댓글 조회 API 개발 (#59)

* feat : CombinationComment 관련 DTO 작성

Related: #57

* feat : CombinationComment Service 구현

기존의 오늘의 조합 상세 조회 시 사용한 Paging 메서드 수정

Related: #57

* feat : CombinationComment Controller 구현

Related: #57

* feat : Paging Annotation & Validator 구현

Related: #57

* feat : Combination 존재 여부 검증하는 Annotation & Validator 구현

Related: #57

* Feat: 주류 추천 API (#61)

* Feat: GPT API연동 및 프롬프트 엔지니어링

- GPT API 연동
- 프롬프트 엔지니어링
- Recommend 레포지토리 저장

TODO: 프롬프트 엔지니어링 성능 개선

* Feat: 주류 추천 이미지 생성 기능

* Feat: recommend validation 추가

* Fix: GPT 결과 Json형식으로 제한

* Fix: Conflict 사후처리

* Fix: PR comments 해결

* fix: Merge Conflict 해결 (#65)

Related: #64

* FIX : 오늘의 조합 상세 조회에 CombinationImage, CombinationLike 정보 추가 전달 (#66)

* fix: 오늘의 조합 상세 조회에 CombinationImage 정보 추가 전달

Related: #47

* fix: 오늘의 조합 상세 조회 API 좋아요 여부 데이터 추가

상세 조회 API시 좋아요 상태 정보 전달

Related: #47

* Feat: 오늘의 조합 댓글 수정 API 개발 (#67)

* feat: CombinationComment Request, Response DTO 구현

Related: #60

* feat: CombinationComment CommandService 구현

Related: #60

* feat: CombinationComment Controller 구현

Related: #60

* Feat: 추천 삭제 API (#71)

* Fix: #71 Merge conflict 놓친 부분 처리

* Feat: 주류 추천 리스트 API (#72)

* Feat: 주류 추천 리스트 API

* Fix: 리스트 조회 controller수정

Method: Post -> Get
page, size -> RequestParameter로 입력

* Fix: Comment 처리

* Docs : 레시피 Swagger 설정 (#70)

* docs : Recipe DTO Swagger 설정

Related #69

* docs : Recipe Controller Swagger 설정

Related #69

* docs : RecipeLike DTO Swagger 설정

Related #69

* docs : RecipeLike Controller Swagger 설정

Related #69

* docs : RecipeComment DTO Swagger 설정

Related #69

* docs : RecipeComment Controller Swagger 설정

Related #69

* Feat : 레시피 이미지 API (#73)

* feat : RecipeRepository 생성

레시피 id로 모든 이미지를 찾는 메소드 추가
Relatd #53

* feat : RecipeImage Service 생성 & 해당 레시피 이미지 조회

Related #53

* feat : (GET) 해당 레시피 이미지 조회 API

recipeId 파라미터로 해당 레시피의 이미지를 조회합니다.
Related #53

* feat : Recipe Entity 빌드 메소드 추가

Recipe recipe, String imageUrl 를 받아 Entity를 빌드합니다.
Related #53

* feat : 요청으로 들어온 Image가 없을 경우 예외처리

Related #53

* feat : 요청으로 들어온 image POST

- Recipe 찾아온 후
- image 유무를 검증합니다.
- s3에 이미지를 업로드하고 url을 받아옵니다.
- Recipe Entity 들을 만들어 모두 저장합니다.
Related #53

* feat : (POST) 레시피 이미지 등록 API

form-data 형식 사용했습니다
Related #53

* feat : 레시피 이미지 url로 삭제

- 레시피 url로 RecipeImage를 찾습니다
- 없으면 에러를 발생시킵니다.
- 있으면 repository에서 삭제하고 s3에서도 삭제합니다.
Related #53

* feat : 레시피 이미지 수정 기능

- 1. 추가할 레시피 이미지가 있다면 업로드합니다
- 2. 삭제할 레시피 이미지가 있다면 삭제합니다
Related #53

* feat : (PATCH) 레시피 수정 API

- 추가 업로드할 파일, 삭제할 파일 URL, RecipeID를 파라미터로 받습니다.
Related #53

* feat : 레시피의 모든 이미지 삭제

레시피 id로 해당 레시피의 모든 이미지를 삭제합니다
Related #53

* feat : (DELETE) 레시피 이미지 삭제 API

Related #53

* fix : ErrorStatus 유형 변경

ErrorStatus 사용이 잘못되어 수정하였습니다.
Related #53

* Feat: 주간 베스트 조합 조회 API (#74)

* Feat: #51 주간 베스트 조합 조회 API 구현

- Controller, Service, Repository 구현
- 좋아요 10개 이상 게시글 조회

* Feat: #51 주간 베스트 조합 조회 API 수정

- 좋아요 30개 이상 조회로 수정

* Feat: 오늘의 조합 댓글 삭제 API 구현 (#75)

* feat: CombinationComment Response 작성

Related: #68

* feat: CombinationComment CommandService 구현

Related: #68

* feat: CombinationComment Controller 구현

Related: #68

* Feat: 오늘의 조합 좋아요 누르기 API (#77)

* Feat: #75 오늘의 조합 좋아요 관련 API

- changeCombinationLike 메서드 생성

* Feat: 조합 좋아요 엔티티 조회 메서드 구현

Related : #75

* Feat: Combination 엔티티 Like 관련 메서드 구현

Related : #75

* Feat: Combination 엔티티 Like 관련 메서드 구현

Related : #75

* Feat: Combination Entity 조회 메서드, CombinationLike 생성 메서드, CombinationLike 상태 변경 메서드 구현

Related : #75

* Feat: Long memberId로 받아오는 방식으로 수정

Related : #75

* Revert "Feat: Long memberId로 받아오는 방식으로 수정"

This reverts commit 4dae9a6d7cd02e316f17cde0ef0acef88f792670.

* Revert "Feat: Combination Entity 조회 메서드, CombinationLike 생성 메서드, CombinationLike 상태 변경 메서드 구현"

This reverts commit ef2a48ae010cc766a23ea05f3402dafb35eee879.

* Revert "Feat: Combination 엔티티 Like 관련 메서드 구현"

This reverts commit 77530309fc9ab228ef223fdbd44b60e9da7f211d.

* Revert "Feat: Combination 엔티티 Like 관련 메서드 구현"

This reverts commit 7adc09f2ecd4570f091a2bdbde1d969be78b514e.

* Revert "Feat: 조합 좋아요 엔티티 조회 메서드 구현"

This reverts commit 2bab9c8ae969c73a544cb092e1bb8c5df7c980a6.

* Revert "Feat: #75 오늘의 조합 좋아요 관련 API"

This reverts commit 1a6ca0bcedb90d728e35ce2a237dd18b2e13c7aa.

* Feat: Combination, CombinationLike 엔티티 메서드 추가

Related : #76

* Feat: findByCombinationAndMember 메서드 추가

Related : #76

* Feat: Service 구현

Related : #76

* Feat: Controller 구현

Related : #76

* Feat: 소셜 로그인 (Kakao, Naver) API 개발 (#78)

* Feat : JwtProvider token 생성, 검증, 등록 구현

Related: #10

* Feat : SecurityConfig 1차 설정

Related: #10

* Feat : JwtAuthenticationFilter 구현

Jwt token 유효성 검증하는 필터

Related: #10

* Feat : OAuth2UserInfo 구현

카카오 사용자 정보 KakaoUserInfo 구현

Related: #10

* Feat : CustomOAuth2User, CustomOAuth2UserService 구현

소셜 로그인 및 회원가입을 처리하는 서비스

Related: #10

* Feat : OAuth2AuthenticationSuccessHandler, OAuth2Controller 구현

소셜 로그인 성공 시 토큰 생성 및 사용자 정보 전달하는 핸들러 작성

Related: #10

* Feat : SecurityConfig oauth2Login 설정 및 Member 속성 변경

Related: #10

* Feat : Redis에 Refresh Token 저장하기

서버 측 Redis에 Refresh Token을 저장하고, Cookie에 Refresh Token 담아 전달하기

Related: #10

* Feat : AccessToken 재발급 API 구현

Related: #10

* Feat: 네이버 소셜 로그인 구현

* docs: 도메인 적용 및 파일 수정

Related: #10

* feat: Security LogoutHandler 작성

Related: #10

* feat: AccessToken 재발급 API 재 구현
Related: #10

* feat: ErrorStatus 상태 추가 및 CookieUtil 수정
Related: #10

* feat: ErrorStatus 추가 및 파일 수정
Related: #78

---------

Co-authored-by: Blue-hyeon <[email protected]>

* fix: Merge conflict resolve (#81)

Related: #80

* Update Member.java

* Fix: swagger Failed to fetch 오류 해결 (#86)

- server url 설정

Related: #85

* Feat: 타이틀로 검색 API (#89)

* Feat: 오늘의 조합 홈 타이틀 검색

Related: #88

* Feat: 주간 베스트 조합 홈 타이틀 검색

Related: #88

* Feat: 레시피북 홈 타이틀 검색

- 코딩 컨벤션 반영

Related: #88

* Fix: 소셜 로그인 코드 수정 (#91)

* Feat : JwtProvider token 생성, 검증, 등록 구현

Related: #10

* Feat : SecurityConfig 1차 설정

Related: #10

* Feat : JwtAuthenticationFilter 구현

Jwt token 유효성 검증하는 필터

Related: #10

* Feat : OAuth2UserInfo 구현

카카오 사용자 정보 KakaoUserInfo 구현

Related: #10

* Feat : CustomOAuth2User, CustomOAuth2UserService 구현

소셜 로그인 및 회원가입을 처리하는 서비스

Related: #10

* Feat : OAuth2AuthenticationSuccessHandler, OAuth2Controller 구현

소셜 로그인 성공 시 토큰 생성 및 사용자 정보 전달하는 핸들러 작성

Related: #10

* Feat : SecurityConfig oauth2Login 설정 및 Member 속성 변경

Related: #10

* Feat : Redis에 Refresh Token 저장하기

서버 측 Redis에 Refresh Token을 저장하고, Cookie에 Refresh Token 담아 전달하기

Related: #10

* Feat : AccessToken 재발급 API 구현

Related: #10

* Feat: 네이버 소셜 로그인 구현

* docs: 도메인 적용 및 파일 수정

Related: #10

* feat: Security LogoutHandler 작성

Related: #10

* feat: AccessToken 재발급 API 재 구현
Related: #10

* feat: ErrorStatus 상태 추가 및 CookieUtil 수정
Related: #10

* feat: ErrorStatus 추가 및 파일 수정
Related: #78

* feat: iOS 소셜 로그인 처리 후 전달 받는 AuthRequest 작성

Related: #10

* Docs: oauth2 패키지 삭제

Related: #10

* feat: 로그인 및 회원가입을 진행하는 AuthService 구현

Related: #10

* feat: LogoutHandler, JwtController 구현

Related: #10

* refactor: JwtProvider 만료 시간 및 파싱하는 데이터 수정

Related: #10

* refactor: SecurityConfig, JwtAuthenticationFilter URL, 인증 허가 경로 수정

Related: #10

---------

Co-authored-by: Blue-hyeon <[email protected]>

* Feat: Resolver추가 및 Member어노테이션 추가 (#97)

* Feat : JwtProvider token 생성, 검증, 등록 구현

Related: #10

* Feat : SecurityConfig 1차 설정

Related: #10

* Feat : JwtAuthenticationFilter 구현

Jwt token 유효성 검증하는 필터

Related: #10

* Feat : OAuth2UserInfo 구현

카카오 사용자 정보 KakaoUserInfo 구현

Related: #10

* Feat : CustomOAuth2User, CustomOAuth2UserService 구현

소셜 로그인 및 회원가입을 처리하는 서비스

Related: #10

* Feat : OAuth2AuthenticationSuccessHandler, OAuth2Controller 구현

소셜 로그인 성공 시 토큰 생성 및 사용자 정보 전달하는 핸들러 작성

Related: #10

* Feat : SecurityConfig oauth2Login 설정 및 Member 속성 변경

Related: #10

* Feat : Redis에 Refresh Token 저장하기

서버 측 Redis에 Refresh Token을 저장하고, Cookie에 Refresh Token 담아 전달하기

Related: #10

* Feat : AccessToken 재발급 API 구현

Related: #10

* Feat: 네이버 소셜 로그인 구현

* docs: 도메인 적용 및 파일 수정

Related: #10

* feat: Security LogoutHandler 작성

Related: #10

* feat: AccessToken 재발급 API 재 구현
Related: #10

* feat: ErrorStatus 상태 추가 및 CookieUtil 수정
Related: #10

* feat: ErrorStatus 추가 및 파일 수정
Related: #78

* feat: iOS 소셜 로그인 처리 후 전달 받는 AuthRequest 작성

Related: #10

* Docs: oauth2 패키지 삭제

Related: #10

* feat: 로그인 및 회원가입을 진행하는 AuthService 구현

Related: #10

* feat: LogoutHandler, JwtController 구현

Related: #10

* refactor: JwtProvider 만료 시간 및 파싱하는 데이터 수정

Related: #10

* refactor: SecurityConfig, JwtAuthenticationFilter URL, 인증 허가 경로 수정

Related: #10

* Feat: resolver 추가

* Fix: Resolver 오류 수정

---------

Co-authored-by: hyungyeom <[email protected]>
Co-authored-by: Blue-hyeon <[email protected]>
Co-authored-by: kylo <[email protected]>

* Feat: MyPage 관련 API 모음  (#93)

* feat: 마이페이지 수정, 마이페이지 조회, 내가 작성한 오늘의 조합 조회API

* feat: 마이페이지 수정, 마이페이지 조회, 내가 작성한 오늘의 조합 조회API

* feat: 좋아요 관련 API

* Feat : 레시피 Count 변경 기능 추가 (#96)

* feat : Recipe에서 LikeCount와 CommentCount 변경

넘겨받는 bool 값에 따라 더하거나 뺄 수 있도록 하였습니다.
Related #95

* feat : RecipeLike 변경되면 LikeCount 변경

-기존 state가 true이면 삭제해야하므로 isDecrease에 저장합니다.
- state 변경이후 isDecrease값 recipe에 넘겨줍니다.
Related #95

* feat : RecipeLike 생성 시 LikeCount 증가

기존 상태 변경말고 새로 생성 시 LikeCount 증가시켜 주었습니다.
Related #95

* feat : RecipeComment 삭제시 CommentCount 감소

Related #95

* feat : RecipeComment 삭제 시 이미 삭제된 Comment인지 에러처리

Related #95

* feat : ReicpeComment 삭제 시 CommentCount 감소

Related #95

* feat : RecipeComment 등록 시 CommentCount 증가

Related #95

* Feat : 레시피 페이징 (#94)

* feat : RecipeRepository에서 page 기능 추가

Related #90

* feat : Recipe Service에서 페이징 기능 추가

Related #90

* refactor : Default Member 저장 방식 변경

Security 추가되어서 기존의 Member가 저장되지 않아 초기화 방식을 바꿨습니다.
Related #90

* feat : (GET) Recipe 페이징 추가

Related #90

* feat : RecipeCommentRepository 페이징 추가

* feat : RecipeComment Service에서 페이징 기능 추가

Related #90

* feat : (GET) RecipeComment 페이징 기능 추가된 API

Related #90

* Fix: Main Merge Conflict Resolve

* Fix: Main Merge Conflict Resolve

- RecipeController 수정

* Fix: 오늘의 조합 API 수정 & 로그인 사용자 정보 어노테이션 추가 & Soft Delete 적용 (#104)

* fix: 오늘의 조합 홈 조회 DTO 수정

Related: #101

* fix: CombinationQueryService 수정

로그인 사용자 정보와 좋아요 여부 데이터 추가

Related: #101

* fix: CombinationController 오늘의 조합 API 수정

Related: #101

* fix: 오늘의 조합 상세보기 Controller, Service 수정

로그인 사용자 정보 추가

Related: #101

* fix: 오늘의 조합 상세보기에 HashTagOptionQueryService 적용

Related: #101

* fix: Response 코딩 컨벤션 적용

Related: #101

* fix: 오늘의 조합 작성 API Request, Response 수정

Related: #101

* fix: 오늘의 조합 작성 Controller, Service 수정

Related: #101

* fix: Combination 생성 메서드 Service에서 분리

Related: #101

* fix: Combination Soft Delete 적용

Related: #101

* fix: 오늘의 조합 홈, 상세조회 API 수정

soft delete를 적용하여, state가 참인 것만 조회

Related: #101

* feat: HandlerInterceptor를 통해 로그인 사용자가 작성자인지 검증 로직 구현

Related: #101

* fix: 오늘의 조합 수정 조회 API 수정

Related: #101

* fix: 오늘의 조합 수정처리 API 수정

Related: #101

* fix: CombinationService에서 Recommend 조회 Service 계층으로 변경

Related: #101

* fix: HandlerInterceptor 메서드에 적용

Related: #101

* fix: 오늘의 조합 작성 API 수정
recommendId를 2번 받는 문제 수정

Related: #101

* feat: 소셜 로그인 응답값 DTO 생성 및 반환 구현
Related: #101

* fix: 주간 베스트 조합 API에 @MemberObject 적용
Related: #101

* Fix: Recommend 도메인 Member어노테이션 추가 및 Soft Delete구현 (#103)

* Fix: Controller 멤버 어노테이션 적용

* Fix: recommend hard delete -> soft delete

* Refactor: 동일기능 DTO 통합

* Refactor: Recommend관련 errorstatus 수정

* FIX: 오늘의 조합 댓글 관련 API 및 로그인 사용자 정보 적용 (#108)

* fix: CombinationExistValidator 수정

soft delete로 state가 true인 데이터 조회하기

Related: #105

* fix: CommentResponse DTO 수정 시간 포맷팅 적용

Related: #105

* fix: Comment 작성 API 수정

Related: #105

* fix: Comment Soft Delete 적용 및 Query Method 분리

Related: #105

* fix: CombinationImage 이미지 업로드 API 수정

업로드하는 이미지 검증하는 메서드 추가

Related: #105

* fix: comment 수정 응답 값 수정

Related: #105

* fix: 소셜 로그인 처리 후 Refresh Toekn 전달 방법 수정 (#111)

logout, access Token 재발급 로직 추가 수정

Related: #109

* Fix : 마이페이지 API 수정 & 로그인 사용자 정보 어노테이션 추가 & 필요 없는 코드 정리 (#106)

* feat: 마이페이지 수정, 마이페이지 조회, 내가 작성한 오늘의 조합 조회API

* feat: 마이페이지 수정, 마이페이지 조회, 내가 작성한 오늘의 조합 조회API

* feat: 좋아요 관련 API

* fix: Apply @MemberObject

* fix: Apply @MemberObject

* fix: profile image upload api

* feat: 회원 정보 조회 API

---------

Co-authored-by: Minhyeok Song <[email protected]>

* Fix: updateComment 반환 타입 수정 (#117)

* Create README.md

* Update README.md

* fix: 댓글 조회 API 수정 및 CommentResult 수정 (#119)

* fix: 댓글 조회 API 수정 및 CommentResult 수정

Related: #118

* fix: CommentResult memberProfile 정보 추가

Related: #118

* fit: 회원가입 및 로그인 시 응답값 추가

Related: #118

* fit: 오늘의 조합 댓글 삭제 시 commentCount 오류 수정

Related: #118

* FEAT : 메인 최상단 주간 베스트 조회 API & 메인 로테이션 오늘의 조합 조회 API & 메인 로테이션 레시피북 조회  API (#110)

* feat: 메인 주간베스트 조합 랜덤 조회 API

* feat: 오늘의 조합 로테이션 API, 레시피북 로테이션 API

* refactor: 주간베스트조합 24시간 랜덤 적용

* Fix: 오늘의 조합 좋아요 멤버 어노테이션 적용 (#115)

Related: #114

* [FEAT] 레시피북 Response 변경 (#120)

* feat : recipe-image 순환참조 방지

순환참조를 방지하기 위해 recipe 객체는 반환하지 않습니다.
Related #113

* feat : Recipe Response에 Page 정보 추가

Related #113

* feat : Recipe Page 정보 담아서 반환

Related #113

* main merge conflict 해결

* fix : memberName -> memberNickname 으로 변경 (#123)

* main merge conflict 해결

* refactor : List Default값 추가 (#126)

* fix : MemberObject 추가 (#128)

Related #127

* Feature : 레시피북 해시태그 추가 (#129)

* feat : RecipeHashTag 기본 구성

Related #112

* feat : Recipe Entity에 HashTagList 추가

Related #112

* feat : RecipeHashTag를 String 배열로 변환

Related #112

* refactor : HashTag Service 저장 로직 변경

- 코드의 재사용을 위해 기존 HashTag를 파싱하여 저장하는 부분을 메서드 추출하였습니다.
Related #112

* feat : RecipeHashTag 저장 로직

Related #112

* refactor : recipeHashTagList 변수형 변경

수정 시 중복을 방지하기 위해 Set형으로 변경하였습니다.
Related #112

* feat : RecipeHashTagList 반환 추가

Related #112

* feat : Recipe 저장에 HashTag 저장 추가

Related #112

* feat : RecipeHashTag 수정 로직

Related #112

* feat : RecipeHashTag 객체 중복저장 방지

Related #112

* feat : RecipeHashTag 삭제 기능

Related #112

* Fix: 주류 추천 ResponseDTO 변경 (#131)

ResponseDTO에 recommendID추가

* FEAT : 메인 새로 출시된 주류 조회 API, 새로 출시된 주류 상세 조회 API, 새로 출시된 주류 리스트 조회 API, 새로 출시된 주류 타입별 조회 API (#133)

* feat: 메인 주간베스트 조합 랜덤 조회 API

* feat: 오늘의 조합 로테이션 API, 레시피북 로테이션 API

* refactor: 주간베스트조합 24시간 랜덤 적용

* style

* fix: soft delete & pagerequest

* FIX: 오늘의 조합 홈 페이지, 상세보기, 댓글 작성 DTO 수정 (#135)

* fix: 오늘의 조합 댓글조회 CommentResult 수정

updatedAt -> createdAt 생성 시간으로 변경

Related: #134

* fix: 오늘의 조합 상세보기 Response 수정

Member name -> nickname 변경

Related: #134

* Refactor : 레시피북 프론트 요청 (#138)

* refactor : Recipe에서 info 칼럼 삭제

Related #136

* refactor : name 칼럼 이름 title로 변경

Related #136

* feat : RecipeComment에 작성/ 수정 시간 추가

Related #136

* refactor : 작성자 이름 -> 닉네임으로 변경

Related #136

* feat : Recipe Response 추가 / 변경

- memberImage, 댓글 개수 추가
Related #136

* feat : 레시피 검색 페이징 처리

Related #136

* feat : RecipeComment 페이징 처리, 자식 댓글 개수 추가

Ralted #136

* Refactor : 레시피북 프론트 요청 (#141)

* refactor : RecipeLike에서 VO 삭제

- RecipeVO를 만드는 것이 가독성에 문제가 있어 삭제하였습니다.
Related #136

* refactor : Recipe 도메인 관련 순환 자동 주입 방지

- 레시피 도메인 Servic들 끼리 서로 참조하여 순환 주입이 발생하였습니다.
    - Service -> 각 Repository로 변경하여 해결하였습니다.
 - MemberCommandServiceImpl에서 사용하지 않는 Recipe 도메인 자동주입자들 삭제해주었습니다
Related #136

* feat : RecipeResponseDTO에 유저의 좋아요 여부 표시

* feat : 유저의 레시피 정보 조회해 DTO 반환

Related #136

* feat : 조회 시 유저의 좋아요 여부 추가

Related #136

* Fix: Docker 컨테이너 시간 설정 (#142)

* Fix: 오늘의 조합 좋아요 여부 로직 수정 (#144)

* Fix: 이미지 생성 프롬프트 수정 (#146)

* Fix: 오늘의 조합 API URL 및 댓글 DTO 수정 (#147)

* fix: 오늘의 조합 작성 API 수정

recommedId 삭제

Related: #140

* fix: 오늘의 조합 작성 조회시 listSize 수정

listSize에서 자식 댓글가 카운트 안되는 오류 해결

Related: #140

* fix: Security setAllowedOrigins 수정

Related: #140

* fix: Security anyRequest 수정

Related: #140

* Refactor : 레시피 / 레시피 댓글에 유저 정보 추가 (#150)

* refactor : 레시피 댓글에 유저 정보 추가

* refactor : 레시피 정보에 유저 정보 추가

* fix: CommentResult memberId 추가 (#152)

Related: #151

* Fix: 검색 시 State True 게시글만 조회 (#154)

* refactor: 좋아요 삭제 여부 반영 (#157)

* Fix: 오늘의 조합/레시피 홈 조회시 생성일 순으로 내림차순 (#160)

* Refactor/like (#162)

* [Main Merge] 23회차 (#155)

* Fix: ErrorStatus 수정 (#55)

* [FEAT] 오늘의 조합 댓글 작성 API 개발 (#58)

* feat : CombinationComment domain column 수정

Related: #50

* feat : CombinationComment Request, Response 작성

Related: #50

* feat : CombinationComment 에러 상태 추가

Related: #50

* feat : CombinationComment Service 구현

Related: #50

* feat : CombinationComment Controller 구현

Related: #50

* feat : 오늘의 조합 댓글 작성 시 Combination commentCount 증가 구현

Related: #50

* [FEAT] 오늘의 조합 댓글 조회 API 개발 (#59)

* feat : CombinationComment 관련 DTO 작성

Related: #57

* feat : CombinationComment Service 구현

기존의 오늘의 조합 상세 조회 시 사용한 Paging 메서드 수정

Related: #57

* feat : CombinationComment Controller 구현

Related: #57

* feat : Paging Annotation & Validator 구현

Related: #57

* feat : Combination 존재 여부 검증하는 Annotation & Validator 구현

Related: #57

* Feat: 주류 추천 API (#61)

* Feat: GPT API연동 및 프롬프트 엔지니어링

- GPT API 연동
- 프롬프트 엔지니어링
- Recommend 레포지토리 저장

TODO: 프롬프트 엔지니어링 성능 개선

* Feat: 주류 추천 이미지 생성 기능

* Feat: recommend validation 추가

* Fix: GPT 결과 Json형식으로 제한

* Fix: Conflict 사후처리

* Fix: PR comments 해결

* fix: Merge Conflict 해결 (#65)

Related: #64

* FIX : 오늘의 조합 상세 조회에 CombinationImage, CombinationLike 정보 추가 전달 (#66)

* fix: 오늘의 조합 상세 조회에 CombinationImage 정보 추가 전달

Related: #47

* fix: 오늘의 조합 상세 조회 API 좋아요 여부 데이터 추가

상세 조회 API시 좋아요 상태 정보 전달

Related: #47

* Feat: 오늘의 조합 댓글 수정 API 개발 (#67)

* feat: CombinationComment Request, Response DTO 구현

Related: #60

* feat: CombinationComment CommandService 구현

Related: #60

* feat: CombinationComment Controller 구현

Related: #60

* Feat: 추천 삭제 API (#71)

* Fix: #71 Merge conflict 놓친 부분 처리

* Feat: 주류 추천 리스트 API (#72)

* Feat: 주류 추천 리스트 API

* Fix: 리스트 조회 controller수정

Method: Post -> Get
page, size -> RequestParameter로 입력

* Fix: Comment 처리

* Docs : 레시피 Swagger 설정 (#70)

* docs : Recipe DTO Swagger 설정

Related #69

* docs : Recipe Controller Swagger 설정

Related #69

* docs : RecipeLike DTO Swagger 설정

Related #69

* docs : RecipeLike Controller Swagger 설정

Related #69

* docs : RecipeComment DTO Swagger 설정

Related #69

* docs : RecipeComment Controller Swagger 설정

Related #69

* Feat : 레시피 이미지 API (#73)

* feat : RecipeRepository 생성

레시피 id로 모든 이미지를 찾는 메소드 추가
Relatd #53

* feat : RecipeImage Service 생성 & 해당 레시피 이미지 조회

Related #53

* feat : (GET) 해당 레시피 이미지 조회 API

recipeId 파라미터로 해당 레시피의 이미지를 조회합니다.
Related #53

* feat : Recipe Entity 빌드 메소드 추가

Recipe recipe, String imageUrl 를 받아 Entity를 빌드합니다.
Related #53

* feat : 요청으로 들어온 Image가 없을 경우 예외처리

Related #53

* feat : 요청으로 들어온 image POST

- Recipe 찾아온 후
- image 유무를 검증합니다.
- s3에 이미지를 업로드하고 url을 받아옵니다.
- Recipe Entity 들을 만들어 모두 저장합니다.
Related #53

* feat : (POST) 레시피 이미지 등록 API

form-data 형식 사용했습니다
Related #53

* feat : 레시피 이미지 url로 삭제

- 레시피 url로 RecipeImage를 찾습니다
- 없으면 에러를 발생시킵니다.
- 있으면 repository에서 삭제하고 s3에서도 삭제합니다.
Related #53

* feat : 레시피 이미지 수정 기능

- 1. 추가할 레시피 이미지가 있다면 업로드합니다
- 2. 삭제할 레시피 이미지가 있다면 삭제합니다
Related #53

* feat : (PATCH) 레시피 수정 API

- 추가 업로드할 파일, 삭제할 파일 URL, RecipeID를 파라미터로 받습니다.
Related #53

* feat : 레시피의 모든 이미지 삭제

레시피 id로 해당 레시피의 모든 이미지를 삭제합니다
Related #53

* feat : (DELETE) 레시피 이미지 삭제 API

Related #53

* fix : ErrorStatus 유형 변경

ErrorStatus 사용이 잘못되어 수정하였습니다.
Related #53

* Feat: 주간 베스트 조합 조회 API (#74)

* Feat: #51 주간 베스트 조합 조회 API 구현

- Controller, Service, Repository 구현
- 좋아요 10개 이상 게시글 조회

* Feat: #51 주간 베스트 조합 조회 API 수정

- 좋아요 30개 이상 조회로 수정

* Feat: 오늘의 조합 댓글 삭제 API 구현 (#75)

* feat: CombinationComment Response 작성

Related: #68

* feat: CombinationComment CommandService 구현

Related: #68

* feat: CombinationComment Controller 구현

Related: #68

* Feat: 오늘의 조합 좋아요 누르기 API (#77)

* Feat: #75 오늘의 조합 좋아요 관련 API

- changeCombinationLike 메서드 생성

* Feat: 조합 좋아요 엔티티 조회 메서드 구현

Related : #75

* Feat: Combination 엔티티 Like 관련 메서드 구현

Related : #75

* Feat: Combination 엔티티 Like 관련 메서드 구현

Related : #75

* Feat: Combination Entity 조회 메서드, CombinationLike 생성 메서드, CombinationLike 상태 변경 메서드 구현

Related : #75

* Feat: Long memberId로 받아오는 방식으로 수정

Related : #75

* Revert "Feat: Long memberId로 받아오는 방식으로 수정"

This reverts commit 4dae9a6d7cd02e316f17cde0ef0acef88f792670.

* Revert "Feat: Combination Entity 조회 메서드, CombinationLike 생성 메서드, CombinationLike 상태 변경 메서드 구현"

This reverts commit ef2a48ae010cc766a23ea05f3402dafb35eee879.

* Revert "Feat: Combination 엔티티 Like 관련 메서드 구현"

This reverts commit 77530309fc9ab228ef223fdbd44b60e9da7f211d.

* Revert "Feat: Combination 엔티티 Like 관련 메서드 구현"

This reverts commit 7adc09f2ecd4570f091a2bdbde1d969be78b514e.

* Revert "Feat: 조합 좋아요 엔티티 조회 메서드 구현"

This reverts commit 2bab9c8ae969c73a544cb092e1bb8c5df7c980a6.

* Revert "Feat: #75 오늘의 조합 좋아요 관련 API"

This reverts commit 1a6ca0bcedb90d728e35ce2a237dd18b2e13c7aa.

* Feat: Combination, CombinationLike 엔티티 메서드 추가

Related : #76

* Feat: findByCombinationAndMember 메서드 추가

Related : #76

* Feat: Service 구현

Related : #76

* Feat: Controller 구현

Related : #76

* Feat: 소셜 로그인 (Kakao, Naver) API 개발 (#78)

* Feat : JwtProvider token 생성, 검증, 등록 구현

Related: #10

* Feat : SecurityConfig 1차 설정

Related: #10

* Feat : JwtAuthenticationFilter 구현

Jwt token 유효성 검증하는 필터

Related: #10

* Feat : OAuth2UserInfo 구현

카카오 사용자 정보 KakaoUserInfo 구현

Related: #10

* Feat : CustomOAuth2User, CustomOAuth2UserService 구현

소셜 로그인 및 회원가입을 처리하는 서비스

Related: #10

* Feat : OAuth2AuthenticationSuccessHandler, OAuth2Controller 구현

소셜 로그인 성공 시 토큰 생성 및 사용자 정보 전달하는 핸들러 작성

Related: #10

* Feat : SecurityConfig oauth2Login 설정 및 Member 속성 변경

Related: #10

* Feat : Redis에 Refresh Token 저장하기

서버 측 Redis에 Refresh Token을 저장하고, Cookie에 Refresh Token 담아 전달하기

Related: #10

* Feat : AccessToken 재발급 API 구현

Related: #10

* Feat: 네이버 소셜 로그인 구현

* docs: 도메인 적용 및 파일 수정

Related: #10

* feat: Security LogoutHandler 작성

Related: #10

* feat: AccessToken 재발급 API 재 구현
Related: #10

* feat: ErrorStatus 상태 추가 및 CookieUtil 수정
Related: #10

* feat: ErrorStatus 추가 및 파일 수정
Related: #78

---------

Co-authored-by: Blue-hyeon <[email protected]>

* fix: Merge conflict resolve (#81)

Related: #80

* Update Member.java

* Fix: swagger Failed to fetch 오류 해결 (#86)

- server url 설정

Related: #85

* Feat: 타이틀로 검색 API (#89)

* Feat: 오늘의 조합 홈 타이틀 검색

Related: #88

* Feat: 주간 베스트 조합 홈 타이틀 검색

Related: #88

* Feat: 레시피북 홈 타이틀 검색

- 코딩 컨벤션 반영

Related: #88

* Fix: 소셜 로그인 코드 수정 (#91)

* Feat : JwtProvider token 생성, 검증, 등록 구현

Related: #10

* Feat : SecurityConfig 1차 설정

Related: #10

* Feat : JwtAuthenticationFilter 구현

Jwt token 유효성 검증하는 필터

Related: #10

* Feat : OAuth2UserInfo 구현

카카오 사용자 정보 KakaoUserInfo 구현

Related: #10

* Feat : CustomOAuth2User, CustomOAuth2UserService 구현

소셜 로그인 및 회원가입을 처리하는 서비스

Related: #10

* Feat : OAuth2AuthenticationSuccessHandler, OAuth2Controller 구현

소셜 로그인 성공 시 토큰 생성 및 사용자 정보 전달하는 핸들러 작성

Related: #10

* Feat : SecurityConfig oauth2Login 설정 및 Member 속성 변경

Related: #10

* Feat : Redis에 Refresh Token 저장하기

서버 측 Redis에 Refresh Token을 저장하고, Cookie에 Refresh Token 담아 전달하기

Related: #10

* Feat : AccessToken 재발급 API 구현

Related: #10

* Feat: 네이버 소셜 로그인 구현

* docs: 도메인 적용 및 파일 수정

Related: #10

* feat: Security LogoutHandler 작성

Related: #10

* feat: AccessToken 재발급 API 재 구현
Related: #10

* feat: ErrorStatus 상태 추가 및 CookieUtil 수정
Related: #10

* feat: ErrorStatus 추가 및 파일 수정
Related: #78

* feat: iOS 소셜 로그인 처리 후 전달 받는 AuthRequest 작성

Related: #10

* Docs: oauth2 패키지 삭제

Related: #10

* feat: 로그인 및 회원가입을 진행하는 AuthService 구현

Related: #10

* feat: LogoutHandler, JwtController 구현

Related: #10

* refactor: JwtProvider 만료 시간 및 파싱하는 데이터 수정

Related: #10

* refactor: SecurityConfig, JwtAuthenticationFilter URL, 인증 허가 경로 수정

Related: #10

---------

Co-authored-by: Blue-hyeon <[email protected]>

* Feat: Resolver추가 및 Member어노테이션 추가 (#97)

* Feat : JwtProvider token 생성, 검증, 등록 구현

Related: #10

* Feat : SecurityConfig 1차 설정

Related: #10

* Feat : JwtAuthenticationFilter 구현

Jwt token 유효성 검증하는 필터

Related: #10

* Feat : OAuth2UserInfo 구현

카카오 사용자 정보 KakaoUserInfo 구현

Related: #10

* Feat : CustomOAuth2User, CustomOAuth2UserService 구현

소셜 로그인 및 회원가입을 처리하는 서비스

Related: #10

* Feat : OAuth2AuthenticationSuccessHandler, OAuth2Controller 구현

소셜 로그인 성공 시 토큰 생성 및 사용자 정보 전달하는 핸들러 작성

Related: #10

* Feat : SecurityConfig oauth2Login 설정 및 Member 속성 변경

Related: #10

* Feat : Redis에 Refresh Token 저장하기

서버 측 Redis에 Refresh Token을 저장하고, Cookie에 Refresh Token 담아 전달하기

Related: #10

* Feat : AccessToken 재발급 API 구현

Related: #10

* Feat: 네이버 소셜 로그인 구현

* docs: 도메인 적용 및 파일 수정

Related: #10

* feat: Security LogoutHandler 작성

Related: #10

* feat: AccessToken 재발급 API 재 구현
Related: #10

* feat: ErrorStatus 상태 추가 및 CookieUtil 수정
Related: #10

* feat: ErrorStatus 추가 및 파일 수정
Related: #78

* feat: iOS 소셜 로그인 처리 후 전달 받는 AuthRequest 작성

Related: #10

* Docs: oauth2 패키지 삭제

Related: #10

* feat: 로그인 및 회원가입을 진행하는 AuthService 구현

Related: #10

* feat: LogoutHandler, JwtController 구현

Related: #10

* refactor: JwtProvider 만료 시간 및 파싱하는 데이터 수정

Related: #10

* refactor: SecurityConfig, JwtAuthenticationFilter URL, 인증 허가 경로 수정

Related: #10

* Feat: resolver 추가

* Fix: Resolver 오류 수정

---------

Co-authored-by: hyungyeom <[email protected]>
Co-authored-by: Blue-hyeon <[email protected]>
Co-authored-by: kylo <[email protected]>

* Feat: MyPage 관련 API 모음  (#93)

* feat: 마이페이지 수정, 마이페이지 조회, 내가 작성한 오늘의 조합 조회API

* feat: 마이페이지 수정, 마이페이지 조회, 내가 작성한 오늘의 조합 조회API

* feat: 좋아요 관련 API

* Feat : 레시피 Count 변경 기능 추가 (#96)

* feat : Recipe에서 LikeCount와 CommentCount 변경

넘겨받는 bool 값에 따라 더하거나 뺄 수 있도록 하였습니다.
Related #95

* feat : RecipeLike 변경되면 LikeCount 변경

-기존 state가 true이면 삭제해야하므로 isDecrease에 저장합니다.
- state 변경이후 isDecrease값 recipe에 넘겨줍니다.
Related #95

* feat : RecipeLike 생성 시 LikeCount 증가

기존 상태 변경말고 새로 생성 시 LikeCount 증가시켜 주었습니다.
Related #95

* feat : RecipeComment 삭제시 CommentCount 감소

Related #95

* feat : RecipeComment 삭제 시 이미 삭제된 Comment인지 에러처리

Related #95

* feat : ReicpeComment 삭제 시 CommentCount 감소

Related #95

* feat : RecipeComment 등록 시 CommentCount 증가

Related #95

* Feat : 레시피 페이징 (#94)

* feat : RecipeRepository에서 page 기능 추가

Related #90

* feat : Recipe Service에서 페이징 기능 추가

Related #90

* refactor : Default Member 저장 방식 변경

Security 추가되어서 기존의 Member가 저장되지 않아 초기화 방식을 바꿨습니다.
Related #90

* feat : (GET) Recipe 페이징 추가

Related #90

* feat : RecipeCommentRepository 페이징 추가

* feat : RecipeComment Service에서 페이징 기능 추가

Related #90

* feat : (GET) RecipeComment 페이징 기능 추가된 API

Related #90

* Fix: Main Merge Conflict Resolve

* Fix: Main Merge Conflict Resolve

- RecipeController 수정

* Fix: 오늘의 조합 API 수정 & 로그인 사용자 정보 어노테이션 추가 & Soft Delete 적용 (#104)

* fix: 오늘의 조합 홈 조회 DTO 수정

Related: #101

* fix: CombinationQueryService 수정

로그인 사용자 정보와 좋아요 여부 데이터 추가

Related: #101

* fix: CombinationController 오늘의 조합 API 수정

Related: #101

* fix: 오늘의 조합 상세보기 Controller, Service 수정

로그인 사용자 정보 추가

Related: #101

* fix: 오늘의 조합 상세보기에 HashTagOptionQueryService 적용

Related: #101

* fix: Response 코딩 컨벤션 적용

Related: #101

* fix: 오늘의 조합 작성 API Request, Response 수정

Related: #101

* fix: 오늘의 조합 작성 Controller, Service 수정

Related: #101

* fix: Combination 생성 메서드 Service에서 분리

Related: #101

* fix: Combination Soft Delete 적용

Related: #101

* fix: 오늘의 조합 홈, 상세조회 API 수정

soft delete를 적용하여, state가 참인 것만 조회

Related: #101

* feat: HandlerInterceptor를 통해 로그인 사용자가 작성자인지 검증 로직 구현

Related: #101

* fix: 오늘의 조합 수정 조회 API 수정

Related: #101

* fix: 오늘의 조합 수정처리 API 수정

Related: #101

* fix: CombinationService에서 Recommend 조회 Service 계층으로 변경

Related: #101

* fix: HandlerInterceptor 메서드에 적용

Related: #101

* fix: 오늘의 조합 작성 API 수정
recommendId를 2번 받는 문제 수정

Related: #101

* feat: 소셜 로그인 응답값 DTO 생성 및 반환 구현
Related: #101

* fix: 주간 베스트 조합 API에 @MemberObject 적용
Related: #101

* Fix: Recommend 도메인 Member어노테이션 추가 및 Soft Delete구현 (#103)

* Fix: Controller 멤버 어노테이션 적용

* Fix: recommend hard delete -> soft delete

* Refactor: 동일기능 DTO 통합

* Refactor: Recommend관련 errorstatus 수정

* FIX: 오늘의 조합 댓글 관련 API 및 로그인 사용자 정보 적용 (#108)

* fix: CombinationExistValidator 수정

soft delete로 state가 true인 데이터 조회하기

Related: #105

* fix: CommentResponse DTO 수정 시간 포맷팅 적용

Related: #105

* fix: Comment 작성 API 수정

Related: #105

* fix: Comment Soft Delete 적용 및 Query Method 분리

Related: #105

* fix: CombinationImage 이미지 업로드 API 수정

업로드하는 이미지 검증하는 메서드 추가

Related: #105

* fix: comment 수정 응답 값 수정

Related: #105

* fix: 소셜 로그인 처리 후 Refresh Toekn 전달 방법 수정 (#111)

logout, access Token 재발급 로직 추가 수정

Related: #109

* Fix : 마이페이지 API 수정 & 로그인 사용자 정보 어노테이션 추가 & 필요 없는 코드 정리 (#106)

* feat: 마이페이지 수정, 마이페이지 조회, 내가 작성한 오늘의 조합 조회API

* feat: 마이페이지 수정, 마이페이지 조회, 내가 작성한 오늘의 조합 조회API

* feat: 좋아요 관련 API

* fix: Apply @MemberObject

* fix: Apply @MemberObject

* fix: profile image upload api

* feat: 회원 정보 조회 API

---------

Co-authored-by: Minhyeok Song <[email protected]>

* Fix: updateComment 반환 타입 수정 (#117)

* Create README.md

* Update README.md

* fix: 댓글 조회 API 수정 및 CommentResult 수정 (#119)

* fix: 댓글 조회 API 수정 및 CommentResult 수정

Related: #118

* fix: CommentResult memberProfile 정보 추가

Related: #118

* fit: 회원가입 및 로그인 시 응답값 추가

Related: #118

* fit: 오늘의 조합 댓글 삭제 시 commentCount 오류 수정

Related: #118

* FEAT : 메인 최상단 주간 베스트 조회 API & 메인 로테이션 오늘의 조합 조회 API & 메인 로테이션 레시피북 조회  API (#110)

* feat: 메인 주간베스트 조합 랜덤 조회 API

* feat: 오늘의 조합 로테이션 API, 레시피북 로테이션 API

* refactor: 주간베스트조합 24시간 랜덤 적용

* Fix: 오늘의 조합 좋아요 멤버 어노테이션 적용 (#115)

Related: #114

* [FEAT] 레시피북 Response 변경 (#120)

* feat : recipe-image 순환참조 방지

순환참조를 방지하기 위해 recipe 객체는 반환하지 않습니다.
Related #113

* feat : Recipe Response에 Page 정보 추가

Related #113

* feat : Recipe Page 정보 담아서 반환

Related #113

* main merge conflict 해결

* fix : memberName -> memberNickname 으로 변경 (#123)

* main merge conflict 해결

* refactor : List Default값 추가 (#126)

* fix : MemberObject 추가 (#128)

Related #127

* Feature : 레시피북 해시태그 추가 (#129)

* feat : RecipeHashTag 기본 구성

Related #112

* feat : Recipe Entity에 HashTagList 추가

Related #112

* feat : RecipeHashTag를 String 배열로 변환

Related #112

* refactor : HashTag Service 저장 로직 변경

- 코드의 재사용을 위해 기존 HashTag를 파싱하여 저장하는 부분을 메서드 추출하였습니다.
Related #112

* feat : RecipeHashTag 저장 로직

Related #112

* refactor : recipeHashTagList 변수형 변경

수정 시 중복을 방지하기 위해 Set형으로 변경하였습니다.
Related #112

* feat : RecipeHashTagList 반환 추가

Related #112

* feat : Recipe 저장에 HashTag 저장 추가

Related #112

* feat : RecipeHashTag 수정 로직

Related #112

* feat : RecipeHashTag 객체 중복저장 방지

Related #112

* feat : RecipeHashTag 삭제 기능

Related #112

* Fix: 주류 추천 ResponseDTO 변경 (#131)

ResponseDTO에 recommendID추가

* FEAT : 메인 새로 출시된 주류 조회 API, 새로 출시된 주류 상세 조회 API, 새로 출시된 주류 리스트 조회 API, 새로 출시된 주류 타입별 조회 API (#133)

* feat: 메인 주간베스트 조합 랜덤 조회 API

* feat: 오늘의 조합 로테이션 API, 레시피북 로테이션 API

* refactor: 주간베스트조합 24시간 랜덤 적용

* style

* fix: soft delete & pagerequest

* FIX: 오늘의 조합 홈 페이지, 상세보기, 댓글 작성 DTO 수정 (#135)

* fix: 오늘의 조합 댓글조회 CommentResult 수정

updatedAt -> createdAt 생성 시간으로 변경

Related: #134

* fix: 오늘의 조합 상세보기 Response 수정

Member name -> nickname 변경

Related: #134

* Refactor : 레시피북 프론트 요청 (#138)

* refactor : Recipe에서 info 칼럼 삭제

Related #136

* refactor : name 칼럼 이름 title로 변경

Related #136

* feat : RecipeComment에 작성/ 수정 시간 추가

Related #136

* refactor : 작성자 이름 -> 닉네임으로 변경

Related #136

* feat : Recipe Response 추가 / 변경

- memberImage, 댓글 개수 추가
Related #136

* feat : 레시피 검색 페이징 처리

Related #136

* feat : RecipeComment 페이징 처리, 자식 댓글 개수 추가

Ralted #136

* Refactor : 레시피북 프론트 요청 (#141)

* refactor : RecipeLike에서 VO 삭제

- RecipeVO를 만드는 것이 가독성에 문제가 있어 삭제하였습니다.
Related #136

* refactor : Recipe 도메인 관련 순환 자동 주입 방지

- 레시피 도메인 Servic들 끼리 서로 참조하여 순환 주입이 발생하였습니다.
    - Service -> 각 Repository로 변경하여 해결하였습니다.
 - MemberCommandServiceImpl에서 사용하지 않는 Recipe 도메인 자동주입자들 삭제해주었습니다
Related #136

* feat : RecipeResponseDTO에 유저의 좋아요 여부 표시

* feat : 유저의 레시피 정보 조회해 DTO 반환

Related #136

* feat : 조회 시 유저의 좋아요 여부 추가

Related #136

* Fix: Docker 컨테이너 시간 설정 (#142)

* Fix: 오늘의 조합 좋아요 여부 로직 수정 (#144)

* Fix: 이미지 생성 프롬프트 수정 (#146)

* Fix: 오늘의 조합 API URL 및 댓글 DTO 수정 (#147)

* fix: 오늘의 조합 작성 API 수정

recommedId 삭제

Related: #140

* fix: 오늘의 조합 작성 조회시 listSize 수정

listSize에서 자식 댓글가 카운트 안되는 오류 해결

Related: #140

* fix: Security setAllowedOrigins 수정

Related: #140

* fix: Security anyRequest 수정

Related: #140

* Refactor : 레시피 / 레시피 댓글에 유저 정보 추가 (#150)

* refactor : 레시피 댓글에 유저 정보 추가

* refactor : 레시피 정보에 유저 정보 추가

* fix: CommentResult memberId 추가 (#152)

Related: #151

* Fix: 검색 시 State True 게시글만 조회 (#154)

---------

Co-authored-by: kylo <[email protected]>
Co-authored-by: SungHoon Jung <[email protected]>
Co-authored-by: wooing1084 <[email protected]>
Co-authored-by: YASICJUNWOO <[email protected]>
Co-authored-by: Blue-hyeon <[email protected]>
Co-authored-by: hyungyeom <[email protected]>
Co-authored-by: Lee seohyeon 이서현 <[email protected]>

* refactor: 좋아요 삭제 여부 반영

* [Main Merge] 24회차 (#158)

* Fix: ErrorStatus 수정 (#55)

* [FEAT] 오늘의 조합 댓글 작성 API 개발 (#58)

* feat : CombinationComment domain column 수정

Related: #50

* feat : CombinationComment Request, Response 작성

Related: #50

* feat : CombinationComment 에러 상태 추가

Related: #50

* feat : CombinationComment Service 구현

Related: #50

* feat : CombinationComment Controller 구현

Related: #50

* feat : 오늘의 조합 댓글 작성 시 Combination commentCount 증가 구현

Related: #50

* [FEAT] 오늘의 조합 댓글 조회 API 개발 (#59)

* feat : CombinationComment 관련 DTO 작성

Related: #57

* feat : CombinationComment Service 구현

기존의 오늘의 조합 상세 조회 시 사용한 Paging 메서드 수정

Related: #57

* feat : CombinationComment Controller 구현

Related: #57

* feat : Paging Annotation & Validator 구현

Related: #57

* feat : Combination 존재 여부 검증하는 Annotation & Validator 구현

Related: #57

* Feat: 주류 추천 API (#61)

* Feat: GPT API연동 및 프롬프트 엔지니어링

- GPT API 연동
- 프롬프트 엔지니어링
- Recommend 레포지토리 저장

TODO: 프롬프트 엔지니어링 성능 개선

* Feat: 주류 추천 이미지 생성 기능

* Feat: recommend validation 추가

* Fix: GPT 결과 Json형식으로 제한

* Fix: Conflict 사후처리

* Fix: PR comments 해결

* fix: Merge Conflict 해결 (#65)

Related: #64

* FIX : 오늘의 조합 상세 조회에 CombinationImage, CombinationLike 정보 추가 전달 (#66)

* fix: 오늘의 조합 상세 조회에 CombinationImage 정보 추가 전달

Related: #47

* fix: 오늘의 조합 상세 조회 API 좋아요 여부 데이터 추가

상세 조회 API시 좋아요 상태 정보 전달

Related: #47

* Feat: 오늘의 조합 댓글 수정 API 개발 (#67)

* feat: CombinationComment Request, Response DTO 구현

Related: #60

* feat: CombinationComment CommandService 구현

Related: #60

* feat: CombinationComment Controller 구현

Related: #60

* Feat: 추천 삭제 API (#71)

* Fix: #71 Merge conflict 놓친 부분 처리

* Feat: 주류 추천 리스트 API (#72)

* Feat: 주류 추천 리스트 API

* Fix: 리스트 조회 controller수정

Method: Post -> Get
page, size -> RequestParameter로 입력

* Fix: Comment 처리

* Docs : 레시피 Swagger 설정 (#70)

* docs : Recipe DTO Swagger 설정

Related #69

* docs : Recipe Controller Swagger 설정

Related #69

* docs : RecipeLike DTO Swagger 설정

Related #69

* docs : RecipeLike Controller Swagger 설정

Related #69

* docs : RecipeComment DTO Swagger 설정

Related #69

* docs : RecipeComment Controller Swagger 설정

Related #69

* Feat : 레시피 이미지 API (#73)

* feat : RecipeRepository 생성

레시피 id로 모든 이미지를 찾는 메소드 추가
Relatd #53

* feat : RecipeImage Service 생성 & 해당 레시피 이미지 조회

Related #53

* feat : (GET) 해당 레시피 이미지 조회 API

recipeId 파라미터로 해당 레시피의 이미지를 조회합니다.
Related #53

* feat : Recipe Entity 빌드 메소드 추가

Recipe recipe, String imageUrl 를 받아 Entity를 빌드합니다.
Related #53

* feat : 요청으로 들어온 Image가 없을 경우 예외처리

Related #53

* feat : 요청으로 들어온 image POST

- Recipe 찾아온 후
- image 유무를 검증합니다.
- s3에 이미지를 업로드하고 url을 받아옵니다.
- Recipe Entity 들을 만들어 모두 저장합니다.
Related #53

* feat : (POST) 레시피 이미지 등록 API

form-data 형식 사용했습니다
Related #53

* feat : 레시피 이미지 url로 삭제

- 레시피 url로 RecipeImage를 찾습니다
- 없으면 에러를 발생시킵니다.
- 있으면 repository에서 삭제하고 s3에서도 삭제합니다.
Related #53

* feat : 레시피 이미지 수정 기능

- 1. 추가할 레시피 이미지가 있다면 업로드합니다
- 2. 삭제할 레시피 이미지가 있다면 삭제합니다
Related #53

* feat : (PATCH) 레시피 수정 API

- 추가 업로드할 파일, 삭제할 파일 URL, RecipeID를 파라미터로 받습니다.
Related #53

* feat : 레시피의 모든 이미지 삭제

레시피 id로 해당 레시피의 모든 이미지를 삭제합니다
Related #53

* feat : (DELETE) 레시피 이미지 삭제 API

Related #53

* fix : ErrorStatus 유형 변경

ErrorStatus 사용이 잘못되어 수정하였습니다.
Related #53

* Feat: 주간 베스트 조합 조회 API (#74)

* Feat: #51 주간 베스트 조합 조회 API 구현

- Controller, Service, Repository 구현
- 좋아요 10개 이상 게시글 조회

* Feat: #51 주간 베스트 조합 조회 API 수정

- 좋아요 30개 이상 조회로 수정

* Feat: 오늘의 조합 댓글 삭제 API 구현 (#75)

* feat: CombinationComment Response 작성

Related: #68

* feat: CombinationComment CommandService 구현

Related: #68

* feat: CombinationComment Controller 구현

Related: #68

* Feat: 오늘의 조합 좋아요 누르기 API (#77)

* Feat: #75 오늘의 조합 좋아요 관련 API

- changeCombinationLike 메서드 생성

* Feat: 조합 좋아요 엔티티 조회 메서드 구현

Related : #75

* Feat: Combination 엔티티 Like 관련 메서드 구현

Related : #75

* Feat: Combination 엔티티 Like 관련 메서드 구현

Related : #75

* Feat: Combination Entity 조회 메서드, CombinationLike 생성 메서드, CombinationLike 상태 변경 메서드 구현

Related : #75

* Feat: Long memberId로 받아오는 방식으로 수정

Related : #75

* Revert "Feat: Long memberId로 받아오는 방식으로 수정"

This reverts commit 4dae9a6d7cd02e316f17cde0ef0acef88f792670.

* Revert "Feat: Combination Entity 조회 메서드, CombinationLike 생성 메서드, CombinationLike 상태 변경 메서드 구현"

This reverts commit ef2a48ae010cc766a23ea05f3402dafb35eee879.

* Revert "Feat: Combination 엔티티 Like 관련 메서드 구현"

This reverts commit 77530309fc9ab228ef223fdbd44b60e9da7f211d.

* Revert "Feat: Combination 엔티티 Like 관련 메서드 구현"

This reverts commit 7adc09f2ecd4570f091a2bdbde1d969be78b514e.

* Revert "Feat: 조합 좋아요 엔티티 조회 메서드 구현"

This reverts commit 2bab9c8ae969c73a544cb092e1bb8c5df7c980a6.

* Revert "Feat: #75 오늘의 조합 좋아요 관련 API"

This reverts commit 1a6ca0bcedb90d728e35ce2a237dd18b2e13c7aa.

* Feat: Combination, CombinationLike 엔티티 메서드 추가

Related : #76

* Feat: findByCombinationAndMember 메서드 추가

Related : #76

* Feat: Service 구현

Related : #76

* Feat: Controller 구현

Related : #76

* Feat: 소셜 로그인 (Kakao, Naver) API 개발 (#78)

* Feat : JwtProvider token 생성, 검증, 등록 구현

Related: #10

* Feat : SecurityConfig 1차 설정

Related: #10

* Feat : JwtAuthenticationFilter 구현

Jwt token 유효성 검증하는 필터

Related: #10

* Feat : OAuth2UserInfo 구현

카카오 사용자 정보 KakaoUserInfo 구현

Related: #10

* Feat : CustomOAuth2User, CustomOAuth2UserService 구현

소셜 로그인 및 회원가입을 처리하는 서비스

Related: #10

* Feat : OAuth2AuthenticationSuccessHandler, OAuth2Controller 구현

소셜 로그인 성공 시 토큰 생성 및 사용자 정보 전달하는 핸들러 작성

Related: #10

* Feat : SecurityConfig oauth2Login 설정 및 Member 속성 변경

Related: #10

* Feat : Redis에 Refresh Token 저장하기

서버 측 Redis에 Refresh Token을 저장하고, Cookie에 Refresh Token 담아 전달하기

Related: #10

* Feat : AccessToken 재발급 API 구현

Related: #10

* Feat: 네이버 소셜 로그인 구현

* docs: 도메인 적용 및 파일 수정

Related: #10

* feat: Security LogoutHandler 작성

Related: #10

* feat: AccessToken 재발급 API 재 구현
Related: #10

* feat: ErrorStatus 상태 추가 및 CookieUtil 수정
Related: #10

* feat: ErrorStatus 추가 및 파일 수정
Related: #78

---------

Co-authored-by: Blue-hyeon <[email protected]>

* fix: Merge conflict resolve (#81)

Related: #80

* Update Member.java

* Fix: swagger Failed to fetch 오류 해결 (#86)

- server url 설정

Related: #85

* Feat: 타이틀로 검색 API (#89)

* Feat: 오늘의 조합 홈 타이틀 검색

Related: #88

* Feat: 주간 베스트 조합 홈 타이틀 검색

Related: #88

* Feat: 레시피북 홈 타이틀 검색

- 코딩 컨벤션 반영

Related: #88

* Fix: 소셜 로그인 코드 수정 (#91)

* Feat : JwtProvider token 생성, 검증, 등록 구현

Related: #10

* Feat : SecurityConfig 1차 설정

Related: #10

* Feat : JwtAuthenticationFilter 구현

Jwt token 유효성 검증하는 필터

Related: #10

* Feat : OAuth2UserInfo 구현

카카오 사용자 정보 KakaoUserInfo 구현

Related: #10

* Feat : CustomOAuth2User, CustomOAuth2UserService 구현

소셜 로그인 및 회원가입을 처리하는 서비스

Related: #10

* Feat : OAuth2AuthenticationSuccessHandler, OAuth2Controller 구현

소셜 로그인 성공 시 토큰 생성 및 사용자 정보 전달하는 핸들러 작성

Related: #10

* Feat : SecurityConfig oauth2Login 설정 및 Member 속성 변경

Related: #10

* Feat : Redis에 Refresh Token 저장하기

서버 측 Redis에 Refresh Token을 저장하고, Cookie에 Refresh Token 담아 전달하기

Related: #10

* Feat : AccessToken 재발급 API 구현

Related: #10

* Feat: 네이버 소셜 로그인 구현

* docs: 도메인 적용 및 파일 수정

Related: #10

* feat: Security LogoutHandler 작성

Related: #10

* feat: AccessToken 재발급 API 재 구현
Related: #10

* feat: ErrorStatus 상태 추가 및 CookieUtil 수정
Related: #10

* feat: ErrorStatus 추가 및 파일 수정
Related: #78

* feat: iOS 소셜 로그인 처리 후 전달 받는 AuthRequest 작성

Related: #10

* Docs: oauth2 패키지 삭제

Related: #10

* feat: 로그인 및 회원가입을 진행하는 AuthService 구현

Related: #10

* feat: LogoutHandler, JwtController 구현

Related: #10

* refactor: JwtProvider 만료 시간 및 파싱하는 데이터 수정

Related: #10

* refactor: SecurityConfig, JwtAuthenticationFilter URL, 인증 허가 경로 수정

Related: #10

---------

Co-authored-by: Blue-hyeon <[email protected]>

* Feat: Resolver추가 및 Member어노테이션 추가 (#97)

* Feat : JwtProvider token 생성, 검증, 등록 구현

Related: #10

* Feat : SecurityConfig 1차 설정

Related: #10

* Feat : JwtAuthenticationFilter 구현

Jwt token 유효성 검증하는 필터

Related: #10

* Feat : OAuth2UserInfo 구현

카카오 사용자 정보 KakaoUserInfo 구현

Related: #10

* Feat : CustomOAuth2User, CustomOAuth2UserService 구현

소셜 로그인 및 회원가입을 처리하는 서비스

Related: #10

* Feat : OAuth2AuthenticationSuccessHandler, OAuth2Controller 구현

소셜 로그인 성공 시 토큰 생성 및 사용자 정보 전달하는 핸들러 작성

Related: #10

* Feat : SecurityConfig oauth2Login 설정 및 Member 속성 변경

Related: #10

* Feat : Redis에 Refresh Token 저장하기

서버 측 Redis에 Refresh Token을 저장하고, Cookie에 Refresh Token 담아 전달하기

Related: #10

* Feat : AccessToken 재발급 API 구현

Related: #10

* Feat: 네이버 소셜 로그인 구현

* docs: 도메인 적용 및 파일 수정

Related: #10

* feat: Security LogoutHandler 작성

Related: #10

* feat: AccessToken 재발급 API 재 구현
Related: #10

* feat: ErrorStatus 상태 추가 및 CookieUtil 수정
Related: #10

* feat: ErrorStatus 추가 및 파일 수정
Related: #78

* feat: iOS 소셜 로그인 처리 후 전달 받는 AuthRequest 작성

Related: #10

* Docs: oauth2 패키지 삭제

Related: #10

* feat: 로그인 및 회원가입을 진행하는 AuthService 구현

Related: #10

* feat: LogoutHandler, JwtController 구현

Related: #10

* refactor: JwtProvider 만료 시간 및 파싱하는 데이터 수정

Related: #10

* refactor: SecurityConfig, JwtAuthenticationFilter URL, 인증 허가 경로 수정

Related: #10

* Feat: resolver 추가

* Fix: Resolver 오류 수정

---------

Co-authored-by: hyungyeom <[email protected]>
Co-authored-by: Blue-hyeon <[email protected]>
Co-authored-by: kylo <[email protected]>

* Feat: MyPage 관련 API 모음  (#93)

* feat: 마이페이지 수정, 마이페이지 조회, 내가 작성한 오늘의 조합 조회API

* feat: 마이페이지 수정, 마이페이지 조회, 내가 작성한 오늘의 조합 조회API

* feat: 좋아요 관련 API

* Feat : 레시피 Count 변경 기능 추가 (#96)

* feat : Recipe에서 LikeCount와 CommentCount 변경

넘겨받는 bool 값에 따라 더하거나 뺄 수 있도록 하였습니다.
Related #95

* feat : RecipeLike 변경되면 LikeCount 변경

-기존 state가 true이면 삭제해야하므로 isDecrease에 저장합니다.
- state 변경이후 isDecrease값 recipe에 넘겨줍니다.
Related #95

* feat : RecipeLike 생성 시 LikeCount 증가

기존 상태 변경말고 새로 생성 시 LikeCount 증가시켜 주었습니다.
Related #95

* feat : RecipeComment 삭제시 CommentCount 감소

Related #95

* feat : RecipeComment 삭제 시 이미 삭제된 Comment인지 에러처리

Related #95

* feat : ReicpeComment 삭제 시 CommentCount 감소

Related #95

* feat : RecipeComment 등록 시 CommentCount 증가

Related #95

* Feat : 레시피 페이징 (#94)

* feat : RecipeRepository에서 page 기능 추가

Related #90

* feat : Recipe Service에서 페이징 기능 추가

Related #90

* refactor : Default Member 저장 방식 변경

Security 추가되어서 기존의 Member가 저장되지 않아 초기화 방식을 바꿨습니다.
Related #90

* feat : (GET) Recipe 페이징 추가

Related #90

* feat : RecipeCommentRepository 페이징 추가

* feat : RecipeComment Service에서 페이징 기능 추가

Related #90

* feat : (GET) RecipeComment 페이징 기능 추가된 API

Related #90

* Fix: Main Merge Conflict Resolve

* Fix: Main Merge Conflict Resolve

- RecipeController 수정

* Fix: 오늘의 조합 API 수정 & 로그인 사용자 정보 어노테이션 추가 & Soft Delete 적용 (#104)

* fix: 오늘의 조합 홈 조회 DTO 수정

Related: #101

* fix: CombinationQueryService 수정

로그인 사용자 정보와 좋아요 여부 데이터 추가

Related: #101

* fix: CombinationController 오늘의 조합 API 수정

Related: #101

* fix: 오늘의 조합 상세보기 Controller, Service 수정

로그인 사용자 정보 추가

Related: #101

* fix: 오늘의 조합 상세보기에 HashTagOptionQueryService 적용

Related: #101

* fix: Response 코딩 컨벤션 적용

Related: #101

* fix: 오늘의 조합 작성 API Request, Response 수정

Related: #101

* fix: 오늘의 조합 작성 Controller, Service 수정

Related: #101

* fix: Combination 생성 메서드 Service에서 분리

Related: #101

* fix: Combination Soft Delete 적용

Related: #101

* fix: 오늘의 조합 홈, 상세조회 API 수정

soft delete를 적용하여, state가 참인 것만 조회

Related: #101

* feat: HandlerInterceptor를 통해 로그인 사용자가 작성자인지 검증 로직 구현

Related: #101

* fix: 오늘의 조합 수정 조회 API 수정

Related: #101

* fix: 오늘의 조합 수정처리 API 수정

Related: #101

* fix: CombinationService에서 Recommend 조회 Service 계층으로 변경

Related: #101

* fix: HandlerInterceptor 메서드에 적용

Related: #101

* fix: 오늘의 조합 작성 API 수정
recommendId를 2번 받는 문제 수정

Related: #101

* feat: 소셜 로그인 응답값 DTO 생성 및 반환 구현
Related: #101

* fix: 주간 베스트 조합 API에 @MemberObject 적용
Related: #101

* Fix: Recommend 도메인 Member어노테이션 추가 및 Soft Delete구현 (#103)

* Fix: Controller 멤버 어노테이션 적용

* Fix: recommend hard delete -> soft delete

* Refactor: 동일기능 DTO 통합

* Refactor: Recommend관련 errorstatus 수정

* FIX: 오늘의 조합 댓글 관련 API 및 로그인 사용자 정보 적용 (#108)

* fix: CombinationExistValidator 수정

soft delete로 state가 true인 데이터 조회하기

Related: #105

* fix: CommentResponse DTO 수정 시간 포맷팅 적용

Related: #105

* fix: Comment 작성 API 수정

Related: #105

* fix: Comment Soft Delete 적용 및 Query Method 분리

Related: #105

* fix: CombinationImage 이미지 업로드 API 수정

업로드하는 이미지 검증하는 메서드 추가

Related: #105

* fix: comment 수정 응답 값 수정

Related: #105

* fix: 소셜 로그인 처리 후 Refresh Toekn 전달 방법 수정 (#111)

logout, access Token 재발급 로직 추가 수정

Related: #109

* Fix : 마이페이지 API 수정 & 로그인 사용자 정보 어노테이션 추가 & 필요 없는 코드 정리 (#106)

* feat: 마이페이지 수정, 마이페이지 조회, 내가 작성한 오늘의 조합 조회API

* feat: 마이페이지 수정, 마이페이지 조회, 내가 작성한 오늘의 조합 조회API

* feat: 좋아요 관련 API

* fix: Apply @MemberObject

* fix: Apply @MemberObject

* fix: profile image upload api

* feat: 회원 정보 조회 API

---------

Co-authored-by: Minhyeok Song <[email protected]>

* Fix: updateComment 반환 타입 수정 (#117)

* Create README.md

* Update README.md

* fix: 댓글 조회 API 수정 및 CommentResult 수정 (#119)

* fix: 댓글 조회 API 수정 및 CommentResult 수정

Related: #118

* fix: CommentResult memberProfile 정보 추가

Related: #118

* fit: 회원가입 및 로그인 시 응답값 추가

Related: #118

* fit: 오늘의 조합 댓글 삭제 시 commentCount 오류 수정

Related: #118

* FEAT : 메인 최상단 주간 베스트 조회 API & 메인 로테이션 오늘의 조합 조회 API & 메인 로테이션 레시피북 조회  API (#110)

* feat: 메인 주간베스트 조합 랜덤 조회 API

* feat: 오늘의 조합 로테이션 API, 레시피북 로테이션 API

* refactor: 주간베스트조합 24시간 랜덤 적용

* Fix: 오늘의 조합 좋아요 멤버 어노테이션 적용 (#115)

Related: #114

* [FEAT] 레시피북 Response 변경 (#120)

* feat : recipe-image 순환참조 방지

순환참조를 방지하기 위해 recipe 객체는 반환하지 않습니다.
Related #113

* feat : Recipe Response에 Page 정보 추가

Related #113

* feat : Recipe Page 정보 담아서 반환

Related #113

* main merge conflict 해결

* fix : memberName -> memberNickname 으로 변경 (#123)

* main merge conflict 해결

* refactor : List Default값 추가 (#126)

* fix : MemberObject 추가 (#128)

Related #127

* Feature : 레시피북 해시태그 추가 (#129)

* feat : RecipeHashTag 기본 구성

Related #112

* feat : Recipe Entity에 HashTagList 추가

Related #112

* feat : RecipeHashTag를 String 배열로 변환

Related #112

* refactor : HashTag Service 저장 로직 변경

- 코드의 재사용을 위해 기존 HashTag를 파싱하여 저장하는 부분을 메서드 추출하였습니다.
Related #112

* feat : RecipeHashTag 저장 로직

Related #112

* refactor : recipeHashTagList 변수형 변경

수정 시 중복을 방지하기 위해 Set형으로 변경하였습니다.
Related #112

* feat : RecipeHashTagList 반환 추가

Related #112

* feat : Recipe 저장에 HashTag 저장 추가

Related #112

* feat : RecipeHashTag 수정 로직

Related #112

* feat : RecipeHashTag 객체 중복저장 방지

Related #112

* feat : RecipeHashTag 삭제 기능

Related #112

* Fix: 주류 추천 ResponseDTO 변경 (#131)

ResponseDTO에 recommendID추가

* FEAT : 메인 새로 출시된 주류 조회 API, 새로 출시된 주류 상세 조회 API, 새로 출시된 주류 리스트 조회 API, 새로 출시된 주류 타입별 조회 API (#133)

* feat: 메인 주간베스트 조합 랜덤 조회 API

* feat: 오늘의 조합 로테이션 API, 레시피북 로테이션 API

* refactor: 주간베스트조합 24시간 랜덤 적용

* style

* fix: soft delete & pagerequest

* FIX: 오늘의 조합 홈 페이지, 상세보기, 댓글 작성 DTO 수정 (#135)

* fix: 오늘의 조합 댓글조회 CommentResult 수정

updatedAt -> createdAt 생성 시간으로 변경

Related: #134

* fix: 오늘의 조합 상세보기 Response 수정

Member name -> nickname 변경

Related: #134

* Refactor : 레시피북 프론트 요청 (#138)

* refactor : Recipe에서 info 칼럼 삭제

Related #136

* refactor : name 칼럼 이름 title로 변경

Related #136

* feat : RecipeComment에 작성/ 수정 시간 추가

Related #136

* refactor : 작성자 이름 -> 닉네임으로 변경

Related #136

* feat : Recipe Response 추가 / 변경

- memberImage, 댓글 개수 추가
Related #136

* feat : 레시피 검색 페이징 처리

Related #136

* feat : RecipeComment 페이징 처리, 자식 댓글 개수 추가

Ralted #136

* Refactor : 레시피북 프론트 요청 (#141)

* refactor : RecipeLike에서 VO 삭제

- RecipeVO를 만드는 것이 가독성에 문제가 있어 삭제하였습니다.
Related #136

* refactor : Recipe 도메인 관련 순환 자동 주입 방지

- 레시피 도메인 Servic들 끼리 서로 참조하여 순환 주입이 발생하였습니다.
    - Service -> 각 Repository로 변경하여 해결하였습니다.
 - MemberCommandServiceImpl에서 사용하지 않는 Recipe 도메인 자동주입자들 삭제해주었습니다
Related #136

* feat : RecipeResponseDTO에 유저의 좋아요 여부 표시

* feat : 유저의 레시피 정보 조회해 DTO 반환

Related #136

* feat : 조회 시 유저의 좋아요 여부 추가

Related #136

* Fix: Docker 컨테이너 시간 설정 (#142)

* Fix: 오늘의 조합 좋아요 여부 로직 수정 (#144)

* Fix: 이미지 생성 프롬프트 수정 (#146)

* Fix: 오늘의 조합 API URL 및 댓글 DTO 수정 (#147)

* fix: 오늘의 조합 작성 API 수정

recommedId 삭제

Related: #140

* fix: 오늘의 조합 작성 조회시 listSize 수정

listSize에서 자식 댓글가 카운트 안되는 오류 해결

Related: #140

* fix: Security setAllowedOrigins 수정

Related: #140

* fix: Security anyRequest 수정

Related: #140

* Refactor : 레시피 / 레시피 댓글에 유저 정보 추가 (#150)

* refactor : 레시피 댓글에 유저 정보 추가

* refactor : 레시피 정보에 유저 정보 추가

* fix: CommentResult memberId 추가 (#152)

Related: #151

* Fix: 검색 시 State True 게시글만 조회 (#154)

* refactor: 좋아요 삭제 여부 반영 (#157)

---------

Co-authored-by: kylo <[email protected]>
Co-authored-by: SungHoon Jung <[email protected]>
Co-authored-by: wooing1084 <[email protected]>
Co-authored-by: YASICJUNWOO <[email protected]>
Co-authored-by: Blue-hyeon <[email protected]>
Co-authored-by: hyungyeom <[email protected]>
Co-authored-by: Lee seohyeon 이서현 <[email protected]>

* [Main Merge] 25회차 (#161)

* Fix: ErrorStatus 수정 (#55)

* [FEAT] 오늘의 조합 댓글 작성 API 개발 (#58)

* feat : CombinationComment domain column 수정

Related: #50

* feat : CombinationComment Request, Response 작성

Related: #50

* feat : CombinationComment 에러 상태 추가

Related: #50

* feat : CombinationComment Service 구현

Related: #50

* feat : CombinationComment Controller 구현

Related: #50

* feat : 오늘의 조합 댓글 작성 시 Combination commentCount 증가 구현

Related: #50

* [FEAT] 오늘의 조합 댓글 조회 API 개발 (#59)

* feat : CombinationComment 관련 DTO 작성

Related: #57

* feat : CombinationComment Service 구현

기존의 오늘의 조합 상세 조회 시 사용한 Paging 메서드 수정

Related: #57

* feat : CombinationComment Controller 구현

Related: #57

* feat : Paging Annotation & Validator 구현

Related: #57

* feat : Combination 존재 여부 검증하는 Annotation & Validator 구현

Related: #57

* Feat: 주류 추천 API (#61)

* Feat: GPT API연동 및 프롬프트 엔지니어링

- GPT API 연동
- 프롬프트 엔지니어링
- Recommend 레포지토리 저장

TODO: 프롬프트 엔지니어링 성능 개선

* Feat: 주류 추천 이미지 생성 기능

* Feat: recommend validation 추가

* Fix: GPT 결과 Json형식으로 제한

* Fix: Conflict 사후처리

* Fix: PR comments 해결

* fix: Merge Conflict 해결 (#65)

Related: #64

* FIX : 오늘의 조합 상세 조회에 CombinationImage, CombinationLike 정보 추가 전달 (#66)

* fix: 오늘의 조합 상세 조회에 CombinationImage 정보 추가 전달

Related: #47

* fix: 오늘의 조합 상세 조회 API 좋아요 여부 데이터 추가

상세 조회 API시 좋아요 상태 정보 전달

Related: #47

* Feat: 오늘의 조합 댓글 수정 API 개발 (#67)

* feat: CombinationComment Request, Response DTO 구현

Related: #60

* feat: CombinationComment CommandService 구현

Related: #60

* feat: CombinationComment Controller 구현

Related: #60

* Feat: 추천 삭제 API (#71)

* Fix: #71 Merge conflict 놓친 부분 처리

* Feat: 주류 추천 리스트 API (#72)

* Feat: 주류 추천 리스트 API

* Fix: 리스트 조회 controller수정

Method: Post -> Get
page, size -> RequestParameter로 입력

* Fix: Comment 처리

* Docs : 레시피 Swagger 설정 (#70)

* docs : Recipe DTO Swagger 설정

Related #69

* docs : Recipe Controller Swagger 설정

Related #69

* docs : RecipeLike DTO Swagger 설정

Related #69

* docs : RecipeLike Controller Swagger 설정

Related #69

* docs : RecipeComment DTO Swagger 설정

Related #69

* docs : RecipeComment Controller Swagger 설정

Related #69

* Feat : 레시피 이미지 API (#73)

* feat : RecipeRepository 생성

레시피 id로 모든 이미지를 찾는 메소드 추가
Relatd #53

* feat : RecipeImage Service 생성 & 해당 레시피 이미지 조회

Related #53

* feat : (GET) 해당 레시피 이미지 조회 API

recipeId 파라미터로 해당 레시피의 이미지를 조회합니다.
Related #53

* feat : Recipe Entity 빌드 메소드 추가

Recipe recipe, String imageUrl 를 받아 Entity를 빌드합니다.
Related #53

* feat : 요청으로 들어온 Image가 없을 경우 예외처리

Related #53

* feat : 요청으로 들어온 image POST

- Recipe 찾아온 후
- image 유무를 검증합니다.
- s3에 이미지를 업로드하고 url을 받아옵니다.
- Recipe Entity 들을 만들어 모두 저장합니다.
Related #53

* feat : (POST) 레시피 이미지 등록 API

form-data 형식 사용했습니다
Related #53

* feat : 레시피 이미지 url로 삭제

- 레시피 url로 RecipeImage를 찾습니다
- 없으면 에러를 발생시킵니다.
- 있으면 repository에서 삭제하고 s3에서도 삭제합니다.
Related #53

* feat : 레시피 이미지 수정 기능

- 1. 추가할 레시피 이미지가 있다면 업로드합니다
- 2. 삭제할 레시피 이미지가 있다면 삭제합니다
Related #53

* feat : (PATCH) 레시피 수정 API

- 추가 업로드할 파일, 삭제할 파일 URL, RecipeID를 파라미터로 받습니다.
Related #53

* feat : 레시피의 모든 이미지 삭제

레시피 id로 해당 레시피의 모든 이미지를 삭제합니다
Related #53

* feat : (DELETE) 레시피 이미지 삭제 API

Related #53

* fix : ErrorStatus 유형 변경

ErrorStatus 사용이 잘못되어 수정하였습니다.
Related #53

* Feat: 주간 베스트 조합 조회 API (#74)

* Feat: #51 주간 베스트 조합 조회 API 구현

- Controller, Service, Repository 구현
- 좋아요 10개 이상 게시글 조회

* Feat: #51 주간 베스트 조합 조회 API 수정

- 좋아요 30개 이상 조회로 수정

* Feat: 오늘의 조합 댓글 삭제 API 구현 (#75)

* feat: CombinationComment Response 작성

Related: #68

* feat: CombinationComment CommandService 구현

Related: #68

* feat: CombinationComment Controller 구현

Related: #68

* Feat: 오늘의 조합 좋아요 누르기 API (#77)

* Feat: #75 오늘의 조합 좋아요 관련 API

- changeCombinationLike 메서드 생성

* Feat: 조합 좋아요 엔티티 조회 메서드 구현

Related : #75

* Feat: Combination 엔티티 Like 관련 메서드 구현

Related : #75

* Feat: Combination 엔티티 Like 관련 메서드 구현

Related : #75

* Feat: Combination Entity 조회 메서드, CombinationLike 생성 메서드, CombinationLike 상태 변경 메서드 구현

Related : #75

* Feat: Long memberId로 받아오는 방식으로 수정

Related : #75

* Revert "Feat: Long memberId로 받아오는 방식으로 수정"

This reverts commit 4dae9a6d7cd02e316f17cde0ef0acef88f792670.

* Revert "Feat: Combination Entity 조회 메서드, CombinationLike 생성 메서드, CombinationLike 상태 변경 메서드 구현"

This reverts commit ef2a48ae010cc766a23ea05f3402dafb35eee879.

* Revert "Feat: Combination 엔티티 Like 관련 메서드 구현"

This reverts commit 77530309fc9ab228ef223fdbd44b60e9da7f211d.

* Revert "Feat: Combination 엔티티 Like 관련 메서드 구현"

This reverts commit 7adc09f2ecd4570f091a2bdbde1d969be78b514e.

* Revert "Feat: 조합 좋아요 엔티티 조회 메서드 구현"

This reverts commit 2bab9c8ae969c73a544cb092e1bb8c5df7c980a6.

* Revert "Feat: #75 오늘의 조합 좋아요 관련 API"

This reverts commit 1a6ca0bcedb90d728e35ce2a237dd18b2e13c7aa.

* Feat: Combination, CombinationLike 엔티티 메서드 추가

Related : #76

* Feat: findByCombinationAndMember 메서드 추가

Related : #76

* Feat: Service 구현

Related : #76

* Feat: Controller 구현

Related : #76

* Feat: 소셜 로그인 (Kakao, Naver) API 개발 (#78)

* Feat : JwtProvider token 생성, 검증, 등록 구현

Related: #10

* Feat : SecurityConfig 1차 설정

Related: #10

* Feat : JwtAuthenticationFilter 구현

Jwt token 유효성 검증하는 필터

Related: #10

* Feat : OAuth2UserInfo 구현

카카오 사용자 정보 KakaoUserInfo 구현

Related: #10

* Feat : CustomOAuth2User, CustomOAuth2UserService 구현

소셜 로그인 및 회원가입을 처리하는 서비스

Related: #10

* Feat : OAuth2AuthenticationSuccessHandler, OAuth2Controller 구현

소셜 로그인 성공 시 토큰 생성 및 사용자 정보 전달하는 핸들러 작성

Related: #10

* Feat : SecurityConfig oauth2Login 설정 및 Member 속성 변경

Related: #10

* Feat : Redis에 Refresh Token 저장하기

서버 측 Redis에 Refresh Token을 저장하고, Cookie에 Refresh Token 담아 전달하기

Related: #10

* Feat : AccessToken 재발급 API 구현

Related: #10

* Feat: 네이버 소셜 로그인 구현

* docs: 도메인 적용 및 파일 수정

Related: #10

* feat: Security LogoutHandler 작성

Related: #10

* feat: AccessToken 재발급 API 재 구현
Related: #10

* feat: ErrorStatus 상태 추가 및 CookieUtil 수정
Related: #10

* feat: ErrorStatus 추가 및 파일 수정
Related: #78

---------

Co-authored-by: Blue-hyeon <[email protected]>

* fix: Merge conflict resolve (#81)

Related: #80

* Update Member.java

* Fix: swagger Failed to fetch 오류 해결 (#86)

- server url 설정

Related: #85

* Feat: 타이틀로 검색 API (#89)

* Feat: 오늘의 조합 홈 타이틀 검색

Related: #88

* Feat: 주간 베스트 조합 홈 타이틀 검색

Related: #88

* Feat: 레시피북 홈 타이틀 검색

- 코딩 컨벤션 반영

Related: #88

* Fix: 소셜 로그인 코드 수정 (#91)

* Feat : JwtProvider token 생성, 검증, 등록 구현

Related: #10

* Feat : SecurityConfig 1차 설정

Related: #10

* Feat : JwtAuthenticationFilter 구현

Jwt token 유효성 검증하는 필터

Related: #10

* Feat : OAuth2UserInfo 구현

카카오 사용자 정보 KakaoUserInfo 구현

Related: #10

* Feat : CustomOAuth2User, CustomOAuth2UserService 구현

소셜 로그인 및 회원가입을 처리하는 서비스

Related: #10

* Feat : OAuth2AuthenticationSuccessHandler, OAuth2Controller 구현

소셜 로그인 성공 시 토큰 생성 및 사용자 정보 전달하는 핸들러 작성

Related: #10

* Feat : SecurityConfig oauth2Login 설정 및 Member 속성 변경

Related: #10

* Feat : Redis에 Refresh Token 저장하기

서버 측 Redis에 Refresh Token을 저장하고, Cookie에 Refresh Token 담아 전달하기

Related: #10

* Feat : AccessToken 재발급 API 구현

Related: #10

* Feat: 네이버 소셜 로그인 구현

* docs: 도메인 적용 및 파일 수정

Related: #10

* feat: Security LogoutHandler 작성

Related: #10

* feat: AccessToken 재발급 API 재 구현
Related: #10

* feat: ErrorStatus 상태 추가 및 CookieUtil 수정
Related: #10

* feat: ErrorStatus 추가 및 파일 수정
Related: #78

* feat: iOS 소셜 로그인 처리 후 전달 받는 AuthRequest 작성

Related: #10

* Docs: oauth2 패키지 삭제

Related: #10

* feat: 로그인 및 회원가입을 진행하는 AuthService 구현

Related: #10

* feat: LogoutHandler, JwtController 구현

Related: #10

* refactor: JwtProvider 만료 시간 및 파싱하는 데이터 수정

Related: #10

* refactor: SecurityConfig, JwtAuthenticationFilter URL, 인증 허가 경로 수정

Related: #10

---------

Co-authored-by: Blue-hyeon <[email protected]>

* Feat: Resolver추가 및 Member어노테이션 추가 (#97)

* Feat : JwtProvider token 생성, 검증, 등록 구현

Related: #10

* Feat : SecurityConfig 1차 설정

Related: #10

* Feat : JwtAuthenticationFilter 구현

Jwt token 유효성 검증하는 필터

Related: #10

* Feat : OAuth2UserInfo 구현

카카오 사용자 정보 KakaoUserInfo 구현

Related: #10

* Feat : CustomOAuth2User, CustomOAuth2UserService 구현

소셜 로그인 및 회원가입을 처리하는 서비스

Related: #10

* Feat : OAuth2AuthenticationSuccessHandler, OAuth2Controller 구현

소셜 로그인 성공 시 토큰 생성 및 사용자 정보 전달하는 핸들러 작성

Related: #10

* Feat : SecurityConfig oauth2Login 설정 및 Member 속성 변경

Related: #10

* Feat : Redis에 Refresh Token 저장하기

서버 측 Redis에 Refresh Token을 저장하고, Cookie에 Refresh Token 담아 전달하기

Related: #10

* Feat : AccessToken 재발급 API 구현

Related: #10

* Feat: 네이버 소셜 로그인 구현

* docs: 도메인 적용 및 파일 수정

Related: #10

* feat: Security LogoutHandler 작성

Related: #10

* feat: AccessToken 재발급 API 재 구현
Related: #10

* feat: ErrorStatus 상태 추가 및 CookieUtil 수정
Related: #10

* feat: ErrorStatus 추가 및 파일 수정
Related: #78

* feat: iOS 소셜 로그인 처리 후 전달 받는 AuthRequest 작성

Related: #10

* Docs: oauth2 패키지 삭제

Related: #10

* feat: 로그인 및 회원가입을 진행하는 AuthService 구현

Related: #10

* feat: LogoutHandler, JwtController 구현

Related: #10

* refactor: JwtProvider 만료 시간 및 파싱하는 데이터 수정

Related: #10

* refactor: SecurityConfig, JwtAuthenticationFilter URL, 인증 허가 경로 수정

Related: #10

* Feat: resolver 추가

* Fix: Resolver 오류 수정

---------

Co-authored-by: hyungyeom <[email protected]>
Co-authored-by: Blue-hyeon <[email protected]>
Co-authored-by: kylo <[email protected]>

* Feat: MyPage 관련 API 모음  (#93)

* feat: 마이페이지 수정, 마이페이지 조회, 내가 작성한 오늘의 조합 조회API

* feat: 마이페이지 수정, 마이페이지 조회, 내가 작성한 오늘의 조합 조회API

* feat: 좋아요 관련 API

* Feat : 레시피 Count 변경 기능 추가 (#96)

* feat : Recipe에서 LikeCount와 CommentCount 변경

넘겨받는 bool 값에 따라 더하거나 뺄 수 있도록 하였습니다.
Related #95

* feat : RecipeLike 변경되면 LikeCount 변경

-기존 state가 true이면 삭제해야하므로 isDecrease에 저장합니다.
- state 변경이후 isDecrease값 recipe에 넘겨줍니다.
Related #95

* feat : RecipeLike 생성 시 LikeCount 증가

기존 상태 변경말고 새로 생성 시 LikeCount 증가시켜 주었습니다.
Related #95

* feat : RecipeComment 삭제시 CommentCount 감소

Related #95

* feat : RecipeComment 삭제 시 이미 삭제된 Comment인지 에러처리

Related #95

* feat : ReicpeComment 삭제 시 CommentCount 감소

Related #95

* feat : RecipeComment 등록 시 CommentCount 증가

Related #95

* Feat : 레시피 페이징 (#94)

* feat : RecipeRepository에서 page 기능 추가

Related #90

* feat : Recipe Service에서 페이징 기능 추가

Related #90

* refactor : Default Member 저장 방식 변경

Security 추가되어서 기존의 Member가 저장되지 않아 초기화 방식을 바꿨습니다.
Related #90

* feat : (GET) Recipe 페이징 추가

Related #90

* feat : RecipeCommentRepository 페이징 추가

* feat : RecipeComment Service에서 페이징 기능 추가

Related #90

* feat : (GET) RecipeComment 페이징 기능 추가된 API

Related #90

* Fix: Main Merge Conflict Resolve

* Fix: Main Merge Conflict Resolve

- RecipeController 수정

* Fix: 오늘의 조합 API 수정 & 로그인 사용자 정보 어노테이션 추가 & Soft Delete 적용 (#104)

* fix: 오늘의 조합 홈 조회 DTO 수정

Related: #101

* fix: CombinationQueryService 수정

로그인 사용자 정보와 좋아요 여부 데이터 추가

Related: #101

* fix: CombinationController 오늘의 조합 API 수정

Related: #101

* fix: 오늘의 조합 상세보기 Controller, Service 수정

로그인 사용자 정보 추가

Related: #101

* fix: 오늘의 조합 상세보기에 HashTagOptionQueryService 적용

Related: #101

* fix: Response 코딩 컨벤션 적용

Related: #101

* fix: 오늘의 조합 작성 API Request, Response 수정

Related: #101

* fix: 오늘의 조합 작성 Controller, Service 수정

Related: #101

* fix: Combination 생성 메서드 Service에서 분리

Related: #101

* fix: Combination Soft Delete 적용

Related: #101

* fix: 오늘의 조합 홈, 상세조회 API 수정

soft delete를 적용하여, state가 참인 것만 조회

Related: #101

* feat: HandlerInterceptor를 통해 로그인 사용자가 작성자인지 검증 로직 구현

Related: #101

* fix: 오늘의 조합 수정 조회 API 수정

Related: #101

* fix: 오늘의 조합 수정처리 API 수정

Related: #101

* fix: CombinationService에서 Recommend 조회 Service 계층으로 변경

Related: #101

* fix: HandlerInterceptor 메서드에 적용

Related: #101

* fix: 오늘의 조합 작성 API 수정
recom…
  • Loading branch information
8 people authored Aug 19, 2024
1 parent cd8e735 commit 54d28d5
Show file tree
Hide file tree
Showing 14 changed files with 37 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
import com.example.dgbackend.domain.recipecomment.service.RecipeCommentService;
import com.example.dgbackend.domain.recipelike.service.RecipeLikeService;
import com.example.dgbackend.domain.recommend.service.RecommendCommandService;
import com.example.dgbackend.domain.report.service.ReportService;
import com.example.dgbackend.domain.termagree.service.TermAgreeCommandService;
import com.example.dgbackend.global.common.response.code.status.ErrorStatus;
import com.example.dgbackend.global.exception.ApiException;
Expand Down Expand Up @@ -41,10 +42,12 @@ public class CancellationSchedular {
private final TermAgreeCommandService termAgreeCommandService;
private final MemberCommandService memberCommandService;
private final MemberBlockService memberBlockService;
private final ReportService reportService;

@Scheduled(cron = "0 0 0 * * ?") // 매일 자정에 실행
@Transactional
public void processCancellations() {

LocalDateTime now = LocalDateTime.now();
List<Cancellation> expiredCancellations = cancellationRepository.findAllByCancelledAtBefore(
now);
Expand Down Expand Up @@ -81,6 +84,8 @@ private void runCancellation(Long cancellationId) {
termAgreeCommandService.deleteCancellation(cancelMember);
// 차단 기록 삭제
memberBlockService.deleteBlock(cancelMember);
// 신고 기록 삭제
reportService.deleteReport(cancelMember);

// 탈퇴 테이블에서 해당 엔티티 삭제
cancellationRepository.delete(cancellation);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;

public interface CombinationRepository extends JpaRepository<Combination, Long> {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
import com.example.dgbackend.domain.combination.repository.CombinationRepository;
import com.example.dgbackend.domain.combinationcomment.service.CombinationCommentCommandService;
import com.example.dgbackend.domain.combinationimage.service.CombinationImageCommandService;
import com.example.dgbackend.domain.combinationimage.service.CombinationImageQueryService;
import com.example.dgbackend.domain.combinationlike.service.CombinationLikeCommandService;
import com.example.dgbackend.domain.hashtag.service.HashTagCommandService;
import com.example.dgbackend.domain.hashtagoption.service.HashTagOptionCommandService;
Expand Down Expand Up @@ -114,9 +113,11 @@ public CombinationResponse.CombinationProcResult editCombination(Long combinatio

@Override
public void deleteAllCombination(Long memberId) {

Member member = memberRepository.findById(memberId)
.orElseThrow(() -> new ApiException(ErrorStatus._EMPTY_MEMBER));
List<Combination> combinationList = combinationRepository.findAllByMember(member);

for (Combination combination : combinationList) {
deleteCombination(combination.getId());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@

import java.util.List;
import java.util.Optional;

import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import com.example.dgbackend.domain.member.service.MemberQueryService;
import com.example.dgbackend.global.common.response.ApiResponse;
import com.example.dgbackend.global.jwt.annotation.MemberObject;

import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.responses.ApiResponses;
import io.swagger.v3.oas.annotations.tags.Tag;
Expand All @@ -26,7 +27,6 @@
@RequestMapping("/users")
public class MemberRestController {

private final MemberQueryService memberQueryService;
private final MemberCommandService memberCommandService;

@Operation(summary = "회원 추천 정보 저장", description = "회원 추천 정보를 저장합니다.")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;

public interface RecipeRepository extends JpaRepository<Recipe, Long> {
Expand Down Expand Up @@ -41,4 +42,8 @@ Page<Recipe> findRecipesByTitleOrHashTagAndStateIsTrueOrderByCreatedAtDesc(Strin
Optional<Recipe> findByIdAndMemberAndStateIsTrue(Long id, Long memberId);

List<Recipe> findAllByMember(Member member);

@Modifying
@Query(value = "DELETE FROM recipe WHERE member_id = :id", nativeQuery = true)
void deleteByMemberIdWithNativeQuery(Long id);
}
Original file line number Diff line number Diff line change
Expand Up @@ -203,6 +203,7 @@ public void deleteAllRecipe(Long memberId) {
Member member = memberRepository.findById(memberId).orElseThrow(
() -> new ApiException(ErrorStatus._EMPTY_MEMBER)
);

List<Recipe> recipeList = recipeRepository.findAllByMember(member);
for (Recipe recipe : recipeList) {
deleteRecipe(recipe.getId(), member);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@
@NoArgsConstructor(access = AccessLevel.PROTECTED)
@Builder
@Entity
//@SQLDelete(sql = "UPDATE recommend SET deleted = true WHERE id = ?")
//@SQLRestriction("deleted = false")
@SQLDelete(sql = "UPDATE recommend SET deleted = true WHERE id = ?")
@SQLRestriction("deleted = false")
@OnDelete(action = OnDeleteAction.CASCADE)
public class Recommend extends BaseTimeEntity {

Expand Down
Original file line number Diff line number Diff line change
@@ -1,18 +1,23 @@
package com.example.dgbackend.domain.recommend.repository;


import com.example.dgbackend.domain.recommend.Recommend;

import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;

import java.util.List;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;

public interface RecommendRepository extends JpaRepository<Recommend, Long> {

Page<Recommend> findAllByMemberIdOrderByCreatedAtDesc(Long memberId, Pageable pageable);

List<Recommend> findAllByMemberId(Long memberId);

void deleteAllByMemberId(Long memberId);
@Modifying
@Query(value = "DELETE FROM recommend WHERE member_id = :memberId", nativeQuery = true)
void deleteAllByMemberIdWithNativeQuery(Long memberId);
}
Original file line number Diff line number Diff line change
Expand Up @@ -242,7 +242,7 @@ public void deleteCancellation(Long memberId) {

imageUrls.forEach(s3Service::deleteFile);

recommendRepository.deleteAllByMemberId(memberId);
recommendRepository.deleteAllByMemberIdWithNativeQuery(memberId);
}

/*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,14 @@
import com.example.dgbackend.domain.enums.ReportTarget;
import com.example.dgbackend.domain.member.Member;
import com.example.dgbackend.domain.report.Report;

import java.util.List;
import org.springframework.data.jpa.repository.JpaRepository;

public interface ReportRepository extends JpaRepository<Report, Long> {

Report findTopByResourceIdAndReportTargetAndMember(Long resourceId, ReportTarget reportTarget,
Member member);


void deleteAllByMember(Member member);
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,6 @@ public interface ReportService {

String report(ReportReq reportReq, Member member) throws MessagingException;

void deleteReport(Member member);

}
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
import jakarta.mail.internet.InternetAddress;
import jakarta.mail.internet.MimeMessage;
import jakarta.transaction.Transactional;
import java.util.List;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.mail.javamail.JavaMailSender;
Expand Down Expand Up @@ -494,4 +495,9 @@ private void memberReported(ReportReason reportReason, Long memberId) {
redisUtil.deleteData(id);
}

@Override
public void deleteReport(Member member) {

reportRepository.deleteAllByMember(member);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@ public AuthResponse.AuthResult loginOrJoin(HttpServletResponse response,

// 해당 멤버가 탈퇴 신청을 했는지 확인
Boolean isCancelled = cancellationCommandService.checkCancellation(memberId);

if (isCancelled) {
cancellationCommandService.deleteCancellation(memberId);
}
Expand Down

0 comments on commit 54d28d5

Please sign in to comment.