Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat [#136] 최신 등록 순 공연 정보 조회 API 구현 #158

Merged
merged 43 commits into from
Jan 23, 2025

Conversation

ch1hyun
Copy link
Collaborator

@ch1hyun ch1hyun commented Jan 23, 2025

✨ Issue Number ✨

closes #136

✨ To-do ✨

  • 최신 등록 순 공연 정보 조회 API 구현

✨ Description ✨  

image image

아티스트 좋아요 정보가 있을 때 공연 정보를 가져오는 기능입니다.

image

아티스트 좋아요 정보가 없을 때 공연 정보를 가져오는 기능입니다.

@ch1hyun ch1hyun self-assigned this Jan 23, 2025
Ivoryeee and others added 18 commits January 23, 2025 15:27
…into feat#136/getRecentPerformances

; Conflicts:
;	src/main/java/org/sopt/confeti/api/performance/facade/dto/response/RecentPerformanceDTO.java
;	src/main/java/org/sopt/confeti/domain/festival/application/FestivalService.java
;	src/main/java/org/sopt/confeti/domain/view/performance/infra/repository/PerformanceRepository.java
Copy link
Collaborator

@Ivoryeee Ivoryeee left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm! 너무 수고 많으셨어용

@ch1hyun ch1hyun merged commit 474c524 into develop Jan 23, 2025
1 check passed
@ch1hyun ch1hyun deleted the feat#136/getRecentPerformances branch January 23, 2025 08:13
ch1hyun added a commit that referenced this pull request Jan 23, 2025
* style [#56] 엔터 추가

* feat [#56] 콘서트 정보 조회 API 구현

* refactor [#62] 매개변수가 하나인 함수 이름을 from으로 변경

* refactor [#62] 작성된 예외 처리 클래스로 변경

* hotfix [#69] ArtistResolver에서 같은 객체를 계속 탐색하는 것을 수정

* fix [#76] ArtistResolver의 load 함수에서 target이 리스트 타입인 경우 탐색 가능하도록 수정

* style [#76] print 함수 제거

* hotfix [#81] ArtistResolver 수동으로 매핑하는 방법으로 변경

* style [#81] 주석 추가

* feat [#78] 임시 페스티벌 생성 API 구현

* feat [#57] ArtistFavoriteController 구현

* feat [#57] UserFavoriteFacade 구현

* feat [#57] ArtistFavoriteService, Repository 구현

* feat [#57] 아티스트 목록 최대 3개만 조회하도록 제한

* refactor [#57] 메서드 of->from 변경

* refactor [#57] 인자로 user이 아닌 userId 불러오도록 변경

* style [#57] 필요없는 코드 삭제

* fix [#57] 메서드 of->from 변경

* feat [#67] 페스티벌 정보 조회 API 구현 (#84)

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* chore [#67] DB 쿼리 값 확인을 위해 p6spy 의존성 추가

* feat [#67] 값 전달을 위해 DTO 생성

* refactor [#67] 값 타입 변경을 위해 엔티티 파일 수정

* fix [#67] artistIds 아이디 수집 변수에 Artist Id 값을 추가하는 것으로 변경

* feat [#85] 아티스트 검색 API 구현

* refactor [#87] 콘서트 정보 조회 API 변경에 따른 수정

* refactor [#89] 함수명을 명확히 수정, 조회 함수에 트랜잭션 readonly = true 추가

* feat [#89] 아티스트 좋아요 추가 API 구현

* refactor [#89] addArtistFavorite에서 artistId 최소값 제거

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 구현 (#95)

* feat [#91] 콘서트 좋아요 추가 API 추가

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 추가

* style [#92] 함수 위치 재배치

* feat [#92] 콘서트 좋아요 삭제 API 추가 (#97)

* feat [#92] 콘서트 좋아요 삭제 API 추가

* refactor [#92] 유저 서비스에 트랜잭션 추가 및 에러 응답 Unauthorized 설정 및 중복된 함수 제거

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 구현 (#95)

* feat [#91] 콘서트 좋아요 추가 API 추가

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 추가

* style [#92] 함수 위치 재배치

* feat [#92] 콘서트 좋아요 삭제 API 추가

* refactor [#92] 유저 서비스에 트랜잭션 추가 및 에러 응답 Unauthorized 설정 및 중복된 함수 제거

* feat [#92] 아티스트 접기/펼치기 기준 값 상수 추가

* refactor [#92] 아티스트 접기/펼치기 기준 값 상수 사용하도록 변경

* feat [#98] CORS 허용 도메인 추가

* refactor [#100] DateConvertor static 클래스로 변경

* feat [#83] 타임테이블에 등록된 페스티벌, 날짜 조회 (#96)

* feat [#67] 페스티벌 정보 조회 API 구현 (#84)

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* chore [#67] DB 쿼리 값 확인을 위해 p6spy 의존성 추가

* feat [#67] 값 전달을 위해 DTO 생성

* refactor [#67] 값 타입 변경을 위해 엔티티 파일 수정

* fix [#67] artistIds 아이디 수집 변수에 Artist Id 값을 추가하는 것으로 변경

* feat [#83] UserTimetable 컨트롤러 구현

* feat [#83] UserTimetableResponse api 응답값 구현

* feat [#83] UserTimetableFacade 구현

* feat [#83] UserTimetable Dto 구현

* feat [#83] UserTimetable service 구현

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 구현 (#95)

* feat [#91] 콘서트 좋아요 추가 API 추가

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 추가

* style [#92] 함수 위치 재배치

* feat [#92] 콘서트 좋아요 삭제 API 추가 (#97)

* feat [#92] 콘서트 좋아요 삭제 API 추가

* refactor [#92] 유저 서비스에 트랜잭션 추가 및 에러 응답 Unauthorized 설정 및 중복된 함수 제거

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 구현 (#95)

* feat [#91] 콘서트 좋아요 추가 API 추가

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 추가

* style [#92] 함수 위치 재배치

* feat [#92] 콘서트 좋아요 삭제 API 추가

* refactor [#92] 유저 서비스에 트랜잭션 추가 및 에러 응답 Unauthorized 설정 및 중복된 함수 제거

* feat [#92] 아티스트 접기/펼치기 기준 값 상수 추가

* refactor [#92] 아티스트 접기/펼치기 기준 값 상수 사용하도록 변경

* feat [#98] CORS 허용 도메인 추가

* refactor [#100] DateConvertor static 클래스로 변경

* feat [#67] 페스티벌 정보 조회 API 구현 (#84)

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* chore [#67] DB 쿼리 값 확인을 위해 p6spy 의존성 추가

* feat [#67] 값 전달을 위해 DTO 생성

* refactor [#67] 값 타입 변경을 위해 엔티티 파일 수정

* fix [#67] artistIds 아이디 수집 변수에 Artist Id 값을 추가하는 것으로 변경

* feat [#83] UserTimetable 컨트롤러 구현

* feat [#83] UserTimetableResponse api 응답값 구현

* feat [#83] UserTimetableFacade 구현

* feat [#83] UserTimetable Dto 구현

* feat [#83] UserTimetable service 구현

* 작업중

* feat [#83] 날짜 포맷팅 설정 추가

* feat [#83] s3핸들러 설정 추가

* style [#83] 오타 수정

---------

Co-authored-by: chyun <[email protected]>

* refactor [#105] 날짜 매핑 방법 변경

* refactor [#105] 날짜 매핑 방법 변경

* feat [#107] existsById 반환 값 boolean으로 변경 및 타임테이블 페스티벌 삭제 API 구현

* feat [#109] 공연(콘서트, 페스티벌) 정보 조회 날짜가 지나지 않았는지 검증 추가

* refactor [#109] 공연 좋아요 여부 조회 로직 분리

* refactor [#109] 공연, 아티스트 좋아요 여부 조회 로직 분리

* refactor [#109] 공연, 아티스트, 유저 존재 여부 조회 로직 분리

* style [#109] 주석 추가

* refactor [#109] 엔티티 존재 여부 메소드 분리

* fix [#109] 지난 페스티벌을 제외하고 타임테이블에 추가된 페스티벌을 조회하는 기능 추가

* style [#109] 불필요한 import 제거

* feat [#111] 타임테이블에 페스티벌 추가 API 구현 (#112)

* feat [#111] 타임테이블 페스티벌 추가 요청값 생성

* feat [#111] 요청값 전달 DTO 작성

* feat [#111] 타임테이블에 페스티벌 추가 API 구현

* feat [#111] 타임테이블 에러 응답 메세지 작성

* refactor [#111] 에러 응답 메세지 @Getter 사용으로 변경

* refactor [#111] 현재 페스티벌과 추가할 페스티벌 변수 위치 변경

* refactor [#111] 사용하지않는 함수 제거

* refactor [#111] 에러 메시지에 @Getter 사용 및 Enum 타입 생성자에 private 접근지정자 제거

* feat [#109] 공연(콘서트, 페스티벌) 정보 조회 날짜가 지나지 않았는지 검증 추가

* refactor [#109] 공연 좋아요 여부 조회 로직 분리

* refactor [#109] 공연, 아티스트 좋아요 여부 조회 로직 분리

* refactor [#109] 공연, 아티스트, 유저 존재 여부 조회 로직 분리

* style [#109] 주석 추가

* refactor [#109] 엔티티 존재 여부 메소드 분리

* fix [#109] 지난 페스티벌을 제외하고 타임테이블에 추가된 페스티벌을 조회하는 기능 추가

* style [#109] 불필요한 import 제거

* feat [#111] 타임테이블 페스티벌 추가 요청값 생성

* feat [#111] 요청값 전달 DTO 작성

* feat [#111] 타임테이블에 페스티벌 추가 API 구현

* feat [#111] 타임테이블 에러 응답 메세지 작성

* refactor [#111] 에러 응답 메세지 @Getter 사용으로 변경

* refactor [#111] 현재 페스티벌과 추가할 페스티벌 변수 위치 변경

* refactor [#111] 사용하지않는 함수 제거

* refactor [#111] 에러 메시지에 @Getter 사용 및 Enum 타입 생성자에 private 접근지정자 제거

* fix [#111] TimetableFestivalRepository에 findByUserId 함수 추가

* refactor [#111] 타임테이블에 더 이상 추가할 수 없을 때 에러 메세지 변경

* fix [#114] SpotifyAPIHandler 예외 처리 수정

* refactor [#113] 메세지 파일 롬복 어노테이션 사용하도록 변경

* feat [#113] 파사드 계층 관심 공연 DTO 작성

* feat [#113] 공연 타입 상수 파일 작성

* feat [#113] 작업 중간 저장

* feat [#113] 관심 공연 리스트 조회 API 구현

* feat [#117] 아티스트 좋아요 추가 API에 아티스트 아이디가 존재하는지 검증하는 로직 추가

* feat [#117] ConfetiException 글로벌 핸들러 추가

* feat [#117] 아티스트 아이디가 잘못되었을 때도 Not Found로 변경

* fix [#121] 토큰 재발급 로직 추가

* fix [#119] 타임테이블에 페스티벌 추가 시 선택 여부 값 추가

* refactor [#119] ERD 구조 변경에 따른 엔티티 파일 수정

* refactor [#119] 페스티벌 조회 성능 최적화

* refactor [#119] 패치 조인 쿼리 수정

* fix [#119] 타임테이블에 페스티벌 추가/삭제 시 선택 여부 값 추가/삭제 및 ERD 수정에 따른 엔티티 변경

* fix [#127] SpotifyAPIHandler 리프레시 토큰 재발급 로직 재구성 및 마지막 발매 일자 가져오는 방법 변경

* style [#127] 사용하지 않는 변수 제거

* feat [#41] PerformanceController, Response 구현

* feat [#41] PerformanceFacade 구현

* feat [#41] PerformanceDTO 구현

* feat [#41] PerformanceService, Repository 구현

* refactor [#41] 코드리뷰 반영

* feat [#126] 커서 정보 담을 DTO 작성

* feat [#126] 추가할 페스티벌 응답 Response 작성

* feat [#126] 커서 베이스 페이징에 사용할 데이터 DTO 생성

* feat [#126] 커서 베이스 페이징 쿼리 작성

* feat [#126] 커서 베이스 페이징 응답 DTO 생성

* feat [#126] 커서 베이스 페이징 데이터 규격 유틸 작성

* feat [#126] 예정된 페스티벌 목록 조회 API 구현

* refactor [#126] API 명세서에 따라 사이즈 값을 서버에서 설정하도록 변경

* refactor [#126] 커서 대상 페스티벌 조회

* fix [#137] CORS 허용 도메인에 클라이언트 www 도메인 추가

* feat [#104] 타임테이블에 등록된 시간표 조회 Api 구현 (#132)

* feat [#104] UserTimetableController 및 응답값 구현

* feat [#104] UserTimetableFacade 및 DTO 구현

* feat [#104] FestivalDateService 구현

* feat [#104] FestivalDateRepository 구현

* feat [#126] 커서 정보 담을 DTO 작성

* feat [#126] 추가할 페스티벌 응답 Response 작성

* feat [#126] 커서 베이스 페이징에 사용할 데이터 DTO 생성

* feat [#126] 커서 베이스 페이징 쿼리 작성

* feat [#126] 커서 베이스 페이징 응답 DTO 생성

* feat [#126] 커서 베이스 페이징 데이터 규격 유틸 작성

* feat [#126] 예정된 페스티벌 목록 조회 API 구현

* refactor [#126] API 명세서에 따라 사이즈 값을 서버에서 설정하도록 변경

* refactor [#126] 커서 대상 페스티벌 조회

* feat [#104] UserTimetableFacade 및 DTO 구현

* refactor [#104] 원시타입으로 수정

* refactor [#104] Optional 추가

* style [#104] 리베이스 중 중복된 코드 삭제

---------

Co-authored-by: chyun <[email protected]>

* fix [#140] 날짜 값 변경해서 조회

* fix [#145] 페스티벌 생성 요청 형식 수정

* refactor [#143] 콘서트, 페스티벌 필드 값 길이 변경

* refactor [#143] 콘서트, 페스티벌 필드 값 nullable 변경

* fix [#143] ERD 변경에 따라 값 수정

* fix [#143] 기존 DTO를 사용한 Repository 이름을 DTORepository로 수정

* fix [#143] 누락된 수정사항 반영

* feat [#151] CREATED 응답 메세지 추가

* feat [#151] 페스티벌 생성 API에 Performances 테이블 데이터 추가 구현

* fix [#153] 콘서트 정보 조회 API에 좋아요 정보가 전달되지 않는 것을 수정

* feat [#144] 타임테이블 시간표 수정 Request 작성

* feat [#144] 타임테이블 시간표 수정 DTO 추가

* feat [#144] 타임테이블 시간표 수정 facade 추가

* feat [#144] 타임테이블 시간표 수정 서비스 추가

* refactor [#144] saveAll 삭제

* refactor [#156] 타임테이블 시간표 조회 응답값 userTimetableId로 수정

* refactor [#159] 스포티파이에 존재하지 않는 아티스트인 경우 404 응답 처리

* fix [#162] 좋아요가 있을 때 409 반환

* feat [#136] 최신 등록 순 공연 정보 조회 API 구현 (#158)

* feat [#136] 최신 공연 정보 DTO 작성

* feat [#136] 최신 공연 조회 함수 추가

* feat [#136] 최신 공연 조회 함수 구현

* feat [#136] 콘서트/페스티벌 아이디와 타입으로 공연 아이디 요청/응답 DTO 작성

* feat [#136] 파사드 계층에서 컨트롤러 계층 최신 공연 값 DTO 작성

* feat [#136] 콘서트/페스티벌 아이디, 공연 타입으로 공연 아이디 조회하는 로직 구현

* style [#136] 사용하지 않는 파일 삭제

* feat [#136] 최신 공연 정보 조회 응답 DTO 작성

* feat [#136] 파사드 계층 최신 공연 정보 조회 데이터 DTO 수정

* feat [#136] 좋아요 정보 없을 때 최신 공연 정보 조회 구현

* feat [#136] 좋아요 정보 있는 때 최신 공연 정보 조회 구현

* refactor [#156] 타임테이블 시간표 조회 응답값 userTimetableId로 수정

* feat [#136] 최신 공연 정보 DTO 작성

* feat [#136] 최신 공연 조회 함수 추가

* feat [#136] 최신 공연 조회 함수 구현

* feat [#136] 콘서트/페스티벌 아이디와 타입으로 공연 아이디 요청/응답 DTO 작성

* feat [#136] 파사드 계층에서 컨트롤러 계층 최신 공연 값 DTO 작성

* feat [#136] 콘서트/페스티벌 아이디, 공연 타입으로 공연 아이디 조회하는 로직 구현

* style [#136] 사용하지 않는 파일 삭제

* feat [#136] 최신 공연 정보 조회 응답 DTO 작성

* feat [#136] 파사드 계층 최신 공연 정보 조회 데이터 DTO 수정

* feat [#136] 좋아요 정보 없을 때 최신 공연 정보 조회 구현

* feat [#136] 좋아요 정보 있는 때 최신 공연 정보 조회 구현

* refactor [#159] 스포티파이에 존재하지 않는 아티스트인 경우 404 응답 처리

* feat [#136] 최신 공연 정보 DTO 작성

* feat [#136] 최신 공연 조회 함수 추가

* feat [#136] 최신 공연 조회 함수 구현

* feat [#136] 콘서트/페스티벌 아이디와 타입으로 공연 아이디 요청/응답 DTO 작성

* feat [#136] 파사드 계층에서 컨트롤러 계층 최신 공연 값 DTO 작성

* feat [#136] 콘서트/페스티벌 아이디, 공연 타입으로 공연 아이디 조회하는 로직 구현

* style [#136] 사용하지 않는 파일 삭제

* feat [#136] 최신 공연 정보 조회 응답 DTO 작성

* feat [#136] 파사드 계층 최신 공연 정보 조회 데이터 DTO 수정

* feat [#136] 좋아요 정보 없을 때 최신 공연 정보 조회 구현

* feat [#136] 좋아요 정보 있는 때 최신 공연 정보 조회 구현

* feat [#136] 최신 공연 조회 함수 구현

* feat [#136] 파사드 계층에서 컨트롤러 계층 최신 공연 값 DTO 작성

* feat [#136] 콘서트/페스티벌 아이디, 공연 타입으로 공연 아이디 조회하는 로직 구현

* feat [#136] 파사드 계층 최신 공연 정보 조회 데이터 DTO 수정

* feat [#136] 좋아요 정보 없을 때 최신 공연 정보 조회 구현

* feat [#136] 좋아요 정보 있는 때 최신 공연 정보 조회 구현

---------

Co-authored-by: ivoryeee <[email protected]>

* fix [#164] 트랜잭션 추가

---------

Co-authored-by: ivoryeee <[email protected]>
Co-authored-by: Ivoryeee <[email protected]>
ch1hyun added a commit that referenced this pull request Jan 23, 2025
* style [#56] 엔터 추가

* feat [#56] 콘서트 정보 조회 API 구현

* refactor [#62] 매개변수가 하나인 함수 이름을 from으로 변경

* refactor [#62] 작성된 예외 처리 클래스로 변경

* hotfix [#69] ArtistResolver에서 같은 객체를 계속 탐색하는 것을 수정

* fix [#76] ArtistResolver의 load 함수에서 target이 리스트 타입인 경우 탐색 가능하도록 수정

* style [#76] print 함수 제거

* hotfix [#81] ArtistResolver 수동으로 매핑하는 방법으로 변경

* style [#81] 주석 추가

* feat [#78] 임시 페스티벌 생성 API 구현

* feat [#57] ArtistFavoriteController 구현

* feat [#57] UserFavoriteFacade 구현

* feat [#57] ArtistFavoriteService, Repository 구현

* feat [#57] 아티스트 목록 최대 3개만 조회하도록 제한

* refactor [#57] 메서드 of->from 변경

* refactor [#57] 인자로 user이 아닌 userId 불러오도록 변경

* style [#57] 필요없는 코드 삭제

* fix [#57] 메서드 of->from 변경

* feat [#67] 페스티벌 정보 조회 API 구현 (#84)

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* chore [#67] DB 쿼리 값 확인을 위해 p6spy 의존성 추가

* feat [#67] 값 전달을 위해 DTO 생성

* refactor [#67] 값 타입 변경을 위해 엔티티 파일 수정

* fix [#67] artistIds 아이디 수집 변수에 Artist Id 값을 추가하는 것으로 변경

* feat [#85] 아티스트 검색 API 구현

* refactor [#87] 콘서트 정보 조회 API 변경에 따른 수정

* refactor [#89] 함수명을 명확히 수정, 조회 함수에 트랜잭션 readonly = true 추가

* feat [#89] 아티스트 좋아요 추가 API 구현

* refactor [#89] addArtistFavorite에서 artistId 최소값 제거

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 구현 (#95)

* feat [#91] 콘서트 좋아요 추가 API 추가

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 추가

* style [#92] 함수 위치 재배치

* feat [#92] 콘서트 좋아요 삭제 API 추가 (#97)

* feat [#92] 콘서트 좋아요 삭제 API 추가

* refactor [#92] 유저 서비스에 트랜잭션 추가 및 에러 응답 Unauthorized 설정 및 중복된 함수 제거

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 구현 (#95)

* feat [#91] 콘서트 좋아요 추가 API 추가

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 추가

* style [#92] 함수 위치 재배치

* feat [#92] 콘서트 좋아요 삭제 API 추가

* refactor [#92] 유저 서비스에 트랜잭션 추가 및 에러 응답 Unauthorized 설정 및 중복된 함수 제거

* feat [#92] 아티스트 접기/펼치기 기준 값 상수 추가

* refactor [#92] 아티스트 접기/펼치기 기준 값 상수 사용하도록 변경

* feat [#98] CORS 허용 도메인 추가

* refactor [#100] DateConvertor static 클래스로 변경

* feat [#83] 타임테이블에 등록된 페스티벌, 날짜 조회 (#96)

* feat [#67] 페스티벌 정보 조회 API 구현 (#84)

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* chore [#67] DB 쿼리 값 확인을 위해 p6spy 의존성 추가

* feat [#67] 값 전달을 위해 DTO 생성

* refactor [#67] 값 타입 변경을 위해 엔티티 파일 수정

* fix [#67] artistIds 아이디 수집 변수에 Artist Id 값을 추가하는 것으로 변경

* feat [#83] UserTimetable 컨트롤러 구현

* feat [#83] UserTimetableResponse api 응답값 구현

* feat [#83] UserTimetableFacade 구현

* feat [#83] UserTimetable Dto 구현

* feat [#83] UserTimetable service 구현

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 구현 (#95)

* feat [#91] 콘서트 좋아요 추가 API 추가

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 추가

* style [#92] 함수 위치 재배치

* feat [#92] 콘서트 좋아요 삭제 API 추가 (#97)

* feat [#92] 콘서트 좋아요 삭제 API 추가

* refactor [#92] 유저 서비스에 트랜잭션 추가 및 에러 응답 Unauthorized 설정 및 중복된 함수 제거

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 구현 (#95)

* feat [#91] 콘서트 좋아요 추가 API 추가

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 추가

* style [#92] 함수 위치 재배치

* feat [#92] 콘서트 좋아요 삭제 API 추가

* refactor [#92] 유저 서비스에 트랜잭션 추가 및 에러 응답 Unauthorized 설정 및 중복된 함수 제거

* feat [#92] 아티스트 접기/펼치기 기준 값 상수 추가

* refactor [#92] 아티스트 접기/펼치기 기준 값 상수 사용하도록 변경

* feat [#98] CORS 허용 도메인 추가

* refactor [#100] DateConvertor static 클래스로 변경

* feat [#67] 페스티벌 정보 조회 API 구현 (#84)

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* chore [#67] DB 쿼리 값 확인을 위해 p6spy 의존성 추가

* feat [#67] 값 전달을 위해 DTO 생성

* refactor [#67] 값 타입 변경을 위해 엔티티 파일 수정

* fix [#67] artistIds 아이디 수집 변수에 Artist Id 값을 추가하는 것으로 변경

* feat [#83] UserTimetable 컨트롤러 구현

* feat [#83] UserTimetableResponse api 응답값 구현

* feat [#83] UserTimetableFacade 구현

* feat [#83] UserTimetable Dto 구현

* feat [#83] UserTimetable service 구현

* 작업중

* feat [#83] 날짜 포맷팅 설정 추가

* feat [#83] s3핸들러 설정 추가

* style [#83] 오타 수정

---------

Co-authored-by: chyun <[email protected]>

* refactor [#105] 날짜 매핑 방법 변경

* refactor [#105] 날짜 매핑 방법 변경

* feat [#107] existsById 반환 값 boolean으로 변경 및 타임테이블 페스티벌 삭제 API 구현

* feat [#109] 공연(콘서트, 페스티벌) 정보 조회 날짜가 지나지 않았는지 검증 추가

* refactor [#109] 공연 좋아요 여부 조회 로직 분리

* refactor [#109] 공연, 아티스트 좋아요 여부 조회 로직 분리

* refactor [#109] 공연, 아티스트, 유저 존재 여부 조회 로직 분리

* style [#109] 주석 추가

* refactor [#109] 엔티티 존재 여부 메소드 분리

* fix [#109] 지난 페스티벌을 제외하고 타임테이블에 추가된 페스티벌을 조회하는 기능 추가

* style [#109] 불필요한 import 제거

* feat [#111] 타임테이블에 페스티벌 추가 API 구현 (#112)

* feat [#111] 타임테이블 페스티벌 추가 요청값 생성

* feat [#111] 요청값 전달 DTO 작성

* feat [#111] 타임테이블에 페스티벌 추가 API 구현

* feat [#111] 타임테이블 에러 응답 메세지 작성

* refactor [#111] 에러 응답 메세지 @Getter 사용으로 변경

* refactor [#111] 현재 페스티벌과 추가할 페스티벌 변수 위치 변경

* refactor [#111] 사용하지않는 함수 제거

* refactor [#111] 에러 메시지에 @Getter 사용 및 Enum 타입 생성자에 private 접근지정자 제거

* feat [#109] 공연(콘서트, 페스티벌) 정보 조회 날짜가 지나지 않았는지 검증 추가

* refactor [#109] 공연 좋아요 여부 조회 로직 분리

* refactor [#109] 공연, 아티스트 좋아요 여부 조회 로직 분리

* refactor [#109] 공연, 아티스트, 유저 존재 여부 조회 로직 분리

* style [#109] 주석 추가

* refactor [#109] 엔티티 존재 여부 메소드 분리

* fix [#109] 지난 페스티벌을 제외하고 타임테이블에 추가된 페스티벌을 조회하는 기능 추가

* style [#109] 불필요한 import 제거

* feat [#111] 타임테이블 페스티벌 추가 요청값 생성

* feat [#111] 요청값 전달 DTO 작성

* feat [#111] 타임테이블에 페스티벌 추가 API 구현

* feat [#111] 타임테이블 에러 응답 메세지 작성

* refactor [#111] 에러 응답 메세지 @Getter 사용으로 변경

* refactor [#111] 현재 페스티벌과 추가할 페스티벌 변수 위치 변경

* refactor [#111] 사용하지않는 함수 제거

* refactor [#111] 에러 메시지에 @Getter 사용 및 Enum 타입 생성자에 private 접근지정자 제거

* fix [#111] TimetableFestivalRepository에 findByUserId 함수 추가

* refactor [#111] 타임테이블에 더 이상 추가할 수 없을 때 에러 메세지 변경

* fix [#114] SpotifyAPIHandler 예외 처리 수정

* refactor [#113] 메세지 파일 롬복 어노테이션 사용하도록 변경

* feat [#113] 파사드 계층 관심 공연 DTO 작성

* feat [#113] 공연 타입 상수 파일 작성

* feat [#113] 작업 중간 저장

* feat [#113] 관심 공연 리스트 조회 API 구현

* feat [#117] 아티스트 좋아요 추가 API에 아티스트 아이디가 존재하는지 검증하는 로직 추가

* feat [#117] ConfetiException 글로벌 핸들러 추가

* feat [#117] 아티스트 아이디가 잘못되었을 때도 Not Found로 변경

* fix [#121] 토큰 재발급 로직 추가

* fix [#119] 타임테이블에 페스티벌 추가 시 선택 여부 값 추가

* refactor [#119] ERD 구조 변경에 따른 엔티티 파일 수정

* refactor [#119] 페스티벌 조회 성능 최적화

* refactor [#119] 패치 조인 쿼리 수정

* fix [#119] 타임테이블에 페스티벌 추가/삭제 시 선택 여부 값 추가/삭제 및 ERD 수정에 따른 엔티티 변경

* fix [#127] SpotifyAPIHandler 리프레시 토큰 재발급 로직 재구성 및 마지막 발매 일자 가져오는 방법 변경

* style [#127] 사용하지 않는 변수 제거

* feat [#41] PerformanceController, Response 구현

* feat [#41] PerformanceFacade 구현

* feat [#41] PerformanceDTO 구현

* feat [#41] PerformanceService, Repository 구현

* refactor [#41] 코드리뷰 반영

* feat [#126] 커서 정보 담을 DTO 작성

* feat [#126] 추가할 페스티벌 응답 Response 작성

* feat [#126] 커서 베이스 페이징에 사용할 데이터 DTO 생성

* feat [#126] 커서 베이스 페이징 쿼리 작성

* feat [#126] 커서 베이스 페이징 응답 DTO 생성

* feat [#126] 커서 베이스 페이징 데이터 규격 유틸 작성

* feat [#126] 예정된 페스티벌 목록 조회 API 구현

* refactor [#126] API 명세서에 따라 사이즈 값을 서버에서 설정하도록 변경

* refactor [#126] 커서 대상 페스티벌 조회

* fix [#137] CORS 허용 도메인에 클라이언트 www 도메인 추가

* feat [#104] 타임테이블에 등록된 시간표 조회 Api 구현 (#132)

* feat [#104] UserTimetableController 및 응답값 구현

* feat [#104] UserTimetableFacade 및 DTO 구현

* feat [#104] FestivalDateService 구현

* feat [#104] FestivalDateRepository 구현

* feat [#126] 커서 정보 담을 DTO 작성

* feat [#126] 추가할 페스티벌 응답 Response 작성

* feat [#126] 커서 베이스 페이징에 사용할 데이터 DTO 생성

* feat [#126] 커서 베이스 페이징 쿼리 작성

* feat [#126] 커서 베이스 페이징 응답 DTO 생성

* feat [#126] 커서 베이스 페이징 데이터 규격 유틸 작성

* feat [#126] 예정된 페스티벌 목록 조회 API 구현

* refactor [#126] API 명세서에 따라 사이즈 값을 서버에서 설정하도록 변경

* refactor [#126] 커서 대상 페스티벌 조회

* feat [#104] UserTimetableFacade 및 DTO 구현

* refactor [#104] 원시타입으로 수정

* refactor [#104] Optional 추가

* style [#104] 리베이스 중 중복된 코드 삭제

---------

Co-authored-by: chyun <[email protected]>

* fix [#140] 날짜 값 변경해서 조회

* fix [#145] 페스티벌 생성 요청 형식 수정

* refactor [#143] 콘서트, 페스티벌 필드 값 길이 변경

* refactor [#143] 콘서트, 페스티벌 필드 값 nullable 변경

* fix [#143] ERD 변경에 따라 값 수정

* fix [#143] 기존 DTO를 사용한 Repository 이름을 DTORepository로 수정

* fix [#143] 누락된 수정사항 반영

* feat [#151] CREATED 응답 메세지 추가

* feat [#151] 페스티벌 생성 API에 Performances 테이블 데이터 추가 구현

* fix [#153] 콘서트 정보 조회 API에 좋아요 정보가 전달되지 않는 것을 수정

* feat [#144] 타임테이블 시간표 수정 Request 작성

* feat [#144] 타임테이블 시간표 수정 DTO 추가

* feat [#144] 타임테이블 시간표 수정 facade 추가

* feat [#144] 타임테이블 시간표 수정 서비스 추가

* refactor [#144] saveAll 삭제

* refactor [#156] 타임테이블 시간표 조회 응답값 userTimetableId로 수정

* refactor [#159] 스포티파이에 존재하지 않는 아티스트인 경우 404 응답 처리

* fix [#162] 좋아요가 있을 때 409 반환

* feat [#136] 최신 등록 순 공연 정보 조회 API 구현 (#158)

* feat [#136] 최신 공연 정보 DTO 작성

* feat [#136] 최신 공연 조회 함수 추가

* feat [#136] 최신 공연 조회 함수 구현

* feat [#136] 콘서트/페스티벌 아이디와 타입으로 공연 아이디 요청/응답 DTO 작성

* feat [#136] 파사드 계층에서 컨트롤러 계층 최신 공연 값 DTO 작성

* feat [#136] 콘서트/페스티벌 아이디, 공연 타입으로 공연 아이디 조회하는 로직 구현

* style [#136] 사용하지 않는 파일 삭제

* feat [#136] 최신 공연 정보 조회 응답 DTO 작성

* feat [#136] 파사드 계층 최신 공연 정보 조회 데이터 DTO 수정

* feat [#136] 좋아요 정보 없을 때 최신 공연 정보 조회 구현

* feat [#136] 좋아요 정보 있는 때 최신 공연 정보 조회 구현

* refactor [#156] 타임테이블 시간표 조회 응답값 userTimetableId로 수정

* feat [#136] 최신 공연 정보 DTO 작성

* feat [#136] 최신 공연 조회 함수 추가

* feat [#136] 최신 공연 조회 함수 구현

* feat [#136] 콘서트/페스티벌 아이디와 타입으로 공연 아이디 요청/응답 DTO 작성

* feat [#136] 파사드 계층에서 컨트롤러 계층 최신 공연 값 DTO 작성

* feat [#136] 콘서트/페스티벌 아이디, 공연 타입으로 공연 아이디 조회하는 로직 구현

* style [#136] 사용하지 않는 파일 삭제

* feat [#136] 최신 공연 정보 조회 응답 DTO 작성

* feat [#136] 파사드 계층 최신 공연 정보 조회 데이터 DTO 수정

* feat [#136] 좋아요 정보 없을 때 최신 공연 정보 조회 구현

* feat [#136] 좋아요 정보 있는 때 최신 공연 정보 조회 구현

* refactor [#159] 스포티파이에 존재하지 않는 아티스트인 경우 404 응답 처리

* feat [#136] 최신 공연 정보 DTO 작성

* feat [#136] 최신 공연 조회 함수 추가

* feat [#136] 최신 공연 조회 함수 구현

* feat [#136] 콘서트/페스티벌 아이디와 타입으로 공연 아이디 요청/응답 DTO 작성

* feat [#136] 파사드 계층에서 컨트롤러 계층 최신 공연 값 DTO 작성

* feat [#136] 콘서트/페스티벌 아이디, 공연 타입으로 공연 아이디 조회하는 로직 구현

* style [#136] 사용하지 않는 파일 삭제

* feat [#136] 최신 공연 정보 조회 응답 DTO 작성

* feat [#136] 파사드 계층 최신 공연 정보 조회 데이터 DTO 수정

* feat [#136] 좋아요 정보 없을 때 최신 공연 정보 조회 구현

* feat [#136] 좋아요 정보 있는 때 최신 공연 정보 조회 구현

* feat [#136] 최신 공연 조회 함수 구현

* feat [#136] 파사드 계층에서 컨트롤러 계층 최신 공연 값 DTO 작성

* feat [#136] 콘서트/페스티벌 아이디, 공연 타입으로 공연 아이디 조회하는 로직 구현

* feat [#136] 파사드 계층 최신 공연 정보 조회 데이터 DTO 수정

* feat [#136] 좋아요 정보 없을 때 최신 공연 정보 조회 구현

* feat [#136] 좋아요 정보 있는 때 최신 공연 정보 조회 구현

---------

Co-authored-by: ivoryeee <[email protected]>

* fix [#164] 트랜잭션 추가

* refactor [#167] 컨트롤러 계층에서 url 생성

* fix [#169] 타임테이블 조회 쿼리에 @param 어노테이션 추가

* fix [#169] userTimetableMapper에 FestivalTimeId를 키 값으로 설정

---------

Co-authored-by: ivoryeee <[email protected]>
Co-authored-by: Ivoryeee <[email protected]>
ch1hyun added a commit that referenced this pull request Jan 23, 2025
* style [#56] 엔터 추가

* feat [#56] 콘서트 정보 조회 API 구현

* refactor [#62] 매개변수가 하나인 함수 이름을 from으로 변경

* refactor [#62] 작성된 예외 처리 클래스로 변경

* hotfix [#69] ArtistResolver에서 같은 객체를 계속 탐색하는 것을 수정

* fix [#76] ArtistResolver의 load 함수에서 target이 리스트 타입인 경우 탐색 가능하도록 수정

* style [#76] print 함수 제거

* hotfix [#81] ArtistResolver 수동으로 매핑하는 방법으로 변경

* style [#81] 주석 추가

* feat [#78] 임시 페스티벌 생성 API 구현

* feat [#57] ArtistFavoriteController 구현

* feat [#57] UserFavoriteFacade 구현

* feat [#57] ArtistFavoriteService, Repository 구현

* feat [#57] 아티스트 목록 최대 3개만 조회하도록 제한

* refactor [#57] 메서드 of->from 변경

* refactor [#57] 인자로 user이 아닌 userId 불러오도록 변경

* style [#57] 필요없는 코드 삭제

* fix [#57] 메서드 of->from 변경

* feat [#67] 페스티벌 정보 조회 API 구현 (#84)

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* chore [#67] DB 쿼리 값 확인을 위해 p6spy 의존성 추가

* feat [#67] 값 전달을 위해 DTO 생성

* refactor [#67] 값 타입 변경을 위해 엔티티 파일 수정

* fix [#67] artistIds 아이디 수집 변수에 Artist Id 값을 추가하는 것으로 변경

* feat [#85] 아티스트 검색 API 구현

* refactor [#87] 콘서트 정보 조회 API 변경에 따른 수정

* refactor [#89] 함수명을 명확히 수정, 조회 함수에 트랜잭션 readonly = true 추가

* feat [#89] 아티스트 좋아요 추가 API 구현

* refactor [#89] addArtistFavorite에서 artistId 최소값 제거

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 구현 (#95)

* feat [#91] 콘서트 좋아요 추가 API 추가

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 추가

* style [#92] 함수 위치 재배치

* feat [#92] 콘서트 좋아요 삭제 API 추가 (#97)

* feat [#92] 콘서트 좋아요 삭제 API 추가

* refactor [#92] 유저 서비스에 트랜잭션 추가 및 에러 응답 Unauthorized 설정 및 중복된 함수 제거

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 구현 (#95)

* feat [#91] 콘서트 좋아요 추가 API 추가

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 추가

* style [#92] 함수 위치 재배치

* feat [#92] 콘서트 좋아요 삭제 API 추가

* refactor [#92] 유저 서비스에 트랜잭션 추가 및 에러 응답 Unauthorized 설정 및 중복된 함수 제거

* feat [#92] 아티스트 접기/펼치기 기준 값 상수 추가

* refactor [#92] 아티스트 접기/펼치기 기준 값 상수 사용하도록 변경

* feat [#98] CORS 허용 도메인 추가

* refactor [#100] DateConvertor static 클래스로 변경

* feat [#83] 타임테이블에 등록된 페스티벌, 날짜 조회 (#96)

* feat [#67] 페스티벌 정보 조회 API 구현 (#84)

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* chore [#67] DB 쿼리 값 확인을 위해 p6spy 의존성 추가

* feat [#67] 값 전달을 위해 DTO 생성

* refactor [#67] 값 타입 변경을 위해 엔티티 파일 수정

* fix [#67] artistIds 아이디 수집 변수에 Artist Id 값을 추가하는 것으로 변경

* feat [#83] UserTimetable 컨트롤러 구현

* feat [#83] UserTimetableResponse api 응답값 구현

* feat [#83] UserTimetableFacade 구현

* feat [#83] UserTimetable Dto 구현

* feat [#83] UserTimetable service 구현

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 구현 (#95)

* feat [#91] 콘서트 좋아요 추가 API 추가

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 추가

* style [#92] 함수 위치 재배치

* feat [#92] 콘서트 좋아요 삭제 API 추가 (#97)

* feat [#92] 콘서트 좋아요 삭제 API 추가

* refactor [#92] 유저 서비스에 트랜잭션 추가 및 에러 응답 Unauthorized 설정 및 중복된 함수 제거

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 구현 (#95)

* feat [#91] 콘서트 좋아요 추가 API 추가

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 추가

* style [#92] 함수 위치 재배치

* feat [#92] 콘서트 좋아요 삭제 API 추가

* refactor [#92] 유저 서비스에 트랜잭션 추가 및 에러 응답 Unauthorized 설정 및 중복된 함수 제거

* feat [#92] 아티스트 접기/펼치기 기준 값 상수 추가

* refactor [#92] 아티스트 접기/펼치기 기준 값 상수 사용하도록 변경

* feat [#98] CORS 허용 도메인 추가

* refactor [#100] DateConvertor static 클래스로 변경

* feat [#67] 페스티벌 정보 조회 API 구현 (#84)

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* chore [#67] DB 쿼리 값 확인을 위해 p6spy 의존성 추가

* feat [#67] 값 전달을 위해 DTO 생성

* refactor [#67] 값 타입 변경을 위해 엔티티 파일 수정

* fix [#67] artistIds 아이디 수집 변수에 Artist Id 값을 추가하는 것으로 변경

* feat [#83] UserTimetable 컨트롤러 구현

* feat [#83] UserTimetableResponse api 응답값 구현

* feat [#83] UserTimetableFacade 구현

* feat [#83] UserTimetable Dto 구현

* feat [#83] UserTimetable service 구현

* 작업중

* feat [#83] 날짜 포맷팅 설정 추가

* feat [#83] s3핸들러 설정 추가

* style [#83] 오타 수정

---------

Co-authored-by: chyun <[email protected]>

* refactor [#105] 날짜 매핑 방법 변경

* refactor [#105] 날짜 매핑 방법 변경

* feat [#107] existsById 반환 값 boolean으로 변경 및 타임테이블 페스티벌 삭제 API 구현

* feat [#109] 공연(콘서트, 페스티벌) 정보 조회 날짜가 지나지 않았는지 검증 추가

* refactor [#109] 공연 좋아요 여부 조회 로직 분리

* refactor [#109] 공연, 아티스트 좋아요 여부 조회 로직 분리

* refactor [#109] 공연, 아티스트, 유저 존재 여부 조회 로직 분리

* style [#109] 주석 추가

* refactor [#109] 엔티티 존재 여부 메소드 분리

* fix [#109] 지난 페스티벌을 제외하고 타임테이블에 추가된 페스티벌을 조회하는 기능 추가

* style [#109] 불필요한 import 제거

* feat [#111] 타임테이블에 페스티벌 추가 API 구현 (#112)

* feat [#111] 타임테이블 페스티벌 추가 요청값 생성

* feat [#111] 요청값 전달 DTO 작성

* feat [#111] 타임테이블에 페스티벌 추가 API 구현

* feat [#111] 타임테이블 에러 응답 메세지 작성

* refactor [#111] 에러 응답 메세지 @Getter 사용으로 변경

* refactor [#111] 현재 페스티벌과 추가할 페스티벌 변수 위치 변경

* refactor [#111] 사용하지않는 함수 제거

* refactor [#111] 에러 메시지에 @Getter 사용 및 Enum 타입 생성자에 private 접근지정자 제거

* feat [#109] 공연(콘서트, 페스티벌) 정보 조회 날짜가 지나지 않았는지 검증 추가

* refactor [#109] 공연 좋아요 여부 조회 로직 분리

* refactor [#109] 공연, 아티스트 좋아요 여부 조회 로직 분리

* refactor [#109] 공연, 아티스트, 유저 존재 여부 조회 로직 분리

* style [#109] 주석 추가

* refactor [#109] 엔티티 존재 여부 메소드 분리

* fix [#109] 지난 페스티벌을 제외하고 타임테이블에 추가된 페스티벌을 조회하는 기능 추가

* style [#109] 불필요한 import 제거

* feat [#111] 타임테이블 페스티벌 추가 요청값 생성

* feat [#111] 요청값 전달 DTO 작성

* feat [#111] 타임테이블에 페스티벌 추가 API 구현

* feat [#111] 타임테이블 에러 응답 메세지 작성

* refactor [#111] 에러 응답 메세지 @Getter 사용으로 변경

* refactor [#111] 현재 페스티벌과 추가할 페스티벌 변수 위치 변경

* refactor [#111] 사용하지않는 함수 제거

* refactor [#111] 에러 메시지에 @Getter 사용 및 Enum 타입 생성자에 private 접근지정자 제거

* fix [#111] TimetableFestivalRepository에 findByUserId 함수 추가

* refactor [#111] 타임테이블에 더 이상 추가할 수 없을 때 에러 메세지 변경

* fix [#114] SpotifyAPIHandler 예외 처리 수정

* refactor [#113] 메세지 파일 롬복 어노테이션 사용하도록 변경

* feat [#113] 파사드 계층 관심 공연 DTO 작성

* feat [#113] 공연 타입 상수 파일 작성

* feat [#113] 작업 중간 저장

* feat [#113] 관심 공연 리스트 조회 API 구현

* feat [#117] 아티스트 좋아요 추가 API에 아티스트 아이디가 존재하는지 검증하는 로직 추가

* feat [#117] ConfetiException 글로벌 핸들러 추가

* feat [#117] 아티스트 아이디가 잘못되었을 때도 Not Found로 변경

* fix [#121] 토큰 재발급 로직 추가

* fix [#119] 타임테이블에 페스티벌 추가 시 선택 여부 값 추가

* refactor [#119] ERD 구조 변경에 따른 엔티티 파일 수정

* refactor [#119] 페스티벌 조회 성능 최적화

* refactor [#119] 패치 조인 쿼리 수정

* fix [#119] 타임테이블에 페스티벌 추가/삭제 시 선택 여부 값 추가/삭제 및 ERD 수정에 따른 엔티티 변경

* fix [#127] SpotifyAPIHandler 리프레시 토큰 재발급 로직 재구성 및 마지막 발매 일자 가져오는 방법 변경

* style [#127] 사용하지 않는 변수 제거

* feat [#41] PerformanceController, Response 구현

* feat [#41] PerformanceFacade 구현

* feat [#41] PerformanceDTO 구현

* feat [#41] PerformanceService, Repository 구현

* refactor [#41] 코드리뷰 반영

* feat [#126] 커서 정보 담을 DTO 작성

* feat [#126] 추가할 페스티벌 응답 Response 작성

* feat [#126] 커서 베이스 페이징에 사용할 데이터 DTO 생성

* feat [#126] 커서 베이스 페이징 쿼리 작성

* feat [#126] 커서 베이스 페이징 응답 DTO 생성

* feat [#126] 커서 베이스 페이징 데이터 규격 유틸 작성

* feat [#126] 예정된 페스티벌 목록 조회 API 구현

* refactor [#126] API 명세서에 따라 사이즈 값을 서버에서 설정하도록 변경

* refactor [#126] 커서 대상 페스티벌 조회

* fix [#137] CORS 허용 도메인에 클라이언트 www 도메인 추가

* feat [#104] 타임테이블에 등록된 시간표 조회 Api 구현 (#132)

* feat [#104] UserTimetableController 및 응답값 구현

* feat [#104] UserTimetableFacade 및 DTO 구현

* feat [#104] FestivalDateService 구현

* feat [#104] FestivalDateRepository 구현

* feat [#126] 커서 정보 담을 DTO 작성

* feat [#126] 추가할 페스티벌 응답 Response 작성

* feat [#126] 커서 베이스 페이징에 사용할 데이터 DTO 생성

* feat [#126] 커서 베이스 페이징 쿼리 작성

* feat [#126] 커서 베이스 페이징 응답 DTO 생성

* feat [#126] 커서 베이스 페이징 데이터 규격 유틸 작성

* feat [#126] 예정된 페스티벌 목록 조회 API 구현

* refactor [#126] API 명세서에 따라 사이즈 값을 서버에서 설정하도록 변경

* refactor [#126] 커서 대상 페스티벌 조회

* feat [#104] UserTimetableFacade 및 DTO 구현

* refactor [#104] 원시타입으로 수정

* refactor [#104] Optional 추가

* style [#104] 리베이스 중 중복된 코드 삭제

---------

Co-authored-by: chyun <[email protected]>

* fix [#140] 날짜 값 변경해서 조회

* fix [#145] 페스티벌 생성 요청 형식 수정

* refactor [#143] 콘서트, 페스티벌 필드 값 길이 변경

* refactor [#143] 콘서트, 페스티벌 필드 값 nullable 변경

* fix [#143] ERD 변경에 따라 값 수정

* fix [#143] 기존 DTO를 사용한 Repository 이름을 DTORepository로 수정

* fix [#143] 누락된 수정사항 반영

* feat [#151] CREATED 응답 메세지 추가

* feat [#151] 페스티벌 생성 API에 Performances 테이블 데이터 추가 구현

* fix [#153] 콘서트 정보 조회 API에 좋아요 정보가 전달되지 않는 것을 수정

* feat [#144] 타임테이블 시간표 수정 Request 작성

* feat [#144] 타임테이블 시간표 수정 DTO 추가

* feat [#144] 타임테이블 시간표 수정 facade 추가

* feat [#144] 타임테이블 시간표 수정 서비스 추가

* refactor [#144] saveAll 삭제

* refactor [#156] 타임테이블 시간표 조회 응답값 userTimetableId로 수정

* refactor [#159] 스포티파이에 존재하지 않는 아티스트인 경우 404 응답 처리

* fix [#162] 좋아요가 있을 때 409 반환

* feat [#136] 최신 등록 순 공연 정보 조회 API 구현 (#158)

* feat [#136] 최신 공연 정보 DTO 작성

* feat [#136] 최신 공연 조회 함수 추가

* feat [#136] 최신 공연 조회 함수 구현

* feat [#136] 콘서트/페스티벌 아이디와 타입으로 공연 아이디 요청/응답 DTO 작성

* feat [#136] 파사드 계층에서 컨트롤러 계층 최신 공연 값 DTO 작성

* feat [#136] 콘서트/페스티벌 아이디, 공연 타입으로 공연 아이디 조회하는 로직 구현

* style [#136] 사용하지 않는 파일 삭제

* feat [#136] 최신 공연 정보 조회 응답 DTO 작성

* feat [#136] 파사드 계층 최신 공연 정보 조회 데이터 DTO 수정

* feat [#136] 좋아요 정보 없을 때 최신 공연 정보 조회 구현

* feat [#136] 좋아요 정보 있는 때 최신 공연 정보 조회 구현

* refactor [#156] 타임테이블 시간표 조회 응답값 userTimetableId로 수정

* feat [#136] 최신 공연 정보 DTO 작성

* feat [#136] 최신 공연 조회 함수 추가

* feat [#136] 최신 공연 조회 함수 구현

* feat [#136] 콘서트/페스티벌 아이디와 타입으로 공연 아이디 요청/응답 DTO 작성

* feat [#136] 파사드 계층에서 컨트롤러 계층 최신 공연 값 DTO 작성

* feat [#136] 콘서트/페스티벌 아이디, 공연 타입으로 공연 아이디 조회하는 로직 구현

* style [#136] 사용하지 않는 파일 삭제

* feat [#136] 최신 공연 정보 조회 응답 DTO 작성

* feat [#136] 파사드 계층 최신 공연 정보 조회 데이터 DTO 수정

* feat [#136] 좋아요 정보 없을 때 최신 공연 정보 조회 구현

* feat [#136] 좋아요 정보 있는 때 최신 공연 정보 조회 구현

* refactor [#159] 스포티파이에 존재하지 않는 아티스트인 경우 404 응답 처리

* feat [#136] 최신 공연 정보 DTO 작성

* feat [#136] 최신 공연 조회 함수 추가

* feat [#136] 최신 공연 조회 함수 구현

* feat [#136] 콘서트/페스티벌 아이디와 타입으로 공연 아이디 요청/응답 DTO 작성

* feat [#136] 파사드 계층에서 컨트롤러 계층 최신 공연 값 DTO 작성

* feat [#136] 콘서트/페스티벌 아이디, 공연 타입으로 공연 아이디 조회하는 로직 구현

* style [#136] 사용하지 않는 파일 삭제

* feat [#136] 최신 공연 정보 조회 응답 DTO 작성

* feat [#136] 파사드 계층 최신 공연 정보 조회 데이터 DTO 수정

* feat [#136] 좋아요 정보 없을 때 최신 공연 정보 조회 구현

* feat [#136] 좋아요 정보 있는 때 최신 공연 정보 조회 구현

* feat [#136] 최신 공연 조회 함수 구현

* feat [#136] 파사드 계층에서 컨트롤러 계층 최신 공연 값 DTO 작성

* feat [#136] 콘서트/페스티벌 아이디, 공연 타입으로 공연 아이디 조회하는 로직 구현

* feat [#136] 파사드 계층 최신 공연 정보 조회 데이터 DTO 수정

* feat [#136] 좋아요 정보 없을 때 최신 공연 정보 조회 구현

* feat [#136] 좋아요 정보 있는 때 최신 공연 정보 조회 구현

---------

Co-authored-by: ivoryeee <[email protected]>

* fix [#164] 트랜잭션 추가

* refactor [#167] 컨트롤러 계층에서 url 생성

* fix [#169] 타임테이블 조회 쿼리에 @param 어노테이션 추가

* fix [#169] userTimetableMapper에 FestivalTimeId를 키 값으로 설정

* fix [#172] 이미 추가한 페스티벌은 조회되지 않도록 수정

---------

Co-authored-by: ivoryeee <[email protected]>
Co-authored-by: Ivoryeee <[email protected]>
ch1hyun added a commit that referenced this pull request Jan 23, 2025
* style [#56] 엔터 추가

* feat [#56] 콘서트 정보 조회 API 구현

* refactor [#62] 매개변수가 하나인 함수 이름을 from으로 변경

* refactor [#62] 작성된 예외 처리 클래스로 변경

* hotfix [#69] ArtistResolver에서 같은 객체를 계속 탐색하는 것을 수정

* fix [#76] ArtistResolver의 load 함수에서 target이 리스트 타입인 경우 탐색 가능하도록 수정

* style [#76] print 함수 제거

* hotfix [#81] ArtistResolver 수동으로 매핑하는 방법으로 변경

* style [#81] 주석 추가

* feat [#78] 임시 페스티벌 생성 API 구현

* feat [#57] ArtistFavoriteController 구현

* feat [#57] UserFavoriteFacade 구현

* feat [#57] ArtistFavoriteService, Repository 구현

* feat [#57] 아티스트 목록 최대 3개만 조회하도록 제한

* refactor [#57] 메서드 of->from 변경

* refactor [#57] 인자로 user이 아닌 userId 불러오도록 변경

* style [#57] 필요없는 코드 삭제

* fix [#57] 메서드 of->from 변경

* feat [#67] 페스티벌 정보 조회 API 구현 (#84)

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* chore [#67] DB 쿼리 값 확인을 위해 p6spy 의존성 추가

* feat [#67] 값 전달을 위해 DTO 생성

* refactor [#67] 값 타입 변경을 위해 엔티티 파일 수정

* fix [#67] artistIds 아이디 수집 변수에 Artist Id 값을 추가하는 것으로 변경

* feat [#85] 아티스트 검색 API 구현

* refactor [#87] 콘서트 정보 조회 API 변경에 따른 수정

* refactor [#89] 함수명을 명확히 수정, 조회 함수에 트랜잭션 readonly = true 추가

* feat [#89] 아티스트 좋아요 추가 API 구현

* refactor [#89] addArtistFavorite에서 artistId 최소값 제거

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 구현 (#95)

* feat [#91] 콘서트 좋아요 추가 API 추가

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 추가

* style [#92] 함수 위치 재배치

* feat [#92] 콘서트 좋아요 삭제 API 추가 (#97)

* feat [#92] 콘서트 좋아요 삭제 API 추가

* refactor [#92] 유저 서비스에 트랜잭션 추가 및 에러 응답 Unauthorized 설정 및 중복된 함수 제거

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 구현 (#95)

* feat [#91] 콘서트 좋아요 추가 API 추가

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 추가

* style [#92] 함수 위치 재배치

* feat [#92] 콘서트 좋아요 삭제 API 추가

* refactor [#92] 유저 서비스에 트랜잭션 추가 및 에러 응답 Unauthorized 설정 및 중복된 함수 제거

* feat [#92] 아티스트 접기/펼치기 기준 값 상수 추가

* refactor [#92] 아티스트 접기/펼치기 기준 값 상수 사용하도록 변경

* feat [#98] CORS 허용 도메인 추가

* refactor [#100] DateConvertor static 클래스로 변경

* feat [#83] 타임테이블에 등록된 페스티벌, 날짜 조회 (#96)

* feat [#67] 페스티벌 정보 조회 API 구현 (#84)

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* chore [#67] DB 쿼리 값 확인을 위해 p6spy 의존성 추가

* feat [#67] 값 전달을 위해 DTO 생성

* refactor [#67] 값 타입 변경을 위해 엔티티 파일 수정

* fix [#67] artistIds 아이디 수집 변수에 Artist Id 값을 추가하는 것으로 변경

* feat [#83] UserTimetable 컨트롤러 구현

* feat [#83] UserTimetableResponse api 응답값 구현

* feat [#83] UserTimetableFacade 구현

* feat [#83] UserTimetable Dto 구현

* feat [#83] UserTimetable service 구현

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 구현 (#95)

* feat [#91] 콘서트 좋아요 추가 API 추가

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 추가

* style [#92] 함수 위치 재배치

* feat [#92] 콘서트 좋아요 삭제 API 추가 (#97)

* feat [#92] 콘서트 좋아요 삭제 API 추가

* refactor [#92] 유저 서비스에 트랜잭션 추가 및 에러 응답 Unauthorized 설정 및 중복된 함수 제거

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 구현 (#95)

* feat [#91] 콘서트 좋아요 추가 API 추가

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 추가

* style [#92] 함수 위치 재배치

* feat [#92] 콘서트 좋아요 삭제 API 추가

* refactor [#92] 유저 서비스에 트랜잭션 추가 및 에러 응답 Unauthorized 설정 및 중복된 함수 제거

* feat [#92] 아티스트 접기/펼치기 기준 값 상수 추가

* refactor [#92] 아티스트 접기/펼치기 기준 값 상수 사용하도록 변경

* feat [#98] CORS 허용 도메인 추가

* refactor [#100] DateConvertor static 클래스로 변경

* feat [#67] 페스티벌 정보 조회 API 구현 (#84)

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* chore [#67] DB 쿼리 값 확인을 위해 p6spy 의존성 추가

* feat [#67] 값 전달을 위해 DTO 생성

* refactor [#67] 값 타입 변경을 위해 엔티티 파일 수정

* fix [#67] artistIds 아이디 수집 변수에 Artist Id 값을 추가하는 것으로 변경

* feat [#83] UserTimetable 컨트롤러 구현

* feat [#83] UserTimetableResponse api 응답값 구현

* feat [#83] UserTimetableFacade 구현

* feat [#83] UserTimetable Dto 구현

* feat [#83] UserTimetable service 구현

* 작업중

* feat [#83] 날짜 포맷팅 설정 추가

* feat [#83] s3핸들러 설정 추가

* style [#83] 오타 수정

---------

Co-authored-by: chyun <[email protected]>

* refactor [#105] 날짜 매핑 방법 변경

* refactor [#105] 날짜 매핑 방법 변경

* feat [#107] existsById 반환 값 boolean으로 변경 및 타임테이블 페스티벌 삭제 API 구현

* feat [#109] 공연(콘서트, 페스티벌) 정보 조회 날짜가 지나지 않았는지 검증 추가

* refactor [#109] 공연 좋아요 여부 조회 로직 분리

* refactor [#109] 공연, 아티스트 좋아요 여부 조회 로직 분리

* refactor [#109] 공연, 아티스트, 유저 존재 여부 조회 로직 분리

* style [#109] 주석 추가

* refactor [#109] 엔티티 존재 여부 메소드 분리

* fix [#109] 지난 페스티벌을 제외하고 타임테이블에 추가된 페스티벌을 조회하는 기능 추가

* style [#109] 불필요한 import 제거

* feat [#111] 타임테이블에 페스티벌 추가 API 구현 (#112)

* feat [#111] 타임테이블 페스티벌 추가 요청값 생성

* feat [#111] 요청값 전달 DTO 작성

* feat [#111] 타임테이블에 페스티벌 추가 API 구현

* feat [#111] 타임테이블 에러 응답 메세지 작성

* refactor [#111] 에러 응답 메세지 @Getter 사용으로 변경

* refactor [#111] 현재 페스티벌과 추가할 페스티벌 변수 위치 변경

* refactor [#111] 사용하지않는 함수 제거

* refactor [#111] 에러 메시지에 @Getter 사용 및 Enum 타입 생성자에 private 접근지정자 제거

* feat [#109] 공연(콘서트, 페스티벌) 정보 조회 날짜가 지나지 않았는지 검증 추가

* refactor [#109] 공연 좋아요 여부 조회 로직 분리

* refactor [#109] 공연, 아티스트 좋아요 여부 조회 로직 분리

* refactor [#109] 공연, 아티스트, 유저 존재 여부 조회 로직 분리

* style [#109] 주석 추가

* refactor [#109] 엔티티 존재 여부 메소드 분리

* fix [#109] 지난 페스티벌을 제외하고 타임테이블에 추가된 페스티벌을 조회하는 기능 추가

* style [#109] 불필요한 import 제거

* feat [#111] 타임테이블 페스티벌 추가 요청값 생성

* feat [#111] 요청값 전달 DTO 작성

* feat [#111] 타임테이블에 페스티벌 추가 API 구현

* feat [#111] 타임테이블 에러 응답 메세지 작성

* refactor [#111] 에러 응답 메세지 @Getter 사용으로 변경

* refactor [#111] 현재 페스티벌과 추가할 페스티벌 변수 위치 변경

* refactor [#111] 사용하지않는 함수 제거

* refactor [#111] 에러 메시지에 @Getter 사용 및 Enum 타입 생성자에 private 접근지정자 제거

* fix [#111] TimetableFestivalRepository에 findByUserId 함수 추가

* refactor [#111] 타임테이블에 더 이상 추가할 수 없을 때 에러 메세지 변경

* fix [#114] SpotifyAPIHandler 예외 처리 수정

* refactor [#113] 메세지 파일 롬복 어노테이션 사용하도록 변경

* feat [#113] 파사드 계층 관심 공연 DTO 작성

* feat [#113] 공연 타입 상수 파일 작성

* feat [#113] 작업 중간 저장

* feat [#113] 관심 공연 리스트 조회 API 구현

* feat [#117] 아티스트 좋아요 추가 API에 아티스트 아이디가 존재하는지 검증하는 로직 추가

* feat [#117] ConfetiException 글로벌 핸들러 추가

* feat [#117] 아티스트 아이디가 잘못되었을 때도 Not Found로 변경

* fix [#121] 토큰 재발급 로직 추가

* fix [#119] 타임테이블에 페스티벌 추가 시 선택 여부 값 추가

* refactor [#119] ERD 구조 변경에 따른 엔티티 파일 수정

* refactor [#119] 페스티벌 조회 성능 최적화

* refactor [#119] 패치 조인 쿼리 수정

* fix [#119] 타임테이블에 페스티벌 추가/삭제 시 선택 여부 값 추가/삭제 및 ERD 수정에 따른 엔티티 변경

* fix [#127] SpotifyAPIHandler 리프레시 토큰 재발급 로직 재구성 및 마지막 발매 일자 가져오는 방법 변경

* style [#127] 사용하지 않는 변수 제거

* feat [#41] PerformanceController, Response 구현

* feat [#41] PerformanceFacade 구현

* feat [#41] PerformanceDTO 구현

* feat [#41] PerformanceService, Repository 구현

* refactor [#41] 코드리뷰 반영

* feat [#126] 커서 정보 담을 DTO 작성

* feat [#126] 추가할 페스티벌 응답 Response 작성

* feat [#126] 커서 베이스 페이징에 사용할 데이터 DTO 생성

* feat [#126] 커서 베이스 페이징 쿼리 작성

* feat [#126] 커서 베이스 페이징 응답 DTO 생성

* feat [#126] 커서 베이스 페이징 데이터 규격 유틸 작성

* feat [#126] 예정된 페스티벌 목록 조회 API 구현

* refactor [#126] API 명세서에 따라 사이즈 값을 서버에서 설정하도록 변경

* refactor [#126] 커서 대상 페스티벌 조회

* fix [#137] CORS 허용 도메인에 클라이언트 www 도메인 추가

* feat [#104] 타임테이블에 등록된 시간표 조회 Api 구현 (#132)

* feat [#104] UserTimetableController 및 응답값 구현

* feat [#104] UserTimetableFacade 및 DTO 구현

* feat [#104] FestivalDateService 구현

* feat [#104] FestivalDateRepository 구현

* feat [#126] 커서 정보 담을 DTO 작성

* feat [#126] 추가할 페스티벌 응답 Response 작성

* feat [#126] 커서 베이스 페이징에 사용할 데이터 DTO 생성

* feat [#126] 커서 베이스 페이징 쿼리 작성

* feat [#126] 커서 베이스 페이징 응답 DTO 생성

* feat [#126] 커서 베이스 페이징 데이터 규격 유틸 작성

* feat [#126] 예정된 페스티벌 목록 조회 API 구현

* refactor [#126] API 명세서에 따라 사이즈 값을 서버에서 설정하도록 변경

* refactor [#126] 커서 대상 페스티벌 조회

* feat [#104] UserTimetableFacade 및 DTO 구현

* refactor [#104] 원시타입으로 수정

* refactor [#104] Optional 추가

* style [#104] 리베이스 중 중복된 코드 삭제

---------

Co-authored-by: chyun <[email protected]>

* fix [#140] 날짜 값 변경해서 조회

* fix [#145] 페스티벌 생성 요청 형식 수정

* refactor [#143] 콘서트, 페스티벌 필드 값 길이 변경

* refactor [#143] 콘서트, 페스티벌 필드 값 nullable 변경

* fix [#143] ERD 변경에 따라 값 수정

* fix [#143] 기존 DTO를 사용한 Repository 이름을 DTORepository로 수정

* fix [#143] 누락된 수정사항 반영

* feat [#151] CREATED 응답 메세지 추가

* feat [#151] 페스티벌 생성 API에 Performances 테이블 데이터 추가 구현

* fix [#153] 콘서트 정보 조회 API에 좋아요 정보가 전달되지 않는 것을 수정

* feat [#144] 타임테이블 시간표 수정 Request 작성

* feat [#144] 타임테이블 시간표 수정 DTO 추가

* feat [#144] 타임테이블 시간표 수정 facade 추가

* feat [#144] 타임테이블 시간표 수정 서비스 추가

* refactor [#144] saveAll 삭제

* refactor [#156] 타임테이블 시간표 조회 응답값 userTimetableId로 수정

* refactor [#159] 스포티파이에 존재하지 않는 아티스트인 경우 404 응답 처리

* fix [#162] 좋아요가 있을 때 409 반환

* feat [#136] 최신 등록 순 공연 정보 조회 API 구현 (#158)

* feat [#136] 최신 공연 정보 DTO 작성

* feat [#136] 최신 공연 조회 함수 추가

* feat [#136] 최신 공연 조회 함수 구현

* feat [#136] 콘서트/페스티벌 아이디와 타입으로 공연 아이디 요청/응답 DTO 작성

* feat [#136] 파사드 계층에서 컨트롤러 계층 최신 공연 값 DTO 작성

* feat [#136] 콘서트/페스티벌 아이디, 공연 타입으로 공연 아이디 조회하는 로직 구현

* style [#136] 사용하지 않는 파일 삭제

* feat [#136] 최신 공연 정보 조회 응답 DTO 작성

* feat [#136] 파사드 계층 최신 공연 정보 조회 데이터 DTO 수정

* feat [#136] 좋아요 정보 없을 때 최신 공연 정보 조회 구현

* feat [#136] 좋아요 정보 있는 때 최신 공연 정보 조회 구현

* refactor [#156] 타임테이블 시간표 조회 응답값 userTimetableId로 수정

* feat [#136] 최신 공연 정보 DTO 작성

* feat [#136] 최신 공연 조회 함수 추가

* feat [#136] 최신 공연 조회 함수 구현

* feat [#136] 콘서트/페스티벌 아이디와 타입으로 공연 아이디 요청/응답 DTO 작성

* feat [#136] 파사드 계층에서 컨트롤러 계층 최신 공연 값 DTO 작성

* feat [#136] 콘서트/페스티벌 아이디, 공연 타입으로 공연 아이디 조회하는 로직 구현

* style [#136] 사용하지 않는 파일 삭제

* feat [#136] 최신 공연 정보 조회 응답 DTO 작성

* feat [#136] 파사드 계층 최신 공연 정보 조회 데이터 DTO 수정

* feat [#136] 좋아요 정보 없을 때 최신 공연 정보 조회 구현

* feat [#136] 좋아요 정보 있는 때 최신 공연 정보 조회 구현

* refactor [#159] 스포티파이에 존재하지 않는 아티스트인 경우 404 응답 처리

* feat [#136] 최신 공연 정보 DTO 작성

* feat [#136] 최신 공연 조회 함수 추가

* feat [#136] 최신 공연 조회 함수 구현

* feat [#136] 콘서트/페스티벌 아이디와 타입으로 공연 아이디 요청/응답 DTO 작성

* feat [#136] 파사드 계층에서 컨트롤러 계층 최신 공연 값 DTO 작성

* feat [#136] 콘서트/페스티벌 아이디, 공연 타입으로 공연 아이디 조회하는 로직 구현

* style [#136] 사용하지 않는 파일 삭제

* feat [#136] 최신 공연 정보 조회 응답 DTO 작성

* feat [#136] 파사드 계층 최신 공연 정보 조회 데이터 DTO 수정

* feat [#136] 좋아요 정보 없을 때 최신 공연 정보 조회 구현

* feat [#136] 좋아요 정보 있는 때 최신 공연 정보 조회 구현

* feat [#136] 최신 공연 조회 함수 구현

* feat [#136] 파사드 계층에서 컨트롤러 계층 최신 공연 값 DTO 작성

* feat [#136] 콘서트/페스티벌 아이디, 공연 타입으로 공연 아이디 조회하는 로직 구현

* feat [#136] 파사드 계층 최신 공연 정보 조회 데이터 DTO 수정

* feat [#136] 좋아요 정보 없을 때 최신 공연 정보 조회 구현

* feat [#136] 좋아요 정보 있는 때 최신 공연 정보 조회 구현

---------

Co-authored-by: ivoryeee <[email protected]>

* fix [#164] 트랜잭션 추가

* refactor [#167] 컨트롤러 계층에서 url 생성

* fix [#169] 타임테이블 조회 쿼리에 @param 어노테이션 추가

* fix [#169] userTimetableMapper에 FestivalTimeId를 키 값으로 설정

* fix [#172] 이미 추가한 페스티벌은 조회되지 않도록 수정

* feat [#176] CORS 허용 도메인에 클라이언트 IP 추가

* refactor [#176] 아티스트 공연 시작 시간값 추가

---------

Co-authored-by: ivoryeee <[email protected]>
Co-authored-by: Ivoryeee <[email protected]>
ch1hyun added a commit that referenced this pull request Jan 23, 2025
* style [#56] 엔터 추가

* feat [#56] 콘서트 정보 조회 API 구현

* refactor [#62] 매개변수가 하나인 함수 이름을 from으로 변경

* refactor [#62] 작성된 예외 처리 클래스로 변경

* hotfix [#69] ArtistResolver에서 같은 객체를 계속 탐색하는 것을 수정

* fix [#76] ArtistResolver의 load 함수에서 target이 리스트 타입인 경우 탐색 가능하도록 수정

* style [#76] print 함수 제거

* hotfix [#81] ArtistResolver 수동으로 매핑하는 방법으로 변경

* style [#81] 주석 추가

* feat [#78] 임시 페스티벌 생성 API 구현

* feat [#57] ArtistFavoriteController 구현

* feat [#57] UserFavoriteFacade 구현

* feat [#57] ArtistFavoriteService, Repository 구현

* feat [#57] 아티스트 목록 최대 3개만 조회하도록 제한

* refactor [#57] 메서드 of->from 변경

* refactor [#57] 인자로 user이 아닌 userId 불러오도록 변경

* style [#57] 필요없는 코드 삭제

* fix [#57] 메서드 of->from 변경

* feat [#67] 페스티벌 정보 조회 API 구현 (#84)

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* chore [#67] DB 쿼리 값 확인을 위해 p6spy 의존성 추가

* feat [#67] 값 전달을 위해 DTO 생성

* refactor [#67] 값 타입 변경을 위해 엔티티 파일 수정

* fix [#67] artistIds 아이디 수집 변수에 Artist Id 값을 추가하는 것으로 변경

* feat [#85] 아티스트 검색 API 구현

* refactor [#87] 콘서트 정보 조회 API 변경에 따른 수정

* refactor [#89] 함수명을 명확히 수정, 조회 함수에 트랜잭션 readonly = true 추가

* feat [#89] 아티스트 좋아요 추가 API 구현

* refactor [#89] addArtistFavorite에서 artistId 최소값 제거

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 구현 (#95)

* feat [#91] 콘서트 좋아요 추가 API 추가

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 추가

* style [#92] 함수 위치 재배치

* feat [#92] 콘서트 좋아요 삭제 API 추가 (#97)

* feat [#92] 콘서트 좋아요 삭제 API 추가

* refactor [#92] 유저 서비스에 트랜잭션 추가 및 에러 응답 Unauthorized 설정 및 중복된 함수 제거

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 구현 (#95)

* feat [#91] 콘서트 좋아요 추가 API 추가

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 추가

* style [#92] 함수 위치 재배치

* feat [#92] 콘서트 좋아요 삭제 API 추가

* refactor [#92] 유저 서비스에 트랜잭션 추가 및 에러 응답 Unauthorized 설정 및 중복된 함수 제거

* feat [#92] 아티스트 접기/펼치기 기준 값 상수 추가

* refactor [#92] 아티스트 접기/펼치기 기준 값 상수 사용하도록 변경

* feat [#98] CORS 허용 도메인 추가

* refactor [#100] DateConvertor static 클래스로 변경

* feat [#83] 타임테이블에 등록된 페스티벌, 날짜 조회 (#96)

* feat [#67] 페스티벌 정보 조회 API 구현 (#84)

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* chore [#67] DB 쿼리 값 확인을 위해 p6spy 의존성 추가

* feat [#67] 값 전달을 위해 DTO 생성

* refactor [#67] 값 타입 변경을 위해 엔티티 파일 수정

* fix [#67] artistIds 아이디 수집 변수에 Artist Id 값을 추가하는 것으로 변경

* feat [#83] UserTimetable 컨트롤러 구현

* feat [#83] UserTimetableResponse api 응답값 구현

* feat [#83] UserTimetableFacade 구현

* feat [#83] UserTimetable Dto 구현

* feat [#83] UserTimetable service 구현

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 구현 (#95)

* feat [#91] 콘서트 좋아요 추가 API 추가

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 추가

* style [#92] 함수 위치 재배치

* feat [#92] 콘서트 좋아요 삭제 API 추가 (#97)

* feat [#92] 콘서트 좋아요 삭제 API 추가

* refactor [#92] 유저 서비스에 트랜잭션 추가 및 에러 응답 Unauthorized 설정 및 중복된 함수 제거

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 구현 (#95)

* feat [#91] 콘서트 좋아요 추가 API 추가

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 추가

* style [#92] 함수 위치 재배치

* feat [#92] 콘서트 좋아요 삭제 API 추가

* refactor [#92] 유저 서비스에 트랜잭션 추가 및 에러 응답 Unauthorized 설정 및 중복된 함수 제거

* feat [#92] 아티스트 접기/펼치기 기준 값 상수 추가

* refactor [#92] 아티스트 접기/펼치기 기준 값 상수 사용하도록 변경

* feat [#98] CORS 허용 도메인 추가

* refactor [#100] DateConvertor static 클래스로 변경

* feat [#67] 페스티벌 정보 조회 API 구현 (#84)

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* chore [#67] DB 쿼리 값 확인을 위해 p6spy 의존성 추가

* feat [#67] 값 전달을 위해 DTO 생성

* refactor [#67] 값 타입 변경을 위해 엔티티 파일 수정

* fix [#67] artistIds 아이디 수집 변수에 Artist Id 값을 추가하는 것으로 변경

* feat [#83] UserTimetable 컨트롤러 구현

* feat [#83] UserTimetableResponse api 응답값 구현

* feat [#83] UserTimetableFacade 구현

* feat [#83] UserTimetable Dto 구현

* feat [#83] UserTimetable service 구현

* 작업중

* feat [#83] 날짜 포맷팅 설정 추가

* feat [#83] s3핸들러 설정 추가

* style [#83] 오타 수정

---------

Co-authored-by: chyun <[email protected]>

* refactor [#105] 날짜 매핑 방법 변경

* refactor [#105] 날짜 매핑 방법 변경

* feat [#107] existsById 반환 값 boolean으로 변경 및 타임테이블 페스티벌 삭제 API 구현

* feat [#109] 공연(콘서트, 페스티벌) 정보 조회 날짜가 지나지 않았는지 검증 추가

* refactor [#109] 공연 좋아요 여부 조회 로직 분리

* refactor [#109] 공연, 아티스트 좋아요 여부 조회 로직 분리

* refactor [#109] 공연, 아티스트, 유저 존재 여부 조회 로직 분리

* style [#109] 주석 추가

* refactor [#109] 엔티티 존재 여부 메소드 분리

* fix [#109] 지난 페스티벌을 제외하고 타임테이블에 추가된 페스티벌을 조회하는 기능 추가

* style [#109] 불필요한 import 제거

* feat [#111] 타임테이블에 페스티벌 추가 API 구현 (#112)

* feat [#111] 타임테이블 페스티벌 추가 요청값 생성

* feat [#111] 요청값 전달 DTO 작성

* feat [#111] 타임테이블에 페스티벌 추가 API 구현

* feat [#111] 타임테이블 에러 응답 메세지 작성

* refactor [#111] 에러 응답 메세지 @Getter 사용으로 변경

* refactor [#111] 현재 페스티벌과 추가할 페스티벌 변수 위치 변경

* refactor [#111] 사용하지않는 함수 제거

* refactor [#111] 에러 메시지에 @Getter 사용 및 Enum 타입 생성자에 private 접근지정자 제거

* feat [#109] 공연(콘서트, 페스티벌) 정보 조회 날짜가 지나지 않았는지 검증 추가

* refactor [#109] 공연 좋아요 여부 조회 로직 분리

* refactor [#109] 공연, 아티스트 좋아요 여부 조회 로직 분리

* refactor [#109] 공연, 아티스트, 유저 존재 여부 조회 로직 분리

* style [#109] 주석 추가

* refactor [#109] 엔티티 존재 여부 메소드 분리

* fix [#109] 지난 페스티벌을 제외하고 타임테이블에 추가된 페스티벌을 조회하는 기능 추가

* style [#109] 불필요한 import 제거

* feat [#111] 타임테이블 페스티벌 추가 요청값 생성

* feat [#111] 요청값 전달 DTO 작성

* feat [#111] 타임테이블에 페스티벌 추가 API 구현

* feat [#111] 타임테이블 에러 응답 메세지 작성

* refactor [#111] 에러 응답 메세지 @Getter 사용으로 변경

* refactor [#111] 현재 페스티벌과 추가할 페스티벌 변수 위치 변경

* refactor [#111] 사용하지않는 함수 제거

* refactor [#111] 에러 메시지에 @Getter 사용 및 Enum 타입 생성자에 private 접근지정자 제거

* fix [#111] TimetableFestivalRepository에 findByUserId 함수 추가

* refactor [#111] 타임테이블에 더 이상 추가할 수 없을 때 에러 메세지 변경

* fix [#114] SpotifyAPIHandler 예외 처리 수정

* refactor [#113] 메세지 파일 롬복 어노테이션 사용하도록 변경

* feat [#113] 파사드 계층 관심 공연 DTO 작성

* feat [#113] 공연 타입 상수 파일 작성

* feat [#113] 작업 중간 저장

* feat [#113] 관심 공연 리스트 조회 API 구현

* feat [#117] 아티스트 좋아요 추가 API에 아티스트 아이디가 존재하는지 검증하는 로직 추가

* feat [#117] ConfetiException 글로벌 핸들러 추가

* feat [#117] 아티스트 아이디가 잘못되었을 때도 Not Found로 변경

* fix [#121] 토큰 재발급 로직 추가

* fix [#119] 타임테이블에 페스티벌 추가 시 선택 여부 값 추가

* refactor [#119] ERD 구조 변경에 따른 엔티티 파일 수정

* refactor [#119] 페스티벌 조회 성능 최적화

* refactor [#119] 패치 조인 쿼리 수정

* fix [#119] 타임테이블에 페스티벌 추가/삭제 시 선택 여부 값 추가/삭제 및 ERD 수정에 따른 엔티티 변경

* fix [#127] SpotifyAPIHandler 리프레시 토큰 재발급 로직 재구성 및 마지막 발매 일자 가져오는 방법 변경

* style [#127] 사용하지 않는 변수 제거

* feat [#41] PerformanceController, Response 구현

* feat [#41] PerformanceFacade 구현

* feat [#41] PerformanceDTO 구현

* feat [#41] PerformanceService, Repository 구현

* refactor [#41] 코드리뷰 반영

* feat [#126] 커서 정보 담을 DTO 작성

* feat [#126] 추가할 페스티벌 응답 Response 작성

* feat [#126] 커서 베이스 페이징에 사용할 데이터 DTO 생성

* feat [#126] 커서 베이스 페이징 쿼리 작성

* feat [#126] 커서 베이스 페이징 응답 DTO 생성

* feat [#126] 커서 베이스 페이징 데이터 규격 유틸 작성

* feat [#126] 예정된 페스티벌 목록 조회 API 구현

* refactor [#126] API 명세서에 따라 사이즈 값을 서버에서 설정하도록 변경

* refactor [#126] 커서 대상 페스티벌 조회

* fix [#137] CORS 허용 도메인에 클라이언트 www 도메인 추가

* feat [#104] 타임테이블에 등록된 시간표 조회 Api 구현 (#132)

* feat [#104] UserTimetableController 및 응답값 구현

* feat [#104] UserTimetableFacade 및 DTO 구현

* feat [#104] FestivalDateService 구현

* feat [#104] FestivalDateRepository 구현

* feat [#126] 커서 정보 담을 DTO 작성

* feat [#126] 추가할 페스티벌 응답 Response 작성

* feat [#126] 커서 베이스 페이징에 사용할 데이터 DTO 생성

* feat [#126] 커서 베이스 페이징 쿼리 작성

* feat [#126] 커서 베이스 페이징 응답 DTO 생성

* feat [#126] 커서 베이스 페이징 데이터 규격 유틸 작성

* feat [#126] 예정된 페스티벌 목록 조회 API 구현

* refactor [#126] API 명세서에 따라 사이즈 값을 서버에서 설정하도록 변경

* refactor [#126] 커서 대상 페스티벌 조회

* feat [#104] UserTimetableFacade 및 DTO 구현

* refactor [#104] 원시타입으로 수정

* refactor [#104] Optional 추가

* style [#104] 리베이스 중 중복된 코드 삭제

---------

Co-authored-by: chyun <[email protected]>

* fix [#140] 날짜 값 변경해서 조회

* fix [#145] 페스티벌 생성 요청 형식 수정

* refactor [#143] 콘서트, 페스티벌 필드 값 길이 변경

* refactor [#143] 콘서트, 페스티벌 필드 값 nullable 변경

* fix [#143] ERD 변경에 따라 값 수정

* fix [#143] 기존 DTO를 사용한 Repository 이름을 DTORepository로 수정

* fix [#143] 누락된 수정사항 반영

* feat [#151] CREATED 응답 메세지 추가

* feat [#151] 페스티벌 생성 API에 Performances 테이블 데이터 추가 구현

* fix [#153] 콘서트 정보 조회 API에 좋아요 정보가 전달되지 않는 것을 수정

* feat [#144] 타임테이블 시간표 수정 Request 작성

* feat [#144] 타임테이블 시간표 수정 DTO 추가

* feat [#144] 타임테이블 시간표 수정 facade 추가

* feat [#144] 타임테이블 시간표 수정 서비스 추가

* refactor [#144] saveAll 삭제

* refactor [#156] 타임테이블 시간표 조회 응답값 userTimetableId로 수정

* refactor [#159] 스포티파이에 존재하지 않는 아티스트인 경우 404 응답 처리

* fix [#162] 좋아요가 있을 때 409 반환

* feat [#136] 최신 등록 순 공연 정보 조회 API 구현 (#158)

* feat [#136] 최신 공연 정보 DTO 작성

* feat [#136] 최신 공연 조회 함수 추가

* feat [#136] 최신 공연 조회 함수 구현

* feat [#136] 콘서트/페스티벌 아이디와 타입으로 공연 아이디 요청/응답 DTO 작성

* feat [#136] 파사드 계층에서 컨트롤러 계층 최신 공연 값 DTO 작성

* feat [#136] 콘서트/페스티벌 아이디, 공연 타입으로 공연 아이디 조회하는 로직 구현

* style [#136] 사용하지 않는 파일 삭제

* feat [#136] 최신 공연 정보 조회 응답 DTO 작성

* feat [#136] 파사드 계층 최신 공연 정보 조회 데이터 DTO 수정

* feat [#136] 좋아요 정보 없을 때 최신 공연 정보 조회 구현

* feat [#136] 좋아요 정보 있는 때 최신 공연 정보 조회 구현

* refactor [#156] 타임테이블 시간표 조회 응답값 userTimetableId로 수정

* feat [#136] 최신 공연 정보 DTO 작성

* feat [#136] 최신 공연 조회 함수 추가

* feat [#136] 최신 공연 조회 함수 구현

* feat [#136] 콘서트/페스티벌 아이디와 타입으로 공연 아이디 요청/응답 DTO 작성

* feat [#136] 파사드 계층에서 컨트롤러 계층 최신 공연 값 DTO 작성

* feat [#136] 콘서트/페스티벌 아이디, 공연 타입으로 공연 아이디 조회하는 로직 구현

* style [#136] 사용하지 않는 파일 삭제

* feat [#136] 최신 공연 정보 조회 응답 DTO 작성

* feat [#136] 파사드 계층 최신 공연 정보 조회 데이터 DTO 수정

* feat [#136] 좋아요 정보 없을 때 최신 공연 정보 조회 구현

* feat [#136] 좋아요 정보 있는 때 최신 공연 정보 조회 구현

* refactor [#159] 스포티파이에 존재하지 않는 아티스트인 경우 404 응답 처리

* feat [#136] 최신 공연 정보 DTO 작성

* feat [#136] 최신 공연 조회 함수 추가

* feat [#136] 최신 공연 조회 함수 구현

* feat [#136] 콘서트/페스티벌 아이디와 타입으로 공연 아이디 요청/응답 DTO 작성

* feat [#136] 파사드 계층에서 컨트롤러 계층 최신 공연 값 DTO 작성

* feat [#136] 콘서트/페스티벌 아이디, 공연 타입으로 공연 아이디 조회하는 로직 구현

* style [#136] 사용하지 않는 파일 삭제

* feat [#136] 최신 공연 정보 조회 응답 DTO 작성

* feat [#136] 파사드 계층 최신 공연 정보 조회 데이터 DTO 수정

* feat [#136] 좋아요 정보 없을 때 최신 공연 정보 조회 구현

* feat [#136] 좋아요 정보 있는 때 최신 공연 정보 조회 구현

* feat [#136] 최신 공연 조회 함수 구현

* feat [#136] 파사드 계층에서 컨트롤러 계층 최신 공연 값 DTO 작성

* feat [#136] 콘서트/페스티벌 아이디, 공연 타입으로 공연 아이디 조회하는 로직 구현

* feat [#136] 파사드 계층 최신 공연 정보 조회 데이터 DTO 수정

* feat [#136] 좋아요 정보 없을 때 최신 공연 정보 조회 구현

* feat [#136] 좋아요 정보 있는 때 최신 공연 정보 조회 구현

---------

Co-authored-by: ivoryeee <[email protected]>

* fix [#164] 트랜잭션 추가

* refactor [#167] 컨트롤러 계층에서 url 생성

* fix [#169] 타임테이블 조회 쿼리에 @param 어노테이션 추가

* fix [#169] userTimetableMapper에 FestivalTimeId를 키 값으로 설정

* fix [#172] 이미 추가한 페스티벌은 조회되지 않도록 수정

* feat [#176] CORS 허용 도메인에 클라이언트 IP 추가

* refactor [#176] 아티스트 공연 시작 시간값 추가

* feat [#133] cursorDTO 생성

* feat [#133] cursorRepository 구현

* feat [#133] PerformanceService 구현

* feat [#133] PerformanceFacade 구현

* feat [#133] Performance 응답값 및 DTO 구현

* feat [#133] Performance 컨트롤러 구현

* refactor [#133] ConcertFavoriteService readOnly 추가

* refactor [#133] DTO에서의 posterUrl posterPath로 변수명 수정

* refactor [#133] Repository 내 쿼리문 수정

* refactor [#133] artistStartAt 수정

* fix [#180] CORS 허용 메소드에 PATCH 추가 (#181)

* fix [#180] CORS 허용 메소드에 PATCH 추가

* feat [#133] cursorDTO 생성

* feat [#133] cursorRepository 구현

* feat [#133] PerformanceService 구현

* feat [#133] PerformanceFacade 구현

* feat [#133] Performance 응답값 및 DTO 구현

* feat [#133] Performance 컨트롤러 구현

* refactor [#133] ConcertFavoriteService readOnly 추가

* refactor [#133] DTO에서의 posterUrl posterPath로 변수명 수정

* refactor [#133] Repository 내 쿼리문 수정

* refactor [#133] artistStartAt 수정

* fix [#180] CORS 허용 메소드에 PATCH 추가

---------

Co-authored-by: ivoryeee <[email protected]>

* fix [#183] 관심 있는 아티스트 목록 조회 개수 수정

---------

Co-authored-by: ivoryeee <[email protected]>
Co-authored-by: Ivoryeee <[email protected]>
ch1hyun added a commit that referenced this pull request Jan 23, 2025
* style [#56] 엔터 추가

* feat [#56] 콘서트 정보 조회 API 구현

* refactor [#62] 매개변수가 하나인 함수 이름을 from으로 변경

* refactor [#62] 작성된 예외 처리 클래스로 변경

* hotfix [#69] ArtistResolver에서 같은 객체를 계속 탐색하는 것을 수정

* fix [#76] ArtistResolver의 load 함수에서 target이 리스트 타입인 경우 탐색 가능하도록 수정

* style [#76] print 함수 제거

* hotfix [#81] ArtistResolver 수동으로 매핑하는 방법으로 변경

* style [#81] 주석 추가

* feat [#78] 임시 페스티벌 생성 API 구현

* feat [#57] ArtistFavoriteController 구현

* feat [#57] UserFavoriteFacade 구현

* feat [#57] ArtistFavoriteService, Repository 구현

* feat [#57] 아티스트 목록 최대 3개만 조회하도록 제한

* refactor [#57] 메서드 of->from 변경

* refactor [#57] 인자로 user이 아닌 userId 불러오도록 변경

* style [#57] 필요없는 코드 삭제

* fix [#57] 메서드 of->from 변경

* feat [#67] 페스티벌 정보 조회 API 구현 (#84)

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* chore [#67] DB 쿼리 값 확인을 위해 p6spy 의존성 추가

* feat [#67] 값 전달을 위해 DTO 생성

* refactor [#67] 값 타입 변경을 위해 엔티티 파일 수정

* fix [#67] artistIds 아이디 수집 변수에 Artist Id 값을 추가하는 것으로 변경

* feat [#85] 아티스트 검색 API 구현

* refactor [#87] 콘서트 정보 조회 API 변경에 따른 수정

* refactor [#89] 함수명을 명확히 수정, 조회 함수에 트랜잭션 readonly = true 추가

* feat [#89] 아티스트 좋아요 추가 API 구현

* refactor [#89] addArtistFavorite에서 artistId 최소값 제거

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 구현 (#95)

* feat [#91] 콘서트 좋아요 추가 API 추가

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 추가

* style [#92] 함수 위치 재배치

* feat [#92] 콘서트 좋아요 삭제 API 추가 (#97)

* feat [#92] 콘서트 좋아요 삭제 API 추가

* refactor [#92] 유저 서비스에 트랜잭션 추가 및 에러 응답 Unauthorized 설정 및 중복된 함수 제거

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 구현 (#95)

* feat [#91] 콘서트 좋아요 추가 API 추가

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 추가

* style [#92] 함수 위치 재배치

* feat [#92] 콘서트 좋아요 삭제 API 추가

* refactor [#92] 유저 서비스에 트랜잭션 추가 및 에러 응답 Unauthorized 설정 및 중복된 함수 제거

* feat [#92] 아티스트 접기/펼치기 기준 값 상수 추가

* refactor [#92] 아티스트 접기/펼치기 기준 값 상수 사용하도록 변경

* feat [#98] CORS 허용 도메인 추가

* refactor [#100] DateConvertor static 클래스로 변경

* feat [#83] 타임테이블에 등록된 페스티벌, 날짜 조회 (#96)

* feat [#67] 페스티벌 정보 조회 API 구현 (#84)

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* chore [#67] DB 쿼리 값 확인을 위해 p6spy 의존성 추가

* feat [#67] 값 전달을 위해 DTO 생성

* refactor [#67] 값 타입 변경을 위해 엔티티 파일 수정

* fix [#67] artistIds 아이디 수집 변수에 Artist Id 값을 추가하는 것으로 변경

* feat [#83] UserTimetable 컨트롤러 구현

* feat [#83] UserTimetableResponse api 응답값 구현

* feat [#83] UserTimetableFacade 구현

* feat [#83] UserTimetable Dto 구현

* feat [#83] UserTimetable service 구현

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 구현 (#95)

* feat [#91] 콘서트 좋아요 추가 API 추가

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 추가

* style [#92] 함수 위치 재배치

* feat [#92] 콘서트 좋아요 삭제 API 추가 (#97)

* feat [#92] 콘서트 좋아요 삭제 API 추가

* refactor [#92] 유저 서비스에 트랜잭션 추가 및 에러 응답 Unauthorized 설정 및 중복된 함수 제거

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 구현 (#95)

* feat [#91] 콘서트 좋아요 추가 API 추가

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 추가

* style [#92] 함수 위치 재배치

* feat [#92] 콘서트 좋아요 삭제 API 추가

* refactor [#92] 유저 서비스에 트랜잭션 추가 및 에러 응답 Unauthorized 설정 및 중복된 함수 제거

* feat [#92] 아티스트 접기/펼치기 기준 값 상수 추가

* refactor [#92] 아티스트 접기/펼치기 기준 값 상수 사용하도록 변경

* feat [#98] CORS 허용 도메인 추가

* refactor [#100] DateConvertor static 클래스로 변경

* feat [#67] 페스티벌 정보 조회 API 구현 (#84)

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* chore [#67] DB 쿼리 값 확인을 위해 p6spy 의존성 추가

* feat [#67] 값 전달을 위해 DTO 생성

* refactor [#67] 값 타입 변경을 위해 엔티티 파일 수정

* fix [#67] artistIds 아이디 수집 변수에 Artist Id 값을 추가하는 것으로 변경

* feat [#83] UserTimetable 컨트롤러 구현

* feat [#83] UserTimetableResponse api 응답값 구현

* feat [#83] UserTimetableFacade 구현

* feat [#83] UserTimetable Dto 구현

* feat [#83] UserTimetable service 구현

* 작업중

* feat [#83] 날짜 포맷팅 설정 추가

* feat [#83] s3핸들러 설정 추가

* style [#83] 오타 수정

---------

Co-authored-by: chyun <[email protected]>

* refactor [#105] 날짜 매핑 방법 변경

* refactor [#105] 날짜 매핑 방법 변경

* feat [#107] existsById 반환 값 boolean으로 변경 및 타임테이블 페스티벌 삭제 API 구현

* feat [#109] 공연(콘서트, 페스티벌) 정보 조회 날짜가 지나지 않았는지 검증 추가

* refactor [#109] 공연 좋아요 여부 조회 로직 분리

* refactor [#109] 공연, 아티스트 좋아요 여부 조회 로직 분리

* refactor [#109] 공연, 아티스트, 유저 존재 여부 조회 로직 분리

* style [#109] 주석 추가

* refactor [#109] 엔티티 존재 여부 메소드 분리

* fix [#109] 지난 페스티벌을 제외하고 타임테이블에 추가된 페스티벌을 조회하는 기능 추가

* style [#109] 불필요한 import 제거

* feat [#111] 타임테이블에 페스티벌 추가 API 구현 (#112)

* feat [#111] 타임테이블 페스티벌 추가 요청값 생성

* feat [#111] 요청값 전달 DTO 작성

* feat [#111] 타임테이블에 페스티벌 추가 API 구현

* feat [#111] 타임테이블 에러 응답 메세지 작성

* refactor [#111] 에러 응답 메세지 @Getter 사용으로 변경

* refactor [#111] 현재 페스티벌과 추가할 페스티벌 변수 위치 변경

* refactor [#111] 사용하지않는 함수 제거

* refactor [#111] 에러 메시지에 @Getter 사용 및 Enum 타입 생성자에 private 접근지정자 제거

* feat [#109] 공연(콘서트, 페스티벌) 정보 조회 날짜가 지나지 않았는지 검증 추가

* refactor [#109] 공연 좋아요 여부 조회 로직 분리

* refactor [#109] 공연, 아티스트 좋아요 여부 조회 로직 분리

* refactor [#109] 공연, 아티스트, 유저 존재 여부 조회 로직 분리

* style [#109] 주석 추가

* refactor [#109] 엔티티 존재 여부 메소드 분리

* fix [#109] 지난 페스티벌을 제외하고 타임테이블에 추가된 페스티벌을 조회하는 기능 추가

* style [#109] 불필요한 import 제거

* feat [#111] 타임테이블 페스티벌 추가 요청값 생성

* feat [#111] 요청값 전달 DTO 작성

* feat [#111] 타임테이블에 페스티벌 추가 API 구현

* feat [#111] 타임테이블 에러 응답 메세지 작성

* refactor [#111] 에러 응답 메세지 @Getter 사용으로 변경

* refactor [#111] 현재 페스티벌과 추가할 페스티벌 변수 위치 변경

* refactor [#111] 사용하지않는 함수 제거

* refactor [#111] 에러 메시지에 @Getter 사용 및 Enum 타입 생성자에 private 접근지정자 제거

* fix [#111] TimetableFestivalRepository에 findByUserId 함수 추가

* refactor [#111] 타임테이블에 더 이상 추가할 수 없을 때 에러 메세지 변경

* fix [#114] SpotifyAPIHandler 예외 처리 수정

* refactor [#113] 메세지 파일 롬복 어노테이션 사용하도록 변경

* feat [#113] 파사드 계층 관심 공연 DTO 작성

* feat [#113] 공연 타입 상수 파일 작성

* feat [#113] 작업 중간 저장

* feat [#113] 관심 공연 리스트 조회 API 구현

* feat [#117] 아티스트 좋아요 추가 API에 아티스트 아이디가 존재하는지 검증하는 로직 추가

* feat [#117] ConfetiException 글로벌 핸들러 추가

* feat [#117] 아티스트 아이디가 잘못되었을 때도 Not Found로 변경

* fix [#121] 토큰 재발급 로직 추가

* fix [#119] 타임테이블에 페스티벌 추가 시 선택 여부 값 추가

* refactor [#119] ERD 구조 변경에 따른 엔티티 파일 수정

* refactor [#119] 페스티벌 조회 성능 최적화

* refactor [#119] 패치 조인 쿼리 수정

* fix [#119] 타임테이블에 페스티벌 추가/삭제 시 선택 여부 값 추가/삭제 및 ERD 수정에 따른 엔티티 변경

* fix [#127] SpotifyAPIHandler 리프레시 토큰 재발급 로직 재구성 및 마지막 발매 일자 가져오는 방법 변경

* style [#127] 사용하지 않는 변수 제거

* feat [#41] PerformanceController, Response 구현

* feat [#41] PerformanceFacade 구현

* feat [#41] PerformanceDTO 구현

* feat [#41] PerformanceService, Repository 구현

* refactor [#41] 코드리뷰 반영

* feat [#126] 커서 정보 담을 DTO 작성

* feat [#126] 추가할 페스티벌 응답 Response 작성

* feat [#126] 커서 베이스 페이징에 사용할 데이터 DTO 생성

* feat [#126] 커서 베이스 페이징 쿼리 작성

* feat [#126] 커서 베이스 페이징 응답 DTO 생성

* feat [#126] 커서 베이스 페이징 데이터 규격 유틸 작성

* feat [#126] 예정된 페스티벌 목록 조회 API 구현

* refactor [#126] API 명세서에 따라 사이즈 값을 서버에서 설정하도록 변경

* refactor [#126] 커서 대상 페스티벌 조회

* fix [#137] CORS 허용 도메인에 클라이언트 www 도메인 추가

* feat [#104] 타임테이블에 등록된 시간표 조회 Api 구현 (#132)

* feat [#104] UserTimetableController 및 응답값 구현

* feat [#104] UserTimetableFacade 및 DTO 구현

* feat [#104] FestivalDateService 구현

* feat [#104] FestivalDateRepository 구현

* feat [#126] 커서 정보 담을 DTO 작성

* feat [#126] 추가할 페스티벌 응답 Response 작성

* feat [#126] 커서 베이스 페이징에 사용할 데이터 DTO 생성

* feat [#126] 커서 베이스 페이징 쿼리 작성

* feat [#126] 커서 베이스 페이징 응답 DTO 생성

* feat [#126] 커서 베이스 페이징 데이터 규격 유틸 작성

* feat [#126] 예정된 페스티벌 목록 조회 API 구현

* refactor [#126] API 명세서에 따라 사이즈 값을 서버에서 설정하도록 변경

* refactor [#126] 커서 대상 페스티벌 조회

* feat [#104] UserTimetableFacade 및 DTO 구현

* refactor [#104] 원시타입으로 수정

* refactor [#104] Optional 추가

* style [#104] 리베이스 중 중복된 코드 삭제

---------

Co-authored-by: chyun <[email protected]>

* fix [#140] 날짜 값 변경해서 조회

* fix [#145] 페스티벌 생성 요청 형식 수정

* refactor [#143] 콘서트, 페스티벌 필드 값 길이 변경

* refactor [#143] 콘서트, 페스티벌 필드 값 nullable 변경

* fix [#143] ERD 변경에 따라 값 수정

* fix [#143] 기존 DTO를 사용한 Repository 이름을 DTORepository로 수정

* fix [#143] 누락된 수정사항 반영

* feat [#151] CREATED 응답 메세지 추가

* feat [#151] 페스티벌 생성 API에 Performances 테이블 데이터 추가 구현

* fix [#153] 콘서트 정보 조회 API에 좋아요 정보가 전달되지 않는 것을 수정

* feat [#144] 타임테이블 시간표 수정 Request 작성

* feat [#144] 타임테이블 시간표 수정 DTO 추가

* feat [#144] 타임테이블 시간표 수정 facade 추가

* feat [#144] 타임테이블 시간표 수정 서비스 추가

* refactor [#144] saveAll 삭제

* refactor [#156] 타임테이블 시간표 조회 응답값 userTimetableId로 수정

* refactor [#159] 스포티파이에 존재하지 않는 아티스트인 경우 404 응답 처리

* fix [#162] 좋아요가 있을 때 409 반환

* feat [#136] 최신 등록 순 공연 정보 조회 API 구현 (#158)

* feat [#136] 최신 공연 정보 DTO 작성

* feat [#136] 최신 공연 조회 함수 추가

* feat [#136] 최신 공연 조회 함수 구현

* feat [#136] 콘서트/페스티벌 아이디와 타입으로 공연 아이디 요청/응답 DTO 작성

* feat [#136] 파사드 계층에서 컨트롤러 계층 최신 공연 값 DTO 작성

* feat [#136] 콘서트/페스티벌 아이디, 공연 타입으로 공연 아이디 조회하는 로직 구현

* style [#136] 사용하지 않는 파일 삭제

* feat [#136] 최신 공연 정보 조회 응답 DTO 작성

* feat [#136] 파사드 계층 최신 공연 정보 조회 데이터 DTO 수정

* feat [#136] 좋아요 정보 없을 때 최신 공연 정보 조회 구현

* feat [#136] 좋아요 정보 있는 때 최신 공연 정보 조회 구현

* refactor [#156] 타임테이블 시간표 조회 응답값 userTimetableId로 수정

* feat [#136] 최신 공연 정보 DTO 작성

* feat [#136] 최신 공연 조회 함수 추가

* feat [#136] 최신 공연 조회 함수 구현

* feat [#136] 콘서트/페스티벌 아이디와 타입으로 공연 아이디 요청/응답 DTO 작성

* feat [#136] 파사드 계층에서 컨트롤러 계층 최신 공연 값 DTO 작성

* feat [#136] 콘서트/페스티벌 아이디, 공연 타입으로 공연 아이디 조회하는 로직 구현

* style [#136] 사용하지 않는 파일 삭제

* feat [#136] 최신 공연 정보 조회 응답 DTO 작성

* feat [#136] 파사드 계층 최신 공연 정보 조회 데이터 DTO 수정

* feat [#136] 좋아요 정보 없을 때 최신 공연 정보 조회 구현

* feat [#136] 좋아요 정보 있는 때 최신 공연 정보 조회 구현

* refactor [#159] 스포티파이에 존재하지 않는 아티스트인 경우 404 응답 처리

* feat [#136] 최신 공연 정보 DTO 작성

* feat [#136] 최신 공연 조회 함수 추가

* feat [#136] 최신 공연 조회 함수 구현

* feat [#136] 콘서트/페스티벌 아이디와 타입으로 공연 아이디 요청/응답 DTO 작성

* feat [#136] 파사드 계층에서 컨트롤러 계층 최신 공연 값 DTO 작성

* feat [#136] 콘서트/페스티벌 아이디, 공연 타입으로 공연 아이디 조회하는 로직 구현

* style [#136] 사용하지 않는 파일 삭제

* feat [#136] 최신 공연 정보 조회 응답 DTO 작성

* feat [#136] 파사드 계층 최신 공연 정보 조회 데이터 DTO 수정

* feat [#136] 좋아요 정보 없을 때 최신 공연 정보 조회 구현

* feat [#136] 좋아요 정보 있는 때 최신 공연 정보 조회 구현

* feat [#136] 최신 공연 조회 함수 구현

* feat [#136] 파사드 계층에서 컨트롤러 계층 최신 공연 값 DTO 작성

* feat [#136] 콘서트/페스티벌 아이디, 공연 타입으로 공연 아이디 조회하는 로직 구현

* feat [#136] 파사드 계층 최신 공연 정보 조회 데이터 DTO 수정

* feat [#136] 좋아요 정보 없을 때 최신 공연 정보 조회 구현

* feat [#136] 좋아요 정보 있는 때 최신 공연 정보 조회 구현

---------

Co-authored-by: ivoryeee <[email protected]>

* fix [#164] 트랜잭션 추가

* refactor [#167] 컨트롤러 계층에서 url 생성

* fix [#169] 타임테이블 조회 쿼리에 @param 어노테이션 추가

* fix [#169] userTimetableMapper에 FestivalTimeId를 키 값으로 설정

* fix [#172] 이미 추가한 페스티벌은 조회되지 않도록 수정

* feat [#176] CORS 허용 도메인에 클라이언트 IP 추가

* refactor [#176] 아티스트 공연 시작 시간값 추가

* feat [#133] cursorDTO 생성

* feat [#133] cursorRepository 구현

* feat [#133] PerformanceService 구현

* feat [#133] PerformanceFacade 구현

* feat [#133] Performance 응답값 및 DTO 구현

* feat [#133] Performance 컨트롤러 구현

* refactor [#133] ConcertFavoriteService readOnly 추가

* refactor [#133] DTO에서의 posterUrl posterPath로 변수명 수정

* refactor [#133] Repository 내 쿼리문 수정

* refactor [#133] artistStartAt 수정

* fix [#180] CORS 허용 메소드에 PATCH 추가 (#181)

* fix [#180] CORS 허용 메소드에 PATCH 추가

* feat [#133] cursorDTO 생성

* feat [#133] cursorRepository 구현

* feat [#133] PerformanceService 구현

* feat [#133] PerformanceFacade 구현

* feat [#133] Performance 응답값 및 DTO 구현

* feat [#133] Performance 컨트롤러 구현

* refactor [#133] ConcertFavoriteService readOnly 추가

* refactor [#133] DTO에서의 posterUrl posterPath로 변수명 수정

* refactor [#133] Repository 내 쿼리문 수정

* refactor [#133] artistStartAt 수정

* fix [#180] CORS 허용 메소드에 PATCH 추가

---------

Co-authored-by: ivoryeee <[email protected]>

* fix [#183] 관심 있는 아티스트 목록 조회 개수 수정

* fix [#186] 콘서트 생성 API 구현

---------

Co-authored-by: ivoryeee <[email protected]>
Co-authored-by: Ivoryeee <[email protected]>
ch1hyun added a commit that referenced this pull request Jan 24, 2025
* style [#56] 엔터 추가

* feat [#56] 콘서트 정보 조회 API 구현

* refactor [#62] 매개변수가 하나인 함수 이름을 from으로 변경

* refactor [#62] 작성된 예외 처리 클래스로 변경

* hotfix [#69] ArtistResolver에서 같은 객체를 계속 탐색하는 것을 수정

* fix [#76] ArtistResolver의 load 함수에서 target이 리스트 타입인 경우 탐색 가능하도록 수정

* style [#76] print 함수 제거

* hotfix [#81] ArtistResolver 수동으로 매핑하는 방법으로 변경

* style [#81] 주석 추가

* feat [#78] 임시 페스티벌 생성 API 구현

* feat [#57] ArtistFavoriteController 구현

* feat [#57] UserFavoriteFacade 구현

* feat [#57] ArtistFavoriteService, Repository 구현

* feat [#57] 아티스트 목록 최대 3개만 조회하도록 제한

* refactor [#57] 메서드 of->from 변경

* refactor [#57] 인자로 user이 아닌 userId 불러오도록 변경

* style [#57] 필요없는 코드 삭제

* fix [#57] 메서드 of->from 변경

* feat [#67] 페스티벌 정보 조회 API 구현 (#84)

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* chore [#67] DB 쿼리 값 확인을 위해 p6spy 의존성 추가

* feat [#67] 값 전달을 위해 DTO 생성

* refactor [#67] 값 타입 변경을 위해 엔티티 파일 수정

* fix [#67] artistIds 아이디 수집 변수에 Artist Id 값을 추가하는 것으로 변경

* feat [#85] 아티스트 검색 API 구현

* refactor [#87] 콘서트 정보 조회 API 변경에 따른 수정

* refactor [#89] 함수명을 명확히 수정, 조회 함수에 트랜잭션 readonly = true 추가

* feat [#89] 아티스트 좋아요 추가 API 구현

* refactor [#89] addArtistFavorite에서 artistId 최소값 제거

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 구현 (#95)

* feat [#91] 콘서트 좋아요 추가 API 추가

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 추가

* style [#92] 함수 위치 재배치

* feat [#92] 콘서트 좋아요 삭제 API 추가 (#97)

* feat [#92] 콘서트 좋아요 삭제 API 추가

* refactor [#92] 유저 서비스에 트랜잭션 추가 및 에러 응답 Unauthorized 설정 및 중복된 함수 제거

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 구현 (#95)

* feat [#91] 콘서트 좋아요 추가 API 추가

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 추가

* style [#92] 함수 위치 재배치

* feat [#92] 콘서트 좋아요 삭제 API 추가

* refactor [#92] 유저 서비스에 트랜잭션 추가 및 에러 응답 Unauthorized 설정 및 중복된 함수 제거

* feat [#92] 아티스트 접기/펼치기 기준 값 상수 추가

* refactor [#92] 아티스트 접기/펼치기 기준 값 상수 사용하도록 변경

* feat [#98] CORS 허용 도메인 추가

* refactor [#100] DateConvertor static 클래스로 변경

* feat [#83] 타임테이블에 등록된 페스티벌, 날짜 조회 (#96)

* feat [#67] 페스티벌 정보 조회 API 구현 (#84)

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* chore [#67] DB 쿼리 값 확인을 위해 p6spy 의존성 추가

* feat [#67] 값 전달을 위해 DTO 생성

* refactor [#67] 값 타입 변경을 위해 엔티티 파일 수정

* fix [#67] artistIds 아이디 수집 변수에 Artist Id 값을 추가하는 것으로 변경

* feat [#83] UserTimetable 컨트롤러 구현

* feat [#83] UserTimetableResponse api 응답값 구현

* feat [#83] UserTimetableFacade 구현

* feat [#83] UserTimetable Dto 구현

* feat [#83] UserTimetable service 구현

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 구현 (#95)

* feat [#91] 콘서트 좋아요 추가 API 추가

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 추가

* style [#92] 함수 위치 재배치

* feat [#92] 콘서트 좋아요 삭제 API 추가 (#97)

* feat [#92] 콘서트 좋아요 삭제 API 추가

* refactor [#92] 유저 서비스에 트랜잭션 추가 및 에러 응답 Unauthorized 설정 및 중복된 함수 제거

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 구현 (#95)

* feat [#91] 콘서트 좋아요 추가 API 추가

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 추가

* style [#92] 함수 위치 재배치

* feat [#92] 콘서트 좋아요 삭제 API 추가

* refactor [#92] 유저 서비스에 트랜잭션 추가 및 에러 응답 Unauthorized 설정 및 중복된 함수 제거

* feat [#92] 아티스트 접기/펼치기 기준 값 상수 추가

* refactor [#92] 아티스트 접기/펼치기 기준 값 상수 사용하도록 변경

* feat [#98] CORS 허용 도메인 추가

* refactor [#100] DateConvertor static 클래스로 변경

* feat [#67] 페스티벌 정보 조회 API 구현 (#84)

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* chore [#67] DB 쿼리 값 확인을 위해 p6spy 의존성 추가

* feat [#67] 값 전달을 위해 DTO 생성

* refactor [#67] 값 타입 변경을 위해 엔티티 파일 수정

* fix [#67] artistIds 아이디 수집 변수에 Artist Id 값을 추가하는 것으로 변경

* feat [#83] UserTimetable 컨트롤러 구현

* feat [#83] UserTimetableResponse api 응답값 구현

* feat [#83] UserTimetableFacade 구현

* feat [#83] UserTimetable Dto 구현

* feat [#83] UserTimetable service 구현

* 작업중

* feat [#83] 날짜 포맷팅 설정 추가

* feat [#83] s3핸들러 설정 추가

* style [#83] 오타 수정

---------

Co-authored-by: chyun <[email protected]>

* refactor [#105] 날짜 매핑 방법 변경

* refactor [#105] 날짜 매핑 방법 변경

* feat [#107] existsById 반환 값 boolean으로 변경 및 타임테이블 페스티벌 삭제 API 구현

* feat [#109] 공연(콘서트, 페스티벌) 정보 조회 날짜가 지나지 않았는지 검증 추가

* refactor [#109] 공연 좋아요 여부 조회 로직 분리

* refactor [#109] 공연, 아티스트 좋아요 여부 조회 로직 분리

* refactor [#109] 공연, 아티스트, 유저 존재 여부 조회 로직 분리

* style [#109] 주석 추가

* refactor [#109] 엔티티 존재 여부 메소드 분리

* fix [#109] 지난 페스티벌을 제외하고 타임테이블에 추가된 페스티벌을 조회하는 기능 추가

* style [#109] 불필요한 import 제거

* feat [#111] 타임테이블에 페스티벌 추가 API 구현 (#112)

* feat [#111] 타임테이블 페스티벌 추가 요청값 생성

* feat [#111] 요청값 전달 DTO 작성

* feat [#111] 타임테이블에 페스티벌 추가 API 구현

* feat [#111] 타임테이블 에러 응답 메세지 작성

* refactor [#111] 에러 응답 메세지 @Getter 사용으로 변경

* refactor [#111] 현재 페스티벌과 추가할 페스티벌 변수 위치 변경

* refactor [#111] 사용하지않는 함수 제거

* refactor [#111] 에러 메시지에 @Getter 사용 및 Enum 타입 생성자에 private 접근지정자 제거

* feat [#109] 공연(콘서트, 페스티벌) 정보 조회 날짜가 지나지 않았는지 검증 추가

* refactor [#109] 공연 좋아요 여부 조회 로직 분리

* refactor [#109] 공연, 아티스트 좋아요 여부 조회 로직 분리

* refactor [#109] 공연, 아티스트, 유저 존재 여부 조회 로직 분리

* style [#109] 주석 추가

* refactor [#109] 엔티티 존재 여부 메소드 분리

* fix [#109] 지난 페스티벌을 제외하고 타임테이블에 추가된 페스티벌을 조회하는 기능 추가

* style [#109] 불필요한 import 제거

* feat [#111] 타임테이블 페스티벌 추가 요청값 생성

* feat [#111] 요청값 전달 DTO 작성

* feat [#111] 타임테이블에 페스티벌 추가 API 구현

* feat [#111] 타임테이블 에러 응답 메세지 작성

* refactor [#111] 에러 응답 메세지 @Getter 사용으로 변경

* refactor [#111] 현재 페스티벌과 추가할 페스티벌 변수 위치 변경

* refactor [#111] 사용하지않는 함수 제거

* refactor [#111] 에러 메시지에 @Getter 사용 및 Enum 타입 생성자에 private 접근지정자 제거

* fix [#111] TimetableFestivalRepository에 findByUserId 함수 추가

* refactor [#111] 타임테이블에 더 이상 추가할 수 없을 때 에러 메세지 변경

* fix [#114] SpotifyAPIHandler 예외 처리 수정

* refactor [#113] 메세지 파일 롬복 어노테이션 사용하도록 변경

* feat [#113] 파사드 계층 관심 공연 DTO 작성

* feat [#113] 공연 타입 상수 파일 작성

* feat [#113] 작업 중간 저장

* feat [#113] 관심 공연 리스트 조회 API 구현

* feat [#117] 아티스트 좋아요 추가 API에 아티스트 아이디가 존재하는지 검증하는 로직 추가

* feat [#117] ConfetiException 글로벌 핸들러 추가

* feat [#117] 아티스트 아이디가 잘못되었을 때도 Not Found로 변경

* fix [#121] 토큰 재발급 로직 추가

* fix [#119] 타임테이블에 페스티벌 추가 시 선택 여부 값 추가

* refactor [#119] ERD 구조 변경에 따른 엔티티 파일 수정

* refactor [#119] 페스티벌 조회 성능 최적화

* refactor [#119] 패치 조인 쿼리 수정

* fix [#119] 타임테이블에 페스티벌 추가/삭제 시 선택 여부 값 추가/삭제 및 ERD 수정에 따른 엔티티 변경

* fix [#127] SpotifyAPIHandler 리프레시 토큰 재발급 로직 재구성 및 마지막 발매 일자 가져오는 방법 변경

* style [#127] 사용하지 않는 변수 제거

* feat [#41] PerformanceController, Response 구현

* feat [#41] PerformanceFacade 구현

* feat [#41] PerformanceDTO 구현

* feat [#41] PerformanceService, Repository 구현

* refactor [#41] 코드리뷰 반영

* feat [#126] 커서 정보 담을 DTO 작성

* feat [#126] 추가할 페스티벌 응답 Response 작성

* feat [#126] 커서 베이스 페이징에 사용할 데이터 DTO 생성

* feat [#126] 커서 베이스 페이징 쿼리 작성

* feat [#126] 커서 베이스 페이징 응답 DTO 생성

* feat [#126] 커서 베이스 페이징 데이터 규격 유틸 작성

* feat [#126] 예정된 페스티벌 목록 조회 API 구현

* refactor [#126] API 명세서에 따라 사이즈 값을 서버에서 설정하도록 변경

* refactor [#126] 커서 대상 페스티벌 조회

* fix [#137] CORS 허용 도메인에 클라이언트 www 도메인 추가

* feat [#104] 타임테이블에 등록된 시간표 조회 Api 구현 (#132)

* feat [#104] UserTimetableController 및 응답값 구현

* feat [#104] UserTimetableFacade 및 DTO 구현

* feat [#104] FestivalDateService 구현

* feat [#104] FestivalDateRepository 구현

* feat [#126] 커서 정보 담을 DTO 작성

* feat [#126] 추가할 페스티벌 응답 Response 작성

* feat [#126] 커서 베이스 페이징에 사용할 데이터 DTO 생성

* feat [#126] 커서 베이스 페이징 쿼리 작성

* feat [#126] 커서 베이스 페이징 응답 DTO 생성

* feat [#126] 커서 베이스 페이징 데이터 규격 유틸 작성

* feat [#126] 예정된 페스티벌 목록 조회 API 구현

* refactor [#126] API 명세서에 따라 사이즈 값을 서버에서 설정하도록 변경

* refactor [#126] 커서 대상 페스티벌 조회

* feat [#104] UserTimetableFacade 및 DTO 구현

* refactor [#104] 원시타입으로 수정

* refactor [#104] Optional 추가

* style [#104] 리베이스 중 중복된 코드 삭제

---------

Co-authored-by: chyun <[email protected]>

* fix [#140] 날짜 값 변경해서 조회

* fix [#145] 페스티벌 생성 요청 형식 수정

* refactor [#143] 콘서트, 페스티벌 필드 값 길이 변경

* refactor [#143] 콘서트, 페스티벌 필드 값 nullable 변경

* fix [#143] ERD 변경에 따라 값 수정

* fix [#143] 기존 DTO를 사용한 Repository 이름을 DTORepository로 수정

* fix [#143] 누락된 수정사항 반영

* feat [#151] CREATED 응답 메세지 추가

* feat [#151] 페스티벌 생성 API에 Performances 테이블 데이터 추가 구현

* fix [#153] 콘서트 정보 조회 API에 좋아요 정보가 전달되지 않는 것을 수정

* feat [#144] 타임테이블 시간표 수정 Request 작성

* feat [#144] 타임테이블 시간표 수정 DTO 추가

* feat [#144] 타임테이블 시간표 수정 facade 추가

* feat [#144] 타임테이블 시간표 수정 서비스 추가

* refactor [#144] saveAll 삭제

* refactor [#156] 타임테이블 시간표 조회 응답값 userTimetableId로 수정

* refactor [#159] 스포티파이에 존재하지 않는 아티스트인 경우 404 응답 처리

* fix [#162] 좋아요가 있을 때 409 반환

* feat [#136] 최신 등록 순 공연 정보 조회 API 구현 (#158)

* feat [#136] 최신 공연 정보 DTO 작성

* feat [#136] 최신 공연 조회 함수 추가

* feat [#136] 최신 공연 조회 함수 구현

* feat [#136] 콘서트/페스티벌 아이디와 타입으로 공연 아이디 요청/응답 DTO 작성

* feat [#136] 파사드 계층에서 컨트롤러 계층 최신 공연 값 DTO 작성

* feat [#136] 콘서트/페스티벌 아이디, 공연 타입으로 공연 아이디 조회하는 로직 구현

* style [#136] 사용하지 않는 파일 삭제

* feat [#136] 최신 공연 정보 조회 응답 DTO 작성

* feat [#136] 파사드 계층 최신 공연 정보 조회 데이터 DTO 수정

* feat [#136] 좋아요 정보 없을 때 최신 공연 정보 조회 구현

* feat [#136] 좋아요 정보 있는 때 최신 공연 정보 조회 구현

* refactor [#156] 타임테이블 시간표 조회 응답값 userTimetableId로 수정

* feat [#136] 최신 공연 정보 DTO 작성

* feat [#136] 최신 공연 조회 함수 추가

* feat [#136] 최신 공연 조회 함수 구현

* feat [#136] 콘서트/페스티벌 아이디와 타입으로 공연 아이디 요청/응답 DTO 작성

* feat [#136] 파사드 계층에서 컨트롤러 계층 최신 공연 값 DTO 작성

* feat [#136] 콘서트/페스티벌 아이디, 공연 타입으로 공연 아이디 조회하는 로직 구현

* style [#136] 사용하지 않는 파일 삭제

* feat [#136] 최신 공연 정보 조회 응답 DTO 작성

* feat [#136] 파사드 계층 최신 공연 정보 조회 데이터 DTO 수정

* feat [#136] 좋아요 정보 없을 때 최신 공연 정보 조회 구현

* feat [#136] 좋아요 정보 있는 때 최신 공연 정보 조회 구현

* refactor [#159] 스포티파이에 존재하지 않는 아티스트인 경우 404 응답 처리

* feat [#136] 최신 공연 정보 DTO 작성

* feat [#136] 최신 공연 조회 함수 추가

* feat [#136] 최신 공연 조회 함수 구현

* feat [#136] 콘서트/페스티벌 아이디와 타입으로 공연 아이디 요청/응답 DTO 작성

* feat [#136] 파사드 계층에서 컨트롤러 계층 최신 공연 값 DTO 작성

* feat [#136] 콘서트/페스티벌 아이디, 공연 타입으로 공연 아이디 조회하는 로직 구현

* style [#136] 사용하지 않는 파일 삭제

* feat [#136] 최신 공연 정보 조회 응답 DTO 작성

* feat [#136] 파사드 계층 최신 공연 정보 조회 데이터 DTO 수정

* feat [#136] 좋아요 정보 없을 때 최신 공연 정보 조회 구현

* feat [#136] 좋아요 정보 있는 때 최신 공연 정보 조회 구현

* feat [#136] 최신 공연 조회 함수 구현

* feat [#136] 파사드 계층에서 컨트롤러 계층 최신 공연 값 DTO 작성

* feat [#136] 콘서트/페스티벌 아이디, 공연 타입으로 공연 아이디 조회하는 로직 구현

* feat [#136] 파사드 계층 최신 공연 정보 조회 데이터 DTO 수정

* feat [#136] 좋아요 정보 없을 때 최신 공연 정보 조회 구현

* feat [#136] 좋아요 정보 있는 때 최신 공연 정보 조회 구현

---------

Co-authored-by: ivoryeee <[email protected]>

* fix [#164] 트랜잭션 추가

* refactor [#167] 컨트롤러 계층에서 url 생성

* fix [#169] 타임테이블 조회 쿼리에 @param 어노테이션 추가

* fix [#169] userTimetableMapper에 FestivalTimeId를 키 값으로 설정

* fix [#172] 이미 추가한 페스티벌은 조회되지 않도록 수정

* feat [#176] CORS 허용 도메인에 클라이언트 IP 추가

* refactor [#176] 아티스트 공연 시작 시간값 추가

* feat [#133] cursorDTO 생성

* feat [#133] cursorRepository 구현

* feat [#133] PerformanceService 구현

* feat [#133] PerformanceFacade 구현

* feat [#133] Performance 응답값 및 DTO 구현

* feat [#133] Performance 컨트롤러 구현

* refactor [#133] ConcertFavoriteService readOnly 추가

* refactor [#133] DTO에서의 posterUrl posterPath로 변수명 수정

* refactor [#133] Repository 내 쿼리문 수정

* refactor [#133] artistStartAt 수정

* fix [#180] CORS 허용 메소드에 PATCH 추가 (#181)

* fix [#180] CORS 허용 메소드에 PATCH 추가

* feat [#133] cursorDTO 생성

* feat [#133] cursorRepository 구현

* feat [#133] PerformanceService 구현

* feat [#133] PerformanceFacade 구현

* feat [#133] Performance 응답값 및 DTO 구현

* feat [#133] Performance 컨트롤러 구현

* refactor [#133] ConcertFavoriteService readOnly 추가

* refactor [#133] DTO에서의 posterUrl posterPath로 변수명 수정

* refactor [#133] Repository 내 쿼리문 수정

* refactor [#133] artistStartAt 수정

* fix [#180] CORS 허용 메소드에 PATCH 추가

---------

Co-authored-by: ivoryeee <[email protected]>

* fix [#183] 관심 있는 아티스트 목록 조회 개수 수정

* fix [#186] 콘서트 생성 API 구현

* fix [#190] 변경된 컬럼값이 적용되지 않은 것을 수정

* fix [#189] 아티스트 검색 결과가 없을 경우 NULL 반환

* fix [#194] 기존 아티스트 아이디 값 조회 로직 변경

---------

Co-authored-by: ivoryeee <[email protected]>
Co-authored-by: Ivoryeee <[email protected]>
ch1hyun added a commit that referenced this pull request Jan 24, 2025
* style [#56] 엔터 추가

* feat [#56] 콘서트 정보 조회 API 구현

* refactor [#62] 매개변수가 하나인 함수 이름을 from으로 변경

* refactor [#62] 작성된 예외 처리 클래스로 변경

* hotfix [#69] ArtistResolver에서 같은 객체를 계속 탐색하는 것을 수정

* fix [#76] ArtistResolver의 load 함수에서 target이 리스트 타입인 경우 탐색 가능하도록 수정

* style [#76] print 함수 제거

* hotfix [#81] ArtistResolver 수동으로 매핑하는 방법으로 변경

* style [#81] 주석 추가

* feat [#78] 임시 페스티벌 생성 API 구현

* feat [#57] ArtistFavoriteController 구현

* feat [#57] UserFavoriteFacade 구현

* feat [#57] ArtistFavoriteService, Repository 구현

* feat [#57] 아티스트 목록 최대 3개만 조회하도록 제한

* refactor [#57] 메서드 of->from 변경

* refactor [#57] 인자로 user이 아닌 userId 불러오도록 변경

* style [#57] 필요없는 코드 삭제

* fix [#57] 메서드 of->from 변경

* feat [#67] 페스티벌 정보 조회 API 구현 (#84)

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* chore [#67] DB 쿼리 값 확인을 위해 p6spy 의존성 추가

* feat [#67] 값 전달을 위해 DTO 생성

* refactor [#67] 값 타입 변경을 위해 엔티티 파일 수정

* fix [#67] artistIds 아이디 수집 변수에 Artist Id 값을 추가하는 것으로 변경

* feat [#85] 아티스트 검색 API 구현

* refactor [#87] 콘서트 정보 조회 API 변경에 따른 수정

* refactor [#89] 함수명을 명확히 수정, 조회 함수에 트랜잭션 readonly = true 추가

* feat [#89] 아티스트 좋아요 추가 API 구현

* refactor [#89] addArtistFavorite에서 artistId 최소값 제거

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 구현 (#95)

* feat [#91] 콘서트 좋아요 추가 API 추가

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 추가

* style [#92] 함수 위치 재배치

* feat [#92] 콘서트 좋아요 삭제 API 추가 (#97)

* feat [#92] 콘서트 좋아요 삭제 API 추가

* refactor [#92] 유저 서비스에 트랜잭션 추가 및 에러 응답 Unauthorized 설정 및 중복된 함수 제거

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 구현 (#95)

* feat [#91] 콘서트 좋아요 추가 API 추가

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 추가

* style [#92] 함수 위치 재배치

* feat [#92] 콘서트 좋아요 삭제 API 추가

* refactor [#92] 유저 서비스에 트랜잭션 추가 및 에러 응답 Unauthorized 설정 및 중복된 함수 제거

* feat [#92] 아티스트 접기/펼치기 기준 값 상수 추가

* refactor [#92] 아티스트 접기/펼치기 기준 값 상수 사용하도록 변경

* feat [#98] CORS 허용 도메인 추가

* refactor [#100] DateConvertor static 클래스로 변경

* feat [#83] 타임테이블에 등록된 페스티벌, 날짜 조회 (#96)

* feat [#67] 페스티벌 정보 조회 API 구현 (#84)

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* chore [#67] DB 쿼리 값 확인을 위해 p6spy 의존성 추가

* feat [#67] 값 전달을 위해 DTO 생성

* refactor [#67] 값 타입 변경을 위해 엔티티 파일 수정

* fix [#67] artistIds 아이디 수집 변수에 Artist Id 값을 추가하는 것으로 변경

* feat [#83] UserTimetable 컨트롤러 구현

* feat [#83] UserTimetableResponse api 응답값 구현

* feat [#83] UserTimetableFacade 구현

* feat [#83] UserTimetable Dto 구현

* feat [#83] UserTimetable service 구현

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 구현 (#95)

* feat [#91] 콘서트 좋아요 추가 API 추가

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 추가

* style [#92] 함수 위치 재배치

* feat [#92] 콘서트 좋아요 삭제 API 추가 (#97)

* feat [#92] 콘서트 좋아요 삭제 API 추가

* refactor [#92] 유저 서비스에 트랜잭션 추가 및 에러 응답 Unauthorized 설정 및 중복된 함수 제거

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 구현 (#95)

* feat [#91] 콘서트 좋아요 추가 API 추가

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 추가

* style [#92] 함수 위치 재배치

* feat [#92] 콘서트 좋아요 삭제 API 추가

* refactor [#92] 유저 서비스에 트랜잭션 추가 및 에러 응답 Unauthorized 설정 및 중복된 함수 제거

* feat [#92] 아티스트 접기/펼치기 기준 값 상수 추가

* refactor [#92] 아티스트 접기/펼치기 기준 값 상수 사용하도록 변경

* feat [#98] CORS 허용 도메인 추가

* refactor [#100] DateConvertor static 클래스로 변경

* feat [#67] 페스티벌 정보 조회 API 구현 (#84)

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* chore [#67] DB 쿼리 값 확인을 위해 p6spy 의존성 추가

* feat [#67] 값 전달을 위해 DTO 생성

* refactor [#67] 값 타입 변경을 위해 엔티티 파일 수정

* fix [#67] artistIds 아이디 수집 변수에 Artist Id 값을 추가하는 것으로 변경

* feat [#83] UserTimetable 컨트롤러 구현

* feat [#83] UserTimetableResponse api 응답값 구현

* feat [#83] UserTimetableFacade 구현

* feat [#83] UserTimetable Dto 구현

* feat [#83] UserTimetable service 구현

* 작업중

* feat [#83] 날짜 포맷팅 설정 추가

* feat [#83] s3핸들러 설정 추가

* style [#83] 오타 수정

---------

Co-authored-by: chyun <[email protected]>

* refactor [#105] 날짜 매핑 방법 변경

* refactor [#105] 날짜 매핑 방법 변경

* feat [#107] existsById 반환 값 boolean으로 변경 및 타임테이블 페스티벌 삭제 API 구현

* feat [#109] 공연(콘서트, 페스티벌) 정보 조회 날짜가 지나지 않았는지 검증 추가

* refactor [#109] 공연 좋아요 여부 조회 로직 분리

* refactor [#109] 공연, 아티스트 좋아요 여부 조회 로직 분리

* refactor [#109] 공연, 아티스트, 유저 존재 여부 조회 로직 분리

* style [#109] 주석 추가

* refactor [#109] 엔티티 존재 여부 메소드 분리

* fix [#109] 지난 페스티벌을 제외하고 타임테이블에 추가된 페스티벌을 조회하는 기능 추가

* style [#109] 불필요한 import 제거

* feat [#111] 타임테이블에 페스티벌 추가 API 구현 (#112)

* feat [#111] 타임테이블 페스티벌 추가 요청값 생성

* feat [#111] 요청값 전달 DTO 작성

* feat [#111] 타임테이블에 페스티벌 추가 API 구현

* feat [#111] 타임테이블 에러 응답 메세지 작성

* refactor [#111] 에러 응답 메세지 @Getter 사용으로 변경

* refactor [#111] 현재 페스티벌과 추가할 페스티벌 변수 위치 변경

* refactor [#111] 사용하지않는 함수 제거

* refactor [#111] 에러 메시지에 @Getter 사용 및 Enum 타입 생성자에 private 접근지정자 제거

* feat [#109] 공연(콘서트, 페스티벌) 정보 조회 날짜가 지나지 않았는지 검증 추가

* refactor [#109] 공연 좋아요 여부 조회 로직 분리

* refactor [#109] 공연, 아티스트 좋아요 여부 조회 로직 분리

* refactor [#109] 공연, 아티스트, 유저 존재 여부 조회 로직 분리

* style [#109] 주석 추가

* refactor [#109] 엔티티 존재 여부 메소드 분리

* fix [#109] 지난 페스티벌을 제외하고 타임테이블에 추가된 페스티벌을 조회하는 기능 추가

* style [#109] 불필요한 import 제거

* feat [#111] 타임테이블 페스티벌 추가 요청값 생성

* feat [#111] 요청값 전달 DTO 작성

* feat [#111] 타임테이블에 페스티벌 추가 API 구현

* feat [#111] 타임테이블 에러 응답 메세지 작성

* refactor [#111] 에러 응답 메세지 @Getter 사용으로 변경

* refactor [#111] 현재 페스티벌과 추가할 페스티벌 변수 위치 변경

* refactor [#111] 사용하지않는 함수 제거

* refactor [#111] 에러 메시지에 @Getter 사용 및 Enum 타입 생성자에 private 접근지정자 제거

* fix [#111] TimetableFestivalRepository에 findByUserId 함수 추가

* refactor [#111] 타임테이블에 더 이상 추가할 수 없을 때 에러 메세지 변경

* fix [#114] SpotifyAPIHandler 예외 처리 수정

* refactor [#113] 메세지 파일 롬복 어노테이션 사용하도록 변경

* feat [#113] 파사드 계층 관심 공연 DTO 작성

* feat [#113] 공연 타입 상수 파일 작성

* feat [#113] 작업 중간 저장

* feat [#113] 관심 공연 리스트 조회 API 구현

* feat [#117] 아티스트 좋아요 추가 API에 아티스트 아이디가 존재하는지 검증하는 로직 추가

* feat [#117] ConfetiException 글로벌 핸들러 추가

* feat [#117] 아티스트 아이디가 잘못되었을 때도 Not Found로 변경

* fix [#121] 토큰 재발급 로직 추가

* fix [#119] 타임테이블에 페스티벌 추가 시 선택 여부 값 추가

* refactor [#119] ERD 구조 변경에 따른 엔티티 파일 수정

* refactor [#119] 페스티벌 조회 성능 최적화

* refactor [#119] 패치 조인 쿼리 수정

* fix [#119] 타임테이블에 페스티벌 추가/삭제 시 선택 여부 값 추가/삭제 및 ERD 수정에 따른 엔티티 변경

* fix [#127] SpotifyAPIHandler 리프레시 토큰 재발급 로직 재구성 및 마지막 발매 일자 가져오는 방법 변경

* style [#127] 사용하지 않는 변수 제거

* feat [#41] PerformanceController, Response 구현

* feat [#41] PerformanceFacade 구현

* feat [#41] PerformanceDTO 구현

* feat [#41] PerformanceService, Repository 구현

* refactor [#41] 코드리뷰 반영

* feat [#126] 커서 정보 담을 DTO 작성

* feat [#126] 추가할 페스티벌 응답 Response 작성

* feat [#126] 커서 베이스 페이징에 사용할 데이터 DTO 생성

* feat [#126] 커서 베이스 페이징 쿼리 작성

* feat [#126] 커서 베이스 페이징 응답 DTO 생성

* feat [#126] 커서 베이스 페이징 데이터 규격 유틸 작성

* feat [#126] 예정된 페스티벌 목록 조회 API 구현

* refactor [#126] API 명세서에 따라 사이즈 값을 서버에서 설정하도록 변경

* refactor [#126] 커서 대상 페스티벌 조회

* fix [#137] CORS 허용 도메인에 클라이언트 www 도메인 추가

* feat [#104] 타임테이블에 등록된 시간표 조회 Api 구현 (#132)

* feat [#104] UserTimetableController 및 응답값 구현

* feat [#104] UserTimetableFacade 및 DTO 구현

* feat [#104] FestivalDateService 구현

* feat [#104] FestivalDateRepository 구현

* feat [#126] 커서 정보 담을 DTO 작성

* feat [#126] 추가할 페스티벌 응답 Response 작성

* feat [#126] 커서 베이스 페이징에 사용할 데이터 DTO 생성

* feat [#126] 커서 베이스 페이징 쿼리 작성

* feat [#126] 커서 베이스 페이징 응답 DTO 생성

* feat [#126] 커서 베이스 페이징 데이터 규격 유틸 작성

* feat [#126] 예정된 페스티벌 목록 조회 API 구현

* refactor [#126] API 명세서에 따라 사이즈 값을 서버에서 설정하도록 변경

* refactor [#126] 커서 대상 페스티벌 조회

* feat [#104] UserTimetableFacade 및 DTO 구현

* refactor [#104] 원시타입으로 수정

* refactor [#104] Optional 추가

* style [#104] 리베이스 중 중복된 코드 삭제

---------

Co-authored-by: chyun <[email protected]>

* fix [#140] 날짜 값 변경해서 조회

* fix [#145] 페스티벌 생성 요청 형식 수정

* refactor [#143] 콘서트, 페스티벌 필드 값 길이 변경

* refactor [#143] 콘서트, 페스티벌 필드 값 nullable 변경

* fix [#143] ERD 변경에 따라 값 수정

* fix [#143] 기존 DTO를 사용한 Repository 이름을 DTORepository로 수정

* fix [#143] 누락된 수정사항 반영

* feat [#151] CREATED 응답 메세지 추가

* feat [#151] 페스티벌 생성 API에 Performances 테이블 데이터 추가 구현

* fix [#153] 콘서트 정보 조회 API에 좋아요 정보가 전달되지 않는 것을 수정

* feat [#144] 타임테이블 시간표 수정 Request 작성

* feat [#144] 타임테이블 시간표 수정 DTO 추가

* feat [#144] 타임테이블 시간표 수정 facade 추가

* feat [#144] 타임테이블 시간표 수정 서비스 추가

* refactor [#144] saveAll 삭제

* refactor [#156] 타임테이블 시간표 조회 응답값 userTimetableId로 수정

* refactor [#159] 스포티파이에 존재하지 않는 아티스트인 경우 404 응답 처리

* fix [#162] 좋아요가 있을 때 409 반환

* feat [#136] 최신 등록 순 공연 정보 조회 API 구현 (#158)

* feat [#136] 최신 공연 정보 DTO 작성

* feat [#136] 최신 공연 조회 함수 추가

* feat [#136] 최신 공연 조회 함수 구현

* feat [#136] 콘서트/페스티벌 아이디와 타입으로 공연 아이디 요청/응답 DTO 작성

* feat [#136] 파사드 계층에서 컨트롤러 계층 최신 공연 값 DTO 작성

* feat [#136] 콘서트/페스티벌 아이디, 공연 타입으로 공연 아이디 조회하는 로직 구현

* style [#136] 사용하지 않는 파일 삭제

* feat [#136] 최신 공연 정보 조회 응답 DTO 작성

* feat [#136] 파사드 계층 최신 공연 정보 조회 데이터 DTO 수정

* feat [#136] 좋아요 정보 없을 때 최신 공연 정보 조회 구현

* feat [#136] 좋아요 정보 있는 때 최신 공연 정보 조회 구현

* refactor [#156] 타임테이블 시간표 조회 응답값 userTimetableId로 수정

* feat [#136] 최신 공연 정보 DTO 작성

* feat [#136] 최신 공연 조회 함수 추가

* feat [#136] 최신 공연 조회 함수 구현

* feat [#136] 콘서트/페스티벌 아이디와 타입으로 공연 아이디 요청/응답 DTO 작성

* feat [#136] 파사드 계층에서 컨트롤러 계층 최신 공연 값 DTO 작성

* feat [#136] 콘서트/페스티벌 아이디, 공연 타입으로 공연 아이디 조회하는 로직 구현

* style [#136] 사용하지 않는 파일 삭제

* feat [#136] 최신 공연 정보 조회 응답 DTO 작성

* feat [#136] 파사드 계층 최신 공연 정보 조회 데이터 DTO 수정

* feat [#136] 좋아요 정보 없을 때 최신 공연 정보 조회 구현

* feat [#136] 좋아요 정보 있는 때 최신 공연 정보 조회 구현

* refactor [#159] 스포티파이에 존재하지 않는 아티스트인 경우 404 응답 처리

* feat [#136] 최신 공연 정보 DTO 작성

* feat [#136] 최신 공연 조회 함수 추가

* feat [#136] 최신 공연 조회 함수 구현

* feat [#136] 콘서트/페스티벌 아이디와 타입으로 공연 아이디 요청/응답 DTO 작성

* feat [#136] 파사드 계층에서 컨트롤러 계층 최신 공연 값 DTO 작성

* feat [#136] 콘서트/페스티벌 아이디, 공연 타입으로 공연 아이디 조회하는 로직 구현

* style [#136] 사용하지 않는 파일 삭제

* feat [#136] 최신 공연 정보 조회 응답 DTO 작성

* feat [#136] 파사드 계층 최신 공연 정보 조회 데이터 DTO 수정

* feat [#136] 좋아요 정보 없을 때 최신 공연 정보 조회 구현

* feat [#136] 좋아요 정보 있는 때 최신 공연 정보 조회 구현

* feat [#136] 최신 공연 조회 함수 구현

* feat [#136] 파사드 계층에서 컨트롤러 계층 최신 공연 값 DTO 작성

* feat [#136] 콘서트/페스티벌 아이디, 공연 타입으로 공연 아이디 조회하는 로직 구현

* feat [#136] 파사드 계층 최신 공연 정보 조회 데이터 DTO 수정

* feat [#136] 좋아요 정보 없을 때 최신 공연 정보 조회 구현

* feat [#136] 좋아요 정보 있는 때 최신 공연 정보 조회 구현

---------

Co-authored-by: ivoryeee <[email protected]>

* fix [#164] 트랜잭션 추가

* refactor [#167] 컨트롤러 계층에서 url 생성

* fix [#169] 타임테이블 조회 쿼리에 @param 어노테이션 추가

* fix [#169] userTimetableMapper에 FestivalTimeId를 키 값으로 설정

* fix [#172] 이미 추가한 페스티벌은 조회되지 않도록 수정

* feat [#176] CORS 허용 도메인에 클라이언트 IP 추가

* refactor [#176] 아티스트 공연 시작 시간값 추가

* feat [#133] cursorDTO 생성

* feat [#133] cursorRepository 구현

* feat [#133] PerformanceService 구현

* feat [#133] PerformanceFacade 구현

* feat [#133] Performance 응답값 및 DTO 구현

* feat [#133] Performance 컨트롤러 구현

* refactor [#133] ConcertFavoriteService readOnly 추가

* refactor [#133] DTO에서의 posterUrl posterPath로 변수명 수정

* refactor [#133] Repository 내 쿼리문 수정

* refactor [#133] artistStartAt 수정

* fix [#180] CORS 허용 메소드에 PATCH 추가 (#181)

* fix [#180] CORS 허용 메소드에 PATCH 추가

* feat [#133] cursorDTO 생성

* feat [#133] cursorRepository 구현

* feat [#133] PerformanceService 구현

* feat [#133] PerformanceFacade 구현

* feat [#133] Performance 응답값 및 DTO 구현

* feat [#133] Performance 컨트롤러 구현

* refactor [#133] ConcertFavoriteService readOnly 추가

* refactor [#133] DTO에서의 posterUrl posterPath로 변수명 수정

* refactor [#133] Repository 내 쿼리문 수정

* refactor [#133] artistStartAt 수정

* fix [#180] CORS 허용 메소드에 PATCH 추가

---------

Co-authored-by: ivoryeee <[email protected]>

* fix [#183] 관심 있는 아티스트 목록 조회 개수 수정

* fix [#186] 콘서트 생성 API 구현

* fix [#190] 변경된 컬럼값이 적용되지 않은 것을 수정

* fix [#189] 아티스트 검색 결과가 없을 경우 NULL 반환

* fix [#194] 기존 아티스트 아이디 값 조회 로직 변경

* fix [#197] 공연 정보가 없는 아티스트를 좋아요 했을 때 전체 대상으로 조회하도록 변경

* fix [#199] Spotify API 아티스트 조회 시 아이디가 50개 넘어가면 나눠서 조회하도록 변경

* fix [#202] 콘서트와 콘서트 아티스트 영속 생명주기 동기화

* refactor [#201] 예정된 공연 총 개수 조회하도록 로직 및 응답값 수정

* refactor [#201] dto 반환 로직 및 네이밍 수정

* fix [#201] 비로그인, 좋아요 정보 없을 때 고정된 공연 배너 출력

---------

Co-authored-by: ivoryeee <[email protected]>
Co-authored-by: Ivoryeee <[email protected]>
ch1hyun added a commit that referenced this pull request Jan 24, 2025
* style [#56] 엔터 추가

* feat [#56] 콘서트 정보 조회 API 구현

* refactor [#62] 매개변수가 하나인 함수 이름을 from으로 변경

* refactor [#62] 작성된 예외 처리 클래스로 변경

* hotfix [#69] ArtistResolver에서 같은 객체를 계속 탐색하는 것을 수정

* fix [#76] ArtistResolver의 load 함수에서 target이 리스트 타입인 경우 탐색 가능하도록 수정

* style [#76] print 함수 제거

* hotfix [#81] ArtistResolver 수동으로 매핑하는 방법으로 변경

* style [#81] 주석 추가

* feat [#78] 임시 페스티벌 생성 API 구현

* feat [#57] ArtistFavoriteController 구현

* feat [#57] UserFavoriteFacade 구현

* feat [#57] ArtistFavoriteService, Repository 구현

* feat [#57] 아티스트 목록 최대 3개만 조회하도록 제한

* refactor [#57] 메서드 of->from 변경

* refactor [#57] 인자로 user이 아닌 userId 불러오도록 변경

* style [#57] 필요없는 코드 삭제

* fix [#57] 메서드 of->from 변경

* feat [#67] 페스티벌 정보 조회 API 구현 (#84)

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* chore [#67] DB 쿼리 값 확인을 위해 p6spy 의존성 추가

* feat [#67] 값 전달을 위해 DTO 생성

* refactor [#67] 값 타입 변경을 위해 엔티티 파일 수정

* fix [#67] artistIds 아이디 수집 변수에 Artist Id 값을 추가하는 것으로 변경

* feat [#85] 아티스트 검색 API 구현

* refactor [#87] 콘서트 정보 조회 API 변경에 따른 수정

* refactor [#89] 함수명을 명확히 수정, 조회 함수에 트랜잭션 readonly = true 추가

* feat [#89] 아티스트 좋아요 추가 API 구현

* refactor [#89] addArtistFavorite에서 artistId 최소값 제거

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 구현 (#95)

* feat [#91] 콘서트 좋아요 추가 API 추가

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 추가

* style [#92] 함수 위치 재배치

* feat [#92] 콘서트 좋아요 삭제 API 추가 (#97)

* feat [#92] 콘서트 좋아요 삭제 API 추가

* refactor [#92] 유저 서비스에 트랜잭션 추가 및 에러 응답 Unauthorized 설정 및 중복된 함수 제거

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 구현 (#95)

* feat [#91] 콘서트 좋아요 추가 API 추가

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 추가

* style [#92] 함수 위치 재배치

* feat [#92] 콘서트 좋아요 삭제 API 추가

* refactor [#92] 유저 서비스에 트랜잭션 추가 및 에러 응답 Unauthorized 설정 및 중복된 함수 제거

* feat [#92] 아티스트 접기/펼치기 기준 값 상수 추가

* refactor [#92] 아티스트 접기/펼치기 기준 값 상수 사용하도록 변경

* feat [#98] CORS 허용 도메인 추가

* refactor [#100] DateConvertor static 클래스로 변경

* feat [#83] 타임테이블에 등록된 페스티벌, 날짜 조회 (#96)

* feat [#67] 페스티벌 정보 조회 API 구현 (#84)

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* chore [#67] DB 쿼리 값 확인을 위해 p6spy 의존성 추가

* feat [#67] 값 전달을 위해 DTO 생성

* refactor [#67] 값 타입 변경을 위해 엔티티 파일 수정

* fix [#67] artistIds 아이디 수집 변수에 Artist Id 값을 추가하는 것으로 변경

* feat [#83] UserTimetable 컨트롤러 구현

* feat [#83] UserTimetableResponse api 응답값 구현

* feat [#83] UserTimetableFacade 구현

* feat [#83] UserTimetable Dto 구현

* feat [#83] UserTimetable service 구현

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 구현 (#95)

* feat [#91] 콘서트 좋아요 추가 API 추가

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 추가

* style [#92] 함수 위치 재배치

* feat [#92] 콘서트 좋아요 삭제 API 추가 (#97)

* feat [#92] 콘서트 좋아요 삭제 API 추가

* refactor [#92] 유저 서비스에 트랜잭션 추가 및 에러 응답 Unauthorized 설정 및 중복된 함수 제거

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 구현 (#95)

* feat [#91] 콘서트 좋아요 추가 API 추가

* feat [#90] 아티스트 좋아요 삭제 API 구현

* refactor [#90] 좋아요를 누르지 않았을 때 NOT FOUND 응답으로 변경

* feat [#91] 콘서트 좋아요 추가 API 추가

* style [#92] 함수 위치 재배치

* feat [#92] 콘서트 좋아요 삭제 API 추가

* refactor [#92] 유저 서비스에 트랜잭션 추가 및 에러 응답 Unauthorized 설정 및 중복된 함수 제거

* feat [#92] 아티스트 접기/펼치기 기준 값 상수 추가

* refactor [#92] 아티스트 접기/펼치기 기준 값 상수 사용하도록 변경

* feat [#98] CORS 허용 도메인 추가

* refactor [#100] DateConvertor static 클래스로 변경

* feat [#67] 페스티벌 정보 조회 API 구현 (#84)

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* feat [#67] 페스티벌 정보 조회 API 응답 DTO 생성

* feat [#67] 페스티벌 정보 조회 API 구현

* chore [#67] DB 쿼리 값 확인을 위해 p6spy 의존성 추가

* feat [#67] 값 전달을 위해 DTO 생성

* refactor [#67] 값 타입 변경을 위해 엔티티 파일 수정

* fix [#67] artistIds 아이디 수집 변수에 Artist Id 값을 추가하는 것으로 변경

* feat [#83] UserTimetable 컨트롤러 구현

* feat [#83] UserTimetableResponse api 응답값 구현

* feat [#83] UserTimetableFacade 구현

* feat [#83] UserTimetable Dto 구현

* feat [#83] UserTimetable service 구현

* 작업중

* feat [#83] 날짜 포맷팅 설정 추가

* feat [#83] s3핸들러 설정 추가

* style [#83] 오타 수정

---------

Co-authored-by: chyun <[email protected]>

* refactor [#105] 날짜 매핑 방법 변경

* refactor [#105] 날짜 매핑 방법 변경

* feat [#107] existsById 반환 값 boolean으로 변경 및 타임테이블 페스티벌 삭제 API 구현

* feat [#109] 공연(콘서트, 페스티벌) 정보 조회 날짜가 지나지 않았는지 검증 추가

* refactor [#109] 공연 좋아요 여부 조회 로직 분리

* refactor [#109] 공연, 아티스트 좋아요 여부 조회 로직 분리

* refactor [#109] 공연, 아티스트, 유저 존재 여부 조회 로직 분리

* style [#109] 주석 추가

* refactor [#109] 엔티티 존재 여부 메소드 분리

* fix [#109] 지난 페스티벌을 제외하고 타임테이블에 추가된 페스티벌을 조회하는 기능 추가

* style [#109] 불필요한 import 제거

* feat [#111] 타임테이블에 페스티벌 추가 API 구현 (#112)

* feat [#111] 타임테이블 페스티벌 추가 요청값 생성

* feat [#111] 요청값 전달 DTO 작성

* feat [#111] 타임테이블에 페스티벌 추가 API 구현

* feat [#111] 타임테이블 에러 응답 메세지 작성

* refactor [#111] 에러 응답 메세지 @Getter 사용으로 변경

* refactor [#111] 현재 페스티벌과 추가할 페스티벌 변수 위치 변경

* refactor [#111] 사용하지않는 함수 제거

* refactor [#111] 에러 메시지에 @Getter 사용 및 Enum 타입 생성자에 private 접근지정자 제거

* feat [#109] 공연(콘서트, 페스티벌) 정보 조회 날짜가 지나지 않았는지 검증 추가

* refactor [#109] 공연 좋아요 여부 조회 로직 분리

* refactor [#109] 공연, 아티스트 좋아요 여부 조회 로직 분리

* refactor [#109] 공연, 아티스트, 유저 존재 여부 조회 로직 분리

* style [#109] 주석 추가

* refactor [#109] 엔티티 존재 여부 메소드 분리

* fix [#109] 지난 페스티벌을 제외하고 타임테이블에 추가된 페스티벌을 조회하는 기능 추가

* style [#109] 불필요한 import 제거

* feat [#111] 타임테이블 페스티벌 추가 요청값 생성

* feat [#111] 요청값 전달 DTO 작성

* feat [#111] 타임테이블에 페스티벌 추가 API 구현

* feat [#111] 타임테이블 에러 응답 메세지 작성

* refactor [#111] 에러 응답 메세지 @Getter 사용으로 변경

* refactor [#111] 현재 페스티벌과 추가할 페스티벌 변수 위치 변경

* refactor [#111] 사용하지않는 함수 제거

* refactor [#111] 에러 메시지에 @Getter 사용 및 Enum 타입 생성자에 private 접근지정자 제거

* fix [#111] TimetableFestivalRepository에 findByUserId 함수 추가

* refactor [#111] 타임테이블에 더 이상 추가할 수 없을 때 에러 메세지 변경

* fix [#114] SpotifyAPIHandler 예외 처리 수정

* refactor [#113] 메세지 파일 롬복 어노테이션 사용하도록 변경

* feat [#113] 파사드 계층 관심 공연 DTO 작성

* feat [#113] 공연 타입 상수 파일 작성

* feat [#113] 작업 중간 저장

* feat [#113] 관심 공연 리스트 조회 API 구현

* feat [#117] 아티스트 좋아요 추가 API에 아티스트 아이디가 존재하는지 검증하는 로직 추가

* feat [#117] ConfetiException 글로벌 핸들러 추가

* feat [#117] 아티스트 아이디가 잘못되었을 때도 Not Found로 변경

* fix [#121] 토큰 재발급 로직 추가

* fix [#119] 타임테이블에 페스티벌 추가 시 선택 여부 값 추가

* refactor [#119] ERD 구조 변경에 따른 엔티티 파일 수정

* refactor [#119] 페스티벌 조회 성능 최적화

* refactor [#119] 패치 조인 쿼리 수정

* fix [#119] 타임테이블에 페스티벌 추가/삭제 시 선택 여부 값 추가/삭제 및 ERD 수정에 따른 엔티티 변경

* fix [#127] SpotifyAPIHandler 리프레시 토큰 재발급 로직 재구성 및 마지막 발매 일자 가져오는 방법 변경

* style [#127] 사용하지 않는 변수 제거

* feat [#41] PerformanceController, Response 구현

* feat [#41] PerformanceFacade 구현

* feat [#41] PerformanceDTO 구현

* feat [#41] PerformanceService, Repository 구현

* refactor [#41] 코드리뷰 반영

* feat [#126] 커서 정보 담을 DTO 작성

* feat [#126] 추가할 페스티벌 응답 Response 작성

* feat [#126] 커서 베이스 페이징에 사용할 데이터 DTO 생성

* feat [#126] 커서 베이스 페이징 쿼리 작성

* feat [#126] 커서 베이스 페이징 응답 DTO 생성

* feat [#126] 커서 베이스 페이징 데이터 규격 유틸 작성

* feat [#126] 예정된 페스티벌 목록 조회 API 구현

* refactor [#126] API 명세서에 따라 사이즈 값을 서버에서 설정하도록 변경

* refactor [#126] 커서 대상 페스티벌 조회

* fix [#137] CORS 허용 도메인에 클라이언트 www 도메인 추가

* feat [#104] 타임테이블에 등록된 시간표 조회 Api 구현 (#132)

* feat [#104] UserTimetableController 및 응답값 구현

* feat [#104] UserTimetableFacade 및 DTO 구현

* feat [#104] FestivalDateService 구현

* feat [#104] FestivalDateRepository 구현

* feat [#126] 커서 정보 담을 DTO 작성

* feat [#126] 추가할 페스티벌 응답 Response 작성

* feat [#126] 커서 베이스 페이징에 사용할 데이터 DTO 생성

* feat [#126] 커서 베이스 페이징 쿼리 작성

* feat [#126] 커서 베이스 페이징 응답 DTO 생성

* feat [#126] 커서 베이스 페이징 데이터 규격 유틸 작성

* feat [#126] 예정된 페스티벌 목록 조회 API 구현

* refactor [#126] API 명세서에 따라 사이즈 값을 서버에서 설정하도록 변경

* refactor [#126] 커서 대상 페스티벌 조회

* feat [#104] UserTimetableFacade 및 DTO 구현

* refactor [#104] 원시타입으로 수정

* refactor [#104] Optional 추가

* style [#104] 리베이스 중 중복된 코드 삭제

---------

Co-authored-by: chyun <[email protected]>

* fix [#140] 날짜 값 변경해서 조회

* fix [#145] 페스티벌 생성 요청 형식 수정

* refactor [#143] 콘서트, 페스티벌 필드 값 길이 변경

* refactor [#143] 콘서트, 페스티벌 필드 값 nullable 변경

* fix [#143] ERD 변경에 따라 값 수정

* fix [#143] 기존 DTO를 사용한 Repository 이름을 DTORepository로 수정

* fix [#143] 누락된 수정사항 반영

* feat [#151] CREATED 응답 메세지 추가

* feat [#151] 페스티벌 생성 API에 Performances 테이블 데이터 추가 구현

* fix [#153] 콘서트 정보 조회 API에 좋아요 정보가 전달되지 않는 것을 수정

* feat [#144] 타임테이블 시간표 수정 Request 작성

* feat [#144] 타임테이블 시간표 수정 DTO 추가

* feat [#144] 타임테이블 시간표 수정 facade 추가

* feat [#144] 타임테이블 시간표 수정 서비스 추가

* refactor [#144] saveAll 삭제

* refactor [#156] 타임테이블 시간표 조회 응답값 userTimetableId로 수정

* refactor [#159] 스포티파이에 존재하지 않는 아티스트인 경우 404 응답 처리

* fix [#162] 좋아요가 있을 때 409 반환

* feat [#136] 최신 등록 순 공연 정보 조회 API 구현 (#158)

* feat [#136] 최신 공연 정보 DTO 작성

* feat [#136] 최신 공연 조회 함수 추가

* feat [#136] 최신 공연 조회 함수 구현

* feat [#136] 콘서트/페스티벌 아이디와 타입으로 공연 아이디 요청/응답 DTO 작성

* feat [#136] 파사드 계층에서 컨트롤러 계층 최신 공연 값 DTO 작성

* feat [#136] 콘서트/페스티벌 아이디, 공연 타입으로 공연 아이디 조회하는 로직 구현

* style [#136] 사용하지 않는 파일 삭제

* feat [#136] 최신 공연 정보 조회 응답 DTO 작성

* feat [#136] 파사드 계층 최신 공연 정보 조회 데이터 DTO 수정

* feat [#136] 좋아요 정보 없을 때 최신 공연 정보 조회 구현

* feat [#136] 좋아요 정보 있는 때 최신 공연 정보 조회 구현

* refactor [#156] 타임테이블 시간표 조회 응답값 userTimetableId로 수정

* feat [#136] 최신 공연 정보 DTO 작성

* feat [#136] 최신 공연 조회 함수 추가

* feat [#136] 최신 공연 조회 함수 구현

* feat [#136] 콘서트/페스티벌 아이디와 타입으로 공연 아이디 요청/응답 DTO 작성

* feat [#136] 파사드 계층에서 컨트롤러 계층 최신 공연 값 DTO 작성

* feat [#136] 콘서트/페스티벌 아이디, 공연 타입으로 공연 아이디 조회하는 로직 구현

* style [#136] 사용하지 않는 파일 삭제

* feat [#136] 최신 공연 정보 조회 응답 DTO 작성

* feat [#136] 파사드 계층 최신 공연 정보 조회 데이터 DTO 수정

* feat [#136] 좋아요 정보 없을 때 최신 공연 정보 조회 구현

* feat [#136] 좋아요 정보 있는 때 최신 공연 정보 조회 구현

* refactor [#159] 스포티파이에 존재하지 않는 아티스트인 경우 404 응답 처리

* feat [#136] 최신 공연 정보 DTO 작성

* feat [#136] 최신 공연 조회 함수 추가

* feat [#136] 최신 공연 조회 함수 구현

* feat [#136] 콘서트/페스티벌 아이디와 타입으로 공연 아이디 요청/응답 DTO 작성

* feat [#136] 파사드 계층에서 컨트롤러 계층 최신 공연 값 DTO 작성

* feat [#136] 콘서트/페스티벌 아이디, 공연 타입으로 공연 아이디 조회하는 로직 구현

* style [#136] 사용하지 않는 파일 삭제

* feat [#136] 최신 공연 정보 조회 응답 DTO 작성

* feat [#136] 파사드 계층 최신 공연 정보 조회 데이터 DTO 수정

* feat [#136] 좋아요 정보 없을 때 최신 공연 정보 조회 구현

* feat [#136] 좋아요 정보 있는 때 최신 공연 정보 조회 구현

* feat [#136] 최신 공연 조회 함수 구현

* feat [#136] 파사드 계층에서 컨트롤러 계층 최신 공연 값 DTO 작성

* feat [#136] 콘서트/페스티벌 아이디, 공연 타입으로 공연 아이디 조회하는 로직 구현

* feat [#136] 파사드 계층 최신 공연 정보 조회 데이터 DTO 수정

* feat [#136] 좋아요 정보 없을 때 최신 공연 정보 조회 구현

* feat [#136] 좋아요 정보 있는 때 최신 공연 정보 조회 구현

---------

Co-authored-by: ivoryeee <[email protected]>

* fix [#164] 트랜잭션 추가

* refactor [#167] 컨트롤러 계층에서 url 생성

* fix [#169] 타임테이블 조회 쿼리에 @param 어노테이션 추가

* fix [#169] userTimetableMapper에 FestivalTimeId를 키 값으로 설정

* fix [#172] 이미 추가한 페스티벌은 조회되지 않도록 수정

* feat [#176] CORS 허용 도메인에 클라이언트 IP 추가

* refactor [#176] 아티스트 공연 시작 시간값 추가

* feat [#133] cursorDTO 생성

* feat [#133] cursorRepository 구현

* feat [#133] PerformanceService 구현

* feat [#133] PerformanceFacade 구현

* feat [#133] Performance 응답값 및 DTO 구현

* feat [#133] Performance 컨트롤러 구현

* refactor [#133] ConcertFavoriteService readOnly 추가

* refactor [#133] DTO에서의 posterUrl posterPath로 변수명 수정

* refactor [#133] Repository 내 쿼리문 수정

* refactor [#133] artistStartAt 수정

* fix [#180] CORS 허용 메소드에 PATCH 추가 (#181)

* fix [#180] CORS 허용 메소드에 PATCH 추가

* feat [#133] cursorDTO 생성

* feat [#133] cursorRepository 구현

* feat [#133] PerformanceService 구현

* feat [#133] PerformanceFacade 구현

* feat [#133] Performance 응답값 및 DTO 구현

* feat [#133] Performance 컨트롤러 구현

* refactor [#133] ConcertFavoriteService readOnly 추가

* refactor [#133] DTO에서의 posterUrl posterPath로 변수명 수정

* refactor [#133] Repository 내 쿼리문 수정

* refactor [#133] artistStartAt 수정

* fix [#180] CORS 허용 메소드에 PATCH 추가

---------

Co-authored-by: ivoryeee <[email protected]>

* fix [#183] 관심 있는 아티스트 목록 조회 개수 수정

* fix [#186] 콘서트 생성 API 구현

* fix [#190] 변경된 컬럼값이 적용되지 않은 것을 수정

* fix [#189] 아티스트 검색 결과가 없을 경우 NULL 반환

* fix [#194] 기존 아티스트 아이디 값 조회 로직 변경

* fix [#197] 공연 정보가 없는 아티스트를 좋아요 했을 때 전체 대상으로 조회하도록 변경

* fix [#199] Spotify API 아티스트 조회 시 아이디가 50개 넘어가면 나눠서 조회하도록 변경

* fix [#202] 콘서트와 콘서트 아티스트 영속 생명주기 동기화

* refactor [#201] 예정된 공연 총 개수 조회하도록 로직 및 응답값 수정

* refactor [#201] dto 반환 로직 및 네이밍 수정

* fix [#201] 비로그인, 좋아요 정보 없을 때 고정된 공연 배너 출력

* fix [#209] 예약 URL -> 배너 경로 가져오는 것으로 변경

---------

Co-authored-by: ivoryeee <[email protected]>
Co-authored-by: Ivoryeee <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[feat] 최신 등록 순 공연 정보 조회 API 구현
2 participants