-
Notifications
You must be signed in to change notification settings - Fork 1
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
index 추가 #33
Merged
Merged
index 추가 #33
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Grantzile
added a commit
that referenced
this pull request
Feb 2, 2025
* merge test - generate performancehallentity.kt * feat: searchPerformance * chore: 도커 컴포즈 dockerfile 작성해서 도커 이미지 잘 만들어지고 http 파일로 테스트까지 가능한 상태입니다 * modify searchPerformance * add: docker-compose * modify build.gradle.kts * add wildcard import in UserService.kt * change Performance attribute 'genre' to 'category' * change category to ENUM Type * add some Init Datas * add some Init Datas * assign posterimageURL * add: Entity 엔티티 작업중 * assign posterimageURL * add: SeatService 임시저장하겠습니다 * feat: SeatService 좌석 확인, 예매, 예매 취소 기능 구현 아직 동시성 처리 안됐습니다 * feat: Add Controller 컨트롤러 추가했습니다 곧 테스트 코드 추가해보겠습니다 * modify searchPerformance, GET요청은 RequestBody를 사용할 수 없다고 하여 다시 RequestParam을 사용하는 원래 방식으로 변경 * feat: SeatCreation performanceHallId와 type을 받아 좌석엔티티들을 자동으로 생성하는 서비스 함수와 performanceEventId를 받아 빈 예약 가능 엔티티들을 자동을 생성하는 서비스를 만들었습니다 추후 createPerformanceHall과 createPerformanceEvent함수를 수정해서 과정을 더 자동화할 수 있을 것 같습니다 * add: SeatIntegrationTest SeatIntegrationTest 만들었습니다 테스트 전부 통과하며 빌드 성공합니다 다만 테스트에 mysql 데이터베이스가 쓰이며 초기화가 자동으로 되지 않아 문제가 생기니 이는 개선이 필요합니다 * chore: use h2 while test application.yaml 파일을 테스트 코드를 위해 하나 추가해줬습니다 테스트코드에서 @transactional까지 사용한다면 테스트 코드가 서로 영향을 끼치지 않게 됩니다 * fix: Seat Reservation reservation 바뀐 정보 반영하도록 save 사용했고, Detail확인하는 영역은 컨트롤러까지 분리했습니다 * style: seat ktlint seat폴더의 파일들에 ktlint 적용 * modify MakeFile * 공연 검색 기능 구현 * fromEntity parameter change: receive Entities -> receive DTOs * modify searchPerformance endpoint URL * chore: makefile OS 따라서 다르게 작동하게 수정 * 공연 1개 상세 정보 반환 * minor modify: change how null type is handled * 초기 데이터 수정, 공연이벤트는 일단 공연 기간의 첫날과 마지막날만 생성하였음 * modify DataInitializer, SeatIntegrationTest * add PerformanceDetail Uri * make PerformanceItegrationTest.kt * feat: 예매 동시성 동시성 처리 완료 동시성 처리는 잘 되지만, 테스트 코드 작성이 많이 까다로움 * feat: Get My Reservation Api 유저가 로그인한채로 본인의 예약 목록을 확인할 수 있는 기능 추가 * feat: Seat Get TestCode Get API가 정상작동하는지 테스트코드 추가 * modify SearchPerformanceResponse * check auth for create, delete performance * check auth for create, delete performanceEvent, performanceHall * add posterUri attr to BriefPerformanceDetail * minor change * feat: 예매목록 Brief로 주기 기존에 id만 주던 것을 Brief 데이터의 리스트를 주는 것으로 수정 signin을 할 때 User도 같이 반환하도록 수정 * fix: 로그아웃, 토큰 재발급 버그 수정, 엔드포인트 수정 * add UserIdentityNotFoundException * modify PerformanceDurtion * backup <user> package to <archive/user_old> * modify endpoint * feat: 공연장 생성시 좌석도 함께 생성 * feat: seat 초기화 적용, 버그 수정 PerformanceHall이 생성될 때 Seat을 같이 생성, PerformanceEvent가 생성될 때 Reservation을 같이 생성하도록 변경 * 공연 카테고리 검색, 상세 조회, 생성, 삭제 기능 구현 (#15) * merge test - generate performancehallentity.kt * feat: searchPerformance * modify searchPerformance * modify build.gradle.kts * add wildcard import in UserService.kt * change Performance attribute 'genre' to 'category' * change category to ENUM Type * add some Init Datas * add some Init Datas * assign posterimageURL * assign posterimageURL * modify searchPerformance, GET요청은 RequestBody를 사용할 수 없다고 하여 다시 RequestParam을 사용하는 원래 방식으로 변경 * modify MakeFile * 공연 검색 기능 구현 * fromEntity parameter change: receive Entities -> receive DTOs * modify searchPerformance endpoint URL * 공연 1개 상세 정보 반환 * minor modify: change how null type is handled * 초기 데이터 수정, 공연이벤트는 일단 공연 기간의 첫날과 마지막날만 생성하였음 * modify DataInitializer, SeatIntegrationTest * add PerformanceDetail Uri * make PerformanceItegrationTest.kt * modify SearchPerformanceResponse * check auth for create, delete performance * check auth for create, delete performanceEvent, performanceHall * add posterUri attr to BriefPerformanceDetail * minor change * add UserIdentityNotFoundException * modify PerformanceDurtion * applying spring security * setup .env * feat: Find PerformanceEvent PerformanceId와 LocalDate로부터 PerformanceEventId를 반환하도록 추가 잘못된 PerformanceEventId로 빈좌석정보를 확인했을 때 에러 반환 * chore: .env 무시 * feat: Reinforce Simultaneous test code 동시에 여러 사람의 접근이 있어도 통과하는지 테스트 코드 추가 동시에 여러 사람이 서로 다른 좌석에 접근할 때 테스트 코드 추가 * 예매 동시성 처리, 로그인 엔드포인트 변경 (#18) * merge test - generate performancehallentity.kt * feat: searchPerformance * chore: 도커 컴포즈 dockerfile 작성해서 도커 이미지 잘 만들어지고 http 파일로 테스트까지 가능한 상태입니다 * modify searchPerformance * add: docker-compose * modify build.gradle.kts * add wildcard import in UserService.kt * change Performance attribute 'genre' to 'category' * change category to ENUM Type * add some Init Datas * add some Init Datas * assign posterimageURL * add: Entity 엔티티 작업중 * assign posterimageURL * add: SeatService 임시저장하겠습니다 * feat: SeatService 좌석 확인, 예매, 예매 취소 기능 구현 아직 동시성 처리 안됐습니다 * feat: Add Controller 컨트롤러 추가했습니다 곧 테스트 코드 추가해보겠습니다 * modify searchPerformance, GET요청은 RequestBody를 사용할 수 없다고 하여 다시 RequestParam을 사용하는 원래 방식으로 변경 * feat: SeatCreation performanceHallId와 type을 받아 좌석엔티티들을 자동으로 생성하는 서비스 함수와 performanceEventId를 받아 빈 예약 가능 엔티티들을 자동을 생성하는 서비스를 만들었습니다 추후 createPerformanceHall과 createPerformanceEvent함수를 수정해서 과정을 더 자동화할 수 있을 것 같습니다 * add: SeatIntegrationTest SeatIntegrationTest 만들었습니다 테스트 전부 통과하며 빌드 성공합니다 다만 테스트에 mysql 데이터베이스가 쓰이며 초기화가 자동으로 되지 않아 문제가 생기니 이는 개선이 필요합니다 * chore: use h2 while test application.yaml 파일을 테스트 코드를 위해 하나 추가해줬습니다 테스트코드에서 @transactional까지 사용한다면 테스트 코드가 서로 영향을 끼치지 않게 됩니다 * fix: Seat Reservation reservation 바뀐 정보 반영하도록 save 사용했고, Detail확인하는 영역은 컨트롤러까지 분리했습니다 * style: seat ktlint seat폴더의 파일들에 ktlint 적용 * modify MakeFile * 공연 검색 기능 구현 * fromEntity parameter change: receive Entities -> receive DTOs * modify searchPerformance endpoint URL * chore: makefile OS 따라서 다르게 작동하게 수정 * 공연 1개 상세 정보 반환 * minor modify: change how null type is handled * 초기 데이터 수정, 공연이벤트는 일단 공연 기간의 첫날과 마지막날만 생성하였음 * modify DataInitializer, SeatIntegrationTest * add PerformanceDetail Uri * make PerformanceItegrationTest.kt * feat: 예매 동시성 동시성 처리 완료 동시성 처리는 잘 되지만, 테스트 코드 작성이 많이 까다로움 * feat: Get My Reservation Api 유저가 로그인한채로 본인의 예약 목록을 확인할 수 있는 기능 추가 * feat: Seat Get TestCode Get API가 정상작동하는지 테스트코드 추가 * modify SearchPerformanceResponse * check auth for create, delete performance * check auth for create, delete performanceEvent, performanceHall * add posterUri attr to BriefPerformanceDetail * minor change * feat: 예매목록 Brief로 주기 기존에 id만 주던 것을 Brief 데이터의 리스트를 주는 것으로 수정 signin을 할 때 User도 같이 반환하도록 수정 * fix: 로그아웃, 토큰 재발급 버그 수정, 엔드포인트 수정 * add UserIdentityNotFoundException * modify PerformanceDurtion * feat: 공연장 생성시 좌석도 함께 생성 * feat: seat 초기화 적용, 버그 수정 PerformanceHall이 생성될 때 Seat을 같이 생성, PerformanceEvent가 생성될 때 Reservation을 같이 생성하도록 변경 * feat: Find PerformanceEvent PerformanceId와 LocalDate로부터 PerformanceEventId를 반환하도록 추가 잘못된 PerformanceEventId로 빈좌석정보를 확인했을 때 에러 반환 * chore: .env 무시 * feat: Reinforce Simultaneous test code 동시에 여러 사람의 접근이 있어도 통과하는지 테스트 코드 추가 동시에 여러 사람이 서로 다른 좌석에 접근할 때 테스트 코드 추가 --------- Co-authored-by: Dohyeon Kim <[email protected]> * fix .http localhost port number * apply spring security * apply spring security * minor * remove .env from tracked files * gitignore * remove unused method * minor * minor * add new line at EOF * modify jwtfilter comment * convert Instant to KoreanLocalDateTime in PerformanceEventDTO * add permission * feat: Review/Reply 연결 review와 reply 마무리 * comment: user 설명 추가 username과 password의 조건 설명 추가 * chore: 필요없는 코드 지우기 * feat: Sort Reviews and Replies GET을 통해 리뷰나 댓글을 조회할 때 최신순으로 반환한다 * Spring security 적용 (#19) * merge test - generate performancehallentity.kt * feat: searchPerformance * chore: 도커 컴포즈 dockerfile 작성해서 도커 이미지 잘 만들어지고 http 파일로 테스트까지 가능한 상태입니다 * modify searchPerformance * add: docker-compose * modify build.gradle.kts * add wildcard import in UserService.kt * change Performance attribute 'genre' to 'category' * change category to ENUM Type * add some Init Datas * add some Init Datas * assign posterimageURL * add: Entity 엔티티 작업중 * assign posterimageURL * add: SeatService 임시저장하겠습니다 * feat: SeatService 좌석 확인, 예매, 예매 취소 기능 구현 아직 동시성 처리 안됐습니다 * feat: Add Controller 컨트롤러 추가했습니다 곧 테스트 코드 추가해보겠습니다 * modify searchPerformance, GET요청은 RequestBody를 사용할 수 없다고 하여 다시 RequestParam을 사용하는 원래 방식으로 변경 * feat: SeatCreation performanceHallId와 type을 받아 좌석엔티티들을 자동으로 생성하는 서비스 함수와 performanceEventId를 받아 빈 예약 가능 엔티티들을 자동을 생성하는 서비스를 만들었습니다 추후 createPerformanceHall과 createPerformanceEvent함수를 수정해서 과정을 더 자동화할 수 있을 것 같습니다 * add: SeatIntegrationTest SeatIntegrationTest 만들었습니다 테스트 전부 통과하며 빌드 성공합니다 다만 테스트에 mysql 데이터베이스가 쓰이며 초기화가 자동으로 되지 않아 문제가 생기니 이는 개선이 필요합니다 * chore: use h2 while test application.yaml 파일을 테스트 코드를 위해 하나 추가해줬습니다 테스트코드에서 @transactional까지 사용한다면 테스트 코드가 서로 영향을 끼치지 않게 됩니다 * fix: Seat Reservation reservation 바뀐 정보 반영하도록 save 사용했고, Detail확인하는 영역은 컨트롤러까지 분리했습니다 * style: seat ktlint seat폴더의 파일들에 ktlint 적용 * modify MakeFile * 공연 검색 기능 구현 * fromEntity parameter change: receive Entities -> receive DTOs * modify searchPerformance endpoint URL * chore: makefile OS 따라서 다르게 작동하게 수정 * 공연 1개 상세 정보 반환 * minor modify: change how null type is handled * 초기 데이터 수정, 공연이벤트는 일단 공연 기간의 첫날과 마지막날만 생성하였음 * modify DataInitializer, SeatIntegrationTest * add PerformanceDetail Uri * make PerformanceItegrationTest.kt * feat: 예매 동시성 동시성 처리 완료 동시성 처리는 잘 되지만, 테스트 코드 작성이 많이 까다로움 * feat: Get My Reservation Api 유저가 로그인한채로 본인의 예약 목록을 확인할 수 있는 기능 추가 * feat: Seat Get TestCode Get API가 정상작동하는지 테스트코드 추가 * modify SearchPerformanceResponse * check auth for create, delete performance * check auth for create, delete performanceEvent, performanceHall * add posterUri attr to BriefPerformanceDetail * minor change * feat: 예매목록 Brief로 주기 기존에 id만 주던 것을 Brief 데이터의 리스트를 주는 것으로 수정 signin을 할 때 User도 같이 반환하도록 수정 * fix: 로그아웃, 토큰 재발급 버그 수정, 엔드포인트 수정 * add UserIdentityNotFoundException * modify PerformanceDurtion * backup <user> package to <archive/user_old> * modify endpoint * applying spring security * setup .env * fix .http localhost port number * apply spring security * apply spring security * minor * remove .env from tracked files * gitignore * remove unused method * minor * minor * add new line at EOF * modify jwtfilter comment * convert Instant to KoreanLocalDateTime in PerformanceEventDTO * add permission --------- Co-authored-by: ChungPlusPlus <[email protected]> * style: add new line at EOF * throw AuthenticateException when accessToken is not valid * Review & Reply (#20) * merge test - generate performancehallentity.kt * feat: searchPerformance * chore: 도커 컴포즈 dockerfile 작성해서 도커 이미지 잘 만들어지고 http 파일로 테스트까지 가능한 상태입니다 * modify searchPerformance * add: docker-compose * modify build.gradle.kts * add wildcard import in UserService.kt * change Performance attribute 'genre' to 'category' * change category to ENUM Type * add some Init Datas * add some Init Datas * assign posterimageURL * add: Entity 엔티티 작업중 * assign posterimageURL * add: SeatService 임시저장하겠습니다 * feat: SeatService 좌석 확인, 예매, 예매 취소 기능 구현 아직 동시성 처리 안됐습니다 * feat: Add Controller 컨트롤러 추가했습니다 곧 테스트 코드 추가해보겠습니다 * modify searchPerformance, GET요청은 RequestBody를 사용할 수 없다고 하여 다시 RequestParam을 사용하는 원래 방식으로 변경 * feat: SeatCreation performanceHallId와 type을 받아 좌석엔티티들을 자동으로 생성하는 서비스 함수와 performanceEventId를 받아 빈 예약 가능 엔티티들을 자동을 생성하는 서비스를 만들었습니다 추후 createPerformanceHall과 createPerformanceEvent함수를 수정해서 과정을 더 자동화할 수 있을 것 같습니다 * add: SeatIntegrationTest SeatIntegrationTest 만들었습니다 테스트 전부 통과하며 빌드 성공합니다 다만 테스트에 mysql 데이터베이스가 쓰이며 초기화가 자동으로 되지 않아 문제가 생기니 이는 개선이 필요합니다 * chore: use h2 while test application.yaml 파일을 테스트 코드를 위해 하나 추가해줬습니다 테스트코드에서 @transactional까지 사용한다면 테스트 코드가 서로 영향을 끼치지 않게 됩니다 * fix: Seat Reservation reservation 바뀐 정보 반영하도록 save 사용했고, Detail확인하는 영역은 컨트롤러까지 분리했습니다 * style: seat ktlint seat폴더의 파일들에 ktlint 적용 * modify MakeFile * 공연 검색 기능 구현 * fromEntity parameter change: receive Entities -> receive DTOs * modify searchPerformance endpoint URL * chore: makefile OS 따라서 다르게 작동하게 수정 * 공연 1개 상세 정보 반환 * minor modify: change how null type is handled * 초기 데이터 수정, 공연이벤트는 일단 공연 기간의 첫날과 마지막날만 생성하였음 * modify DataInitializer, SeatIntegrationTest * add PerformanceDetail Uri * make PerformanceItegrationTest.kt * feat: 예매 동시성 동시성 처리 완료 동시성 처리는 잘 되지만, 테스트 코드 작성이 많이 까다로움 * feat: Get My Reservation Api 유저가 로그인한채로 본인의 예약 목록을 확인할 수 있는 기능 추가 * feat: Seat Get TestCode Get API가 정상작동하는지 테스트코드 추가 * modify SearchPerformanceResponse * check auth for create, delete performance * check auth for create, delete performanceEvent, performanceHall * add posterUri attr to BriefPerformanceDetail * minor change * feat: 예매목록 Brief로 주기 기존에 id만 주던 것을 Brief 데이터의 리스트를 주는 것으로 수정 signin을 할 때 User도 같이 반환하도록 수정 * fix: 로그아웃, 토큰 재발급 버그 수정, 엔드포인트 수정 * add UserIdentityNotFoundException * modify PerformanceDurtion * feat: 공연장 생성시 좌석도 함께 생성 * feat: seat 초기화 적용, 버그 수정 PerformanceHall이 생성될 때 Seat을 같이 생성, PerformanceEvent가 생성될 때 Reservation을 같이 생성하도록 변경 * feat: Find PerformanceEvent PerformanceId와 LocalDate로부터 PerformanceEventId를 반환하도록 추가 잘못된 PerformanceEventId로 빈좌석정보를 확인했을 때 에러 반환 * chore: .env 무시 * feat: Reinforce Simultaneous test code 동시에 여러 사람의 접근이 있어도 통과하는지 테스트 코드 추가 동시에 여러 사람이 서로 다른 좌석에 접근할 때 테스트 코드 추가 * feat: Review/Reply 연결 review와 reply 마무리 * comment: user 설명 추가 username과 password의 조건 설명 추가 * chore: 필요없는 코드 지우기 * feat: Sort Reviews and Replies GET을 통해 리뷰나 댓글을 조회할 때 최신순으로 반환한다 * style: add new line at EOF --------- Co-authored-by: Dohyeon Kim <[email protected]> * save * Revert "Review & Reply (#20)" (#21) This reverts commit 9510784. * hotfix: test 안되던 오류 수정 * 빌드 안되던 버그 수정 (#22) * merge test - generate performancehallentity.kt * feat: searchPerformance * chore: 도커 컴포즈 dockerfile 작성해서 도커 이미지 잘 만들어지고 http 파일로 테스트까지 가능한 상태입니다 * modify searchPerformance * add: docker-compose * modify build.gradle.kts * add wildcard import in UserService.kt * change Performance attribute 'genre' to 'category' * change category to ENUM Type * add some Init Datas * add some Init Datas * assign posterimageURL * add: Entity 엔티티 작업중 * assign posterimageURL * add: SeatService 임시저장하겠습니다 * feat: SeatService 좌석 확인, 예매, 예매 취소 기능 구현 아직 동시성 처리 안됐습니다 * feat: Add Controller 컨트롤러 추가했습니다 곧 테스트 코드 추가해보겠습니다 * modify searchPerformance, GET요청은 RequestBody를 사용할 수 없다고 하여 다시 RequestParam을 사용하는 원래 방식으로 변경 * feat: SeatCreation performanceHallId와 type을 받아 좌석엔티티들을 자동으로 생성하는 서비스 함수와 performanceEventId를 받아 빈 예약 가능 엔티티들을 자동을 생성하는 서비스를 만들었습니다 추후 createPerformanceHall과 createPerformanceEvent함수를 수정해서 과정을 더 자동화할 수 있을 것 같습니다 * add: SeatIntegrationTest SeatIntegrationTest 만들었습니다 테스트 전부 통과하며 빌드 성공합니다 다만 테스트에 mysql 데이터베이스가 쓰이며 초기화가 자동으로 되지 않아 문제가 생기니 이는 개선이 필요합니다 * chore: use h2 while test application.yaml 파일을 테스트 코드를 위해 하나 추가해줬습니다 테스트코드에서 @transactional까지 사용한다면 테스트 코드가 서로 영향을 끼치지 않게 됩니다 * fix: Seat Reservation reservation 바뀐 정보 반영하도록 save 사용했고, Detail확인하는 영역은 컨트롤러까지 분리했습니다 * style: seat ktlint seat폴더의 파일들에 ktlint 적용 * modify MakeFile * 공연 검색 기능 구현 * fromEntity parameter change: receive Entities -> receive DTOs * modify searchPerformance endpoint URL * chore: makefile OS 따라서 다르게 작동하게 수정 * 공연 1개 상세 정보 반환 * minor modify: change how null type is handled * 초기 데이터 수정, 공연이벤트는 일단 공연 기간의 첫날과 마지막날만 생성하였음 * modify DataInitializer, SeatIntegrationTest * add PerformanceDetail Uri * make PerformanceItegrationTest.kt * feat: 예매 동시성 동시성 처리 완료 동시성 처리는 잘 되지만, 테스트 코드 작성이 많이 까다로움 * feat: Get My Reservation Api 유저가 로그인한채로 본인의 예약 목록을 확인할 수 있는 기능 추가 * feat: Seat Get TestCode Get API가 정상작동하는지 테스트코드 추가 * modify SearchPerformanceResponse * check auth for create, delete performance * check auth for create, delete performanceEvent, performanceHall * add posterUri attr to BriefPerformanceDetail * minor change * feat: 예매목록 Brief로 주기 기존에 id만 주던 것을 Brief 데이터의 리스트를 주는 것으로 수정 signin을 할 때 User도 같이 반환하도록 수정 * fix: 로그아웃, 토큰 재발급 버그 수정, 엔드포인트 수정 * add UserIdentityNotFoundException * modify PerformanceDurtion * feat: 공연장 생성시 좌석도 함께 생성 * feat: seat 초기화 적용, 버그 수정 PerformanceHall이 생성될 때 Seat을 같이 생성, PerformanceEvent가 생성될 때 Reservation을 같이 생성하도록 변경 * feat: Find PerformanceEvent PerformanceId와 LocalDate로부터 PerformanceEventId를 반환하도록 추가 잘못된 PerformanceEventId로 빈좌석정보를 확인했을 때 에러 반환 * chore: .env 무시 * feat: Reinforce Simultaneous test code 동시에 여러 사람의 접근이 있어도 통과하는지 테스트 코드 추가 동시에 여러 사람이 서로 다른 좌석에 접근할 때 테스트 코드 추가 * feat: Review/Reply 연결 review와 reply 마무리 * comment: user 설명 추가 username과 password의 조건 설명 추가 * chore: 필요없는 코드 지우기 * feat: Sort Reviews and Replies GET을 통해 리뷰나 댓글을 조회할 때 최신순으로 반환한다 * style: add new line at EOF * hotfix: test 안되던 오류 수정 --------- Co-authored-by: Dohyeon Kim <[email protected]> * roll back 401 -> 403 when access denied * setup .env * fix: Change Reservation ReservationEntity 예매하면서 만들어지도록 변경 * CI: fixed CI (#23) * hotfix: change CI/CD jdk to 23 * hotfix: use compose in CI * hotfix: fix ci * hotfix: reset ci * fix: build test on all branch * fix: error 핸들링 SeatService에서 DataIntegrityViolationException을 핸들링하기 위해 saveAndFlush를 사용했다. 기존에는 save가 트랜잭션이 끝나고 완료되어서 오류가 핸들링이 안 되었었다 * fix: Seat Test * fix: test conflict resolve 테스트에서 같은 username을 쓰던 부분을 수정 * feat: Seat Api Test * fix: 예매 취소 POST -> DELETE * Reservation 수정 (#25) * merge test - generate performancehallentity.kt * feat: searchPerformance * chore: 도커 컴포즈 dockerfile 작성해서 도커 이미지 잘 만들어지고 http 파일로 테스트까지 가능한 상태입니다 * modify searchPerformance * add: docker-compose * modify build.gradle.kts * add wildcard import in UserService.kt * change Performance attribute 'genre' to 'category' * change category to ENUM Type * add some Init Datas * add some Init Datas * assign posterimageURL * add: Entity 엔티티 작업중 * assign posterimageURL * add: SeatService 임시저장하겠습니다 * feat: SeatService 좌석 확인, 예매, 예매 취소 기능 구현 아직 동시성 처리 안됐습니다 * feat: Add Controller 컨트롤러 추가했습니다 곧 테스트 코드 추가해보겠습니다 * modify searchPerformance, GET요청은 RequestBody를 사용할 수 없다고 하여 다시 RequestParam을 사용하는 원래 방식으로 변경 * feat: SeatCreation performanceHallId와 type을 받아 좌석엔티티들을 자동으로 생성하는 서비스 함수와 performanceEventId를 받아 빈 예약 가능 엔티티들을 자동을 생성하는 서비스를 만들었습니다 추후 createPerformanceHall과 createPerformanceEvent함수를 수정해서 과정을 더 자동화할 수 있을 것 같습니다 * add: SeatIntegrationTest SeatIntegrationTest 만들었습니다 테스트 전부 통과하며 빌드 성공합니다 다만 테스트에 mysql 데이터베이스가 쓰이며 초기화가 자동으로 되지 않아 문제가 생기니 이는 개선이 필요합니다 * chore: use h2 while test application.yaml 파일을 테스트 코드를 위해 하나 추가해줬습니다 테스트코드에서 @transactional까지 사용한다면 테스트 코드가 서로 영향을 끼치지 않게 됩니다 * fix: Seat Reservation reservation 바뀐 정보 반영하도록 save 사용했고, Detail확인하는 영역은 컨트롤러까지 분리했습니다 * style: seat ktlint seat폴더의 파일들에 ktlint 적용 * modify MakeFile * 공연 검색 기능 구현 * fromEntity parameter change: receive Entities -> receive DTOs * modify searchPerformance endpoint URL * chore: makefile OS 따라서 다르게 작동하게 수정 * 공연 1개 상세 정보 반환 * minor modify: change how null type is handled * 초기 데이터 수정, 공연이벤트는 일단 공연 기간의 첫날과 마지막날만 생성하였음 * modify DataInitializer, SeatIntegrationTest * add PerformanceDetail Uri * make PerformanceItegrationTest.kt * feat: 예매 동시성 동시성 처리 완료 동시성 처리는 잘 되지만, 테스트 코드 작성이 많이 까다로움 * feat: Get My Reservation Api 유저가 로그인한채로 본인의 예약 목록을 확인할 수 있는 기능 추가 * feat: Seat Get TestCode Get API가 정상작동하는지 테스트코드 추가 * modify SearchPerformanceResponse * check auth for create, delete performance * check auth for create, delete performanceEvent, performanceHall * add posterUri attr to BriefPerformanceDetail * minor change * feat: 예매목록 Brief로 주기 기존에 id만 주던 것을 Brief 데이터의 리스트를 주는 것으로 수정 signin을 할 때 User도 같이 반환하도록 수정 * fix: 로그아웃, 토큰 재발급 버그 수정, 엔드포인트 수정 * add UserIdentityNotFoundException * modify PerformanceDurtion * feat: 공연장 생성시 좌석도 함께 생성 * feat: seat 초기화 적용, 버그 수정 PerformanceHall이 생성될 때 Seat을 같이 생성, PerformanceEvent가 생성될 때 Reservation을 같이 생성하도록 변경 * feat: Find PerformanceEvent PerformanceId와 LocalDate로부터 PerformanceEventId를 반환하도록 추가 잘못된 PerformanceEventId로 빈좌석정보를 확인했을 때 에러 반환 * chore: .env 무시 * feat: Reinforce Simultaneous test code 동시에 여러 사람의 접근이 있어도 통과하는지 테스트 코드 추가 동시에 여러 사람이 서로 다른 좌석에 접근할 때 테스트 코드 추가 * feat: Review/Reply 연결 review와 reply 마무리 * comment: user 설명 추가 username과 password의 조건 설명 추가 * chore: 필요없는 코드 지우기 * feat: Sort Reviews and Replies GET을 통해 리뷰나 댓글을 조회할 때 최신순으로 반환한다 * style: add new line at EOF * hotfix: test 안되던 오류 수정 * fix: Change Reservation ReservationEntity 예매하면서 만들어지도록 변경 * fix: error 핸들링 SeatService에서 DataIntegrityViolationException을 핸들링하기 위해 saveAndFlush를 사용했다. 기존에는 save가 트랜잭션이 끝나고 완료되어서 오류가 핸들링이 안 되었었다 * fix: Seat Test * fix: test conflict resolve 테스트에서 같은 username을 쓰던 부분을 수정 * feat: Seat Api Test * fix: 예매 취소 POST -> DELETE --------- Co-authored-by: Dohyeon Kim <[email protected]> * add: Review, Reply DTO Instant -> LocalDatTime * feat: Cursor Pagination Tools CursorSpecification은 조건 추가해수는 기능 CursorPageService는 cursor 포함해서 검색하는 기능 CursorEncoder는 cursor를 컨트롤러에서 인코딩/디코딩 할 수 있도록 하는 기능 * feat: CursorPageable 적용 * fix: modify CursorPageable 디폴트 값을 데이터 클래스가 생성될 때 채워지는 것으로 적용 * fix: Reply Test Instant 대신 LocalDateTime을 씀에 따라 테스트에서의 파싱도 변경 * social login 구현중 중간 save * setup .env * add SocialLoginApi.http * remove .env * feat: response hasNext와 nextCursor 반환 * write swagger api for socialauthcontroller * modify social login api docs description * add social login query paramter explanations * fix: nextCursor 수정 원래 객체 자체를 인코딩해서 ".id",".id"같은 값이 인코딩되어 나왔습니다 get을 사용해서 객체의 값을 가져올 수 있도록 수정했습니다 * feat: Performance Pagination 완성 * social endpoint permitall * feat: pagination 적용된 review 조회 v2로 만들었습니다 * social login receive socialAccessToken, not authorizatoinCode * fix: Review Cursor 기능 완성 * feat: Reply에도 Cursor 적용 * fix: 엔드포인트 분리 * feat: performance 엔드포인트 분리 v1과 v2로 나누어 선택할 수 있도록 * feat: permitAll for pagination * fix: test 코드 수정 * fix: test 수정 * feat: Performance Search & Get Review 페이지네이션 적용 완료 * modify makefile / test: h2 -> mysql * modify social login explanation * feat: Exception 처리 * fix: 기존 테스트 코드 유지 * feat: Reply Pagination 완성 Performance, Review, Reply Pagination 구현 완료 * feat: Performance Date 추가 * CI: add env on CI * CI: add check on pull_requests * Pagination 구현 (#26) * merge test - generate performancehallentity.kt * feat: searchPerformance * chore: 도커 컴포즈 dockerfile 작성해서 도커 이미지 잘 만들어지고 http 파일로 테스트까지 가능한 상태입니다 * modify searchPerformance * add: docker-compose * modify build.gradle.kts * add wildcard import in UserService.kt * change Performance attribute 'genre' to 'category' * change category to ENUM Type * add some Init Datas * add some Init Datas * assign posterimageURL * add: Entity 엔티티 작업중 * assign posterimageURL * add: SeatService 임시저장하겠습니다 * feat: SeatService 좌석 확인, 예매, 예매 취소 기능 구현 아직 동시성 처리 안됐습니다 * feat: Add Controller 컨트롤러 추가했습니다 곧 테스트 코드 추가해보겠습니다 * modify searchPerformance, GET요청은 RequestBody를 사용할 수 없다고 하여 다시 RequestParam을 사용하는 원래 방식으로 변경 * feat: SeatCreation performanceHallId와 type을 받아 좌석엔티티들을 자동으로 생성하는 서비스 함수와 performanceEventId를 받아 빈 예약 가능 엔티티들을 자동을 생성하는 서비스를 만들었습니다 추후 createPerformanceHall과 createPerformanceEvent함수를 수정해서 과정을 더 자동화할 수 있을 것 같습니다 * add: SeatIntegrationTest SeatIntegrationTest 만들었습니다 테스트 전부 통과하며 빌드 성공합니다 다만 테스트에 mysql 데이터베이스가 쓰이며 초기화가 자동으로 되지 않아 문제가 생기니 이는 개선이 필요합니다 * chore: use h2 while test application.yaml 파일을 테스트 코드를 위해 하나 추가해줬습니다 테스트코드에서 @transactional까지 사용한다면 테스트 코드가 서로 영향을 끼치지 않게 됩니다 * fix: Seat Reservation reservation 바뀐 정보 반영하도록 save 사용했고, Detail확인하는 영역은 컨트롤러까지 분리했습니다 * style: seat ktlint seat폴더의 파일들에 ktlint 적용 * modify MakeFile * 공연 검색 기능 구현 * fromEntity parameter change: receive Entities -> receive DTOs * modify searchPerformance endpoint URL * chore: makefile OS 따라서 다르게 작동하게 수정 * 공연 1개 상세 정보 반환 * minor modify: change how null type is handled * 초기 데이터 수정, 공연이벤트는 일단 공연 기간의 첫날과 마지막날만 생성하였음 * modify DataInitializer, SeatIntegrationTest * add PerformanceDetail Uri * make PerformanceItegrationTest.kt * feat: 예매 동시성 동시성 처리 완료 동시성 처리는 잘 되지만, 테스트 코드 작성이 많이 까다로움 * feat: Get My Reservation Api 유저가 로그인한채로 본인의 예약 목록을 확인할 수 있는 기능 추가 * feat: Seat Get TestCode Get API가 정상작동하는지 테스트코드 추가 * modify SearchPerformanceResponse * check auth for create, delete performance * check auth for create, delete performanceEvent, performanceHall * add posterUri attr to BriefPerformanceDetail * minor change * feat: 예매목록 Brief로 주기 기존에 id만 주던 것을 Brief 데이터의 리스트를 주는 것으로 수정 signin을 할 때 User도 같이 반환하도록 수정 * fix: 로그아웃, 토큰 재발급 버그 수정, 엔드포인트 수정 * add UserIdentityNotFoundException * modify PerformanceDurtion * feat: 공연장 생성시 좌석도 함께 생성 * feat: seat 초기화 적용, 버그 수정 PerformanceHall이 생성될 때 Seat을 같이 생성, PerformanceEvent가 생성될 때 Reservation을 같이 생성하도록 변경 * feat: Find PerformanceEvent PerformanceId와 LocalDate로부터 PerformanceEventId를 반환하도록 추가 잘못된 PerformanceEventId로 빈좌석정보를 확인했을 때 에러 반환 * chore: .env 무시 * feat: Reinforce Simultaneous test code 동시에 여러 사람의 접근이 있어도 통과하는지 테스트 코드 추가 동시에 여러 사람이 서로 다른 좌석에 접근할 때 테스트 코드 추가 * feat: Review/Reply 연결 review와 reply 마무리 * comment: user 설명 추가 username과 password의 조건 설명 추가 * chore: 필요없는 코드 지우기 * feat: Sort Reviews and Replies GET을 통해 리뷰나 댓글을 조회할 때 최신순으로 반환한다 * style: add new line at EOF * hotfix: test 안되던 오류 수정 * fix: Change Reservation ReservationEntity 예매하면서 만들어지도록 변경 * fix: error 핸들링 SeatService에서 DataIntegrityViolationException을 핸들링하기 위해 saveAndFlush를 사용했다. 기존에는 save가 트랜잭션이 끝나고 완료되어서 오류가 핸들링이 안 되었었다 * fix: Seat Test * fix: test conflict resolve 테스트에서 같은 username을 쓰던 부분을 수정 * feat: Seat Api Test * fix: 예매 취소 POST -> DELETE * add: Review, Reply DTO Instant -> LocalDatTime * feat: Cursor Pagination Tools CursorSpecification은 조건 추가해수는 기능 CursorPageService는 cursor 포함해서 검색하는 기능 CursorEncoder는 cursor를 컨트롤러에서 인코딩/디코딩 할 수 있도록 하는 기능 * feat: CursorPageable 적용 * fix: modify CursorPageable 디폴트 값을 데이터 클래스가 생성될 때 채워지는 것으로 적용 * fix: Reply Test Instant 대신 LocalDateTime을 씀에 따라 테스트에서의 파싱도 변경 * feat: response hasNext와 nextCursor 반환 * fix: nextCursor 수정 원래 객체 자체를 인코딩해서 ".id",".id"같은 값이 인코딩되어 나왔습니다 get을 사용해서 객체의 값을 가져올 수 있도록 수정했습니다 * feat: Performance Pagination 완성 * feat: pagination 적용된 review 조회 v2로 만들었습니다 * fix: Review Cursor 기능 완성 * feat: Reply에도 Cursor 적용 * fix: 엔드포인트 분리 * feat: performance 엔드포인트 분리 v1과 v2로 나누어 선택할 수 있도록 * feat: permitAll for pagination * fix: test 코드 수정 * fix: test 수정 * feat: Performance Search & Get Review 페이지네이션 적용 완료 * feat: Exception 처리 * fix: 기존 테스트 코드 유지 * feat: Reply Pagination 완성 Performance, Review, Reply Pagination 구현 완료 * feat: Performance Date 추가 --------- Co-authored-by: Dohyeon Kim <[email protected]> * rollback userservice.signup() * rollback signup * 소셜 로그인 구현 (#27) * merge test - generate performancehallentity.kt * feat: searchPerformance * chore: 도커 컴포즈 dockerfile 작성해서 도커 이미지 잘 만들어지고 http 파일로 테스트까지 가능한 상태입니다 * modify searchPerformance * add: docker-compose * modify build.gradle.kts * add wildcard import in UserService.kt * change Performance attribute 'genre' to 'category' * change category to ENUM Type * add some Init Datas * add some Init Datas * assign posterimageURL * add: Entity 엔티티 작업중 * assign posterimageURL * add: SeatService 임시저장하겠습니다 * feat: SeatService 좌석 확인, 예매, 예매 취소 기능 구현 아직 동시성 처리 안됐습니다 * feat: Add Controller 컨트롤러 추가했습니다 곧 테스트 코드 추가해보겠습니다 * modify searchPerformance, GET요청은 RequestBody를 사용할 수 없다고 하여 다시 RequestParam을 사용하는 원래 방식으로 변경 * feat: SeatCreation performanceHallId와 type을 받아 좌석엔티티들을 자동으로 생성하는 서비스 함수와 performanceEventId를 받아 빈 예약 가능 엔티티들을 자동을 생성하는 서비스를 만들었습니다 추후 createPerformanceHall과 createPerformanceEvent함수를 수정해서 과정을 더 자동화할 수 있을 것 같습니다 * add: SeatIntegrationTest SeatIntegrationTest 만들었습니다 테스트 전부 통과하며 빌드 성공합니다 다만 테스트에 mysql 데이터베이스가 쓰이며 초기화가 자동으로 되지 않아 문제가 생기니 이는 개선이 필요합니다 * chore: use h2 while test application.yaml 파일을 테스트 코드를 위해 하나 추가해줬습니다 테스트코드에서 @transactional까지 사용한다면 테스트 코드가 서로 영향을 끼치지 않게 됩니다 * fix: Seat Reservation reservation 바뀐 정보 반영하도록 save 사용했고, Detail확인하는 영역은 컨트롤러까지 분리했습니다 * style: seat ktlint seat폴더의 파일들에 ktlint 적용 * modify MakeFile * 공연 검색 기능 구현 * fromEntity parameter change: receive Entities -> receive DTOs * modify searchPerformance endpoint URL * chore: makefile OS 따라서 다르게 작동하게 수정 * 공연 1개 상세 정보 반환 * minor modify: change how null type is handled * 초기 데이터 수정, 공연이벤트는 일단 공연 기간의 첫날과 마지막날만 생성하였음 * modify DataInitializer, SeatIntegrationTest * add PerformanceDetail Uri * make PerformanceItegrationTest.kt * feat: 예매 동시성 동시성 처리 완료 동시성 처리는 잘 되지만, 테스트 코드 작성이 많이 까다로움 * feat: Get My Reservation Api 유저가 로그인한채로 본인의 예약 목록을 확인할 수 있는 기능 추가 * feat: Seat Get TestCode Get API가 정상작동하는지 테스트코드 추가 * modify SearchPerformanceResponse * check auth for create, delete performance * check auth for create, delete performanceEvent, performanceHall * add posterUri attr to BriefPerformanceDetail * minor change * feat: 예매목록 Brief로 주기 기존에 id만 주던 것을 Brief 데이터의 리스트를 주는 것으로 수정 signin을 할 때 User도 같이 반환하도록 수정 * fix: 로그아웃, 토큰 재발급 버그 수정, 엔드포인트 수정 * add UserIdentityNotFoundException * modify PerformanceDurtion * backup <user> package to <archive/user_old> * modify endpoint * applying spring security * setup .env * fix .http localhost port number * apply spring security * apply spring security * minor * remove .env from tracked files * gitignore * remove unused method * minor * minor * add new line at EOF * modify jwtfilter comment * convert Instant to KoreanLocalDateTime in PerformanceEventDTO * add permission * throw AuthenticateException when accessToken is not valid * save * roll back 401 -> 403 when access denied * setup .env * social login 구현중 중간 save * add SocialLoginApi.http * remove .env * write swagger api for socialauthcontroller * modify social login api docs description * add social login query paramter explanations * social endpoint permitall * social login receive socialAccessToken, not authorizatoinCode * modify social login explanation * rollback userservice.signup() * rollback signup --------- Co-authored-by: ChungPlusPlus <[email protected]> * readme skeleton update * readme.md skeleton update (#29) * merge test - generate performancehallentity.kt * feat: searchPerformance * chore: 도커 컴포즈 dockerfile 작성해서 도커 이미지 잘 만들어지고 http 파일로 테스트까지 가능한 상태입니다 * modify searchPerformance * add: docker-compose * modify build.gradle.kts * add wildcard import in UserService.kt * change Performance attribute 'genre' to 'category' * change category to ENUM Type * add some Init Datas * add some Init Datas * assign posterimageURL * add: Entity 엔티티 작업중 * assign posterimageURL * add: SeatService 임시저장하겠습니다 * feat: SeatService 좌석 확인, 예매, 예매 취소 기능 구현 아직 동시성 처리 안됐습니다 * feat: Add Controller 컨트롤러 추가했습니다 곧 테스트 코드 추가해보겠습니다 * modify searchPerformance, GET요청은 RequestBody를 사용할 수 없다고 하여 다시 RequestParam을 사용하는 원래 방식으로 변경 * feat: SeatCreation performanceHallId와 type을 받아 좌석엔티티들을 자동으로 생성하는 서비스 함수와 performanceEventId를 받아 빈 예약 가능 엔티티들을 자동을 생성하는 서비스를 만들었습니다 추후 createPerformanceHall과 createPerformanceEvent함수를 수정해서 과정을 더 자동화할 수 있을 것 같습니다 * add: SeatIntegrationTest SeatIntegrationTest 만들었습니다 테스트 전부 통과하며 빌드 성공합니다 다만 테스트에 mysql 데이터베이스가 쓰이며 초기화가 자동으로 되지 않아 문제가 생기니 이는 개선이 필요합니다 * chore: use h2 while test application.yaml 파일을 테스트 코드를 위해 하나 추가해줬습니다 테스트코드에서 @transactional까지 사용한다면 테스트 코드가 서로 영향을 끼치지 않게 됩니다 * fix: Seat Reservation reservation 바뀐 정보 반영하도록 save 사용했고, Detail확인하는 영역은 컨트롤러까지 분리했습니다 * style: seat ktlint seat폴더의 파일들에 ktlint 적용 * modify MakeFile * 공연 검색 기능 구현 * fromEntity parameter change: receive Entities -> receive DTOs * modify searchPerformance endpoint URL * chore: makefile OS 따라서 다르게 작동하게 수정 * 공연 1개 상세 정보 반환 * minor modify: change how null type is handled * 초기 데이터 수정, 공연이벤트는 일단 공연 기간의 첫날과 마지막날만 생성하였음 * modify DataInitializer, SeatIntegrationTest * add PerformanceDetail Uri * make PerformanceItegrationTest.kt * feat: 예매 동시성 동시성 처리 완료 동시성 처리는 잘 되지만, 테스트 코드 작성이 많이 까다로움 * feat: Get My Reservation Api 유저가 로그인한채로 본인의 예약 목록을 확인할 수 있는 기능 추가 * feat: Seat Get TestCode Get API가 정상작동하는지 테스트코드 추가 * modify SearchPerformanceResponse * check auth for create, delete performance * check auth for create, delete performanceEvent, performanceHall * add posterUri attr to BriefPerformanceDetail * minor change * feat: 예매목록 Brief로 주기 기존에 id만 주던 것을 Brief 데이터의 리스트를 주는 것으로 수정 signin을 할 때 User도 같이 반환하도록 수정 * fix: 로그아웃, 토큰 재발급 버그 수정, 엔드포인트 수정 * add UserIdentityNotFoundException * modify PerformanceDurtion * backup <user> package to <archive/user_old> * modify endpoint * applying spring security * setup .env * fix .http localhost port number * apply spring security * apply spring security * minor * remove .env from tracked files * gitignore * remove unused method * minor * minor * add new line at EOF * modify jwtfilter comment * convert Instant to KoreanLocalDateTime in PerformanceEventDTO * add permission * throw AuthenticateException when accessToken is not valid * save * roll back 401 -> 403 when access denied * setup .env * social login 구현중 중간 save * add SocialLoginApi.http * remove .env * write swagger api for socialauthcontroller * modify social login api docs description * add social login query paramter explanations * social endpoint permitall * social login receive socialAccessToken, not authorizatoinCode * modify social login explanation * rollback userservice.signup() * rollback signup * readme skeleton update --------- Co-authored-by: ChungPlusPlus <[email protected]> * feat: data 추가중 * feat: MUSICAL data 완료 * feat: PLAY 데이터 추가 * feat: CLASSIC 데이터 추가 * feat: CONCERT 데이터 추가 * 공연 데이터 추가 (#30) * merge test - generate performancehallentity.kt * feat: searchPerformance * chore: 도커 컴포즈 dockerfile 작성해서 도커 이미지 잘 만들어지고 http 파일로 테스트까지 가능한 상태입니다 * modify searchPerformance * add: docker-compose * modify build.gradle.kts * add wildcard import in UserService.kt * change Performance attribute 'genre' to 'category' * change category to ENUM Type * add some Init Datas * add some Init Datas * assign posterimageURL * add: Entity 엔티티 작업중 * assign posterimageURL * add: SeatService 임시저장하겠습니다 * feat: SeatService 좌석 확인, 예매, 예매 취소 기능 구현 아직 동시성 처리 안됐습니다 * feat: Add Controller 컨트롤러 추가했습니다 곧 테스트 코드 추가해보겠습니다 * modify searchPerformance, GET요청은 RequestBody를 사용할 수 없다고 하여 다시 RequestParam을 사용하는 원래 방식으로 변경 * feat: SeatCreation performanceHallId와 type을 받아 좌석엔티티들을 자동으로 생성하는 서비스 함수와 performanceEventId를 받아 빈 예약 가능 엔티티들을 자동을 생성하는 서비스를 만들었습니다 추후 createPerformanceHall과 createPerformanceEvent함수를 수정해서 과정을 더 자동화할 수 있을 것 같습니다 * add: SeatIntegrationTest SeatIntegrationTest 만들었습니다 테스트 전부 통과하며 빌드 성공합니다 다만 테스트에 mysql 데이터베이스가 쓰이며 초기화가 자동으로 되지 않아 문제가 생기니 이는 개선이 필요합니다 * chore: use h2 while test application.yaml 파일을 테스트 코드를 위해 하나 추가해줬습니다 테스트코드에서 @transactional까지 사용한다면 테스트 코드가 서로 영향을 끼치지 않게 됩니다 * fix: Seat Reservation reservation 바뀐 정보 반영하도록 save 사용했고, Detail확인하는 영역은 컨트롤러까지 분리했습니다 * style: seat ktlint seat폴더의 파일들에 ktlint 적용 * modify MakeFile * 공연 검색 기능 구현 * fromEntity parameter change: receive Entities -> receive DTOs * modify searchPerformance endpoint URL * chore: makefile OS 따라서 다르게 작동하게 수정 * 공연 1개 상세 정보 반환 * minor modify: change how null type is handled * 초기 데이터 수정, 공연이벤트는 일단 공연 기간의 첫날과 마지막날만 생성하였음 * modify DataInitializer, SeatIntegrationTest * add PerformanceDetail Uri * make PerformanceItegrationTest.kt * feat: 예매 동시성 동시성 처리 완료 동시성 처리는 잘 되지만, 테스트 코드 작성이 많이 까다로움 * feat: Get My Reservation Api 유저가 로그인한채로 본인의 예약 목록을 확인할 수 있는 기능 추가 * feat: Seat Get TestCode Get API가 정상작동하는지 테스트코드 추가 * modify SearchPerformanceResponse * check auth for create, delete performance * check auth for create, delete performanceEvent, performanceHall * add posterUri attr to BriefPerformanceDetail * minor change * feat: 예매목록 Brief로 주기 기존에 id만 주던 것을 Brief 데이터의 리스트를 주는 것으로 수정 signin을 할 때 User도 같이 반환하도록 수정 * fix: 로그아웃, 토큰 재발급 버그 수정, 엔드포인트 수정 * add UserIdentityNotFoundException * modify PerformanceDurtion * feat: 공연장 생성시 좌석도 함께 생성 * feat: seat 초기화 적용, 버그 수정 PerformanceHall이 생성될 때 Seat을 같이 생성, PerformanceEvent가 생성될 때 Reservation을 같이 생성하도록 변경 * feat: Find PerformanceEvent PerformanceId와 LocalDate로부터 PerformanceEventId를 반환하도록 추가 잘못된 PerformanceEventId로 빈좌석정보를 확인했을 때 에러 반환 * chore: .env 무시 * feat: Reinforce Simultaneous test code 동시에 여러 사람의 접근이 있어도 통과하는지 테스트 코드 추가 동시에 여러 사람이 서로 다른 좌석에 접근할 때 테스트 코드 추가 * feat: Review/Reply 연결 review와 reply 마무리 * comment: user 설명 추가 username과 password의 조건 설명 추가 * chore: 필요없는 코드 지우기 * feat: Sort Reviews and Replies GET을 통해 리뷰나 댓글을 조회할 때 최신순으로 반환한다 * style: add new line at EOF * hotfix: test 안되던 오류 수정 * fix: Change Reservation ReservationEntity 예매하면서 만들어지도록 변경 * fix: error 핸들링 SeatService에서 DataIntegrityViolationException을 핸들링하기 위해 saveAndFlush를 사용했다. 기존에는 save가 트랜잭션이 끝나고 완료되어서 오류가 핸들링이 안 되었었다 * fix: Seat Test * fix: test conflict resolve 테스트에서 같은 username을 쓰던 부분을 수정 * feat: Seat Api Test * fix: 예매 취소 POST -> DELETE * add: Review, Reply DTO Instant -> LocalDatTime * feat: Cursor Pagination Tools CursorSpecification은 조건 추가해수는 기능 CursorPageService는 cursor 포함해서 검색하는 기능 CursorEncoder는 cursor를 컨트롤러에서 인코딩/디코딩 할 수 있도록 하는 기능 * feat: CursorPageable 적용 * fix: modify CursorPageable 디폴트 값을 데이터 클래스가 생성될 때 채워지는 것으로 적용 * fix: Reply Test Instant 대신 LocalDateTime을 씀에 따라 테스트에서의 파싱도 변경 * feat: response hasNext와 nextCursor 반환 * fix: nextCursor 수정 원래 객체 자체를 인코딩해서 ".id",".id"같은 값이 인코딩되어 나왔습니다 get을 사용해서 객체의 값을 가져올 수 있도록 수정했습니다 * feat: Performance Pagination 완성 * feat: pagination 적용된 review 조회 v2로 만들었습니다 * fix: Review Cursor 기능 완성 * feat: Reply에도 Cursor 적용 * fix: 엔드포인트 분리 * feat: performance 엔드포인트 분리 v1과 v2로 나누어 선택할 수 있도록 * feat: permitAll for pagination * fix: test 코드 수정 * fix: test 수정 * feat: Performance Search & Get Review 페이지네이션 적용 완료 * feat: Exception 처리 * fix: 기존 테스트 코드 유지 * feat: Reply Pagination 완성 Performance, Review, Reply Pagination 구현 완료 * feat: Performance Date 추가 * feat: data 추가중 * feat: MUSICAL data 완료 * feat: PLAY 데이터 추가 * feat: CLASSIC 데이터 추가 * feat: CONCERT 데이터 추가 --------- Co-authored-by: Dohyeon Kim <[email protected]> * readme save * feat: readMe 추가작성 * feat: Swaager summary * feat: Swagger summary for UserController * CI: remove pull request trigger * CD: add --build on rerun script * read me save * feat: Cascade 설정 (#31) * readme save * readme save * fix: README.md * readme save * feat: add stack * feat: add language * readme save * feat: add redis * remove --- lines * add JWT logo * add empty lines * add empty lines * fix(README.md): add simple deploy descriptions * index 추가 (#33) * feat: Cascade 설정 * feat: index 추가중 * feat: 조회 성능 향상을 위한 index 추가 --------- Co-authored-by: Dohyeon Kim <[email protected]> Co-authored-by: ChungPlusPlus <[email protected]> Co-authored-by: ChungPlusPlus <[email protected]>
ChungPlusPlus
added a commit
that referenced
this pull request
Feb 2, 2025
* merge test - generate performancehallentity.kt * feat: searchPerformance * chore: 도커 컴포즈 dockerfile 작성해서 도커 이미지 잘 만들어지고 http 파일로 테스트까지 가능한 상태입니다 * modify searchPerformance * add: docker-compose * modify build.gradle.kts * add wildcard import in UserService.kt * change Performance attribute 'genre' to 'category' * change category to ENUM Type * add some Init Datas * add some Init Datas * assign posterimageURL * add: Entity 엔티티 작업중 * assign posterimageURL * add: SeatService 임시저장하겠습니다 * feat: SeatService 좌석 확인, 예매, 예매 취소 기능 구현 아직 동시성 처리 안됐습니다 * feat: Add Controller 컨트롤러 추가했습니다 곧 테스트 코드 추가해보겠습니다 * modify searchPerformance, GET요청은 RequestBody를 사용할 수 없다고 하여 다시 RequestParam을 사용하는 원래 방식으로 변경 * feat: SeatCreation performanceHallId와 type을 받아 좌석엔티티들을 자동으로 생성하는 서비스 함수와 performanceEventId를 받아 빈 예약 가능 엔티티들을 자동을 생성하는 서비스를 만들었습니다 추후 createPerformanceHall과 createPerformanceEvent함수를 수정해서 과정을 더 자동화할 수 있을 것 같습니다 * add: SeatIntegrationTest SeatIntegrationTest 만들었습니다 테스트 전부 통과하며 빌드 성공합니다 다만 테스트에 mysql 데이터베이스가 쓰이며 초기화가 자동으로 되지 않아 문제가 생기니 이는 개선이 필요합니다 * chore: use h2 while test application.yaml 파일을 테스트 코드를 위해 하나 추가해줬습니다 테스트코드에서 @transactional까지 사용한다면 테스트 코드가 서로 영향을 끼치지 않게 됩니다 * fix: Seat Reservation reservation 바뀐 정보 반영하도록 save 사용했고, Detail확인하는 영역은 컨트롤러까지 분리했습니다 * style: seat ktlint seat폴더의 파일들에 ktlint 적용 * modify MakeFile * 공연 검색 기능 구현 * fromEntity parameter change: receive Entities -> receive DTOs * modify searchPerformance endpoint URL * chore: makefile OS 따라서 다르게 작동하게 수정 * 공연 1개 상세 정보 반환 * minor modify: change how null type is handled * 초기 데이터 수정, 공연이벤트는 일단 공연 기간의 첫날과 마지막날만 생성하였음 * modify DataInitializer, SeatIntegrationTest * add PerformanceDetail Uri * make PerformanceItegrationTest.kt * feat: 예매 동시성 동시성 처리 완료 동시성 처리는 잘 되지만, 테스트 코드 작성이 많이 까다로움 * feat: Get My Reservation Api 유저가 로그인한채로 본인의 예약 목록을 확인할 수 있는 기능 추가 * feat: Seat Get TestCode Get API가 정상작동하는지 테스트코드 추가 * modify SearchPerformanceResponse * check auth for create, delete performance * check auth for create, delete performanceEvent, performanceHall * add posterUri attr to BriefPerformanceDetail * minor change * feat: 예매목록 Brief로 주기 기존에 id만 주던 것을 Brief 데이터의 리스트를 주는 것으로 수정 signin을 할 때 User도 같이 반환하도록 수정 * fix: 로그아웃, 토큰 재발급 버그 수정, 엔드포인트 수정 * add UserIdentityNotFoundException * modify PerformanceDurtion * backup <user> package to <archive/user_old> * modify endpoint * feat: 공연장 생성시 좌석도 함께 생성 * feat: seat 초기화 적용, 버그 수정 PerformanceHall이 생성될 때 Seat을 같이 생성, PerformanceEvent가 생성될 때 Reservation을 같이 생성하도록 변경 * 공연 카테고리 검색, 상세 조회, 생성, 삭제 기능 구현 (#15) * merge test - generate performancehallentity.kt * feat: searchPerformance * modify searchPerformance * modify build.gradle.kts * add wildcard import in UserService.kt * change Performance attribute 'genre' to 'category' * change category to ENUM Type * add some Init Datas * add some Init Datas * assign posterimageURL * assign posterimageURL * modify searchPerformance, GET요청은 RequestBody를 사용할 수 없다고 하여 다시 RequestParam을 사용하는 원래 방식으로 변경 * modify MakeFile * 공연 검색 기능 구현 * fromEntity parameter change: receive Entities -> receive DTOs * modify searchPerformance endpoint URL * 공연 1개 상세 정보 반환 * minor modify: change how null type is handled * 초기 데이터 수정, 공연이벤트는 일단 공연 기간의 첫날과 마지막날만 생성하였음 * modify DataInitializer, SeatIntegrationTest * add PerformanceDetail Uri * make PerformanceItegrationTest.kt * modify SearchPerformanceResponse * check auth for create, delete performance * check auth for create, delete performanceEvent, performanceHall * add posterUri attr to BriefPerformanceDetail * minor change * add UserIdentityNotFoundException * modify PerformanceDurtion * applying spring security * setup .env * feat: Find PerformanceEvent PerformanceId와 LocalDate로부터 PerformanceEventId를 반환하도록 추가 잘못된 PerformanceEventId로 빈좌석정보를 확인했을 때 에러 반환 * chore: .env 무시 * feat: Reinforce Simultaneous test code 동시에 여러 사람의 접근이 있어도 통과하는지 테스트 코드 추가 동시에 여러 사람이 서로 다른 좌석에 접근할 때 테스트 코드 추가 * 예매 동시성 처리, 로그인 엔드포인트 변경 (#18) * merge test - generate performancehallentity.kt * feat: searchPerformance * chore: 도커 컴포즈 dockerfile 작성해서 도커 이미지 잘 만들어지고 http 파일로 테스트까지 가능한 상태입니다 * modify searchPerformance * add: docker-compose * modify build.gradle.kts * add wildcard import in UserService.kt * change Performance attribute 'genre' to 'category' * change category to ENUM Type * add some Init Datas * add some Init Datas * assign posterimageURL * add: Entity 엔티티 작업중 * assign posterimageURL * add: SeatService 임시저장하겠습니다 * feat: SeatService 좌석 확인, 예매, 예매 취소 기능 구현 아직 동시성 처리 안됐습니다 * feat: Add Controller 컨트롤러 추가했습니다 곧 테스트 코드 추가해보겠습니다 * modify searchPerformance, GET요청은 RequestBody를 사용할 수 없다고 하여 다시 RequestParam을 사용하는 원래 방식으로 변경 * feat: SeatCreation performanceHallId와 type을 받아 좌석엔티티들을 자동으로 생성하는 서비스 함수와 performanceEventId를 받아 빈 예약 가능 엔티티들을 자동을 생성하는 서비스를 만들었습니다 추후 createPerformanceHall과 createPerformanceEvent함수를 수정해서 과정을 더 자동화할 수 있을 것 같습니다 * add: SeatIntegrationTest SeatIntegrationTest 만들었습니다 테스트 전부 통과하며 빌드 성공합니다 다만 테스트에 mysql 데이터베이스가 쓰이며 초기화가 자동으로 되지 않아 문제가 생기니 이는 개선이 필요합니다 * chore: use h2 while test application.yaml 파일을 테스트 코드를 위해 하나 추가해줬습니다 테스트코드에서 @transactional까지 사용한다면 테스트 코드가 서로 영향을 끼치지 않게 됩니다 * fix: Seat Reservation reservation 바뀐 정보 반영하도록 save 사용했고, Detail확인하는 영역은 컨트롤러까지 분리했습니다 * style: seat ktlint seat폴더의 파일들에 ktlint 적용 * modify MakeFile * 공연 검색 기능 구현 * fromEntity parameter change: receive Entities -> receive DTOs * modify searchPerformance endpoint URL * chore: makefile OS 따라서 다르게 작동하게 수정 * 공연 1개 상세 정보 반환 * minor modify: change how null type is handled * 초기 데이터 수정, 공연이벤트는 일단 공연 기간의 첫날과 마지막날만 생성하였음 * modify DataInitializer, SeatIntegrationTest * add PerformanceDetail Uri * make PerformanceItegrationTest.kt * feat: 예매 동시성 동시성 처리 완료 동시성 처리는 잘 되지만, 테스트 코드 작성이 많이 까다로움 * feat: Get My Reservation Api 유저가 로그인한채로 본인의 예약 목록을 확인할 수 있는 기능 추가 * feat: Seat Get TestCode Get API가 정상작동하는지 테스트코드 추가 * modify SearchPerformanceResponse * check auth for create, delete performance * check auth for create, delete performanceEvent, performanceHall * add posterUri attr to BriefPerformanceDetail * minor change * feat: 예매목록 Brief로 주기 기존에 id만 주던 것을 Brief 데이터의 리스트를 주는 것으로 수정 signin을 할 때 User도 같이 반환하도록 수정 * fix: 로그아웃, 토큰 재발급 버그 수정, 엔드포인트 수정 * add UserIdentityNotFoundException * modify PerformanceDurtion * feat: 공연장 생성시 좌석도 함께 생성 * feat: seat 초기화 적용, 버그 수정 PerformanceHall이 생성될 때 Seat을 같이 생성, PerformanceEvent가 생성될 때 Reservation을 같이 생성하도록 변경 * feat: Find PerformanceEvent PerformanceId와 LocalDate로부터 PerformanceEventId를 반환하도록 추가 잘못된 PerformanceEventId로 빈좌석정보를 확인했을 때 에러 반환 * chore: .env 무시 * feat: Reinforce Simultaneous test code 동시에 여러 사람의 접근이 있어도 통과하는지 테스트 코드 추가 동시에 여러 사람이 서로 다른 좌석에 접근할 때 테스트 코드 추가 --------- Co-authored-by: Dohyeon Kim <[email protected]> * fix .http localhost port number * apply spring security * apply spring security * minor * remove .env from tracked files * gitignore * remove unused method * minor * minor * add new line at EOF * modify jwtfilter comment * convert Instant to KoreanLocalDateTime in PerformanceEventDTO * add permission * feat: Review/Reply 연결 review와 reply 마무리 * comment: user 설명 추가 username과 password의 조건 설명 추가 * chore: 필요없는 코드 지우기 * feat: Sort Reviews and Replies GET을 통해 리뷰나 댓글을 조회할 때 최신순으로 반환한다 * Spring security 적용 (#19) * merge test - generate performancehallentity.kt * feat: searchPerformance * chore: 도커 컴포즈 dockerfile 작성해서 도커 이미지 잘 만들어지고 http 파일로 테스트까지 가능한 상태입니다 * modify searchPerformance * add: docker-compose * modify build.gradle.kts * add wildcard import in UserService.kt * change Performance attribute 'genre' to 'category' * change category to ENUM Type * add some Init Datas * add some Init Datas * assign posterimageURL * add: Entity 엔티티 작업중 * assign posterimageURL * add: SeatService 임시저장하겠습니다 * feat: SeatService 좌석 확인, 예매, 예매 취소 기능 구현 아직 동시성 처리 안됐습니다 * feat: Add Controller 컨트롤러 추가했습니다 곧 테스트 코드 추가해보겠습니다 * modify searchPerformance, GET요청은 RequestBody를 사용할 수 없다고 하여 다시 RequestParam을 사용하는 원래 방식으로 변경 * feat: SeatCreation performanceHallId와 type을 받아 좌석엔티티들을 자동으로 생성하는 서비스 함수와 performanceEventId를 받아 빈 예약 가능 엔티티들을 자동을 생성하는 서비스를 만들었습니다 추후 createPerformanceHall과 createPerformanceEvent함수를 수정해서 과정을 더 자동화할 수 있을 것 같습니다 * add: SeatIntegrationTest SeatIntegrationTest 만들었습니다 테스트 전부 통과하며 빌드 성공합니다 다만 테스트에 mysql 데이터베이스가 쓰이며 초기화가 자동으로 되지 않아 문제가 생기니 이는 개선이 필요합니다 * chore: use h2 while test application.yaml 파일을 테스트 코드를 위해 하나 추가해줬습니다 테스트코드에서 @transactional까지 사용한다면 테스트 코드가 서로 영향을 끼치지 않게 됩니다 * fix: Seat Reservation reservation 바뀐 정보 반영하도록 save 사용했고, Detail확인하는 영역은 컨트롤러까지 분리했습니다 * style: seat ktlint seat폴더의 파일들에 ktlint 적용 * modify MakeFile * 공연 검색 기능 구현 * fromEntity parameter change: receive Entities -> receive DTOs * modify searchPerformance endpoint URL * chore: makefile OS 따라서 다르게 작동하게 수정 * 공연 1개 상세 정보 반환 * minor modify: change how null type is handled * 초기 데이터 수정, 공연이벤트는 일단 공연 기간의 첫날과 마지막날만 생성하였음 * modify DataInitializer, SeatIntegrationTest * add PerformanceDetail Uri * make PerformanceItegrationTest.kt * feat: 예매 동시성 동시성 처리 완료 동시성 처리는 잘 되지만, 테스트 코드 작성이 많이 까다로움 * feat: Get My Reservation Api 유저가 로그인한채로 본인의 예약 목록을 확인할 수 있는 기능 추가 * feat: Seat Get TestCode Get API가 정상작동하는지 테스트코드 추가 * modify SearchPerformanceResponse * check auth for create, delete performance * check auth for create, delete performanceEvent, performanceHall * add posterUri attr to BriefPerformanceDetail * minor change * feat: 예매목록 Brief로 주기 기존에 id만 주던 것을 Brief 데이터의 리스트를 주는 것으로 수정 signin을 할 때 User도 같이 반환하도록 수정 * fix: 로그아웃, 토큰 재발급 버그 수정, 엔드포인트 수정 * add UserIdentityNotFoundException * modify PerformanceDurtion * backup <user> package to <archive/user_old> * modify endpoint * applying spring security * setup .env * fix .http localhost port number * apply spring security * apply spring security * minor * remove .env from tracked files * gitignore * remove unused method * minor * minor * add new line at EOF * modify jwtfilter comment * convert Instant to KoreanLocalDateTime in PerformanceEventDTO * add permission --------- Co-authored-by: ChungPlusPlus <[email protected]> * style: add new line at EOF * throw AuthenticateException when accessToken is not valid * Review & Reply (#20) * merge test - generate performancehallentity.kt * feat: searchPerformance * chore: 도커 컴포즈 dockerfile 작성해서 도커 이미지 잘 만들어지고 http 파일로 테스트까지 가능한 상태입니다 * modify searchPerformance * add: docker-compose * modify build.gradle.kts * add wildcard import in UserService.kt * change Performance attribute 'genre' to 'category' * change category to ENUM Type * add some Init Datas * add some Init Datas * assign posterimageURL * add: Entity 엔티티 작업중 * assign posterimageURL * add: SeatService 임시저장하겠습니다 * feat: SeatService 좌석 확인, 예매, 예매 취소 기능 구현 아직 동시성 처리 안됐습니다 * feat: Add Controller 컨트롤러 추가했습니다 곧 테스트 코드 추가해보겠습니다 * modify searchPerformance, GET요청은 RequestBody를 사용할 수 없다고 하여 다시 RequestParam을 사용하는 원래 방식으로 변경 * feat: SeatCreation performanceHallId와 type을 받아 좌석엔티티들을 자동으로 생성하는 서비스 함수와 performanceEventId를 받아 빈 예약 가능 엔티티들을 자동을 생성하는 서비스를 만들었습니다 추후 createPerformanceHall과 createPerformanceEvent함수를 수정해서 과정을 더 자동화할 수 있을 것 같습니다 * add: SeatIntegrationTest SeatIntegrationTest 만들었습니다 테스트 전부 통과하며 빌드 성공합니다 다만 테스트에 mysql 데이터베이스가 쓰이며 초기화가 자동으로 되지 않아 문제가 생기니 이는 개선이 필요합니다 * chore: use h2 while test application.yaml 파일을 테스트 코드를 위해 하나 추가해줬습니다 테스트코드에서 @transactional까지 사용한다면 테스트 코드가 서로 영향을 끼치지 않게 됩니다 * fix: Seat Reservation reservation 바뀐 정보 반영하도록 save 사용했고, Detail확인하는 영역은 컨트롤러까지 분리했습니다 * style: seat ktlint seat폴더의 파일들에 ktlint 적용 * modify MakeFile * 공연 검색 기능 구현 * fromEntity parameter change: receive Entities -> receive DTOs * modify searchPerformance endpoint URL * chore: makefile OS 따라서 다르게 작동하게 수정 * 공연 1개 상세 정보 반환 * minor modify: change how null type is handled * 초기 데이터 수정, 공연이벤트는 일단 공연 기간의 첫날과 마지막날만 생성하였음 * modify DataInitializer, SeatIntegrationTest * add PerformanceDetail Uri * make PerformanceItegrationTest.kt * feat: 예매 동시성 동시성 처리 완료 동시성 처리는 잘 되지만, 테스트 코드 작성이 많이 까다로움 * feat: Get My Reservation Api 유저가 로그인한채로 본인의 예약 목록을 확인할 수 있는 기능 추가 * feat: Seat Get TestCode Get API가 정상작동하는지 테스트코드 추가 * modify SearchPerformanceResponse * check auth for create, delete performance * check auth for create, delete performanceEvent, performanceHall * add posterUri attr to BriefPerformanceDetail * minor change * feat: 예매목록 Brief로 주기 기존에 id만 주던 것을 Brief 데이터의 리스트를 주는 것으로 수정 signin을 할 때 User도 같이 반환하도록 수정 * fix: 로그아웃, 토큰 재발급 버그 수정, 엔드포인트 수정 * add UserIdentityNotFoundException * modify PerformanceDurtion * feat: 공연장 생성시 좌석도 함께 생성 * feat: seat 초기화 적용, 버그 수정 PerformanceHall이 생성될 때 Seat을 같이 생성, PerformanceEvent가 생성될 때 Reservation을 같이 생성하도록 변경 * feat: Find PerformanceEvent PerformanceId와 LocalDate로부터 PerformanceEventId를 반환하도록 추가 잘못된 PerformanceEventId로 빈좌석정보를 확인했을 때 에러 반환 * chore: .env 무시 * feat: Reinforce Simultaneous test code 동시에 여러 사람의 접근이 있어도 통과하는지 테스트 코드 추가 동시에 여러 사람이 서로 다른 좌석에 접근할 때 테스트 코드 추가 * feat: Review/Reply 연결 review와 reply 마무리 * comment: user 설명 추가 username과 password의 조건 설명 추가 * chore: 필요없는 코드 지우기 * feat: Sort Reviews and Replies GET을 통해 리뷰나 댓글을 조회할 때 최신순으로 반환한다 * style: add new line at EOF --------- Co-authored-by: Dohyeon Kim <[email protected]> * save * Revert "Review & Reply (#20)" (#21) This reverts commit 9510784. * hotfix: test 안되던 오류 수정 * 빌드 안되던 버그 수정 (#22) * merge test - generate performancehallentity.kt * feat: searchPerformance * chore: 도커 컴포즈 dockerfile 작성해서 도커 이미지 잘 만들어지고 http 파일로 테스트까지 가능한 상태입니다 * modify searchPerformance * add: docker-compose * modify build.gradle.kts * add wildcard import in UserService.kt * change Performance attribute 'genre' to 'category' * change category to ENUM Type * add some Init Datas * add some Init Datas * assign posterimageURL * add: Entity 엔티티 작업중 * assign posterimageURL * add: SeatService 임시저장하겠습니다 * feat: SeatService 좌석 확인, 예매, 예매 취소 기능 구현 아직 동시성 처리 안됐습니다 * feat: Add Controller 컨트롤러 추가했습니다 곧 테스트 코드 추가해보겠습니다 * modify searchPerformance, GET요청은 RequestBody를 사용할 수 없다고 하여 다시 RequestParam을 사용하는 원래 방식으로 변경 * feat: SeatCreation performanceHallId와 type을 받아 좌석엔티티들을 자동으로 생성하는 서비스 함수와 performanceEventId를 받아 빈 예약 가능 엔티티들을 자동을 생성하는 서비스를 만들었습니다 추후 createPerformanceHall과 createPerformanceEvent함수를 수정해서 과정을 더 자동화할 수 있을 것 같습니다 * add: SeatIntegrationTest SeatIntegrationTest 만들었습니다 테스트 전부 통과하며 빌드 성공합니다 다만 테스트에 mysql 데이터베이스가 쓰이며 초기화가 자동으로 되지 않아 문제가 생기니 이는 개선이 필요합니다 * chore: use h2 while test application.yaml 파일을 테스트 코드를 위해 하나 추가해줬습니다 테스트코드에서 @transactional까지 사용한다면 테스트 코드가 서로 영향을 끼치지 않게 됩니다 * fix: Seat Reservation reservation 바뀐 정보 반영하도록 save 사용했고, Detail확인하는 영역은 컨트롤러까지 분리했습니다 * style: seat ktlint seat폴더의 파일들에 ktlint 적용 * modify MakeFile * 공연 검색 기능 구현 * fromEntity parameter change: receive Entities -> receive DTOs * modify searchPerformance endpoint URL * chore: makefile OS 따라서 다르게 작동하게 수정 * 공연 1개 상세 정보 반환 * minor modify: change how null type is handled * 초기 데이터 수정, 공연이벤트는 일단 공연 기간의 첫날과 마지막날만 생성하였음 * modify DataInitializer, SeatIntegrationTest * add PerformanceDetail Uri * make PerformanceItegrationTest.kt * feat: 예매 동시성 동시성 처리 완료 동시성 처리는 잘 되지만, 테스트 코드 작성이 많이 까다로움 * feat: Get My Reservation Api 유저가 로그인한채로 본인의 예약 목록을 확인할 수 있는 기능 추가 * feat: Seat Get TestCode Get API가 정상작동하는지 테스트코드 추가 * modify SearchPerformanceResponse * check auth for create, delete performance * check auth for create, delete performanceEvent, performanceHall * add posterUri attr to BriefPerformanceDetail * minor change * feat: 예매목록 Brief로 주기 기존에 id만 주던 것을 Brief 데이터의 리스트를 주는 것으로 수정 signin을 할 때 User도 같이 반환하도록 수정 * fix: 로그아웃, 토큰 재발급 버그 수정, 엔드포인트 수정 * add UserIdentityNotFoundException * modify PerformanceDurtion * feat: 공연장 생성시 좌석도 함께 생성 * feat: seat 초기화 적용, 버그 수정 PerformanceHall이 생성될 때 Seat을 같이 생성, PerformanceEvent가 생성될 때 Reservation을 같이 생성하도록 변경 * feat: Find PerformanceEvent PerformanceId와 LocalDate로부터 PerformanceEventId를 반환하도록 추가 잘못된 PerformanceEventId로 빈좌석정보를 확인했을 때 에러 반환 * chore: .env 무시 * feat: Reinforce Simultaneous test code 동시에 여러 사람의 접근이 있어도 통과하는지 테스트 코드 추가 동시에 여러 사람이 서로 다른 좌석에 접근할 때 테스트 코드 추가 * feat: Review/Reply 연결 review와 reply 마무리 * comment: user 설명 추가 username과 password의 조건 설명 추가 * chore: 필요없는 코드 지우기 * feat: Sort Reviews and Replies GET을 통해 리뷰나 댓글을 조회할 때 최신순으로 반환한다 * style: add new line at EOF * hotfix: test 안되던 오류 수정 --------- Co-authored-by: Dohyeon Kim <[email protected]> * roll back 401 -> 403 when access denied * setup .env * fix: Change Reservation ReservationEntity 예매하면서 만들어지도록 변경 * CI: fixed CI (#23) * hotfix: change CI/CD jdk to 23 * hotfix: use compose in CI * hotfix: fix ci * hotfix: reset ci * fix: build test on all branch * fix: error 핸들링 SeatService에서 DataIntegrityViolationException을 핸들링하기 위해 saveAndFlush를 사용했다. 기존에는 save가 트랜잭션이 끝나고 완료되어서 오류가 핸들링이 안 되었었다 * fix: Seat Test * fix: test conflict resolve 테스트에서 같은 username을 쓰던 부분을 수정 * feat: Seat Api Test * fix: 예매 취소 POST -> DELETE * Reservation 수정 (#25) * merge test - generate performancehallentity.kt * feat: searchPerformance * chore: 도커 컴포즈 dockerfile 작성해서 도커 이미지 잘 만들어지고 http 파일로 테스트까지 가능한 상태입니다 * modify searchPerformance * add: docker-compose * modify build.gradle.kts * add wildcard import in UserService.kt * change Performance attribute 'genre' to 'category' * change category to ENUM Type * add some Init Datas * add some Init Datas * assign posterimageURL * add: Entity 엔티티 작업중 * assign posterimageURL * add: SeatService 임시저장하겠습니다 * feat: SeatService 좌석 확인, 예매, 예매 취소 기능 구현 아직 동시성 처리 안됐습니다 * feat: Add Controller 컨트롤러 추가했습니다 곧 테스트 코드 추가해보겠습니다 * modify searchPerformance, GET요청은 RequestBody를 사용할 수 없다고 하여 다시 RequestParam을 사용하는 원래 방식으로 변경 * feat: SeatCreation performanceHallId와 type을 받아 좌석엔티티들을 자동으로 생성하는 서비스 함수와 performanceEventId를 받아 빈 예약 가능 엔티티들을 자동을 생성하는 서비스를 만들었습니다 추후 createPerformanceHall과 createPerformanceEvent함수를 수정해서 과정을 더 자동화할 수 있을 것 같습니다 * add: SeatIntegrationTest SeatIntegrationTest 만들었습니다 테스트 전부 통과하며 빌드 성공합니다 다만 테스트에 mysql 데이터베이스가 쓰이며 초기화가 자동으로 되지 않아 문제가 생기니 이는 개선이 필요합니다 * chore: use h2 while test application.yaml 파일을 테스트 코드를 위해 하나 추가해줬습니다 테스트코드에서 @transactional까지 사용한다면 테스트 코드가 서로 영향을 끼치지 않게 됩니다 * fix: Seat Reservation reservation 바뀐 정보 반영하도록 save 사용했고, Detail확인하는 영역은 컨트롤러까지 분리했습니다 * style: seat ktlint seat폴더의 파일들에 ktlint 적용 * modify MakeFile * 공연 검색 기능 구현 * fromEntity parameter change: receive Entities -> receive DTOs * modify searchPerformance endpoint URL * chore: makefile OS 따라서 다르게 작동하게 수정 * 공연 1개 상세 정보 반환 * minor modify: change how null type is handled * 초기 데이터 수정, 공연이벤트는 일단 공연 기간의 첫날과 마지막날만 생성하였음 * modify DataInitializer, SeatIntegrationTest * add PerformanceDetail Uri * make PerformanceItegrationTest.kt * feat: 예매 동시성 동시성 처리 완료 동시성 처리는 잘 되지만, 테스트 코드 작성이 많이 까다로움 * feat: Get My Reservation Api 유저가 로그인한채로 본인의 예약 목록을 확인할 수 있는 기능 추가 * feat: Seat Get TestCode Get API가 정상작동하는지 테스트코드 추가 * modify SearchPerformanceResponse * check auth for create, delete performance * check auth for create, delete performanceEvent, performanceHall * add posterUri attr to BriefPerformanceDetail * minor change * feat: 예매목록 Brief로 주기 기존에 id만 주던 것을 Brief 데이터의 리스트를 주는 것으로 수정 signin을 할 때 User도 같이 반환하도록 수정 * fix: 로그아웃, 토큰 재발급 버그 수정, 엔드포인트 수정 * add UserIdentityNotFoundException * modify PerformanceDurtion * feat: 공연장 생성시 좌석도 함께 생성 * feat: seat 초기화 적용, 버그 수정 PerformanceHall이 생성될 때 Seat을 같이 생성, PerformanceEvent가 생성될 때 Reservation을 같이 생성하도록 변경 * feat: Find PerformanceEvent PerformanceId와 LocalDate로부터 PerformanceEventId를 반환하도록 추가 잘못된 PerformanceEventId로 빈좌석정보를 확인했을 때 에러 반환 * chore: .env 무시 * feat: Reinforce Simultaneous test code 동시에 여러 사람의 접근이 있어도 통과하는지 테스트 코드 추가 동시에 여러 사람이 서로 다른 좌석에 접근할 때 테스트 코드 추가 * feat: Review/Reply 연결 review와 reply 마무리 * comment: user 설명 추가 username과 password의 조건 설명 추가 * chore: 필요없는 코드 지우기 * feat: Sort Reviews and Replies GET을 통해 리뷰나 댓글을 조회할 때 최신순으로 반환한다 * style: add new line at EOF * hotfix: test 안되던 오류 수정 * fix: Change Reservation ReservationEntity 예매하면서 만들어지도록 변경 * fix: error 핸들링 SeatService에서 DataIntegrityViolationException을 핸들링하기 위해 saveAndFlush를 사용했다. 기존에는 save가 트랜잭션이 끝나고 완료되어서 오류가 핸들링이 안 되었었다 * fix: Seat Test * fix: test conflict resolve 테스트에서 같은 username을 쓰던 부분을 수정 * feat: Seat Api Test * fix: 예매 취소 POST -> DELETE --------- Co-authored-by: Dohyeon Kim <[email protected]> * add: Review, Reply DTO Instant -> LocalDatTime * feat: Cursor Pagination Tools CursorSpecification은 조건 추가해수는 기능 CursorPageService는 cursor 포함해서 검색하는 기능 CursorEncoder는 cursor를 컨트롤러에서 인코딩/디코딩 할 수 있도록 하는 기능 * feat: CursorPageable 적용 * fix: modify CursorPageable 디폴트 값을 데이터 클래스가 생성될 때 채워지는 것으로 적용 * fix: Reply Test Instant 대신 LocalDateTime을 씀에 따라 테스트에서의 파싱도 변경 * social login 구현중 중간 save * setup .env * add SocialLoginApi.http * remove .env * feat: response hasNext와 nextCursor 반환 * write swagger api for socialauthcontroller * modify social login api docs description * add social login query paramter explanations * fix: nextCursor 수정 원래 객체 자체를 인코딩해서 ".id",".id"같은 값이 인코딩되어 나왔습니다 get을 사용해서 객체의 값을 가져올 수 있도록 수정했습니다 * feat: Performance Pagination 완성 * social endpoint permitall * feat: pagination 적용된 review 조회 v2로 만들었습니다 * social login receive socialAccessToken, not authorizatoinCode * fix: Review Cursor 기능 완성 * feat: Reply에도 Cursor 적용 * fix: 엔드포인트 분리 * feat: performance 엔드포인트 분리 v1과 v2로 나누어 선택할 수 있도록 * feat: permitAll for pagination * fix: test 코드 수정 * fix: test 수정 * feat: Performance Search & Get Review 페이지네이션 적용 완료 * modify makefile / test: h2 -> mysql * modify social login explanation * feat: Exception 처리 * fix: 기존 테스트 코드 유지 * feat: Reply Pagination 완성 Performance, Review, Reply Pagination 구현 완료 * feat: Performance Date 추가 * CI: add env on CI * CI: add check on pull_requests * Pagination 구현 (#26) * merge test - generate performancehallentity.kt * feat: searchPerformance * chore: 도커 컴포즈 dockerfile 작성해서 도커 이미지 잘 만들어지고 http 파일로 테스트까지 가능한 상태입니다 * modify searchPerformance * add: docker-compose * modify build.gradle.kts * add wildcard import in UserService.kt * change Performance attribute 'genre' to 'category' * change category to ENUM Type * add some Init Datas * add some Init Datas * assign posterimageURL * add: Entity 엔티티 작업중 * assign posterimageURL * add: SeatService 임시저장하겠습니다 * feat: SeatService 좌석 확인, 예매, 예매 취소 기능 구현 아직 동시성 처리 안됐습니다 * feat: Add Controller 컨트롤러 추가했습니다 곧 테스트 코드 추가해보겠습니다 * modify searchPerformance, GET요청은 RequestBody를 사용할 수 없다고 하여 다시 RequestParam을 사용하는 원래 방식으로 변경 * feat: SeatCreation performanceHallId와 type을 받아 좌석엔티티들을 자동으로 생성하는 서비스 함수와 performanceEventId를 받아 빈 예약 가능 엔티티들을 자동을 생성하는 서비스를 만들었습니다 추후 createPerformanceHall과 createPerformanceEvent함수를 수정해서 과정을 더 자동화할 수 있을 것 같습니다 * add: SeatIntegrationTest SeatIntegrationTest 만들었습니다 테스트 전부 통과하며 빌드 성공합니다 다만 테스트에 mysql 데이터베이스가 쓰이며 초기화가 자동으로 되지 않아 문제가 생기니 이는 개선이 필요합니다 * chore: use h2 while test application.yaml 파일을 테스트 코드를 위해 하나 추가해줬습니다 테스트코드에서 @transactional까지 사용한다면 테스트 코드가 서로 영향을 끼치지 않게 됩니다 * fix: Seat Reservation reservation 바뀐 정보 반영하도록 save 사용했고, Detail확인하는 영역은 컨트롤러까지 분리했습니다 * style: seat ktlint seat폴더의 파일들에 ktlint 적용 * modify MakeFile * 공연 검색 기능 구현 * fromEntity parameter change: receive Entities -> receive DTOs * modify searchPerformance endpoint URL * chore: makefile OS 따라서 다르게 작동하게 수정 * 공연 1개 상세 정보 반환 * minor modify: change how null type is handled * 초기 데이터 수정, 공연이벤트는 일단 공연 기간의 첫날과 마지막날만 생성하였음 * modify DataInitializer, SeatIntegrationTest * add PerformanceDetail Uri * make PerformanceItegrationTest.kt * feat: 예매 동시성 동시성 처리 완료 동시성 처리는 잘 되지만, 테스트 코드 작성이 많이 까다로움 * feat: Get My Reservation Api 유저가 로그인한채로 본인의 예약 목록을 확인할 수 있는 기능 추가 * feat: Seat Get TestCode Get API가 정상작동하는지 테스트코드 추가 * modify SearchPerformanceResponse * check auth for create, delete performance * check auth for create, delete performanceEvent, performanceHall * add posterUri attr to BriefPerformanceDetail * minor change * feat: 예매목록 Brief로 주기 기존에 id만 주던 것을 Brief 데이터의 리스트를 주는 것으로 수정 signin을 할 때 User도 같이 반환하도록 수정 * fix: 로그아웃, 토큰 재발급 버그 수정, 엔드포인트 수정 * add UserIdentityNotFoundException * modify PerformanceDurtion * feat: 공연장 생성시 좌석도 함께 생성 * feat: seat 초기화 적용, 버그 수정 PerformanceHall이 생성될 때 Seat을 같이 생성, PerformanceEvent가 생성될 때 Reservation을 같이 생성하도록 변경 * feat: Find PerformanceEvent PerformanceId와 LocalDate로부터 PerformanceEventId를 반환하도록 추가 잘못된 PerformanceEventId로 빈좌석정보를 확인했을 때 에러 반환 * chore: .env 무시 * feat: Reinforce Simultaneous test code 동시에 여러 사람의 접근이 있어도 통과하는지 테스트 코드 추가 동시에 여러 사람이 서로 다른 좌석에 접근할 때 테스트 코드 추가 * feat: Review/Reply 연결 review와 reply 마무리 * comment: user 설명 추가 username과 password의 조건 설명 추가 * chore: 필요없는 코드 지우기 * feat: Sort Reviews and Replies GET을 통해 리뷰나 댓글을 조회할 때 최신순으로 반환한다 * style: add new line at EOF * hotfix: test 안되던 오류 수정 * fix: Change Reservation ReservationEntity 예매하면서 만들어지도록 변경 * fix: error 핸들링 SeatService에서 DataIntegrityViolationException을 핸들링하기 위해 saveAndFlush를 사용했다. 기존에는 save가 트랜잭션이 끝나고 완료되어서 오류가 핸들링이 안 되었었다 * fix: Seat Test * fix: test conflict resolve 테스트에서 같은 username을 쓰던 부분을 수정 * feat: Seat Api Test * fix: 예매 취소 POST -> DELETE * add: Review, Reply DTO Instant -> LocalDatTime * feat: Cursor Pagination Tools CursorSpecification은 조건 추가해수는 기능 CursorPageService는 cursor 포함해서 검색하는 기능 CursorEncoder는 cursor를 컨트롤러에서 인코딩/디코딩 할 수 있도록 하는 기능 * feat: CursorPageable 적용 * fix: modify CursorPageable 디폴트 값을 데이터 클래스가 생성될 때 채워지는 것으로 적용 * fix: Reply Test Instant 대신 LocalDateTime을 씀에 따라 테스트에서의 파싱도 변경 * feat: response hasNext와 nextCursor 반환 * fix: nextCursor 수정 원래 객체 자체를 인코딩해서 ".id",".id"같은 값이 인코딩되어 나왔습니다 get을 사용해서 객체의 값을 가져올 수 있도록 수정했습니다 * feat: Performance Pagination 완성 * feat: pagination 적용된 review 조회 v2로 만들었습니다 * fix: Review Cursor 기능 완성 * feat: Reply에도 Cursor 적용 * fix: 엔드포인트 분리 * feat: performance 엔드포인트 분리 v1과 v2로 나누어 선택할 수 있도록 * feat: permitAll for pagination * fix: test 코드 수정 * fix: test 수정 * feat: Performance Search & Get Review 페이지네이션 적용 완료 * feat: Exception 처리 * fix: 기존 테스트 코드 유지 * feat: Reply Pagination 완성 Performance, Review, Reply Pagination 구현 완료 * feat: Performance Date 추가 --------- Co-authored-by: Dohyeon Kim <[email protected]> * rollback userservice.signup() * rollback signup * 소셜 로그인 구현 (#27) * merge test - generate performancehallentity.kt * feat: searchPerformance * chore: 도커 컴포즈 dockerfile 작성해서 도커 이미지 잘 만들어지고 http 파일로 테스트까지 가능한 상태입니다 * modify searchPerformance * add: docker-compose * modify build.gradle.kts * add wildcard import in UserService.kt * change Performance attribute 'genre' to 'category' * change category to ENUM Type * add some Init Datas * add some Init Datas * assign posterimageURL * add: Entity 엔티티 작업중 * assign posterimageURL * add: SeatService 임시저장하겠습니다 * feat: SeatService 좌석 확인, 예매, 예매 취소 기능 구현 아직 동시성 처리 안됐습니다 * feat: Add Controller 컨트롤러 추가했습니다 곧 테스트 코드 추가해보겠습니다 * modify searchPerformance, GET요청은 RequestBody를 사용할 수 없다고 하여 다시 RequestParam을 사용하는 원래 방식으로 변경 * feat: SeatCreation performanceHallId와 type을 받아 좌석엔티티들을 자동으로 생성하는 서비스 함수와 performanceEventId를 받아 빈 예약 가능 엔티티들을 자동을 생성하는 서비스를 만들었습니다 추후 createPerformanceHall과 createPerformanceEvent함수를 수정해서 과정을 더 자동화할 수 있을 것 같습니다 * add: SeatIntegrationTest SeatIntegrationTest 만들었습니다 테스트 전부 통과하며 빌드 성공합니다 다만 테스트에 mysql 데이터베이스가 쓰이며 초기화가 자동으로 되지 않아 문제가 생기니 이는 개선이 필요합니다 * chore: use h2 while test application.yaml 파일을 테스트 코드를 위해 하나 추가해줬습니다 테스트코드에서 @transactional까지 사용한다면 테스트 코드가 서로 영향을 끼치지 않게 됩니다 * fix: Seat Reservation reservation 바뀐 정보 반영하도록 save 사용했고, Detail확인하는 영역은 컨트롤러까지 분리했습니다 * style: seat ktlint seat폴더의 파일들에 ktlint 적용 * modify MakeFile * 공연 검색 기능 구현 * fromEntity parameter change: receive Entities -> receive DTOs * modify searchPerformance endpoint URL * chore: makefile OS 따라서 다르게 작동하게 수정 * 공연 1개 상세 정보 반환 * minor modify: change how null type is handled * 초기 데이터 수정, 공연이벤트는 일단 공연 기간의 첫날과 마지막날만 생성하였음 * modify DataInitializer, SeatIntegrationTest * add PerformanceDetail Uri * make PerformanceItegrationTest.kt * feat: 예매 동시성 동시성 처리 완료 동시성 처리는 잘 되지만, 테스트 코드 작성이 많이 까다로움 * feat: Get My Reservation Api 유저가 로그인한채로 본인의 예약 목록을 확인할 수 있는 기능 추가 * feat: Seat Get TestCode Get API가 정상작동하는지 테스트코드 추가 * modify SearchPerformanceResponse * check auth for create, delete performance * check auth for create, delete performanceEvent, performanceHall * add posterUri attr to BriefPerformanceDetail * minor change * feat: 예매목록 Brief로 주기 기존에 id만 주던 것을 Brief 데이터의 리스트를 주는 것으로 수정 signin을 할 때 User도 같이 반환하도록 수정 * fix: 로그아웃, 토큰 재발급 버그 수정, 엔드포인트 수정 * add UserIdentityNotFoundException * modify PerformanceDurtion * backup <user> package to <archive/user_old> * modify endpoint * applying spring security * setup .env * fix .http localhost port number * apply spring security * apply spring security * minor * remove .env from tracked files * gitignore * remove unused method * minor * minor * add new line at EOF * modify jwtfilter comment * convert Instant to KoreanLocalDateTime in PerformanceEventDTO * add permission * throw AuthenticateException when accessToken is not valid * save * roll back 401 -> 403 when access denied * setup .env * social login 구현중 중간 save * add SocialLoginApi.http * remove .env * write swagger api for socialauthcontroller * modify social login api docs description * add social login query paramter explanations * social endpoint permitall * social login receive socialAccessToken, not authorizatoinCode * modify social login explanation * rollback userservice.signup() * rollback signup --------- Co-authored-by: ChungPlusPlus <[email protected]> * readme skeleton update * readme.md skeleton update (#29) * merge test - generate performancehallentity.kt * feat: searchPerformance * chore: 도커 컴포즈 dockerfile 작성해서 도커 이미지 잘 만들어지고 http 파일로 테스트까지 가능한 상태입니다 * modify searchPerformance * add: docker-compose * modify build.gradle.kts * add wildcard import in UserService.kt * change Performance attribute 'genre' to 'category' * change category to ENUM Type * add some Init Datas * add some Init Datas * assign posterimageURL * add: Entity 엔티티 작업중 * assign posterimageURL * add: SeatService 임시저장하겠습니다 * feat: SeatService 좌석 확인, 예매, 예매 취소 기능 구현 아직 동시성 처리 안됐습니다 * feat: Add Controller 컨트롤러 추가했습니다 곧 테스트 코드 추가해보겠습니다 * modify searchPerformance, GET요청은 RequestBody를 사용할 수 없다고 하여 다시 RequestParam을 사용하는 원래 방식으로 변경 * feat: SeatCreation performanceHallId와 type을 받아 좌석엔티티들을 자동으로 생성하는 서비스 함수와 performanceEventId를 받아 빈 예약 가능 엔티티들을 자동을 생성하는 서비스를 만들었습니다 추후 createPerformanceHall과 createPerformanceEvent함수를 수정해서 과정을 더 자동화할 수 있을 것 같습니다 * add: SeatIntegrationTest SeatIntegrationTest 만들었습니다 테스트 전부 통과하며 빌드 성공합니다 다만 테스트에 mysql 데이터베이스가 쓰이며 초기화가 자동으로 되지 않아 문제가 생기니 이는 개선이 필요합니다 * chore: use h2 while test application.yaml 파일을 테스트 코드를 위해 하나 추가해줬습니다 테스트코드에서 @transactional까지 사용한다면 테스트 코드가 서로 영향을 끼치지 않게 됩니다 * fix: Seat Reservation reservation 바뀐 정보 반영하도록 save 사용했고, Detail확인하는 영역은 컨트롤러까지 분리했습니다 * style: seat ktlint seat폴더의 파일들에 ktlint 적용 * modify MakeFile * 공연 검색 기능 구현 * fromEntity parameter change: receive Entities -> receive DTOs * modify searchPerformance endpoint URL * chore: makefile OS 따라서 다르게 작동하게 수정 * 공연 1개 상세 정보 반환 * minor modify: change how null type is handled * 초기 데이터 수정, 공연이벤트는 일단 공연 기간의 첫날과 마지막날만 생성하였음 * modify DataInitializer, SeatIntegrationTest * add PerformanceDetail Uri * make PerformanceItegrationTest.kt * feat: 예매 동시성 동시성 처리 완료 동시성 처리는 잘 되지만, 테스트 코드 작성이 많이 까다로움 * feat: Get My Reservation Api 유저가 로그인한채로 본인의 예약 목록을 확인할 수 있는 기능 추가 * feat: Seat Get TestCode Get API가 정상작동하는지 테스트코드 추가 * modify SearchPerformanceResponse * check auth for create, delete performance * check auth for create, delete performanceEvent, performanceHall * add posterUri attr to BriefPerformanceDetail * minor change * feat: 예매목록 Brief로 주기 기존에 id만 주던 것을 Brief 데이터의 리스트를 주는 것으로 수정 signin을 할 때 User도 같이 반환하도록 수정 * fix: 로그아웃, 토큰 재발급 버그 수정, 엔드포인트 수정 * add UserIdentityNotFoundException * modify PerformanceDurtion * backup <user> package to <archive/user_old> * modify endpoint * applying spring security * setup .env * fix .http localhost port number * apply spring security * apply spring security * minor * remove .env from tracked files * gitignore * remove unused method * minor * minor * add new line at EOF * modify jwtfilter comment * convert Instant to KoreanLocalDateTime in PerformanceEventDTO * add permission * throw AuthenticateException when accessToken is not valid * save * roll back 401 -> 403 when access denied * setup .env * social login 구현중 중간 save * add SocialLoginApi.http * remove .env * write swagger api for socialauthcontroller * modify social login api docs description * add social login query paramter explanations * social endpoint permitall * social login receive socialAccessToken, not authorizatoinCode * modify social login explanation * rollback userservice.signup() * rollback signup * readme skeleton update --------- Co-authored-by: ChungPlusPlus <[email protected]> * feat: data 추가중 * feat: MUSICAL data 완료 * feat: PLAY 데이터 추가 * feat: CLASSIC 데이터 추가 * feat: CONCERT 데이터 추가 * 공연 데이터 추가 (#30) * merge test - generate performancehallentity.kt * feat: searchPerformance * chore: 도커 컴포즈 dockerfile 작성해서 도커 이미지 잘 만들어지고 http 파일로 테스트까지 가능한 상태입니다 * modify searchPerformance * add: docker-compose * modify build.gradle.kts * add wildcard import in UserService.kt * change Performance attribute 'genre' to 'category' * change category to ENUM Type * add some Init Datas * add some Init Datas * assign posterimageURL * add: Entity 엔티티 작업중 * assign posterimageURL * add: SeatService 임시저장하겠습니다 * feat: SeatService 좌석 확인, 예매, 예매 취소 기능 구현 아직 동시성 처리 안됐습니다 * feat: Add Controller 컨트롤러 추가했습니다 곧 테스트 코드 추가해보겠습니다 * modify searchPerformance, GET요청은 RequestBody를 사용할 수 없다고 하여 다시 RequestParam을 사용하는 원래 방식으로 변경 * feat: SeatCreation performanceHallId와 type을 받아 좌석엔티티들을 자동으로 생성하는 서비스 함수와 performanceEventId를 받아 빈 예약 가능 엔티티들을 자동을 생성하는 서비스를 만들었습니다 추후 createPerformanceHall과 createPerformanceEvent함수를 수정해서 과정을 더 자동화할 수 있을 것 같습니다 * add: SeatIntegrationTest SeatIntegrationTest 만들었습니다 테스트 전부 통과하며 빌드 성공합니다 다만 테스트에 mysql 데이터베이스가 쓰이며 초기화가 자동으로 되지 않아 문제가 생기니 이는 개선이 필요합니다 * chore: use h2 while test application.yaml 파일을 테스트 코드를 위해 하나 추가해줬습니다 테스트코드에서 @transactional까지 사용한다면 테스트 코드가 서로 영향을 끼치지 않게 됩니다 * fix: Seat Reservation reservation 바뀐 정보 반영하도록 save 사용했고, Detail확인하는 영역은 컨트롤러까지 분리했습니다 * style: seat ktlint seat폴더의 파일들에 ktlint 적용 * modify MakeFile * 공연 검색 기능 구현 * fromEntity parameter change: receive Entities -> receive DTOs * modify searchPerformance endpoint URL * chore: makefile OS 따라서 다르게 작동하게 수정 * 공연 1개 상세 정보 반환 * minor modify: change how null type is handled * 초기 데이터 수정, 공연이벤트는 일단 공연 기간의 첫날과 마지막날만 생성하였음 * modify DataInitializer, SeatIntegrationTest * add PerformanceDetail Uri * make PerformanceItegrationTest.kt * feat: 예매 동시성 동시성 처리 완료 동시성 처리는 잘 되지만, 테스트 코드 작성이 많이 까다로움 * feat: Get My Reservation Api 유저가 로그인한채로 본인의 예약 목록을 확인할 수 있는 기능 추가 * feat: Seat Get TestCode Get API가 정상작동하는지 테스트코드 추가 * modify SearchPerformanceResponse * check auth for create, delete performance * check auth for create, delete performanceEvent, performanceHall * add posterUri attr to BriefPerformanceDetail * minor change * feat: 예매목록 Brief로 주기 기존에 id만 주던 것을 Brief 데이터의 리스트를 주는 것으로 수정 signin을 할 때 User도 같이 반환하도록 수정 * fix: 로그아웃, 토큰 재발급 버그 수정, 엔드포인트 수정 * add UserIdentityNotFoundException * modify PerformanceDurtion * feat: 공연장 생성시 좌석도 함께 생성 * feat: seat 초기화 적용, 버그 수정 PerformanceHall이 생성될 때 Seat을 같이 생성, PerformanceEvent가 생성될 때 Reservation을 같이 생성하도록 변경 * feat: Find PerformanceEvent PerformanceId와 LocalDate로부터 PerformanceEventId를 반환하도록 추가 잘못된 PerformanceEventId로 빈좌석정보를 확인했을 때 에러 반환 * chore: .env 무시 * feat: Reinforce Simultaneous test code 동시에 여러 사람의 접근이 있어도 통과하는지 테스트 코드 추가 동시에 여러 사람이 서로 다른 좌석에 접근할 때 테스트 코드 추가 * feat: Review/Reply 연결 review와 reply 마무리 * comment: user 설명 추가 username과 password의 조건 설명 추가 * chore: 필요없는 코드 지우기 * feat: Sort Reviews and Replies GET을 통해 리뷰나 댓글을 조회할 때 최신순으로 반환한다 * style: add new line at EOF * hotfix: test 안되던 오류 수정 * fix: Change Reservation ReservationEntity 예매하면서 만들어지도록 변경 * fix: error 핸들링 SeatService에서 DataIntegrityViolationException을 핸들링하기 위해 saveAndFlush를 사용했다. 기존에는 save가 트랜잭션이 끝나고 완료되어서 오류가 핸들링이 안 되었었다 * fix: Seat Test * fix: test conflict resolve 테스트에서 같은 username을 쓰던 부분을 수정 * feat: Seat Api Test * fix: 예매 취소 POST -> DELETE * add: Review, Reply DTO Instant -> LocalDatTime * feat: Cursor Pagination Tools CursorSpecification은 조건 추가해수는 기능 CursorPageService는 cursor 포함해서 검색하는 기능 CursorEncoder는 cursor를 컨트롤러에서 인코딩/디코딩 할 수 있도록 하는 기능 * feat: CursorPageable 적용 * fix: modify CursorPageable 디폴트 값을 데이터 클래스가 생성될 때 채워지는 것으로 적용 * fix: Reply Test Instant 대신 LocalDateTime을 씀에 따라 테스트에서의 파싱도 변경 * feat: response hasNext와 nextCursor 반환 * fix: nextCursor 수정 원래 객체 자체를 인코딩해서 ".id",".id"같은 값이 인코딩되어 나왔습니다 get을 사용해서 객체의 값을 가져올 수 있도록 수정했습니다 * feat: Performance Pagination 완성 * feat: pagination 적용된 review 조회 v2로 만들었습니다 * fix: Review Cursor 기능 완성 * feat: Reply에도 Cursor 적용 * fix: 엔드포인트 분리 * feat: performance 엔드포인트 분리 v1과 v2로 나누어 선택할 수 있도록 * feat: permitAll for pagination * fix: test 코드 수정 * fix: test 수정 * feat: Performance Search & Get Review 페이지네이션 적용 완료 * feat: Exception 처리 * fix: 기존 테스트 코드 유지 * feat: Reply Pagination 완성 Performance, Review, Reply Pagination 구현 완료 * feat: Performance Date 추가 * feat: data 추가중 * feat: MUSICAL data 완료 * feat: PLAY 데이터 추가 * feat: CLASSIC 데이터 추가 * feat: CONCERT 데이터 추가 --------- Co-authored-by: Dohyeon Kim <[email protected]> * readme save * feat: readMe 추가작성 * feat: Swaager summary * feat: Swagger summary for UserController * CI: remove pull request trigger * CD: add --build on rerun script * read me save * feat: Cascade 설정 (#31) * readme save * readme save * fix: README.md * readme save * feat: add stack * feat: add language * readme save * feat: add redis * remove --- lines * add JWT logo * add empty lines * add empty lines * fix(README.md): add simple deploy descriptions * index 추가 (#33) * feat: Cascade 설정 * feat: index 추가중 * feat: 조회 성능 향상을 위한 index 추가 * Token Algorithm 지정 (#35) * feat: Cascade 설정 * feat: index 추가중 * feat: 조회 성능 향상을 위한 index 추가 * fix: token algorithm 지정 --------- Co-authored-by: Dohyeon Kim <[email protected]> Co-authored-by: grantzile <[email protected]> Co-authored-by: grantzile <[email protected]>
ChungPlusPlus
added a commit
that referenced
this pull request
Feb 2, 2025
* merge test - generate performancehallentity.kt * feat: searchPerformance * chore: 도커 컴포즈 dockerfile 작성해서 도커 이미지 잘 만들어지고 http 파일로 테스트까지 가능한 상태입니다 * modify searchPerformance * add: docker-compose * modify build.gradle.kts * add wildcard import in UserService.kt * change Performance attribute 'genre' to 'category' * change category to ENUM Type * add some Init Datas * add some Init Datas * assign posterimageURL * add: Entity 엔티티 작업중 * assign posterimageURL * add: SeatService 임시저장하겠습니다 * feat: SeatService 좌석 확인, 예매, 예매 취소 기능 구현 아직 동시성 처리 안됐습니다 * feat: Add Controller 컨트롤러 추가했습니다 곧 테스트 코드 추가해보겠습니다 * modify searchPerformance, GET요청은 RequestBody를 사용할 수 없다고 하여 다시 RequestParam을 사용하는 원래 방식으로 변경 * feat: SeatCreation performanceHallId와 type을 받아 좌석엔티티들을 자동으로 생성하는 서비스 함수와 performanceEventId를 받아 빈 예약 가능 엔티티들을 자동을 생성하는 서비스를 만들었습니다 추후 createPerformanceHall과 createPerformanceEvent함수를 수정해서 과정을 더 자동화할 수 있을 것 같습니다 * add: SeatIntegrationTest SeatIntegrationTest 만들었습니다 테스트 전부 통과하며 빌드 성공합니다 다만 테스트에 mysql 데이터베이스가 쓰이며 초기화가 자동으로 되지 않아 문제가 생기니 이는 개선이 필요합니다 * chore: use h2 while test application.yaml 파일을 테스트 코드를 위해 하나 추가해줬습니다 테스트코드에서 @transactional까지 사용한다면 테스트 코드가 서로 영향을 끼치지 않게 됩니다 * fix: Seat Reservation reservation 바뀐 정보 반영하도록 save 사용했고, Detail확인하는 영역은 컨트롤러까지 분리했습니다 * style: seat ktlint seat폴더의 파일들에 ktlint 적용 * modify MakeFile * 공연 검색 기능 구현 * fromEntity parameter change: receive Entities -> receive DTOs * modify searchPerformance endpoint URL * chore: makefile OS 따라서 다르게 작동하게 수정 * 공연 1개 상세 정보 반환 * minor modify: change how null type is handled * 초기 데이터 수정, 공연이벤트는 일단 공연 기간의 첫날과 마지막날만 생성하였음 * modify DataInitializer, SeatIntegrationTest * add PerformanceDetail Uri * make PerformanceItegrationTest.kt * feat: 예매 동시성 동시성 처리 완료 동시성 처리는 잘 되지만, 테스트 코드 작성이 많이 까다로움 * feat: Get My Reservation Api 유저가 로그인한채로 본인의 예약 목록을 확인할 수 있는 기능 추가 * feat: Seat Get TestCode Get API가 정상작동하는지 테스트코드 추가 * modify SearchPerformanceResponse * check auth for create, delete performance * check auth for create, delete performanceEvent, performanceHall * add posterUri attr to BriefPerformanceDetail * minor change * feat: 예매목록 Brief로 주기 기존에 id만 주던 것을 Brief 데이터의 리스트를 주는 것으로 수정 signin을 할 때 User도 같이 반환하도록 수정 * fix: 로그아웃, 토큰 재발급 버그 수정, 엔드포인트 수정 * add UserIdentityNotFoundException * modify PerformanceDurtion * backup <user> package to <archive/user_old> * modify endpoint * feat: 공연장 생성시 좌석도 함께 생성 * feat: seat 초기화 적용, 버그 수정 PerformanceHall이 생성될 때 Seat을 같이 생성, PerformanceEvent가 생성될 때 Reservation을 같이 생성하도록 변경 * 공연 카테고리 검색, 상세 조회, 생성, 삭제 기능 구현 (#15) * merge test - generate performancehallentity.kt * feat: searchPerformance * modify searchPerformance * modify build.gradle.kts * add wildcard import in UserService.kt * change Performance attribute 'genre' to 'category' * change category to ENUM Type * add some Init Datas * add some Init Datas * assign posterimageURL * assign posterimageURL * modify searchPerformance, GET요청은 RequestBody를 사용할 수 없다고 하여 다시 RequestParam을 사용하는 원래 방식으로 변경 * modify MakeFile * 공연 검색 기능 구현 * fromEntity parameter change: receive Entities -> receive DTOs * modify searchPerformance endpoint URL * 공연 1개 상세 정보 반환 * minor modify: change how null type is handled * 초기 데이터 수정, 공연이벤트는 일단 공연 기간의 첫날과 마지막날만 생성하였음 * modify DataInitializer, SeatIntegrationTest * add PerformanceDetail Uri * make PerformanceItegrationTest.kt * modify SearchPerformanceResponse * check auth for create, delete performance * check auth for create, delete performanceEvent, performanceHall * add posterUri attr to BriefPerformanceDetail * minor change * add UserIdentityNotFoundException * modify PerformanceDurtion * applying spring security * setup .env * feat: Find PerformanceEvent PerformanceId와 LocalDate로부터 PerformanceEventId를 반환하도록 추가 잘못된 PerformanceEventId로 빈좌석정보를 확인했을 때 에러 반환 * chore: .env 무시 * feat: Reinforce Simultaneous test code 동시에 여러 사람의 접근이 있어도 통과하는지 테스트 코드 추가 동시에 여러 사람이 서로 다른 좌석에 접근할 때 테스트 코드 추가 * 예매 동시성 처리, 로그인 엔드포인트 변경 (#18) * merge test - generate performancehallentity.kt * feat: searchPerformance * chore: 도커 컴포즈 dockerfile 작성해서 도커 이미지 잘 만들어지고 http 파일로 테스트까지 가능한 상태입니다 * modify searchPerformance * add: docker-compose * modify build.gradle.kts * add wildcard import in UserService.kt * change Performance attribute 'genre' to 'category' * change category to ENUM Type * add some Init Datas * add some Init Datas * assign posterimageURL * add: Entity 엔티티 작업중 * assign posterimageURL * add: SeatService 임시저장하겠습니다 * feat: SeatService 좌석 확인, 예매, 예매 취소 기능 구현 아직 동시성 처리 안됐습니다 * feat: Add Controller 컨트롤러 추가했습니다 곧 테스트 코드 추가해보겠습니다 * modify searchPerformance, GET요청은 RequestBody를 사용할 수 없다고 하여 다시 RequestParam을 사용하는 원래 방식으로 변경 * feat: SeatCreation performanceHallId와 type을 받아 좌석엔티티들을 자동으로 생성하는 서비스 함수와 performanceEventId를 받아 빈 예약 가능 엔티티들을 자동을 생성하는 서비스를 만들었습니다 추후 createPerformanceHall과 createPerformanceEvent함수를 수정해서 과정을 더 자동화할 수 있을 것 같습니다 * add: SeatIntegrationTest SeatIntegrationTest 만들었습니다 테스트 전부 통과하며 빌드 성공합니다 다만 테스트에 mysql 데이터베이스가 쓰이며 초기화가 자동으로 되지 않아 문제가 생기니 이는 개선이 필요합니다 * chore: use h2 while test application.yaml 파일을 테스트 코드를 위해 하나 추가해줬습니다 테스트코드에서 @transactional까지 사용한다면 테스트 코드가 서로 영향을 끼치지 않게 됩니다 * fix: Seat Reservation reservation 바뀐 정보 반영하도록 save 사용했고, Detail확인하는 영역은 컨트롤러까지 분리했습니다 * style: seat ktlint seat폴더의 파일들에 ktlint 적용 * modify MakeFile * 공연 검색 기능 구현 * fromEntity parameter change: receive Entities -> receive DTOs * modify searchPerformance endpoint URL * chore: makefile OS 따라서 다르게 작동하게 수정 * 공연 1개 상세 정보 반환 * minor modify: change how null type is handled * 초기 데이터 수정, 공연이벤트는 일단 공연 기간의 첫날과 마지막날만 생성하였음 * modify DataInitializer, SeatIntegrationTest * add PerformanceDetail Uri * make PerformanceItegrationTest.kt * feat: 예매 동시성 동시성 처리 완료 동시성 처리는 잘 되지만, 테스트 코드 작성이 많이 까다로움 * feat: Get My Reservation Api 유저가 로그인한채로 본인의 예약 목록을 확인할 수 있는 기능 추가 * feat: Seat Get TestCode Get API가 정상작동하는지 테스트코드 추가 * modify SearchPerformanceResponse * check auth for create, delete performance * check auth for create, delete performanceEvent, performanceHall * add posterUri attr to BriefPerformanceDetail * minor change * feat: 예매목록 Brief로 주기 기존에 id만 주던 것을 Brief 데이터의 리스트를 주는 것으로 수정 signin을 할 때 User도 같이 반환하도록 수정 * fix: 로그아웃, 토큰 재발급 버그 수정, 엔드포인트 수정 * add UserIdentityNotFoundException * modify PerformanceDurtion * feat: 공연장 생성시 좌석도 함께 생성 * feat: seat 초기화 적용, 버그 수정 PerformanceHall이 생성될 때 Seat을 같이 생성, PerformanceEvent가 생성될 때 Reservation을 같이 생성하도록 변경 * feat: Find PerformanceEvent PerformanceId와 LocalDate로부터 PerformanceEventId를 반환하도록 추가 잘못된 PerformanceEventId로 빈좌석정보를 확인했을 때 에러 반환 * chore: .env 무시 * feat: Reinforce Simultaneous test code 동시에 여러 사람의 접근이 있어도 통과하는지 테스트 코드 추가 동시에 여러 사람이 서로 다른 좌석에 접근할 때 테스트 코드 추가 --------- Co-authored-by: Dohyeon Kim <[email protected]> * fix .http localhost port number * apply spring security * apply spring security * minor * remove .env from tracked files * gitignore * remove unused method * minor * minor * add new line at EOF * modify jwtfilter comment * convert Instant to KoreanLocalDateTime in PerformanceEventDTO * add permission * feat: Review/Reply 연결 review와 reply 마무리 * comment: user 설명 추가 username과 password의 조건 설명 추가 * chore: 필요없는 코드 지우기 * feat: Sort Reviews and Replies GET을 통해 리뷰나 댓글을 조회할 때 최신순으로 반환한다 * Spring security 적용 (#19) * merge test - generate performancehallentity.kt * feat: searchPerformance * chore: 도커 컴포즈 dockerfile 작성해서 도커 이미지 잘 만들어지고 http 파일로 테스트까지 가능한 상태입니다 * modify searchPerformance * add: docker-compose * modify build.gradle.kts * add wildcard import in UserService.kt * change Performance attribute 'genre' to 'category' * change category to ENUM Type * add some Init Datas * add some Init Datas * assign posterimageURL * add: Entity 엔티티 작업중 * assign posterimageURL * add: SeatService 임시저장하겠습니다 * feat: SeatService 좌석 확인, 예매, 예매 취소 기능 구현 아직 동시성 처리 안됐습니다 * feat: Add Controller 컨트롤러 추가했습니다 곧 테스트 코드 추가해보겠습니다 * modify searchPerformance, GET요청은 RequestBody를 사용할 수 없다고 하여 다시 RequestParam을 사용하는 원래 방식으로 변경 * feat: SeatCreation performanceHallId와 type을 받아 좌석엔티티들을 자동으로 생성하는 서비스 함수와 performanceEventId를 받아 빈 예약 가능 엔티티들을 자동을 생성하는 서비스를 만들었습니다 추후 createPerformanceHall과 createPerformanceEvent함수를 수정해서 과정을 더 자동화할 수 있을 것 같습니다 * add: SeatIntegrationTest SeatIntegrationTest 만들었습니다 테스트 전부 통과하며 빌드 성공합니다 다만 테스트에 mysql 데이터베이스가 쓰이며 초기화가 자동으로 되지 않아 문제가 생기니 이는 개선이 필요합니다 * chore: use h2 while test application.yaml 파일을 테스트 코드를 위해 하나 추가해줬습니다 테스트코드에서 @transactional까지 사용한다면 테스트 코드가 서로 영향을 끼치지 않게 됩니다 * fix: Seat Reservation reservation 바뀐 정보 반영하도록 save 사용했고, Detail확인하는 영역은 컨트롤러까지 분리했습니다 * style: seat ktlint seat폴더의 파일들에 ktlint 적용 * modify MakeFile * 공연 검색 기능 구현 * fromEntity parameter change: receive Entities -> receive DTOs * modify searchPerformance endpoint URL * chore: makefile OS 따라서 다르게 작동하게 수정 * 공연 1개 상세 정보 반환 * minor modify: change how null type is handled * 초기 데이터 수정, 공연이벤트는 일단 공연 기간의 첫날과 마지막날만 생성하였음 * modify DataInitializer, SeatIntegrationTest * add PerformanceDetail Uri * make PerformanceItegrationTest.kt * feat: 예매 동시성 동시성 처리 완료 동시성 처리는 잘 되지만, 테스트 코드 작성이 많이 까다로움 * feat: Get My Reservation Api 유저가 로그인한채로 본인의 예약 목록을 확인할 수 있는 기능 추가 * feat: Seat Get TestCode Get API가 정상작동하는지 테스트코드 추가 * modify SearchPerformanceResponse * check auth for create, delete performance * check auth for create, delete performanceEvent, performanceHall * add posterUri attr to BriefPerformanceDetail * minor change * feat: 예매목록 Brief로 주기 기존에 id만 주던 것을 Brief 데이터의 리스트를 주는 것으로 수정 signin을 할 때 User도 같이 반환하도록 수정 * fix: 로그아웃, 토큰 재발급 버그 수정, 엔드포인트 수정 * add UserIdentityNotFoundException * modify PerformanceDurtion * backup <user> package to <archive/user_old> * modify endpoint * applying spring security * setup .env * fix .http localhost port number * apply spring security * apply spring security * minor * remove .env from tracked files * gitignore * remove unused method * minor * minor * add new line at EOF * modify jwtfilter comment * convert Instant to KoreanLocalDateTime in PerformanceEventDTO * add permission --------- Co-authored-by: ChungPlusPlus <[email protected]> * style: add new line at EOF * throw AuthenticateException when accessToken is not valid * Review & Reply (#20) * merge test - generate performancehallentity.kt * feat: searchPerformance * chore: 도커 컴포즈 dockerfile 작성해서 도커 이미지 잘 만들어지고 http 파일로 테스트까지 가능한 상태입니다 * modify searchPerformance * add: docker-compose * modify build.gradle.kts * add wildcard import in UserService.kt * change Performance attribute 'genre' to 'category' * change category to ENUM Type * add some Init Datas * add some Init Datas * assign posterimageURL * add: Entity 엔티티 작업중 * assign posterimageURL * add: SeatService 임시저장하겠습니다 * feat: SeatService 좌석 확인, 예매, 예매 취소 기능 구현 아직 동시성 처리 안됐습니다 * feat: Add Controller 컨트롤러 추가했습니다 곧 테스트 코드 추가해보겠습니다 * modify searchPerformance, GET요청은 RequestBody를 사용할 수 없다고 하여 다시 RequestParam을 사용하는 원래 방식으로 변경 * feat: SeatCreation performanceHallId와 type을 받아 좌석엔티티들을 자동으로 생성하는 서비스 함수와 performanceEventId를 받아 빈 예약 가능 엔티티들을 자동을 생성하는 서비스를 만들었습니다 추후 createPerformanceHall과 createPerformanceEvent함수를 수정해서 과정을 더 자동화할 수 있을 것 같습니다 * add: SeatIntegrationTest SeatIntegrationTest 만들었습니다 테스트 전부 통과하며 빌드 성공합니다 다만 테스트에 mysql 데이터베이스가 쓰이며 초기화가 자동으로 되지 않아 문제가 생기니 이는 개선이 필요합니다 * chore: use h2 while test application.yaml 파일을 테스트 코드를 위해 하나 추가해줬습니다 테스트코드에서 @transactional까지 사용한다면 테스트 코드가 서로 영향을 끼치지 않게 됩니다 * fix: Seat Reservation reservation 바뀐 정보 반영하도록 save 사용했고, Detail확인하는 영역은 컨트롤러까지 분리했습니다 * style: seat ktlint seat폴더의 파일들에 ktlint 적용 * modify MakeFile * 공연 검색 기능 구현 * fromEntity parameter change: receive Entities -> receive DTOs * modify searchPerformance endpoint URL * chore: makefile OS 따라서 다르게 작동하게 수정 * 공연 1개 상세 정보 반환 * minor modify: change how null type is handled * 초기 데이터 수정, 공연이벤트는 일단 공연 기간의 첫날과 마지막날만 생성하였음 * modify DataInitializer, SeatIntegrationTest * add PerformanceDetail Uri * make PerformanceItegrationTest.kt * feat: 예매 동시성 동시성 처리 완료 동시성 처리는 잘 되지만, 테스트 코드 작성이 많이 까다로움 * feat: Get My Reservation Api 유저가 로그인한채로 본인의 예약 목록을 확인할 수 있는 기능 추가 * feat: Seat Get TestCode Get API가 정상작동하는지 테스트코드 추가 * modify SearchPerformanceResponse * check auth for create, delete performance * check auth for create, delete performanceEvent, performanceHall * add posterUri attr to BriefPerformanceDetail * minor change * feat: 예매목록 Brief로 주기 기존에 id만 주던 것을 Brief 데이터의 리스트를 주는 것으로 수정 signin을 할 때 User도 같이 반환하도록 수정 * fix: 로그아웃, 토큰 재발급 버그 수정, 엔드포인트 수정 * add UserIdentityNotFoundException * modify PerformanceDurtion * feat: 공연장 생성시 좌석도 함께 생성 * feat: seat 초기화 적용, 버그 수정 PerformanceHall이 생성될 때 Seat을 같이 생성, PerformanceEvent가 생성될 때 Reservation을 같이 생성하도록 변경 * feat: Find PerformanceEvent PerformanceId와 LocalDate로부터 PerformanceEventId를 반환하도록 추가 잘못된 PerformanceEventId로 빈좌석정보를 확인했을 때 에러 반환 * chore: .env 무시 * feat: Reinforce Simultaneous test code 동시에 여러 사람의 접근이 있어도 통과하는지 테스트 코드 추가 동시에 여러 사람이 서로 다른 좌석에 접근할 때 테스트 코드 추가 * feat: Review/Reply 연결 review와 reply 마무리 * comment: user 설명 추가 username과 password의 조건 설명 추가 * chore: 필요없는 코드 지우기 * feat: Sort Reviews and Replies GET을 통해 리뷰나 댓글을 조회할 때 최신순으로 반환한다 * style: add new line at EOF --------- Co-authored-by: Dohyeon Kim <[email protected]> * save * Revert "Review & Reply (#20)" (#21) This reverts commit 9510784. * hotfix: test 안되던 오류 수정 * 빌드 안되던 버그 수정 (#22) * merge test - generate performancehallentity.kt * feat: searchPerformance * chore: 도커 컴포즈 dockerfile 작성해서 도커 이미지 잘 만들어지고 http 파일로 테스트까지 가능한 상태입니다 * modify searchPerformance * add: docker-compose * modify build.gradle.kts * add wildcard import in UserService.kt * change Performance attribute 'genre' to 'category' * change category to ENUM Type * add some Init Datas * add some Init Datas * assign posterimageURL * add: Entity 엔티티 작업중 * assign posterimageURL * add: SeatService 임시저장하겠습니다 * feat: SeatService 좌석 확인, 예매, 예매 취소 기능 구현 아직 동시성 처리 안됐습니다 * feat: Add Controller 컨트롤러 추가했습니다 곧 테스트 코드 추가해보겠습니다 * modify searchPerformance, GET요청은 RequestBody를 사용할 수 없다고 하여 다시 RequestParam을 사용하는 원래 방식으로 변경 * feat: SeatCreation performanceHallId와 type을 받아 좌석엔티티들을 자동으로 생성하는 서비스 함수와 performanceEventId를 받아 빈 예약 가능 엔티티들을 자동을 생성하는 서비스를 만들었습니다 추후 createPerformanceHall과 createPerformanceEvent함수를 수정해서 과정을 더 자동화할 수 있을 것 같습니다 * add: SeatIntegrationTest SeatIntegrationTest 만들었습니다 테스트 전부 통과하며 빌드 성공합니다 다만 테스트에 mysql 데이터베이스가 쓰이며 초기화가 자동으로 되지 않아 문제가 생기니 이는 개선이 필요합니다 * chore: use h2 while test application.yaml 파일을 테스트 코드를 위해 하나 추가해줬습니다 테스트코드에서 @transactional까지 사용한다면 테스트 코드가 서로 영향을 끼치지 않게 됩니다 * fix: Seat Reservation reservation 바뀐 정보 반영하도록 save 사용했고, Detail확인하는 영역은 컨트롤러까지 분리했습니다 * style: seat ktlint seat폴더의 파일들에 ktlint 적용 * modify MakeFile * 공연 검색 기능 구현 * fromEntity parameter change: receive Entities -> receive DTOs * modify searchPerformance endpoint URL * chore: makefile OS 따라서 다르게 작동하게 수정 * 공연 1개 상세 정보 반환 * minor modify: change how null type is handled * 초기 데이터 수정, 공연이벤트는 일단 공연 기간의 첫날과 마지막날만 생성하였음 * modify DataInitializer, SeatIntegrationTest * add PerformanceDetail Uri * make PerformanceItegrationTest.kt * feat: 예매 동시성 동시성 처리 완료 동시성 처리는 잘 되지만, 테스트 코드 작성이 많이 까다로움 * feat: Get My Reservation Api 유저가 로그인한채로 본인의 예약 목록을 확인할 수 있는 기능 추가 * feat: Seat Get TestCode Get API가 정상작동하는지 테스트코드 추가 * modify SearchPerformanceResponse * check auth for create, delete performance * check auth for create, delete performanceEvent, performanceHall * add posterUri attr to BriefPerformanceDetail * minor change * feat: 예매목록 Brief로 주기 기존에 id만 주던 것을 Brief 데이터의 리스트를 주는 것으로 수정 signin을 할 때 User도 같이 반환하도록 수정 * fix: 로그아웃, 토큰 재발급 버그 수정, 엔드포인트 수정 * add UserIdentityNotFoundException * modify PerformanceDurtion * feat: 공연장 생성시 좌석도 함께 생성 * feat: seat 초기화 적용, 버그 수정 PerformanceHall이 생성될 때 Seat을 같이 생성, PerformanceEvent가 생성될 때 Reservation을 같이 생성하도록 변경 * feat: Find PerformanceEvent PerformanceId와 LocalDate로부터 PerformanceEventId를 반환하도록 추가 잘못된 PerformanceEventId로 빈좌석정보를 확인했을 때 에러 반환 * chore: .env 무시 * feat: Reinforce Simultaneous test code 동시에 여러 사람의 접근이 있어도 통과하는지 테스트 코드 추가 동시에 여러 사람이 서로 다른 좌석에 접근할 때 테스트 코드 추가 * feat: Review/Reply 연결 review와 reply 마무리 * comment: user 설명 추가 username과 password의 조건 설명 추가 * chore: 필요없는 코드 지우기 * feat: Sort Reviews and Replies GET을 통해 리뷰나 댓글을 조회할 때 최신순으로 반환한다 * style: add new line at EOF * hotfix: test 안되던 오류 수정 --------- Co-authored-by: Dohyeon Kim <[email protected]> * roll back 401 -> 403 when access denied * setup .env * fix: Change Reservation ReservationEntity 예매하면서 만들어지도록 변경 * CI: fixed CI (#23) * hotfix: change CI/CD jdk to 23 * hotfix: use compose in CI * hotfix: fix ci * hotfix: reset ci * fix: build test on all branch * fix: error 핸들링 SeatService에서 DataIntegrityViolationException을 핸들링하기 위해 saveAndFlush를 사용했다. 기존에는 save가 트랜잭션이 끝나고 완료되어서 오류가 핸들링이 안 되었었다 * fix: Seat Test * fix: test conflict resolve 테스트에서 같은 username을 쓰던 부분을 수정 * feat: Seat Api Test * fix: 예매 취소 POST -> DELETE * Reservation 수정 (#25) * merge test - generate performancehallentity.kt * feat: searchPerformance * chore: 도커 컴포즈 dockerfile 작성해서 도커 이미지 잘 만들어지고 http 파일로 테스트까지 가능한 상태입니다 * modify searchPerformance * add: docker-compose * modify build.gradle.kts * add wildcard import in UserService.kt * change Performance attribute 'genre' to 'category' * change category to ENUM Type * add some Init Datas * add some Init Datas * assign posterimageURL * add: Entity 엔티티 작업중 * assign posterimageURL * add: SeatService 임시저장하겠습니다 * feat: SeatService 좌석 확인, 예매, 예매 취소 기능 구현 아직 동시성 처리 안됐습니다 * feat: Add Controller 컨트롤러 추가했습니다 곧 테스트 코드 추가해보겠습니다 * modify searchPerformance, GET요청은 RequestBody를 사용할 수 없다고 하여 다시 RequestParam을 사용하는 원래 방식으로 변경 * feat: SeatCreation performanceHallId와 type을 받아 좌석엔티티들을 자동으로 생성하는 서비스 함수와 performanceEventId를 받아 빈 예약 가능 엔티티들을 자동을 생성하는 서비스를 만들었습니다 추후 createPerformanceHall과 createPerformanceEvent함수를 수정해서 과정을 더 자동화할 수 있을 것 같습니다 * add: SeatIntegrationTest SeatIntegrationTest 만들었습니다 테스트 전부 통과하며 빌드 성공합니다 다만 테스트에 mysql 데이터베이스가 쓰이며 초기화가 자동으로 되지 않아 문제가 생기니 이는 개선이 필요합니다 * chore: use h2 while test application.yaml 파일을 테스트 코드를 위해 하나 추가해줬습니다 테스트코드에서 @transactional까지 사용한다면 테스트 코드가 서로 영향을 끼치지 않게 됩니다 * fix: Seat Reservation reservation 바뀐 정보 반영하도록 save 사용했고, Detail확인하는 영역은 컨트롤러까지 분리했습니다 * style: seat ktlint seat폴더의 파일들에 ktlint 적용 * modify MakeFile * 공연 검색 기능 구현 * fromEntity parameter change: receive Entities -> receive DTOs * modify searchPerformance endpoint URL * chore: makefile OS 따라서 다르게 작동하게 수정 * 공연 1개 상세 정보 반환 * minor modify: change how null type is handled * 초기 데이터 수정, 공연이벤트는 일단 공연 기간의 첫날과 마지막날만 생성하였음 * modify DataInitializer, SeatIntegrationTest * add PerformanceDetail Uri * make PerformanceItegrationTest.kt * feat: 예매 동시성 동시성 처리 완료 동시성 처리는 잘 되지만, 테스트 코드 작성이 많이 까다로움 * feat: Get My Reservation Api 유저가 로그인한채로 본인의 예약 목록을 확인할 수 있는 기능 추가 * feat: Seat Get TestCode Get API가 정상작동하는지 테스트코드 추가 * modify SearchPerformanceResponse * check auth for create, delete performance * check auth for create, delete performanceEvent, performanceHall * add posterUri attr to BriefPerformanceDetail * minor change * feat: 예매목록 Brief로 주기 기존에 id만 주던 것을 Brief 데이터의 리스트를 주는 것으로 수정 signin을 할 때 User도 같이 반환하도록 수정 * fix: 로그아웃, 토큰 재발급 버그 수정, 엔드포인트 수정 * add UserIdentityNotFoundException * modify PerformanceDurtion * feat: 공연장 생성시 좌석도 함께 생성 * feat: seat 초기화 적용, 버그 수정 PerformanceHall이 생성될 때 Seat을 같이 생성, PerformanceEvent가 생성될 때 Reservation을 같이 생성하도록 변경 * feat: Find PerformanceEvent PerformanceId와 LocalDate로부터 PerformanceEventId를 반환하도록 추가 잘못된 PerformanceEventId로 빈좌석정보를 확인했을 때 에러 반환 * chore: .env 무시 * feat: Reinforce Simultaneous test code 동시에 여러 사람의 접근이 있어도 통과하는지 테스트 코드 추가 동시에 여러 사람이 서로 다른 좌석에 접근할 때 테스트 코드 추가 * feat: Review/Reply 연결 review와 reply 마무리 * comment: user 설명 추가 username과 password의 조건 설명 추가 * chore: 필요없는 코드 지우기 * feat: Sort Reviews and Replies GET을 통해 리뷰나 댓글을 조회할 때 최신순으로 반환한다 * style: add new line at EOF * hotfix: test 안되던 오류 수정 * fix: Change Reservation ReservationEntity 예매하면서 만들어지도록 변경 * fix: error 핸들링 SeatService에서 DataIntegrityViolationException을 핸들링하기 위해 saveAndFlush를 사용했다. 기존에는 save가 트랜잭션이 끝나고 완료되어서 오류가 핸들링이 안 되었었다 * fix: Seat Test * fix: test conflict resolve 테스트에서 같은 username을 쓰던 부분을 수정 * feat: Seat Api Test * fix: 예매 취소 POST -> DELETE --------- Co-authored-by: Dohyeon Kim <[email protected]> * add: Review, Reply DTO Instant -> LocalDatTime * feat: Cursor Pagination Tools CursorSpecification은 조건 추가해수는 기능 CursorPageService는 cursor 포함해서 검색하는 기능 CursorEncoder는 cursor를 컨트롤러에서 인코딩/디코딩 할 수 있도록 하는 기능 * feat: CursorPageable 적용 * fix: modify CursorPageable 디폴트 값을 데이터 클래스가 생성될 때 채워지는 것으로 적용 * fix: Reply Test Instant 대신 LocalDateTime을 씀에 따라 테스트에서의 파싱도 변경 * social login 구현중 중간 save * setup .env * add SocialLoginApi.http * remove .env * feat: response hasNext와 nextCursor 반환 * write swagger api for socialauthcontroller * modify social login api docs description * add social login query paramter explanations * fix: nextCursor 수정 원래 객체 자체를 인코딩해서 ".id",".id"같은 값이 인코딩되어 나왔습니다 get을 사용해서 객체의 값을 가져올 수 있도록 수정했습니다 * feat: Performance Pagination 완성 * social endpoint permitall * feat: pagination 적용된 review 조회 v2로 만들었습니다 * social login receive socialAccessToken, not authorizatoinCode * fix: Review Cursor 기능 완성 * feat: Reply에도 Cursor 적용 * fix: 엔드포인트 분리 * feat: performance 엔드포인트 분리 v1과 v2로 나누어 선택할 수 있도록 * feat: permitAll for pagination * fix: test 코드 수정 * fix: test 수정 * feat: Performance Search & Get Review 페이지네이션 적용 완료 * modify makefile / test: h2 -> mysql * modify social login explanation * feat: Exception 처리 * fix: 기존 테스트 코드 유지 * feat: Reply Pagination 완성 Performance, Review, Reply Pagination 구현 완료 * feat: Performance Date 추가 * CI: add env on CI * CI: add check on pull_requests * Pagination 구현 (#26) * merge test - generate performancehallentity.kt * feat: searchPerformance * chore: 도커 컴포즈 dockerfile 작성해서 도커 이미지 잘 만들어지고 http 파일로 테스트까지 가능한 상태입니다 * modify searchPerformance * add: docker-compose * modify build.gradle.kts * add wildcard import in UserService.kt * change Performance attribute 'genre' to 'category' * change category to ENUM Type * add some Init Datas * add some Init Datas * assign posterimageURL * add: Entity 엔티티 작업중 * assign posterimageURL * add: SeatService 임시저장하겠습니다 * feat: SeatService 좌석 확인, 예매, 예매 취소 기능 구현 아직 동시성 처리 안됐습니다 * feat: Add Controller 컨트롤러 추가했습니다 곧 테스트 코드 추가해보겠습니다 * modify searchPerformance, GET요청은 RequestBody를 사용할 수 없다고 하여 다시 RequestParam을 사용하는 원래 방식으로 변경 * feat: SeatCreation performanceHallId와 type을 받아 좌석엔티티들을 자동으로 생성하는 서비스 함수와 performanceEventId를 받아 빈 예약 가능 엔티티들을 자동을 생성하는 서비스를 만들었습니다 추후 createPerformanceHall과 createPerformanceEvent함수를 수정해서 과정을 더 자동화할 수 있을 것 같습니다 * add: SeatIntegrationTest SeatIntegrationTest 만들었습니다 테스트 전부 통과하며 빌드 성공합니다 다만 테스트에 mysql 데이터베이스가 쓰이며 초기화가 자동으로 되지 않아 문제가 생기니 이는 개선이 필요합니다 * chore: use h2 while test application.yaml 파일을 테스트 코드를 위해 하나 추가해줬습니다 테스트코드에서 @transactional까지 사용한다면 테스트 코드가 서로 영향을 끼치지 않게 됩니다 * fix: Seat Reservation reservation 바뀐 정보 반영하도록 save 사용했고, Detail확인하는 영역은 컨트롤러까지 분리했습니다 * style: seat ktlint seat폴더의 파일들에 ktlint 적용 * modify MakeFile * 공연 검색 기능 구현 * fromEntity parameter change: receive Entities -> receive DTOs * modify searchPerformance endpoint URL * chore: makefile OS 따라서 다르게 작동하게 수정 * 공연 1개 상세 정보 반환 * minor modify: change how null type is handled * 초기 데이터 수정, 공연이벤트는 일단 공연 기간의 첫날과 마지막날만 생성하였음 * modify DataInitializer, SeatIntegrationTest * add PerformanceDetail Uri * make PerformanceItegrationTest.kt * feat: 예매 동시성 동시성 처리 완료 동시성 처리는 잘 되지만, 테스트 코드 작성이 많이 까다로움 * feat: Get My Reservation Api 유저가 로그인한채로 본인의 예약 목록을 확인할 수 있는 기능 추가 * feat: Seat Get TestCode Get API가 정상작동하는지 테스트코드 추가 * modify SearchPerformanceResponse * check auth for create, delete performance * check auth for create, delete performanceEvent, performanceHall * add posterUri attr to BriefPerformanceDetail * minor change * feat: 예매목록 Brief로 주기 기존에 id만 주던 것을 Brief 데이터의 리스트를 주는 것으로 수정 signin을 할 때 User도 같이 반환하도록 수정 * fix: 로그아웃, 토큰 재발급 버그 수정, 엔드포인트 수정 * add UserIdentityNotFoundException * modify PerformanceDurtion * feat: 공연장 생성시 좌석도 함께 생성 * feat: seat 초기화 적용, 버그 수정 PerformanceHall이 생성될 때 Seat을 같이 생성, PerformanceEvent가 생성될 때 Reservation을 같이 생성하도록 변경 * feat: Find PerformanceEvent PerformanceId와 LocalDate로부터 PerformanceEventId를 반환하도록 추가 잘못된 PerformanceEventId로 빈좌석정보를 확인했을 때 에러 반환 * chore: .env 무시 * feat: Reinforce Simultaneous test code 동시에 여러 사람의 접근이 있어도 통과하는지 테스트 코드 추가 동시에 여러 사람이 서로 다른 좌석에 접근할 때 테스트 코드 추가 * feat: Review/Reply 연결 review와 reply 마무리 * comment: user 설명 추가 username과 password의 조건 설명 추가 * chore: 필요없는 코드 지우기 * feat: Sort Reviews and Replies GET을 통해 리뷰나 댓글을 조회할 때 최신순으로 반환한다 * style: add new line at EOF * hotfix: test 안되던 오류 수정 * fix: Change Reservation ReservationEntity 예매하면서 만들어지도록 변경 * fix: error 핸들링 SeatService에서 DataIntegrityViolationException을 핸들링하기 위해 saveAndFlush를 사용했다. 기존에는 save가 트랜잭션이 끝나고 완료되어서 오류가 핸들링이 안 되었었다 * fix: Seat Test * fix: test conflict resolve 테스트에서 같은 username을 쓰던 부분을 수정 * feat: Seat Api Test * fix: 예매 취소 POST -> DELETE * add: Review, Reply DTO Instant -> LocalDatTime * feat: Cursor Pagination Tools CursorSpecification은 조건 추가해수는 기능 CursorPageService는 cursor 포함해서 검색하는 기능 CursorEncoder는 cursor를 컨트롤러에서 인코딩/디코딩 할 수 있도록 하는 기능 * feat: CursorPageable 적용 * fix: modify CursorPageable 디폴트 값을 데이터 클래스가 생성될 때 채워지는 것으로 적용 * fix: Reply Test Instant 대신 LocalDateTime을 씀에 따라 테스트에서의 파싱도 변경 * feat: response hasNext와 nextCursor 반환 * fix: nextCursor 수정 원래 객체 자체를 인코딩해서 ".id",".id"같은 값이 인코딩되어 나왔습니다 get을 사용해서 객체의 값을 가져올 수 있도록 수정했습니다 * feat: Performance Pagination 완성 * feat: pagination 적용된 review 조회 v2로 만들었습니다 * fix: Review Cursor 기능 완성 * feat: Reply에도 Cursor 적용 * fix: 엔드포인트 분리 * feat: performance 엔드포인트 분리 v1과 v2로 나누어 선택할 수 있도록 * feat: permitAll for pagination * fix: test 코드 수정 * fix: test 수정 * feat: Performance Search & Get Review 페이지네이션 적용 완료 * feat: Exception 처리 * fix: 기존 테스트 코드 유지 * feat: Reply Pagination 완성 Performance, Review, Reply Pagination 구현 완료 * feat: Performance Date 추가 --------- Co-authored-by: Dohyeon Kim <[email protected]> * rollback userservice.signup() * rollback signup * 소셜 로그인 구현 (#27) * merge test - generate performancehallentity.kt * feat: searchPerformance * chore: 도커 컴포즈 dockerfile 작성해서 도커 이미지 잘 만들어지고 http 파일로 테스트까지 가능한 상태입니다 * modify searchPerformance * add: docker-compose * modify build.gradle.kts * add wildcard import in UserService.kt * change Performance attribute 'genre' to 'category' * change category to ENUM Type * add some Init Datas * add some Init Datas * assign posterimageURL * add: Entity 엔티티 작업중 * assign posterimageURL * add: SeatService 임시저장하겠습니다 * feat: SeatService 좌석 확인, 예매, 예매 취소 기능 구현 아직 동시성 처리 안됐습니다 * feat: Add Controller 컨트롤러 추가했습니다 곧 테스트 코드 추가해보겠습니다 * modify searchPerformance, GET요청은 RequestBody를 사용할 수 없다고 하여 다시 RequestParam을 사용하는 원래 방식으로 변경 * feat: SeatCreation performanceHallId와 type을 받아 좌석엔티티들을 자동으로 생성하는 서비스 함수와 performanceEventId를 받아 빈 예약 가능 엔티티들을 자동을 생성하는 서비스를 만들었습니다 추후 createPerformanceHall과 createPerformanceEvent함수를 수정해서 과정을 더 자동화할 수 있을 것 같습니다 * add: SeatIntegrationTest SeatIntegrationTest 만들었습니다 테스트 전부 통과하며 빌드 성공합니다 다만 테스트에 mysql 데이터베이스가 쓰이며 초기화가 자동으로 되지 않아 문제가 생기니 이는 개선이 필요합니다 * chore: use h2 while test application.yaml 파일을 테스트 코드를 위해 하나 추가해줬습니다 테스트코드에서 @transactional까지 사용한다면 테스트 코드가 서로 영향을 끼치지 않게 됩니다 * fix: Seat Reservation reservation 바뀐 정보 반영하도록 save 사용했고, Detail확인하는 영역은 컨트롤러까지 분리했습니다 * style: seat ktlint seat폴더의 파일들에 ktlint 적용 * modify MakeFile * 공연 검색 기능 구현 * fromEntity parameter change: receive Entities -> receive DTOs * modify searchPerformance endpoint URL * chore: makefile OS 따라서 다르게 작동하게 수정 * 공연 1개 상세 정보 반환 * minor modify: change how null type is handled * 초기 데이터 수정, 공연이벤트는 일단 공연 기간의 첫날과 마지막날만 생성하였음 * modify DataInitializer, SeatIntegrationTest * add PerformanceDetail Uri * make PerformanceItegrationTest.kt * feat: 예매 동시성 동시성 처리 완료 동시성 처리는 잘 되지만, 테스트 코드 작성이 많이 까다로움 * feat: Get My Reservation Api 유저가 로그인한채로 본인의 예약 목록을 확인할 수 있는 기능 추가 * feat: Seat Get TestCode Get API가 정상작동하는지 테스트코드 추가 * modify SearchPerformanceResponse * check auth for create, delete performance * check auth for create, delete performanceEvent, performanceHall * add posterUri attr to BriefPerformanceDetail * minor change * feat: 예매목록 Brief로 주기 기존에 id만 주던 것을 Brief 데이터의 리스트를 주는 것으로 수정 signin을 할 때 User도 같이 반환하도록 수정 * fix: 로그아웃, 토큰 재발급 버그 수정, 엔드포인트 수정 * add UserIdentityNotFoundException * modify PerformanceDurtion * backup <user> package to <archive/user_old> * modify endpoint * applying spring security * setup .env * fix .http localhost port number * apply spring security * apply spring security * minor * remove .env from tracked files * gitignore * remove unused method * minor * minor * add new line at EOF * modify jwtfilter comment * convert Instant to KoreanLocalDateTime in PerformanceEventDTO * add permission * throw AuthenticateException when accessToken is not valid * save * roll back 401 -> 403 when access denied * setup .env * social login 구현중 중간 save * add SocialLoginApi.http * remove .env * write swagger api for socialauthcontroller * modify social login api docs description * add social login query paramter explanations * social endpoint permitall * social login receive socialAccessToken, not authorizatoinCode * modify social login explanation * rollback userservice.signup() * rollback signup --------- Co-authored-by: ChungPlusPlus <[email protected]> * readme skeleton update * readme.md skeleton update (#29) * merge test - generate performancehallentity.kt * feat: searchPerformance * chore: 도커 컴포즈 dockerfile 작성해서 도커 이미지 잘 만들어지고 http 파일로 테스트까지 가능한 상태입니다 * modify searchPerformance * add: docker-compose * modify build.gradle.kts * add wildcard import in UserService.kt * change Performance attribute 'genre' to 'category' * change category to ENUM Type * add some Init Datas * add some Init Datas * assign posterimageURL * add: Entity 엔티티 작업중 * assign posterimageURL * add: SeatService 임시저장하겠습니다 * feat: SeatService 좌석 확인, 예매, 예매 취소 기능 구현 아직 동시성 처리 안됐습니다 * feat: Add Controller 컨트롤러 추가했습니다 곧 테스트 코드 추가해보겠습니다 * modify searchPerformance, GET요청은 RequestBody를 사용할 수 없다고 하여 다시 RequestParam을 사용하는 원래 방식으로 변경 * feat: SeatCreation performanceHallId와 type을 받아 좌석엔티티들을 자동으로 생성하는 서비스 함수와 performanceEventId를 받아 빈 예약 가능 엔티티들을 자동을 생성하는 서비스를 만들었습니다 추후 createPerformanceHall과 createPerformanceEvent함수를 수정해서 과정을 더 자동화할 수 있을 것 같습니다 * add: SeatIntegrationTest SeatIntegrationTest 만들었습니다 테스트 전부 통과하며 빌드 성공합니다 다만 테스트에 mysql 데이터베이스가 쓰이며 초기화가 자동으로 되지 않아 문제가 생기니 이는 개선이 필요합니다 * chore: use h2 while test application.yaml 파일을 테스트 코드를 위해 하나 추가해줬습니다 테스트코드에서 @transactional까지 사용한다면 테스트 코드가 서로 영향을 끼치지 않게 됩니다 * fix: Seat Reservation reservation 바뀐 정보 반영하도록 save 사용했고, Detail확인하는 영역은 컨트롤러까지 분리했습니다 * style: seat ktlint seat폴더의 파일들에 ktlint 적용 * modify MakeFile * 공연 검색 기능 구현 * fromEntity parameter change: receive Entities -> receive DTOs * modify searchPerformance endpoint URL * chore: makefile OS 따라서 다르게 작동하게 수정 * 공연 1개 상세 정보 반환 * minor modify: change how null type is handled * 초기 데이터 수정, 공연이벤트는 일단 공연 기간의 첫날과 마지막날만 생성하였음 * modify DataInitializer, SeatIntegrationTest * add PerformanceDetail Uri * make PerformanceItegrationTest.kt * feat: 예매 동시성 동시성 처리 완료 동시성 처리는 잘 되지만, 테스트 코드 작성이 많이 까다로움 * feat: Get My Reservation Api 유저가 로그인한채로 본인의 예약 목록을 확인할 수 있는 기능 추가 * feat: Seat Get TestCode Get API가 정상작동하는지 테스트코드 추가 * modify SearchPerformanceResponse * check auth for create, delete performance * check auth for create, delete performanceEvent, performanceHall * add posterUri attr to BriefPerformanceDetail * minor change * feat: 예매목록 Brief로 주기 기존에 id만 주던 것을 Brief 데이터의 리스트를 주는 것으로 수정 signin을 할 때 User도 같이 반환하도록 수정 * fix: 로그아웃, 토큰 재발급 버그 수정, 엔드포인트 수정 * add UserIdentityNotFoundException * modify PerformanceDurtion * backup <user> package to <archive/user_old> * modify endpoint * applying spring security * setup .env * fix .http localhost port number * apply spring security * apply spring security * minor * remove .env from tracked files * gitignore * remove unused method * minor * minor * add new line at EOF * modify jwtfilter comment * convert Instant to KoreanLocalDateTime in PerformanceEventDTO * add permission * throw AuthenticateException when accessToken is not valid * save * roll back 401 -> 403 when access denied * setup .env * social login 구현중 중간 save * add SocialLoginApi.http * remove .env * write swagger api for socialauthcontroller * modify social login api docs description * add social login query paramter explanations * social endpoint permitall * social login receive socialAccessToken, not authorizatoinCode * modify social login explanation * rollback userservice.signup() * rollback signup * readme skeleton update --------- Co-authored-by: ChungPlusPlus <[email protected]> * feat: data 추가중 * feat: MUSICAL data 완료 * feat: PLAY 데이터 추가 * feat: CLASSIC 데이터 추가 * feat: CONCERT 데이터 추가 * 공연 데이터 추가 (#30) * merge test - generate performancehallentity.kt * feat: searchPerformance * chore: 도커 컴포즈 dockerfile 작성해서 도커 이미지 잘 만들어지고 http 파일로 테스트까지 가능한 상태입니다 * modify searchPerformance * add: docker-compose * modify build.gradle.kts * add wildcard import in UserService.kt * change Performance attribute 'genre' to 'category' * change category to ENUM Type * add some Init Datas * add some Init Datas * assign posterimageURL * add: Entity 엔티티 작업중 * assign posterimageURL * add: SeatService 임시저장하겠습니다 * feat: SeatService 좌석 확인, 예매, 예매 취소 기능 구현 아직 동시성 처리 안됐습니다 * feat: Add Controller 컨트롤러 추가했습니다 곧 테스트 코드 추가해보겠습니다 * modify searchPerformance, GET요청은 RequestBody를 사용할 수 없다고 하여 다시 RequestParam을 사용하는 원래 방식으로 변경 * feat: SeatCreation performanceHallId와 type을 받아 좌석엔티티들을 자동으로 생성하는 서비스 함수와 performanceEventId를 받아 빈 예약 가능 엔티티들을 자동을 생성하는 서비스를 만들었습니다 추후 createPerformanceHall과 createPerformanceEvent함수를 수정해서 과정을 더 자동화할 수 있을 것 같습니다 * add: SeatIntegrationTest SeatIntegrationTest 만들었습니다 테스트 전부 통과하며 빌드 성공합니다 다만 테스트에 mysql 데이터베이스가 쓰이며 초기화가 자동으로 되지 않아 문제가 생기니 이는 개선이 필요합니다 * chore: use h2 while test application.yaml 파일을 테스트 코드를 위해 하나 추가해줬습니다 테스트코드에서 @transactional까지 사용한다면 테스트 코드가 서로 영향을 끼치지 않게 됩니다 * fix: Seat Reservation reservation 바뀐 정보 반영하도록 save 사용했고, Detail확인하는 영역은 컨트롤러까지 분리했습니다 * style: seat ktlint seat폴더의 파일들에 ktlint 적용 * modify MakeFile * 공연 검색 기능 구현 * fromEntity parameter change: receive Entities -> receive DTOs * modify searchPerformance endpoint URL * chore: makefile OS 따라서 다르게 작동하게 수정 * 공연 1개 상세 정보 반환 * minor modify: change how null type is handled * 초기 데이터 수정, 공연이벤트는 일단 공연 기간의 첫날과 마지막날만 생성하였음 * modify DataInitializer, SeatIntegrationTest * add PerformanceDetail Uri * make PerformanceItegrationTest.kt * feat: 예매 동시성 동시성 처리 완료 동시성 처리는 잘 되지만, 테스트 코드 작성이 많이 까다로움 * feat: Get My Reservation Api 유저가 로그인한채로 본인의 예약 목록을 확인할 수 있는 기능 추가 * feat: Seat Get TestCode Get API가 정상작동하는지 테스트코드 추가 * modify SearchPerformanceResponse * check auth for create, delete performance * check auth for create, delete performanceEvent, performanceHall * add posterUri attr to BriefPerformanceDetail * minor change * feat: 예매목록 Brief로 주기 기존에 id만 주던 것을 Brief 데이터의 리스트를 주는 것으로 수정 signin을 할 때 User도 같이 반환하도록 수정 * fix: 로그아웃, 토큰 재발급 버그 수정, 엔드포인트 수정 * add UserIdentityNotFoundException * modify PerformanceDurtion * feat: 공연장 생성시 좌석도 함께 생성 * feat: seat 초기화 적용, 버그 수정 PerformanceHall이 생성될 때 Seat을 같이 생성, PerformanceEvent가 생성될 때 Reservation을 같이 생성하도록 변경 * feat: Find PerformanceEvent PerformanceId와 LocalDate로부터 PerformanceEventId를 반환하도록 추가 잘못된 PerformanceEventId로 빈좌석정보를 확인했을 때 에러 반환 * chore: .env 무시 * feat: Reinforce Simultaneous test code 동시에 여러 사람의 접근이 있어도 통과하는지 테스트 코드 추가 동시에 여러 사람이 서로 다른 좌석에 접근할 때 테스트 코드 추가 * feat: Review/Reply 연결 review와 reply 마무리 * comment: user 설명 추가 username과 password의 조건 설명 추가 * chore: 필요없는 코드 지우기 * feat: Sort Reviews and Replies GET을 통해 리뷰나 댓글을 조회할 때 최신순으로 반환한다 * style: add new line at EOF * hotfix: test 안되던 오류 수정 * fix: Change Reservation ReservationEntity 예매하면서 만들어지도록 변경 * fix: error 핸들링 SeatService에서 DataIntegrityViolationException을 핸들링하기 위해 saveAndFlush를 사용했다. 기존에는 save가 트랜잭션이 끝나고 완료되어서 오류가 핸들링이 안 되었었다 * fix: Seat Test * fix: test conflict resolve 테스트에서 같은 username을 쓰던 부분을 수정 * feat: Seat Api Test * fix: 예매 취소 POST -> DELETE * add: Review, Reply DTO Instant -> LocalDatTime * feat: Cursor Pagination Tools CursorSpecification은 조건 추가해수는 기능 CursorPageService는 cursor 포함해서 검색하는 기능 CursorEncoder는 cursor를 컨트롤러에서 인코딩/디코딩 할 수 있도록 하는 기능 * feat: CursorPageable 적용 * fix: modify CursorPageable 디폴트 값을 데이터 클래스가 생성될 때 채워지는 것으로 적용 * fix: Reply Test Instant 대신 LocalDateTime을 씀에 따라 테스트에서의 파싱도 변경 * feat: response hasNext와 nextCursor 반환 * fix: nextCursor 수정 원래 객체 자체를 인코딩해서 ".id",".id"같은 값이 인코딩되어 나왔습니다 get을 사용해서 객체의 값을 가져올 수 있도록 수정했습니다 * feat: Performance Pagination 완성 * feat: pagination 적용된 review 조회 v2로 만들었습니다 * fix: Review Cursor 기능 완성 * feat: Reply에도 Cursor 적용 * fix: 엔드포인트 분리 * feat: performance 엔드포인트 분리 v1과 v2로 나누어 선택할 수 있도록 * feat: permitAll for pagination * fix: test 코드 수정 * fix: test 수정 * feat: Performance Search & Get Review 페이지네이션 적용 완료 * feat: Exception 처리 * fix: 기존 테스트 코드 유지 * feat: Reply Pagination 완성 Performance, Review, Reply Pagination 구현 완료 * feat: Performance Date 추가 * feat: data 추가중 * feat: MUSICAL data 완료 * feat: PLAY 데이터 추가 * feat: CLASSIC 데이터 추가 * feat: CONCERT 데이터 추가 --------- Co-authored-by: Dohyeon Kim <[email protected]> * readme save * feat: readMe 추가작성 * feat: Swaager summary * feat: Swagger summary for UserController * CI: remove pull request trigger * CD: add --build on rerun script * read me save * feat: Cascade 설정 (#31) * readme save * readme save * fix: README.md * readme save * feat: add stack * feat: add language * readme save * feat: add redis * remove --- lines * add JWT logo * add empty lines * add empty lines * fix(README.md): add simple deploy descriptions * index 추가 (#33) * feat: Cascade 설정 * feat: index 추가중 * feat: 조회 성능 향상을 위한 index 추가 * Token Algorithm 지정 (#35) * feat: Cascade 설정 * feat: index 추가중 * feat: 조회 성능 향상을 위한 index 추가 * fix: token algorithm 지정 * fix: 데이터 수정 --------- Co-authored-by: Dohyeon Kim <[email protected]> Co-authored-by: grantzile <[email protected]> Co-authored-by: grantzile <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
조회 과정에서 WHERE이 사용될 때 속도 향상이 되도록 created_at에 index를 적용했습니다