-
Notifications
You must be signed in to change notification settings - Fork 4
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
release: 0.1.0 #56
Merged
Merged
release: 0.1.0 #56
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
* Create gradle.yml * Update gradle.yml * Update gradle.yml * Update gradle.yml * Update gradle.yml * Update gradle.yml * update and rename : gradle.yml to intergration-config.yml update and rename : gradle.yml to intergration-config.yml * create : intergration-config.yml
* [remove]querydsl 테스트 코드 제거 (#CHZZ-11) querydsl 세팅 테스트용 코드 제거 * [docs]gitignore 파일 수정 (#CHZZ-11) build 파일 제거하도록 gitignore 수정 * [docs]gitignore 파일 수정 (#CHZZ-11) build 파일 제거하도록 gitignore 수정 * [docs]gitignore 파일 수정 (#CHZZ-11) build 파일 제거하도록 gitignore 수정 * [docs]gitignore 파일 수정 (#CHZZ-11) build 파일 제거하도록 gitignore 수정 * [feat]영속화 모델 작성(#CHZZ-11) ERD를 기반한 영속화 모델 작성 및 검증&일부 간단한 도메인 로직 작성 * [fix]warning 제거(#CHZZ-11) builder warning 제거를 위한 코드 수정 * [fix] sql 문법상 위험 요소 제거(#CHZZ-11) 테이블 명을 `like`를 사용함으로써 SQL과 혼동 여지가 있어 `like_table`로 수정 * [docs] pr 템플릿 작성(#CHZZ-11) pr 템플릿 작성 * [fix] 입찰 횟수 타입 수정(#CHZZ-11) 입찰 횟수 타입을 `int`로 수정 * [feat] auditing 설정 등록(#CHZZ-11) jpa auditing 설정 등록 * [fix] 복합 UK 작성(#CHZZ-11) 좋아요 유일성을 위한 복합 UK 정의 * [fix] 최소 금액 검증 추가(#CHZZ-11) 최소 금액을 1000원 단위로 검증하도록 정규식 추가 * [fix] provider id 추가(#CHZZ-11) 회원 인증 후 인증 서버에서 발급받은 provider id을 저장하도록 컬럼 정의
* refactor: 임시 enum 추가 및 GeneratedValue 전략 수정 - GenerationType.IDENTITY 빠진 부분을 수정 - 테스트를 실행하기 위해 임시 Enum 값 생성 (#28) * feat: 소문자 String을 Enum으로 바꾸는 커스텀 컨버터 추가 - url은 소문자를 쓰기 때문에 소문자로 받은 문자열을 Enum 타입으로 변환하는 컨버터 기능 추가 (#28) * feat: AuctionRepository 인터페이스 추가 (#28) * feat: Querydsl을 사용하는 AuctionRepositoryCustom 인터페이스 추가 (#28) * feat: 특정 카테고리와 정렬타입으로 경매 목록 조회하는 기능 추가 (#28) * test: 특정 카테고리와 정렬타입으로 경매 목록 조회하는 테스트 추가 (#28) * feat: 진행중인 경매 목록 조회 응답 DTO 추가 (#28) * feat: AuctionService 서비스 추가 (#28) * feat: 경매 목록 조회 API 추가 (#28) * move: SortType Enum 파일 위치 변경 - Product 폴더에서 Auction 폴더로 이동 (#28) * feat: Spring Data Jpa repository 추가 (#28) * test: 기본 Jpa 에서 Spring Data Jpa 사용으로 테스트 코드 변경 (#28) * refactor: 공통되는 쿼리 baseQuery로 분리 (#28) * refactor: 하이푼이 포함된 문자열에서 하이푼을 언더바로 변환 (#28)
* [test]결제 승인 테스트용 UI 추가 (#CHZZ-27) 테스트 결제 요청을 위한 결제 위젯 UI 추가 * [chore]webclinet 사용 의존성 추가 (#CHZZ-27) webclint 사용을 위해 의존성 추가 * [feat] webclinet 빈 설정 (#CHZZ-27) webclint 사용을 위해 빈 등록 설정 * [feat] 엔드포인트 간소화를 위한 설정 추가 (#CHZZ-27) 엔드포인트 버전 관리 용이함을 위해 prefix 추가 설정 작성 * [feat] 기본 보안 설정 작성 (#CHZZ-27) 기본 보안 설정 작성 및 모든 엔드포인트 승인 * [feat] 개발환경에서 사용할 프로파일 작성 (#CHZZ-27) 개발 환경에서 사용할 설정 프로파일 작성 * [fix] 결제 비밀키 추가 (#CHZZ-27) toss 결제 비밀키 추가 * [feat] 인증 헤더 발급기 구현 (#CHZZ-27) 인증 승인 요청 API 처리시 필요한 인증 헤더 발급기 구현 * [feat] 결제 승인 엔드포인트 구현 (#CHZZ-27) 결제 승인 엔드포인트 구현 * [feat] 결제 승인 응답 및 요청 객체 구현 (#CHZZ-27) 결제 승인 응답 및 요청 객체 구현 * [feat] 결제 승인 PG 요청 구현 (#CHZZ-27) 토스 결제 승인 PG 요청 엔드포인트 구현 및 예외상황 처리 * [feat] 토스 응답 객체 구현 (#CHZZ-27) 토스 결제 승인 PG 응답 객체 구현 * [feat] 예외 추상화 (#CHZZ-27) 예외 추상화와 handler를 이용해 예외 응답 구체화 * [feat] 토스 예외코드 추가 (#CHZZ-27) 토스 결제 승인 예외에 대한 열거체 구현 * [feat] 토스 예외코드 추가 (#CHZZ-27) 토스 결제 승인 예외에 대한 열거체 구현 * [refactor] 인증 헤더 발급 로직 수정 (#CHZZ-27) secret key를 추상 클래스로 이전 * [feat] retry 설정 (#CHZZ-27) 외부 API 실패시 복구를 위한 retry 설정 * [feat] 주문번호 발급 엔드포인트 개발 (#CHZZ-27) 유일 order id를 발급하는 엔드포인트 구현 * [feat] 주문번호 발급 및 유일성 검증 로직 구현 (#CHZZ-27) 주문번호 발급 및 유일성 검증을 위한 repository 조회 및 api 조회 기능 구현 * [fix] 결제 승인 요청 객체 수정 (#CHZZ-27) 주문번호를 요청에 담을 수 있도록 수정 * [fix] 결제 예외코드 수정 (#CHZZ-27) 주문번호 조회 실패시 발생할 예외코드 구현 * [fix] 결제 정보 컬럼 추가 (#CHZZ-27) 결제정보에 주문번호와 결제키 추가 * [test] 테스트 ui 수정 (#CHZZ-27) 테스트 ui를 위젯 UI로 수정 * [chore]mysql 포트 포워딩 (#CHZZ-27) 로컬환경에서 mysql 사용을 위해 포트포워딩 * [fix] 검증로직 제거 (#CHZZ-27) `Long`타입 검증 방식과 맞지 않는 검증 어노테이션 제거 * [feat] repository 작성 (#CHZZ-27) repository 작성 * [move] 열거체 이동 (#CHZZ-27) 공통 사용 열거체를 내부에서 외부로 이동 * [fix] 개발 편의 메서드 구현(#CHZZ-27) 개발 편의를 위한 일부 메서드 구현 * [fix] 경매 번호 응답객체 추가(#CHZZ-27) 결제 요청에 경매 id 추가 * [test] 테스트 ui 수정(#CHZZ-27) 테스트 편의를 위해 코드 수정 * [fix] 트랜잭션 범위 수정(#CHZZ-27) 트랜잭션 전파 범위 수정 * [docs] 테스트 프로파일 지정(#CHZZ-27) ci시 사용할 테스트 프로파일 지정 * [fix] 요청 method 수정(#CHZZ-27) 요청 method를 get -> post로 수정 * [fix]resolve conflict(#CHZZ-27) resolve conflict
* feat : Auction, Image, Product, User Repository 인터페이스 추가 (#30) * feat : Product Entity 내 Category Enum 내용 추가 (#30) * refactor : confing -> config 디렉토리 이름 오타 수정 (#30) * feat : Auction Entity에 minPrice의 Custom Validation 구현 (#30) * feat : Auction Entity에 Status Enum 구체화 (#30) * feat : Custom ExceptionHandler 구현 및 UserNotFoundException 추가 (#30) * refactor : GeneratedValue 전략 수정 및 minPrice 타입 int로 통일 (#30) * feat : 경매 등록 요청 DTO 추가 (#30) * feat : AuctionService 서비스 추가 (#30) * feat : 경매 등록 API 추가 (#30) * feat : Image Service 서비스 추가 - ImageUploader 테스트 용 인터페이스 추가 - 상품 이미지 업로드 - S3, CloudFront 저장 로직 구현 (#30) * chore : AWS 환경 세팅 - AWS Java SDK 의존성 추가 - AWS Config S3 클라이언트 연동 - AWS 보안 Key 추가 (#30) * refactor : Image Entity @entity 어노테이션 추가 (#30) * test : 경매 등록 테스트 코드 추가 - test profile 내 Spring Security CSRF 비활성화, 모든 요청 허용 (#30) * refactor : 경매 물건 이미지 저장 클래스 수정 - 53 이미지 등록 기능 메소드 별도 클래스로 분리 - 잘린 cdn 주소 DB에 저장하는 메소드 리턴 값 List로 변경 (#30 * test : 경매 등록 테스트 및 CI 빌드 성공 (#30 * refactor: 경매 등록 응답 값 수정 - 응답 본문 없이 상태 코드와 Location 헤더만 반환 (#30 * refactor: 경매 엔티티 컬럼 타입 수정 - minPrice 컬럼 int -> Integer 수정 반영 (#30 * refactor: 이미지 등록 관련 로그 수정 - println -> slf4j 로 변경 (#30 * refactor: toList() 메서드 반영 (#30 * refactor: @transactional(readOnly = true) 반영 * refactor: S3 Bucket Bean 이름 등록 처리 * refactor: Category Enum 어노테이션 적용 - Getter - AllArgsConstructor (#30) * refactor: MVC 테스트 환경 재구축 - SecurityConfigTest.java 삭제 후 로컬 세팅 (#30) * refactor: 경매 등록 테스트 로컬 세팅 (#30) * feat: 이미지 Custom 에러 처리 구현 (#30) * refactor: AWSConfig s3BucketName 메소드 수정 - S3BucketName -> s3BucketName 네이밍 컨벤션 - Bean 등록하지 않고 필요할 때 가져와서 사용 (#30) * refactor: Custom Exception 추가 수정 (#30) * refactor: 경매 등록 서비스 최종 병합 (#30) * refactor: Custom Exception 추가 수정 - ImageUploadException, UserNotFoundException 추가 - getCode 메소드 추가 (#30) * refactor: generateFileName 메소드 제거 (#30) * refactor: AuctionControllerTest 세팅 - Spring Security Juit Test에 적용 (#30) * refactor: application-test.yml 파일 추가 - CI 테스트 통과 세팅 (#30) * refactor: CI 환경변수 최종 테스트 (#30) * refactor: CI 환경변수 최종 테스트 2 (#30) * refactor: CI 환경변수 최종 테스트 3 (#30) * refactor: CI 환경변수 최종 테스트 4 - secret -> secrets - CI env 코드 제외 - @SpringBootTest 활성화 (#30) * refactor: CI 환경변수 최종 테스트 5 - build.gradle 'profile active' 코드 추가 - CI 코드에 환경 변수 직접 명시 (#30) * refactor: CI 환경변수 최종 테스트 6 - spring -> cloud 변경 (#30) * refactor: CI 환경변수 최종 테스트 7 - '\' 줄바꿈 명령어 추가 (#30) * refactor: 경매 등록 테스트 Mock 이미지 구현 - @SpringBootTest 주석 처리 한 부분 해결 필요 (#30) * refactor: 경매 등록 테스트 S3 의존성 문제 해결 - S3 모의 객체 Test 전역 설정 - TestAWSConfig -> AWSConfig 클래스명 변경 - AWSConfig Profile -> local, prod 로 제한 (#30) * feat: Custom Exception 기본 코드 수정 (#30) * feat: 이미지 비즈니스 예외 추가 (#30) * feat: 유저 비즈니스 예외 추가 (#30) * feat: 유저 비즈니스 에러코드 추가 - 유저를 찾을 수 없을 때 발생하는 에러 코드 (#30) * feat: 이미지 비즈니스 에러코드 추가 - 이미지 저장에 실패했을 때 발생하는 에러코드 (#30) * feat: 사용자 데이터 조회 시 에러코드 반영 (#30) * feat: 이미지 저장 시 에러코드 반영 (#30)
* refactor: 컨트롤러 /api/v1 엔드포인트 제거 (#33) * refactor: 경매 종료 시각 컬럼 추가로 인한 기존 코드 수정 (#33) * test: 경매 종료 시각 컬럼 추가로 인한 기존 테스트 코드 수정 (#33) * style: 사용하지 않는 import 제거 (#33) * feat: 경매 종료 시각 컬럼 추가 (#33) * feat: 경매의 상세정보 응답 DTO 추가 (#33) * feat: 경매 에러 코드 추가 (#33) * feat: 경매를 찾을 수 없을 때 발생하는 에러 상수 추가 (#33) * style: 띄어쓰기 추가 (#33) * feat: 경매 상세정보를 조회하는 쿼리 추가 (#33) * test: 경매 상세정보를 조회하는 쿼리 테스트 추가 (#33) * feat: 경매 상세정보를 조회하는 서비스 함수 추가 (#33) * test: 경매 상세정보를 조회하는 서비스 함수 테스트 추가 (#33) * feat: 경매 상세정보를 조회하는 API 추가 (#33) * refactor: 스펙에 맞지 않는 좋아요 수 제거 (#33) * test: 스펙에 맞지 않는 좋아요 수 제거로 인한 테스트 수정 (#33) * test: @beforeeach 에서 @BeforeAll으로 데이터 삽입 방식 변경 (#33) * test: 테스트코드에 콘솔 출력문 삭제 (#33) * refactor: 불필요한 Auction Status 값 제거 (#33) * refactor: 쿼리 가독성 개선을 위한 조건 그룹화 (#33)
* [test]결제 승인 테스트용 UI 추가 (#CHZZ-27) 테스트 결제 요청을 위한 결제 위젯 UI 추가 * [chore]webclinet 사용 의존성 추가 (#CHZZ-27) webclint 사용을 위해 의존성 추가 * [feat] webclinet 빈 설정 (#CHZZ-27) webclint 사용을 위해 빈 등록 설정 * [feat] 엔드포인트 간소화를 위한 설정 추가 (#CHZZ-27) 엔드포인트 버전 관리 용이함을 위해 prefix 추가 설정 작성 * [feat] 기본 보안 설정 작성 (#CHZZ-27) 기본 보안 설정 작성 및 모든 엔드포인트 승인 * [feat] 개발환경에서 사용할 프로파일 작성 (#CHZZ-27) 개발 환경에서 사용할 설정 프로파일 작성 * [fix] 결제 비밀키 추가 (#CHZZ-27) toss 결제 비밀키 추가 * [feat] 인증 헤더 발급기 구현 (#CHZZ-27) 인증 승인 요청 API 처리시 필요한 인증 헤더 발급기 구현 * [feat] 결제 승인 엔드포인트 구현 (#CHZZ-27) 결제 승인 엔드포인트 구현 * [feat] 결제 승인 응답 및 요청 객체 구현 (#CHZZ-27) 결제 승인 응답 및 요청 객체 구현 * [feat] 결제 승인 PG 요청 구현 (#CHZZ-27) 토스 결제 승인 PG 요청 엔드포인트 구현 및 예외상황 처리 * [feat] 토스 응답 객체 구현 (#CHZZ-27) 토스 결제 승인 PG 응답 객체 구현 * [feat] 예외 추상화 (#CHZZ-27) 예외 추상화와 handler를 이용해 예외 응답 구체화 * [feat] 토스 예외코드 추가 (#CHZZ-27) 토스 결제 승인 예외에 대한 열거체 구현 * [feat] 토스 예외코드 추가 (#CHZZ-27) 토스 결제 승인 예외에 대한 열거체 구현 * [refactor] 인증 헤더 발급 로직 수정 (#CHZZ-27) secret key를 추상 클래스로 이전 * [feat] retry 설정 (#CHZZ-27) 외부 API 실패시 복구를 위한 retry 설정 * [feat] 주문번호 발급 엔드포인트 개발 (#CHZZ-27) 유일 order id를 발급하는 엔드포인트 구현 * [feat] 주문번호 발급 및 유일성 검증 로직 구현 (#CHZZ-27) 주문번호 발급 및 유일성 검증을 위한 repository 조회 및 api 조회 기능 구현 * [fix] 결제 승인 요청 객체 수정 (#CHZZ-27) 주문번호를 요청에 담을 수 있도록 수정 * [fix] 결제 예외코드 수정 (#CHZZ-27) 주문번호 조회 실패시 발생할 예외코드 구현 * [fix] 결제 정보 컬럼 추가 (#CHZZ-27) 결제정보에 주문번호와 결제키 추가 * [test] 테스트 ui 수정 (#CHZZ-27) 테스트 ui를 위젯 UI로 수정 * [chore]mysql 포트 포워딩 (#CHZZ-27) 로컬환경에서 mysql 사용을 위해 포트포워딩 * [fix] 검증로직 제거 (#CHZZ-27) `Long`타입 검증 방식과 맞지 않는 검증 어노테이션 제거 * [feat] repository 작성 (#CHZZ-27) repository 작성 * [move] 열거체 이동 (#CHZZ-27) 공통 사용 열거체를 내부에서 외부로 이동 * [fix] 개발 편의 메서드 구현(#CHZZ-27) 개발 편의를 위한 일부 메서드 구현 * [fix] 경매 번호 응답객체 추가(#CHZZ-27) 결제 요청에 경매 id 추가 * [test] 테스트 ui 수정(#CHZZ-27) 테스트 편의를 위해 코드 수정 * [fix] 트랜잭션 범위 수정(#CHZZ-27) 트랜잭션 전파 범위 수정 * [docs] 테스트 프로파일 지정(#CHZZ-27) ci시 사용할 테스트 프로파일 지정 * [fix] 요청 method 수정(#CHZZ-27) 요청 method를 get -> post로 수정 * [fix]resolve conflict(#CHZZ-27) resolve conflict * [docs]ignore 수정(#CHZZ-9) 설정파일 ignore 수정 * [fix] 테스트 프로파일 설정값 공개 및 일부 설정값 수정(#CHZZ-9) 1. 결제 테스트 키 공개 2. 테스트용 h2 설정 * [chore] actuator 추가 및 test 프로파일 지정 (#CHZZ-9) 1. actuator 추가 2. 테스트용 프로파일 지정 * [fix] actuator 엔드포인트 공개 범위 수정 (#CHZZ-9) health check용 actuator 엔드포인트 공개 * [feat] CD workflow 작성 및 Dockerfile 작성 (#CHZZ-9) 배포 workflow 작성 및 배포될 이미지 Dockerfile 작성 * [fix] 개발 환경에서 사용할 compose 파일 수정 (#CHZZ-9) 개발 환경에서 사용할 compose 파일 수정 * [fix] 로컬 환경 설정파일 수정 (#CHZZ-9) 개발 환경 actuator 설정 작성 * [fix] 오타 수정 (#CHZZ-9) 오타 수정 * [fix] cd 타임아웃 설정 (#CHZZ-9) ecs 배포 과정에 time out 설정 * [fix] 오타 수정 (#CHZZ-9) 설정파일 복사 실행 코드에 줄바굼 기호 추가 * [fix] 경로 수정 (#CHZZ-9) Dockerfile 지정 경로 수정 * [fix] 설정값 변경 (#CHZZ-9) 설정값 변경 * [fix] 엔드포인트 공개 범위 수정 (#CHZZ-9) 엔드포인트 공개 범위 수정
* refactor: 컨트롤러 /api/v1 엔드포인트 제거 (#33) * refactor: 경매 종료 시각 컬럼 추가로 인한 기존 코드 수정 (#33) * test: 경매 종료 시각 컬럼 추가로 인한 기존 테스트 코드 수정 (#33) * style: 사용하지 않는 import 제거 (#33) * feat: 경매 종료 시각 컬럼 추가 (#33) * feat: 경매의 상세정보 응답 DTO 추가 (#33) * feat: 경매 에러 코드 추가 (#33) * feat: 경매를 찾을 수 없을 때 발생하는 에러 상수 추가 (#33) * style: 띄어쓰기 추가 (#33) * feat: 경매 상세정보를 조회하는 쿼리 추가 (#33) * test: 경매 상세정보를 조회하는 쿼리 테스트 추가 (#33) * feat: 경매 상세정보를 조회하는 서비스 함수 추가 (#33) * test: 경매 상세정보를 조회하는 서비스 함수 테스트 추가 (#33) * feat: 경매 상세정보를 조회하는 API 추가 (#33) * refactor: 스펙에 맞지 않는 좋아요 수 제거 (#33) * test: 스펙에 맞지 않는 좋아요 수 제거로 인한 테스트 수정 (#33) * test: @beforeeach 에서 @BeforeAll으로 데이터 삽입 방식 변경 (#33) * test: 테스트코드에 콘솔 출력문 삭제 (#33) * refactor: 불필요한 Auction Status 값 제거 (#33) * refactor: 쿼리 가독성 개선을 위한 조건 그룹화 (#33) * feat: 유효한 입찰의 경매인지 확인하는 함수 추가 - 경매가 진행 중인지 확인하는 함수 - 경매가 종료되었는지 확인하는 함수 - 입찰금액이 최소 금액 이상인지 확인하는 함수 (#39) * feat: 남은 입찰 횟수가 없을시 입찰할때 발생하는 커스텀 예외 추가 (#39) * feat: 경매 비즈니스 에러코드 추가 - 종료된 경매에 입찰시 발생하는 에러코드 - 특정 경매를 찾을 수 없을때 발생하는 에러코드 (#39) * feat: 입찰 비즈니스 에러코드 추가 - 입찰금액이 최소 금액보다 낮을때 발생하는 에러코드 - 입찰 횟수 제한을 초과하여 입찰할때 발생하는 에러코드 - 본인이 등록한 제품에 입찰시 발생하는 에러코드 (#39) * feat: 입찰 비즈니스 예외 추가 (#39) * feat: 입찰 요청 DTO 추가 (#39) * feat: 입찰한적이 있는 경매인지 확인하는 쿼리 추가 (#39) * feat: 유효한 경매를 가져오는 함수 추가 (#39) * feat: 입찰하는 서비스 함수 추가 (#39) * refactor: User의 @EqualsAndHashCode Id 필드로 추가 (#39) * test: 입찰하는 서비스 함수 테스트 추가 (#39) * feat: 입찰 API 추가 (#39) * chore: test 폴더에 application.yml 추가 (#39) * chore: CI 테스트 설정 (#39) * refactor: test application.yml 삭제 (#39) * refactor: user 동등성 비교 userId 값으로 리팩토링 (#39) * chore: Test with Gradle 에서 명령어로 해당 secret key 사용으로 변경 (#39)
* [test]결제 승인 테스트용 UI 추가 (#CHZZ-27) 테스트 결제 요청을 위한 결제 위젯 UI 추가 * [chore]webclinet 사용 의존성 추가 (#CHZZ-27) webclint 사용을 위해 의존성 추가 * [feat] webclinet 빈 설정 (#CHZZ-27) webclint 사용을 위해 빈 등록 설정 * [feat] 엔드포인트 간소화를 위한 설정 추가 (#CHZZ-27) 엔드포인트 버전 관리 용이함을 위해 prefix 추가 설정 작성 * [feat] 기본 보안 설정 작성 (#CHZZ-27) 기본 보안 설정 작성 및 모든 엔드포인트 승인 * [feat] 개발환경에서 사용할 프로파일 작성 (#CHZZ-27) 개발 환경에서 사용할 설정 프로파일 작성 * [fix] 결제 비밀키 추가 (#CHZZ-27) toss 결제 비밀키 추가 * [feat] 인증 헤더 발급기 구현 (#CHZZ-27) 인증 승인 요청 API 처리시 필요한 인증 헤더 발급기 구현 * [feat] 결제 승인 엔드포인트 구현 (#CHZZ-27) 결제 승인 엔드포인트 구현 * [feat] 결제 승인 응답 및 요청 객체 구현 (#CHZZ-27) 결제 승인 응답 및 요청 객체 구현 * [feat] 결제 승인 PG 요청 구현 (#CHZZ-27) 토스 결제 승인 PG 요청 엔드포인트 구현 및 예외상황 처리 * [feat] 토스 응답 객체 구현 (#CHZZ-27) 토스 결제 승인 PG 응답 객체 구현 * [feat] 예외 추상화 (#CHZZ-27) 예외 추상화와 handler를 이용해 예외 응답 구체화 * [feat] 토스 예외코드 추가 (#CHZZ-27) 토스 결제 승인 예외에 대한 열거체 구현 * [feat] 토스 예외코드 추가 (#CHZZ-27) 토스 결제 승인 예외에 대한 열거체 구현 * [refactor] 인증 헤더 발급 로직 수정 (#CHZZ-27) secret key를 추상 클래스로 이전 * [feat] retry 설정 (#CHZZ-27) 외부 API 실패시 복구를 위한 retry 설정 * [feat] 주문번호 발급 엔드포인트 개발 (#CHZZ-27) 유일 order id를 발급하는 엔드포인트 구현 * [feat] 주문번호 발급 및 유일성 검증 로직 구현 (#CHZZ-27) 주문번호 발급 및 유일성 검증을 위한 repository 조회 및 api 조회 기능 구현 * [fix] 결제 승인 요청 객체 수정 (#CHZZ-27) 주문번호를 요청에 담을 수 있도록 수정 * [fix] 결제 예외코드 수정 (#CHZZ-27) 주문번호 조회 실패시 발생할 예외코드 구현 * [fix] 결제 정보 컬럼 추가 (#CHZZ-27) 결제정보에 주문번호와 결제키 추가 * [test] 테스트 ui 수정 (#CHZZ-27) 테스트 ui를 위젯 UI로 수정 * [chore]mysql 포트 포워딩 (#CHZZ-27) 로컬환경에서 mysql 사용을 위해 포트포워딩 * [fix] 검증로직 제거 (#CHZZ-27) `Long`타입 검증 방식과 맞지 않는 검증 어노테이션 제거 * [feat] repository 작성 (#CHZZ-27) repository 작성 * [move] 열거체 이동 (#CHZZ-27) 공통 사용 열거체를 내부에서 외부로 이동 * [fix] 개발 편의 메서드 구현(#CHZZ-27) 개발 편의를 위한 일부 메서드 구현 * [fix] 경매 번호 응답객체 추가(#CHZZ-27) 결제 요청에 경매 id 추가 * [test] 테스트 ui 수정(#CHZZ-27) 테스트 편의를 위해 코드 수정 * [fix] 트랜잭션 범위 수정(#CHZZ-27) 트랜잭션 전파 범위 수정 * [docs] 테스트 프로파일 지정(#CHZZ-27) ci시 사용할 테스트 프로파일 지정 * [fix] 요청 method 수정(#CHZZ-27) 요청 method를 get -> post로 수정 * [fix]resolve conflict(#CHZZ-27) resolve conflict * [fix] 테스트 데이터 초기화 (#CHZZ-44) 개발 환경에서 사용할 dummy 데이터 초기화 작성 * [fix] 엔드포인트 수정 (#CHZZ-44) 경매 엔드포인트 수정 * [feat] 페이징 응답 직렬화 개선 (#CHZZ-44) 페이징 응답시 사용할 구체적 응답객체 구현 * [feat] 직렬화 설정 (#CHZZ-44) 페이징 응답시 직렬화 설정 * [fix] 연관관계 수정 (#CHZZ-44) 낙찰 사용자를 위한 winner 컬럼 join 제거 * [feat] p6spy 설정 (#CHZZ-44) 개발시에 로깅 편의를 위한 p6spy 설정 * [fix] 테스트 데이터 수정 (#CHZZ-44) 필드 추가에 따른 테스트 데이터 수정 * [fix] 입찰 영속화 이후 로직 작성 (#CHZZ-44) 입찰 이후 `auction` 테이블에 수량 필드에 기여 할 수 있도록 로직 작성 * [refactor] 응답 객체 추상화 (#CHZZ-44) 응답 객체의 공통 필드를 추출하고자 추상 객체 도입 * [chore] 개발 환경 세팅 (#CHZZ-44) 1. 테스트 프로파일 지정 2. 개발환경 db 구축 * [feat] 전역 예외 처리 (#CHZZ-44) 애플리케이션 전역에서 발생한 예외를 처리하기 위한 예외 및 handler 구현 * [fix] images 필드 추가 (#CHZZ-44) 상품 이미지 조회를 위한 필드 추가 * [feat] 입찰 엔드포인트 구현 (#CHZZ-44) 입찰 엔드포인트 구현 * [feat] 입찰 기록 조회 기능 구현 (#CHZZ-44) 입찰 기록 조회 기능 구현 * [fix] 페이징 예외처리 구현 (#CHZZ-44) 페이징 결과가 없는 경우 예외처리 구현 * [feat] `OrderSpecifier` 추상화를 위한 인터페이스 구현 (#CHZZ-44) `OrderSpecifier` 추상화를 위해 리플랙션을 사용한 열거체 정렬 기준 생성기 구현 * [feat] null 정렬 case 처리를 위한 `OrderByNull` 구현 (#CHZZ-44) 정렬 조건에 null이 들어가 정상적 정렬을 못하는 경우를 위한 `OrderByNull`구현 * [refactor] 정렬 추상화로 인한 코드 리팩토링 (#CHZZ-44) 정렬 추상화로 인해 수정된 시그니처에 따라 코드 리팩토링 * [test] 테스트 코드 auditing 수정 (#CHZZ-44) 테스트 데이터베이스의 auditing 설정 * [removed] 정렬 추상화에 따른 삭제 (#CHZZ-44) 정렬 조건 추상화에 따라 기존 사용중이던 열거형 삭제 * [fix] 엔드포인트 공개범위 수정 (#CHZZ-44) 엔드포인트 공개범위 수정 * [feat] 잘못된 정렬 조건 예외처리 구현(#CHZZ-44) 기등록된 정렬 조건이 아닌 요청에 대해 예외처리 하도록 bean 등록 및 예외처리 구현 * [fix] resolver 추가(#CHZZ-44) pagable 객체의 정렬 조건을 검증하는 커스텀 resolver 구현 * [fix] 예외처리 구체화 (#CHZZ-44) 예외처리 구체화 * [fix] 입찰 예외 구체화 (#CHZZ-44) 예외처리 구체화 * [refactor] 열거체 이름 변경 (#CHZZ-44) 열거체 이름 변경 * [test] 테스트 코드 작성 (#CHZZ-44) repository 테스트 코드 작성 * [chore] Dockerfile 추가 (#CHZZ-9) Dockerfile 추가 * [chore] Dockerfile 추가 (#CHZZ-44) Dockerfile 추가 * [fix] 불필요한 쿼리 제거 (#CHZZ-44) 1. 불필요한 join 제거 2. fetch 시점 변경 * [fix] 정렬 기준 응답 형식 변경 (#CHZZ-44) OrderSpecifier 정렬 방식 간소화 * [fix] 정렬 조건 코드 수정 (#CHZZ-44) 정렬 기준을 기존의 static method 점검 방식에서 spring bean 등록 방식으로 변경하기 위한 logic class 분리 및 빈 등록을 위한 일급 컬렉션 구현, 빈 등록 방식 변경 * [fix] 정렬 조건 코드 수정 (#CHZZ-44) 정렬 기준을 기존의 static method 점검 방식에서 spring bean 등록 방식으로 변경하기 위한 logic class 분리 및 빈 등록을 위한 일급 컬렉션 구현, 빈 등록 방식 변경 * [fix] 정렬 조건 수정에 따른 코드 변경 (#CHZZ-44) 실제 쿼리 코드에서 변경된 구현방식을 적용 * [test] 구현 내용 변경에 따른 테스트 코드 수정 (#CHZZ-44) 구현 내용 변경에 따른 테스트 코드 수정 * [fix] 참여자 수 컬럼 제거 (#CHZZ-44) 불필요한 DB 조회를 방지하기 위해 `Auction.participantCount` 제거 * [test] 로직 변경에 따른 테스트코드 수정 (#CHZZ-44) 참여자수 제거에 따른 테스트코드 수정 * [test] 로직 변경에 따른 테스트데이터 수정 (#CHZZ-44) 참여자수 제거에 따른 테스트데이터 수정 * [fix] 페이징 요청 검증 로직 수정 (#CHZZ-44) 페이징 요청 로직 검증을 변경된 `QuerydslOrderRegistry`를 통해 검증하도록 수정 * [fix] groupby절 수정 (#CHZZ-44) groupby절에 누락된 컬럼 추가 * [fix] resolve conflict (#CHZZ-44) resolve conflict * [fix] resolve conflict (#CHZZ-44) resolve conflict * [fix] resolve conflict (#CHZZ-44) resolve conflict
* chore: Redis 설정 파일 추가 (#48) * feat: Notification Entity 추가 (#48) * feat: Notification JPA Repository 추가 (#48) * feat: SseEmitter Repository 추가 (#48) * feat: 알림 객체를 만드는 DTO 추가 (#48) * feat: Redis 메세지 발행 서비스 추가 (#48) * feat: Notification 커스텀 에러 추가 (#48) * feat: 실시간 알람 설정을 위해 초기 SSE 연결 기능 추가 (#48) * feat: 실시간 알람 설정을 위한 API 추가 (#48) * feat: 알림을 보내는 Redis 수신 서비스 추가 (#48) * style: config 폴더 이름 오타로 인한 패키지 이름 수정 (#48) * chore: jpa open-in-view 설정 변경 (#48) * refactor: 단일 쓰레드 풀에서 캐시 쓰레드 풀로 변경 (#48) * refactor: SSE event ID 설정 (#48) * chore: application-test.yml redis 설정 추가 (#48) * chore: intergration-config.yml redis 설정 추가 (#48) * style: 중복된 코드 제거 (#48) * refactor: 현재 시각을 가져오는 System 함수에서 Instant.now() 함수로 변경 (#48) * refactor: 알림 저장과 실시간 알림 서비스를 로직을 Event-Driven 구조로 리팩토링 (#48) * refactor: @eventlistener -> @TransactionalEventListener 로 변경 (#48) * Merge branch 'develop' into feature/notification-service * delete: application-local.yml
* move: Auction DTO Response 폴더 생성으로 인한 파일 이동 (#61) * refactor: 경매 종료까지 남은 시간 계산 시 음수일때 0으로 처리 (#61) * feat: Spring Data Sort -> Querydsl OrderSpecifier 변환 함수 추가 (#61) * feat: userId에 따른 경매 리스트 조회하는 querydsl 쿼리 추가 (#61) * test: userId에 따른 경매 리스트 조회하는 querydsl 쿼리 테스트 추가 (#61) * feat: userId에 따른 경매 리스트 조회하는 서비스 함수 추가 (#61) * feat: 나의 경매 목록 조회하는 DTO 클래스 추가 (#61) * feat: 나의 경매 목록 조회하는 API 추가 (#61) * refactor: 경매까지 남은 시간 구하는 코드 중복코드로 인한 TimeUtil로 분리 (#61) * style: 파일의 마지막 줄바꿈 추가 (#61) * delete: git cache * refactor: MyAuctionResponse를 BaseAuctionDTO를 상속받는 구조로 변경 (#61) * style: 패키지 이름 오타 수정 (#61) * style: 불필요한 공백 제거 (#61) * refactor: LocalDateTime 직렬화 가능하게 리팩토링 (#61) * refactor: sort 이름 수정 (#61) * refactor: /api/v1/users 시큐리티 보안 임시 해제 (#61) * style: 공백 추가 (#61) * delete: TimeUtil 파일 삭제 (#61) * refactor: 정렬 순서 테스트 임시 주석 처리 (#61) * style: deprecated 주석 추가 (#61) * refactor: getOrderSpecifiers 함수 가독성 향상을 위해 리팩토링 (#61) * style: 파일의 마지막 줄에 공백 줄 추가 (#61) * fix: timeRemaining 함수 올바르게 수정 (#61) * refactor: QuerydslOrder 반환 타입 수정 - QuerydslOrder 인터페이스의 반환 타입을 ComparableExpressionBase에서 OrderSpecifier로 변경 (#61) * refactor: QuerydslOrder 반환 타입 수정으로 인한 getOrderSpecifiers 함수 수정 (#61) * test: 나의 경매 목록 조회 정렬 순서 테스트 추가 (#61) * chore: h2 데이터베이스에 mysql 모드 추가 (#61) * refactor: BidOrder 남은시간 정렬 이름 수정 (#61) * test: 남은시간 정렬 테스트 수정 (#61) * delete: 사용하지 않는 파일 삭제 (#61)
* refactor: 경매 상세정보 조회에 입찰Id 추가 (#71) * test: 경매 상세정보 조회에 입찰Id 추가로 인한 테스트 수정 (#71) * feat: 취소후 재입찰 방지를 위한 입찰 상태 컬럼 추가 (#71) * feat: 입찰 상태를 검증하는 함수 추가 (#71) * feat: 입찰 취소를 하는 서비스 함수 추가 (#71) * feat: 입찰 취소를 할때 발생하는 에러 코드 추가 (#71) * test: 입찰 취소 테스트 추가 (#71) * feat: 입찰 취소 API 추가 (#71) * refactor: Bid status columnDefinition 설정 추가 (#71) * refactor: 경매 진행중인지 확인하는 유효성 검사 함수 Auction 도메인으로 이동 (#71) * refactor: 입찰의 소유자 검사 함수 메소드로 분리 및 로깅 추가 (#71) * style: 사용하지 않는 import 문 제거 (#71) * refactor: 경매와 입찰의 연관관계 편의메서드 리팩토링 (#71) * refactor: 이전과 동일한 입찰 금액일때 예외 발생 추가 (#71) * refactor: BidCreateRequest '@AllArgsConstructor' 어노테이션 추가 (#71) * refactor: 연관관계 편의메서드 사용으로 인한 코드 수정 (#71) * test: 기존 입찰 금액과 동일한 수정 테스트 추가 (#71)
* feat : Auction, Image, Product, User Repository 인터페이스 추가 (#30) * feat : Product Entity 내 Category Enum 내용 추가 (#30) * refactor : confing -> config 디렉토리 이름 오타 수정 (#30) * feat : Auction Entity에 minPrice의 Custom Validation 구현 (#30) * feat : Auction Entity에 Status Enum 구체화 (#30) * feat : Custom ExceptionHandler 구현 및 UserNotFoundException 추가 (#30) * refactor : GeneratedValue 전략 수정 및 minPrice 타입 int로 통일 (#30) * feat : 경매 등록 요청 DTO 추가 (#30) * feat : AuctionService 서비스 추가 (#30) * feat : 경매 등록 API 추가 (#30) * feat : Image Service 서비스 추가 - ImageUploader 테스트 용 인터페이스 추가 - 상품 이미지 업로드 - S3, CloudFront 저장 로직 구현 (#30) * chore : AWS 환경 세팅 - AWS Java SDK 의존성 추가 - AWS Config S3 클라이언트 연동 - AWS 보안 Key 추가 (#30) * refactor : Image Entity @entity 어노테이션 추가 (#30) * test : 경매 등록 테스트 코드 추가 - test profile 내 Spring Security CSRF 비활성화, 모든 요청 허용 (#30) * refactor : 경매 물건 이미지 저장 클래스 수정 - 53 이미지 등록 기능 메소드 별도 클래스로 분리 - 잘린 cdn 주소 DB에 저장하는 메소드 리턴 값 List로 변경 (#30 * test : 경매 등록 테스트 및 CI 빌드 성공 (#30 * refactor: 경매 등록 응답 값 수정 - 응답 본문 없이 상태 코드와 Location 헤더만 반환 (#30 * refactor: 경매 엔티티 컬럼 타입 수정 - minPrice 컬럼 int -> Integer 수정 반영 (#30 * refactor: 이미지 등록 관련 로그 수정 - println -> slf4j 로 변경 (#30 * refactor: toList() 메서드 반영 (#30 * refactor: @transactional(readOnly = true) 반영 * refactor: S3 Bucket Bean 이름 등록 처리 * refactor: Category Enum 어노테이션 적용 - Getter - AllArgsConstructor (#30) * refactor: MVC 테스트 환경 재구축 - SecurityConfigTest.java 삭제 후 로컬 세팅 (#30) * refactor: 경매 등록 테스트 로컬 세팅 (#30) * feat: 이미지 Custom 에러 처리 구현 (#30) * refactor: AWSConfig s3BucketName 메소드 수정 - S3BucketName -> s3BucketName 네이밍 컨벤션 - Bean 등록하지 않고 필요할 때 가져와서 사용 (#30) * refactor: Custom Exception 추가 수정 (#30) * refactor: 경매 등록 서비스 최종 병합 (#30) * refactor: Custom Exception 추가 수정 - ImageUploadException, UserNotFoundException 추가 - getCode 메소드 추가 (#30) * refactor: generateFileName 메소드 제거 (#30) * refactor: AuctionControllerTest 세팅 - Spring Security Juit Test에 적용 (#30) * refactor: application-test.yml 파일 추가 - CI 테스트 통과 세팅 (#30) * refactor: CI 환경변수 최종 테스트 (#30) * refactor: CI 환경변수 최종 테스트 2 (#30) * refactor: CI 환경변수 최종 테스트 3 (#30) * refactor: CI 환경변수 최종 테스트 4 - secret -> secrets - CI env 코드 제외 - @SpringBootTest 활성화 (#30) * refactor: CI 환경변수 최종 테스트 5 - build.gradle 'profile active' 코드 추가 - CI 코드에 환경 변수 직접 명시 (#30) * refactor: CI 환경변수 최종 테스트 6 - spring -> cloud 변경 (#30) * refactor: CI 환경변수 최종 테스트 7 - '\' 줄바꿈 명령어 추가 (#30) * refactor: 경매 등록 테스트 Mock 이미지 구현 - @SpringBootTest 주석 처리 한 부분 해결 필요 (#30) * refactor: 경매 등록 테스트 S3 의존성 문제 해결 - S3 모의 객체 Test 전역 설정 - TestAWSConfig -> AWSConfig 클래스명 변경 - AWSConfig Profile -> local, prod 로 제한 (#30) * feat: Custom Exception 기본 코드 수정 (#30) * feat: 이미지 비즈니스 예외 추가 (#30) * feat: 유저 비즈니스 예외 추가 (#30) * feat: 유저 비즈니스 에러코드 추가 - 유저를 찾을 수 없을 때 발생하는 에러 코드 (#30) * feat: 이미지 비즈니스 에러코드 추가 - 이미지 저장에 실패했을 때 발생하는 에러코드 (#30) * feat: 사용자 데이터 조회 시 에러코드 반영 (#30) * feat: 이미지 저장 시 에러코드 반영 (#30) * refactor: 경매 상태 관리 메서드 추가 - '대기 중' -> '진행 중' 상태 변경 메서드 (#30) * feat: 경매 비즈니스 에러코드 추가 - 경매 상품을 찾을 수 없을 떄 발생하는 에러코드 - 경매 상태가 유효하지 않을 때 발생하는 에러코드 (#35) * feat: 상품 비즈니스 에러코드 추가 - 상품을 찾을 수 없을 때 발생하는 에러코드 - 상품 등록을 실패했을 때 발생하는 에러코드 - 상품 상태가 유효하지 않을 때 발생하는 에러코드 (#35) * feat: 유저 커스텀 예외처리 위치 수정 (#35) * feat: 경매 등록, 사전 등록 레코드 응답 DTO 추가 (#35) * feat: 경매 등록, 사전 등록 요청 DTO 추가 (#35) * feat: 상품 엔티티 수정 - 경매 시작가 컬럼 추가 - 상품 상태 관리 ENUM 추가 - 사전 등록 -> 경매 등록 상태 변경 메소드 추가 (#35) * feat: findByProduct 메소드 추가 (#35) * refactor: 기존 경매 등록 API 삭제 (#35) * feat: 이미지 비즈니스 에러코드 추가 - 이미지 삭제를 실패할 경우 발생하는 에러코드 (#35) * refactor: 테스트 도메인 변경 - Auction -> Product (#35) * refactor: 변경된 경매상태 변수 적용 (#35) * refactor: 상품 등록 비즈니스 로직 추가 - 경매 상품 등록 구현 - 상품 사전 등록 구현 - 상품 등록 및 경매 생성 프로세스 구현 (상품 상태 분기 처리) - 사전 등록에서 경매 상품으로 전환 프로세스 구현 - 상품 이미지 저장 구현 (트랜잭션 외부 별도 처리) - 등록 상품 저장 메서드 구현 (#35) * refactor: 상품 등록 API 추가 - 경매 등록 API - 사전 등록 API - 경매 상품으로 전환 API (#35) * refactor: 이미지 비즈니스 로직 수정 - 이미지 저장, 삭제 프로세스 구조 변경 1. uploadImages, deleteUploadImages : 전체 프로세스 처리 2. uploadImage, saveProductImageEntities, deleteImage : 특정 작업 수행 (#35) * refactor: 상품 등록 비즈니스 로직 수정 - 트랜잭션 외부에서 이미지 업로드 처리 (#35) * fix: form-data null 이슈 해결 - Entity Setter 어노테이션 추가 - 엔드포인트 consumes, produces 매개변수 추가 (#35) * feat: 이미지 비즈니스 에러코드 추가 - 이미지 저장을 실패할 경우 발생하는 에러코드 (#35) * feat: 경매 상태 관리 메소드 추가 - 경매 상품 진행 상태로 저장 메소드 - 경매 상품 대기 상태로 저장 메소드 - 경매 대기 상품 -> 진행 상태로 전환 메소드 (#35) * refactor: 경매 시작가 유효성 검증 조건 추가 (#35) * feat: 상품 등록 예외 처리 구현 (#35) * feat: 상품 등록 Service 테스트 - 사전 등록에서 경매 등록 전환 테스트 1. 사전 등록 상품 -> 경매 등록 상품 전환 성공하는지 확인 2. 경매 전환 후 모든 관련 Entity 일관되게 변경되는지 확인 3. 경매 전환 시 모든 변경사항 ROLLBACK 되는지 확인 4. 존재하지 않은 상품 ID로 전환 시도에 실패하는지 확인 5. 이미 판매 완료된 상품 경매 전환 시도에 실패하는지 확인 6. 이미 경매 중인 상품 전환 시도에 실패하는지 확인 - 사전 등록 테스트 1. 유효한 요청으로 사전 등록 성공하는지 확인 2. 존재하지 않는 사용자로 사전 등록 실패하는지 확인 - 경매 상품 등록 테스트 1. 유효한 요청으로 경매 상품 등록 성공하는지 확인 2. 존재하지 않는 사용자로 경매 상품 등록 실패하는지 확인 (#35) * feat: 상품 등록 Service 테스트 - 사전 등록에서 경매 등록 전환 테스트 1. 사전 등록 상품 -> 경매 등록 상품 전환 성공하는지 확인 2. 존재하지 않은 상품 ID로 전환 시도에 실패하는지 확인 3. 이미 판매 완료된 상품 경매 전환 시도에 실패하는지 확인 - 사전 등록 테스트 1. 유효한 요청으로 사전 등록 성공하는지 확인 2. 존재하지 않는 사용자로 사전 등록 실패하는지 확인 - 경매 상품 등록 테스트 1. 유효한 요청으로 경매 상품 등록 성공하는지 확인 2. 존재하지 않는 사용자로 경매 상품 등록 실패하는지 확인 3. 잘못된 가격 입력 시 실패하는지 확인 4. 필수 필드 누락 시 실패하는지 확인 (#35) * refactor: 상품 등록 DTO 수정 - product -> auction 도메인 이동 * refactor: 상품 등록 서비스 인터페이스 추출 및 구현 분리 (#CHZZ-35) - RegisterService 인터페이스 생성 - RegisterServiceImpl 클래스로 구현 로직 이동 - 의존성 주입 지점 업데이트 * refactor: 상품 도메인 코드 수정 (#CHZZ-35) - Product Entity 상품 상태 Enum, minPrice 삭제 - Product 내 상품 등록 API 삭제 * refactor: 경매 도메인 코드 수정 (#CHZZ-35) - 경매 조회 테스트 내 Product 객체 수정 - 경매 서비스 내 상태 전환 메소드 삭제 * feat: 경매 등록, 사전 등록 API 구현 (#CHZZ-35) * feat: 경매 등록, 사전 등록 Controller 동작 테스트 (#CHZZ-35) * feat: Product 코드 임시 비활성화 (#CHZZ-35) - 코드 수정 확정 이후 삭제 예정 * feat: 경매 코드 임시 비활성화 (#CHZZ-35) - 코드 수정 확정 이후 구현 예정 * feat: 이미지 Service 메소드 수정 (#CHZZ-35) - uploadImages 메소드 toList() 축약 - saveProductImageEntities 메소드 saveAll 적용 * refactor: 상품 등록 API 수정 (#CHZZ-35) - 사전 등록, 경매 등록 엔드포인트 하나로 통합 - 경매 상품으로 전환 API 수정 * refactor: 상품 등록 Controller 삭제 (#CHZZ-35) * refactor: 상품 등록 요청 DTO 수정 (#CHZZ-35) - 경매 상태 Enum 추가 * refactor: 상품 등록 응답 DTO 수정 (#CHZZ-35) - record 클래스 내 of 메소드 추가 - static field 'message' 세팅 * refactor: 상품 등록 서비스 함수 수정 (#CHZZ-35) - 경매 상태 매개변수 제거 - 주석, 로그 및 TODO 추가 * refactor: 경매 상품 전환 응답 DTO 추가 (#CHZZ-35) * refactor: 유저 비즈니스 에러코드 추가 (#CHZZ-35) - 유저 정보가 일치하지 않을 때 발생하는 에러코드 * refactor: 경매 전환 처리 비즈니스 로직 수정 (#CHZZ-35) - 유저 ID 매개변수 추가 * refactor: 경매 전환 메서드 매개변수 추가 (#CHZZ-35) - 종료 시간 추가 * refactor: Product 서비스 코드 삭제 (#CHZZ-35) * refactor: 상품 등록 Controller 테스트 (#CHZZ-35) - 상품 경매 등록 테스트 1. 유효한 요청으로 경매 상품 등록 성공 응답 2. 존재하지 않는 사용자로 경매 상품 등록 실패 - 상품 사전 등록 테스트 1. 유효한 요청으로 상품 사전 등록 성공 응답 2. 존재하지 않는 사용자로 상품 사전 등록 실패 - 사전 등록 된 상품 경매 등록 상품으로 전환 테스트 1. 유효한 요청으로 사전 등록 된 상품 경매 등록 전환 성공 응답 2. 존재하지 않는 상품 ID로 전환 시도 실패 3. 이미 경매 중인 상품 전환 시도 실패 4. 전환 후 상태와 시간 정보 확인 5. 취소된 사전 등록 상품 전환 시도 실패 * refactor: 상품 등록 Controller 테스트 (#CHZZ-35) - 상품 경매 등록 테스트 1. 유효한 요청으로 경매 상품 등록 성공 응답 2. 존재하지 않는 사용자로 경매 상품 등록 실패 - 상품 사전 등록 테스트 1. 유효한 요청으로 상품 사전 등록 성공 응답 2. 존재하지 않는 사용자로 상품 사전 등록 실패 - 사전 등록 된 상품 경매 등록 상품으로 전환 테스트 1. 유효한 요청으로 사전 등록 된 상품 경매 등록 전환 성공 응답 2. 존재하지 않는 상품 ID로 전환 시도 실패 3. 이미 경매 중인 상품 전환 시도 실패 4. 종료된 경매 상품 전환 시도 실패 5. 취소된 사전 등록 상품 전환 시도 실패 * refactor: FilterChain 추가 (#CHZZ-35) - /error - /api/v1/auctions/** * refactor: 상품 등록 서비스 함수 클래스 변경 (#CHZZ-35) - RegisterService -> AuctionService * feat: 상품 등록 엔드포인트 변경 (#CHZZ-35) - /auctions/register -> /auctions * feat: 상품 등록 DTO 클래스명 변경(#CHZZ-35) - StartResponse -> StartAuctionResponse - RegisterResponse -> RegisterAuctionResponse - RegisterRequest -> RegisterAuctionRequest * refactor: JPA 변경감지로 인한 save 코드 삭제 (#CHZZ-35) * refactor: 상품 등록 서비스 메소드 명 수정 (#CHZZ-35) - register -> registerAuction * feat: 경매를 등록할 때 발생하는 에러코드 추가 (#CHZZ-35) * feat: BaseRegisterRequest 추상 클래스 생성 (#CHZZ-35) * feat: RegisterAuctionRequest, PreRegisterRequest 구현 클래스 추가 (#CHZZ-35) * feat: AuctionPolicy 인터페이스 생성 (#CHZZ-35) * feat: RegisterAuctionPolicy, PreRegisterAuctionPolicy 클래스 구현 (#CHZZ-35) * move: Auction 응답, 요청 DTO 파일 분리 (#CHZZ-35) * move: Product 테스트 파일 삭제 (#CHZZ-35) * move: 상품 등록 DTO 수정 (#CHZZ-35) - BaseRegisterRequest 생성 * feat: 경매 등록 전환 요청 DTO 추가 (#CHZZ-35) * feat: 상품 등록 응답 값 메시지 분리 (#CHZZ-35) * feat: Product 엔티티 컬럼 추가 (#CHZZ-35) - minPrice 추가 * feat: 경매 전환에 저장될 Entity (#CHZZ-35) * refactor: 상품 등록 및 전환 API 수정 (#CHZZ-35) * refactor: 상품 ID 조회 함수 추가 (#CHZZ-35) * refactor: 상품 등록 및 전환 서비스 로직 수정 (#CHZZ-35) - AuctionPolicy 활용한 상품 및 경매 생성 로직 적용 * refactor: 상품 등록 Entity 추가 (#CHZZ-35) - minPrice 값 추가 * refactor: 상품 경매 등록 전환 요청 DTO 수정 (#CHZZ-35) - minPrice, endDateTime 삭제 * refactor: 상품 등록 Controller 테스트 수정 (#CHZZ-35) - 상품 등록 테스트 1. 유효한 요청으로 경매 상품 등록 성공 응답 2. 유효한 요청으로 상품 사전 등록 성공 응답 3. 존재하지 않는 사용자로 상품 사전 등록 실패 - 사전 등록 된 상품 경매 등록 상품으로 전환 테스트 1. 유효한 요청으로 사전 등록 된 상품 경매 등록 전환 성공 응답 2. 존재하지 않는 상품 ID로 전환 시도 실패 3. 이미 경매 중인 상품 전환 시도 실패 4. 전환 후 상태와 시간 정보 확인 * refactor: 상품 등록 Service 테스트 수정 (#CHZZ-35) - 상품 사전 등록 테스트 1. 유효한 요청으로 경매 상품 등록 성공 응답 2. 존재하지 않는 사용자로 상품 사전 등록 실패 - 상품 경매 등록 테스트 1. 유효한 요청으로 상품 사전 등록 성공 응답 2. 존재하지 않는 사용자로 상품 사전 등록 실패 - 사전 등록 된 상품 경매 등록 상품으로 전환 테스트 1. 유효한 요청으로 사전 등록 된 상품 경매 등록 전환 성공 응답 2. 존재하지 않는 상품 ID로 전환 시도 실패 3. 이미 경매 중인 상품 전환 시도 실패 * refactor: 상품 등록 및 전환 테스트 수정 (#CHZZ-35) - StartAuctionRequest 값 수정
* feat : Auction, Image, Product, User Repository 인터페이스 추가 (#30) * feat : Product Entity 내 Category Enum 내용 추가 (#30) * refactor : confing -> config 디렉토리 이름 오타 수정 (#30) * feat : Auction Entity에 minPrice의 Custom Validation 구현 (#30) * feat : Auction Entity에 Status Enum 구체화 (#30) * feat : Custom ExceptionHandler 구현 및 UserNotFoundException 추가 (#30) * refactor : GeneratedValue 전략 수정 및 minPrice 타입 int로 통일 (#30) * feat : 경매 등록 요청 DTO 추가 (#30) * feat : AuctionService 서비스 추가 (#30) * feat : 경매 등록 API 추가 (#30) * feat : Image Service 서비스 추가 - ImageUploader 테스트 용 인터페이스 추가 - 상품 이미지 업로드 - S3, CloudFront 저장 로직 구현 (#30) * chore : AWS 환경 세팅 - AWS Java SDK 의존성 추가 - AWS Config S3 클라이언트 연동 - AWS 보안 Key 추가 (#30) * refactor : Image Entity @entity 어노테이션 추가 (#30) * test : 경매 등록 테스트 코드 추가 - test profile 내 Spring Security CSRF 비활성화, 모든 요청 허용 (#30) * refactor : 경매 물건 이미지 저장 클래스 수정 - 53 이미지 등록 기능 메소드 별도 클래스로 분리 - 잘린 cdn 주소 DB에 저장하는 메소드 리턴 값 List로 변경 (#30 * test : 경매 등록 테스트 및 CI 빌드 성공 (#30 * refactor: 경매 등록 응답 값 수정 - 응답 본문 없이 상태 코드와 Location 헤더만 반환 (#30 * refactor: 경매 엔티티 컬럼 타입 수정 - minPrice 컬럼 int -> Integer 수정 반영 (#30 * refactor: 이미지 등록 관련 로그 수정 - println -> slf4j 로 변경 (#30 * refactor: toList() 메서드 반영 (#30 * refactor: @transactional(readOnly = true) 반영 * refactor: S3 Bucket Bean 이름 등록 처리 * refactor: Category Enum 어노테이션 적용 - Getter - AllArgsConstructor (#30) * refactor: MVC 테스트 환경 재구축 - SecurityConfigTest.java 삭제 후 로컬 세팅 (#30) * refactor: 경매 등록 테스트 로컬 세팅 (#30) * feat: 이미지 Custom 에러 처리 구현 (#30) * refactor: AWSConfig s3BucketName 메소드 수정 - S3BucketName -> s3BucketName 네이밍 컨벤션 - Bean 등록하지 않고 필요할 때 가져와서 사용 (#30) * refactor: Custom Exception 추가 수정 (#30) * refactor: 경매 등록 서비스 최종 병합 (#30) * refactor: Custom Exception 추가 수정 - ImageUploadException, UserNotFoundException 추가 - getCode 메소드 추가 (#30) * refactor: generateFileName 메소드 제거 (#30) * refactor: AuctionControllerTest 세팅 - Spring Security Juit Test에 적용 (#30) * refactor: application-test.yml 파일 추가 - CI 테스트 통과 세팅 (#30) * refactor: CI 환경변수 최종 테스트 (#30) * refactor: CI 환경변수 최종 테스트 2 (#30) * refactor: CI 환경변수 최종 테스트 3 (#30) * refactor: CI 환경변수 최종 테스트 4 - secret -> secrets - CI env 코드 제외 - @SpringBootTest 활성화 (#30) * refactor: CI 환경변수 최종 테스트 5 - build.gradle 'profile active' 코드 추가 - CI 코드에 환경 변수 직접 명시 (#30) * refactor: CI 환경변수 최종 테스트 6 - spring -> cloud 변경 (#30) * refactor: CI 환경변수 최종 테스트 7 - '\' 줄바꿈 명령어 추가 (#30) * refactor: 경매 등록 테스트 Mock 이미지 구현 - @SpringBootTest 주석 처리 한 부분 해결 필요 (#30) * refactor: 경매 등록 테스트 S3 의존성 문제 해결 - S3 모의 객체 Test 전역 설정 - TestAWSConfig -> AWSConfig 클래스명 변경 - AWSConfig Profile -> local, prod 로 제한 (#30) * feat: Custom Exception 기본 코드 수정 (#30) * feat: 이미지 비즈니스 예외 추가 (#30) * feat: 유저 비즈니스 예외 추가 (#30) * feat: 유저 비즈니스 에러코드 추가 - 유저를 찾을 수 없을 때 발생하는 에러 코드 (#30) * feat: 이미지 비즈니스 에러코드 추가 - 이미지 저장에 실패했을 때 발생하는 에러코드 (#30) * feat: 사용자 데이터 조회 시 에러코드 반영 (#30) * feat: 이미지 저장 시 에러코드 반영 (#30) * refactor: 경매 상태 관리 메서드 추가 - '대기 중' -> '진행 중' 상태 변경 메서드 (#30) * feat: 경매 비즈니스 에러코드 추가 - 경매 상품을 찾을 수 없을 떄 발생하는 에러코드 - 경매 상태가 유효하지 않을 때 발생하는 에러코드 (#35) * feat: 상품 비즈니스 에러코드 추가 - 상품을 찾을 수 없을 때 발생하는 에러코드 - 상품 등록을 실패했을 때 발생하는 에러코드 - 상품 상태가 유효하지 않을 때 발생하는 에러코드 (#35) * feat: 유저 커스텀 예외처리 위치 수정 (#35) * feat: 경매 등록, 사전 등록 레코드 응답 DTO 추가 (#35) * feat: 경매 등록, 사전 등록 요청 DTO 추가 (#35) * feat: 상품 엔티티 수정 - 경매 시작가 컬럼 추가 - 상품 상태 관리 ENUM 추가 - 사전 등록 -> 경매 등록 상태 변경 메소드 추가 (#35) * feat: findByProduct 메소드 추가 (#35) * refactor: 기존 경매 등록 API 삭제 (#35) * feat: 이미지 비즈니스 에러코드 추가 - 이미지 삭제를 실패할 경우 발생하는 에러코드 (#35) * refactor: 테스트 도메인 변경 - Auction -> Product (#35) * refactor: 변경된 경매상태 변수 적용 (#35) * refactor: 상품 등록 비즈니스 로직 추가 - 경매 상품 등록 구현 - 상품 사전 등록 구현 - 상품 등록 및 경매 생성 프로세스 구현 (상품 상태 분기 처리) - 사전 등록에서 경매 상품으로 전환 프로세스 구현 - 상품 이미지 저장 구현 (트랜잭션 외부 별도 처리) - 등록 상품 저장 메서드 구현 (#35) * refactor: 상품 등록 API 추가 - 경매 등록 API - 사전 등록 API - 경매 상품으로 전환 API (#35) * refactor: 이미지 비즈니스 로직 수정 - 이미지 저장, 삭제 프로세스 구조 변경 1. uploadImages, deleteUploadImages : 전체 프로세스 처리 2. uploadImage, saveProductImageEntities, deleteImage : 특정 작업 수행 (#35) * refactor: 상품 등록 비즈니스 로직 수정 - 트랜잭션 외부에서 이미지 업로드 처리 (#35) * fix: form-data null 이슈 해결 - Entity Setter 어노테이션 추가 - 엔드포인트 consumes, produces 매개변수 추가 (#35) * feat: 이미지 비즈니스 에러코드 추가 - 이미지 저장을 실패할 경우 발생하는 에러코드 (#35) * feat: 경매 상태 관리 메소드 추가 - 경매 상품 진행 상태로 저장 메소드 - 경매 상품 대기 상태로 저장 메소드 - 경매 대기 상품 -> 진행 상태로 전환 메소드 (#35) * refactor: 경매 시작가 유효성 검증 조건 추가 (#35) * feat: 상품 등록 예외 처리 구현 (#35) * feat: 상품 등록 Service 테스트 - 사전 등록에서 경매 등록 전환 테스트 1. 사전 등록 상품 -> 경매 등록 상품 전환 성공하는지 확인 2. 경매 전환 후 모든 관련 Entity 일관되게 변경되는지 확인 3. 경매 전환 시 모든 변경사항 ROLLBACK 되는지 확인 4. 존재하지 않은 상품 ID로 전환 시도에 실패하는지 확인 5. 이미 판매 완료된 상품 경매 전환 시도에 실패하는지 확인 6. 이미 경매 중인 상품 전환 시도에 실패하는지 확인 - 사전 등록 테스트 1. 유효한 요청으로 사전 등록 성공하는지 확인 2. 존재하지 않는 사용자로 사전 등록 실패하는지 확인 - 경매 상품 등록 테스트 1. 유효한 요청으로 경매 상품 등록 성공하는지 확인 2. 존재하지 않는 사용자로 경매 상품 등록 실패하는지 확인 (#35) * feat: 상품 등록 Service 테스트 - 사전 등록에서 경매 등록 전환 테스트 1. 사전 등록 상품 -> 경매 등록 상품 전환 성공하는지 확인 2. 존재하지 않은 상품 ID로 전환 시도에 실패하는지 확인 3. 이미 판매 완료된 상품 경매 전환 시도에 실패하는지 확인 - 사전 등록 테스트 1. 유효한 요청으로 사전 등록 성공하는지 확인 2. 존재하지 않는 사용자로 사전 등록 실패하는지 확인 - 경매 상품 등록 테스트 1. 유효한 요청으로 경매 상품 등록 성공하는지 확인 2. 존재하지 않는 사용자로 경매 상품 등록 실패하는지 확인 3. 잘못된 가격 입력 시 실패하는지 확인 4. 필수 필드 누락 시 실패하는지 확인 (#35) * refactor: 상품 등록 DTO 수정 - product -> auction 도메인 이동 * refactor: 상품 등록 서비스 인터페이스 추출 및 구현 분리 (#CHZZ-35) - RegisterService 인터페이스 생성 - RegisterServiceImpl 클래스로 구현 로직 이동 - 의존성 주입 지점 업데이트 * refactor: 상품 도메인 코드 수정 (#CHZZ-35) - Product Entity 상품 상태 Enum, minPrice 삭제 - Product 내 상품 등록 API 삭제 * refactor: 경매 도메인 코드 수정 (#CHZZ-35) - 경매 조회 테스트 내 Product 객체 수정 - 경매 서비스 내 상태 전환 메소드 삭제 * feat: 경매 등록, 사전 등록 API 구현 (#CHZZ-35) * feat: 경매 등록, 사전 등록 Controller 동작 테스트 (#CHZZ-35) * feat: Product 코드 임시 비활성화 (#CHZZ-35) - 코드 수정 확정 이후 삭제 예정 * feat: 경매 코드 임시 비활성화 (#CHZZ-35) - 코드 수정 확정 이후 구현 예정 * feat: 이미지 Service 메소드 수정 (#CHZZ-35) - uploadImages 메소드 toList() 축약 - saveProductImageEntities 메소드 saveAll 적용 * refactor: 상품 등록 API 수정 (#CHZZ-35) - 사전 등록, 경매 등록 엔드포인트 하나로 통합 - 경매 상품으로 전환 API 수정 * refactor: 상품 등록 Controller 삭제 (#CHZZ-35) * refactor: 상품 등록 요청 DTO 수정 (#CHZZ-35) - 경매 상태 Enum 추가 * refactor: 상품 등록 응답 DTO 수정 (#CHZZ-35) - record 클래스 내 of 메소드 추가 - static field 'message' 세팅 * refactor: 상품 등록 서비스 함수 수정 (#CHZZ-35) - 경매 상태 매개변수 제거 - 주석, 로그 및 TODO 추가 * refactor: 경매 상품 전환 응답 DTO 추가 (#CHZZ-35) * refactor: 유저 비즈니스 에러코드 추가 (#CHZZ-35) - 유저 정보가 일치하지 않을 때 발생하는 에러코드 * refactor: 경매 전환 처리 비즈니스 로직 수정 (#CHZZ-35) - 유저 ID 매개변수 추가 * refactor: 경매 전환 메서드 매개변수 추가 (#CHZZ-35) - 종료 시간 추가 * refactor: Product 서비스 코드 삭제 (#CHZZ-35) * refactor: 상품 등록 Controller 테스트 (#CHZZ-35) - 상품 경매 등록 테스트 1. 유효한 요청으로 경매 상품 등록 성공 응답 2. 존재하지 않는 사용자로 경매 상품 등록 실패 - 상품 사전 등록 테스트 1. 유효한 요청으로 상품 사전 등록 성공 응답 2. 존재하지 않는 사용자로 상품 사전 등록 실패 - 사전 등록 된 상품 경매 등록 상품으로 전환 테스트 1. 유효한 요청으로 사전 등록 된 상품 경매 등록 전환 성공 응답 2. 존재하지 않는 상품 ID로 전환 시도 실패 3. 이미 경매 중인 상품 전환 시도 실패 4. 전환 후 상태와 시간 정보 확인 5. 취소된 사전 등록 상품 전환 시도 실패 * refactor: 상품 등록 Controller 테스트 (#CHZZ-35) - 상품 경매 등록 테스트 1. 유효한 요청으로 경매 상품 등록 성공 응답 2. 존재하지 않는 사용자로 경매 상품 등록 실패 - 상품 사전 등록 테스트 1. 유효한 요청으로 상품 사전 등록 성공 응답 2. 존재하지 않는 사용자로 상품 사전 등록 실패 - 사전 등록 된 상품 경매 등록 상품으로 전환 테스트 1. 유효한 요청으로 사전 등록 된 상품 경매 등록 전환 성공 응답 2. 존재하지 않는 상품 ID로 전환 시도 실패 3. 이미 경매 중인 상품 전환 시도 실패 4. 종료된 경매 상품 전환 시도 실패 5. 취소된 사전 등록 상품 전환 시도 실패 * refactor: FilterChain 추가 (#CHZZ-35) - /error - /api/v1/auctions/** * refactor: 상품 등록 서비스 함수 클래스 변경 (#CHZZ-35) - RegisterService -> AuctionService * feat: 상품 등록 엔드포인트 변경 (#CHZZ-35) - /auctions/register -> /auctions * feat: 상품 등록 DTO 클래스명 변경(#CHZZ-35) - StartResponse -> StartAuctionResponse - RegisterResponse -> RegisterAuctionResponse - RegisterRequest -> RegisterAuctionRequest * refactor: JPA 변경감지로 인한 save 코드 삭제 (#CHZZ-35) * refactor: 상품 등록 서비스 메소드 명 수정 (#CHZZ-35) - register -> registerAuction * feat: 경매를 등록할 때 발생하는 에러코드 추가 (#CHZZ-35) * feat: BaseRegisterRequest 추상 클래스 생성 (#CHZZ-35) * feat: RegisterAuctionRequest, PreRegisterRequest 구현 클래스 추가 (#CHZZ-35) * feat: AuctionPolicy 인터페이스 생성 (#CHZZ-35) * feat: RegisterAuctionPolicy, PreRegisterAuctionPolicy 클래스 구현 (#CHZZ-35) * move: Auction 응답, 요청 DTO 파일 분리 (#CHZZ-35) * move: Product 테스트 파일 삭제 (#CHZZ-35) * move: 상품 등록 DTO 수정 (#CHZZ-35) - BaseRegisterRequest 생성 * feat: 경매 등록 전환 요청 DTO 추가 (#CHZZ-35) * feat: 상품 등록 응답 값 메시지 분리 (#CHZZ-35) * feat: Product 엔티티 컬럼 추가 (#CHZZ-35) - minPrice 추가 * feat: 경매 전환에 저장될 Entity (#CHZZ-35) * refactor: 상품 등록 및 전환 API 수정 (#CHZZ-35) * refactor: 상품 ID 조회 함수 추가 (#CHZZ-35) * refactor: 상품 등록 및 전환 서비스 로직 수정 (#CHZZ-35) - AuctionPolicy 활용한 상품 및 경매 생성 로직 적용 * refactor: 상품 등록 Entity 추가 (#CHZZ-35) - minPrice 값 추가 * refactor: 상품 경매 등록 전환 요청 DTO 수정 (#CHZZ-35) - minPrice, endDateTime 삭제 * refactor: 상품 등록 Controller 테스트 수정 (#CHZZ-35) - 상품 등록 테스트 1. 유효한 요청으로 경매 상품 등록 성공 응답 2. 유효한 요청으로 상품 사전 등록 성공 응답 3. 존재하지 않는 사용자로 상품 사전 등록 실패 - 사전 등록 된 상품 경매 등록 상품으로 전환 테스트 1. 유효한 요청으로 사전 등록 된 상품 경매 등록 전환 성공 응답 2. 존재하지 않는 상품 ID로 전환 시도 실패 3. 이미 경매 중인 상품 전환 시도 실패 4. 전환 후 상태와 시간 정보 확인 * refactor: 상품 등록 Service 테스트 수정 (#CHZZ-35) - 상품 사전 등록 테스트 1. 유효한 요청으로 경매 상품 등록 성공 응답 2. 존재하지 않는 사용자로 상품 사전 등록 실패 - 상품 경매 등록 테스트 1. 유효한 요청으로 상품 사전 등록 성공 응답 2. 존재하지 않는 사용자로 상품 사전 등록 실패 - 사전 등록 된 상품 경매 등록 상품으로 전환 테스트 1. 유효한 요청으로 사전 등록 된 상품 경매 등록 전환 성공 응답 2. 존재하지 않는 상품 ID로 전환 시도 실패 3. 이미 경매 중인 상품 전환 시도 실패 * refactor: 상품 등록 및 전환 테스트 수정 (#CHZZ-35) - StartAuctionRequest 값 수정 * refactor: Product 엔티티 수정 (#CHZZ-49) - builder 패턴 적용 (createBuilder, updateBuilder) - 이미지 관리 메서드 추가 (clearImages, addImages) - update 메서드 추가 * refactor: 사전 등록 상품 수정 요청 DTO 추가 (#CHZZ-49) * refactor: 사전 등록 상품 수정 요청 DTO 추가 (#CHZZ-49) * feat: 상품 수정 서비스 로직 구현 (#CHZZ-49) * feat: findByIdAndUserId 메서드 추가 (#CHZZ-49) - 상품 ID, 사용자 ID로 상품 조회 기능 추가 * feat: 상품 수정할 때 발생하는 에러코드 추가 (#CHZZ-49) * feat: 상품 관련 DTO 수정 (#CHZZ-49) - createBuilder 추가 및 빌더 패턴 수정 - setter 어노테이션 삭제 * refactor: 이미지 저장 메서드 수정 (#CHZZ-49) - 이미지 리스트 반환 값 추가 * refactor: 사전 등록 상품 수정 API 구현 (#CHZZ-49) * refactor: SpringSecurity products 경로 추가 (#CHZZ-49) * feat: 상품 수정 Service 테스트 추가 (#CHZZ-49) 1. 유효한 요청으로 사전 등록 상품 수정 성공 응답 2. 존재하지 않는 상품으로 수정 시도 실패 3. 이미 경매 등록된 상품 수정 시도 실패 4. 이미지 없이 상품 정보만 수정 성공 5. 유효하지 않은 사용자가 상품 수정 시도 실패 * fix: 상품 등록 서비스 로그 수정 (#CHZZ-49) - 예외 핸들러 코드에 별도의 info 로그 삭제 * refactor: 경매 전환 로직 메소드 분리 (#CHZZ-49) - 조회, 저장 트랜잭션 분리 * refactor: 상품 등록 AuctionPolicy 내부 추상화 (#CHZZ-49) - createAuction 메서드 null 반환 해결 * refactor: 상품 등록 분기에 따라 응답 DTO 분리 (#CHZZ-49) - sealed 인터페이스 처리를 통한 상품 등록 응답값 처리 * refactor: 수정된 응답 DTO 테스트 코드 적용 (#CHZZ-49) * refactor: 사전등록 상품 수정 로직 변경 (#CHZZ-49) - @DynamicUpdate 어노테이션 적용 - 기존의 createBuilder, updateBuilder 빌더 패턴 삭제 * fix: 사전등록 상품 수정 Service 테스트 수정 (#CHZZ-49) * feat: Auction 엔티티 수정 (#CHZZ-78) - minPrice 컬럼 제거 * feat: 경매 비즈니스 에러코드 추가 (#CHZZ-35) - 상품에 등록된 유저와 요청받은 유저 ID가 다를 경우 발생하는 에러코드 * feat: 사전 등록 상품 경매 전환 유효성 검사 추가 (#CHZZ-35) - 상품에 등록된 사용자와 요청받은 사용자 유효성 검사 * feat: 사전 등록 상품 경매 전환 테스트 코드 수정 (#CHZZ-35) - userId 추가 * refactor: 경매 등록 서비스 분리 및 팩토리 패턴 적용 (#CHZZ-35) * refactor: 경매 등록 Policy 서비스 분리 삭제 (#CHZZ-35) * refactor: 경매 등록 서비스 디렉토리 분리 (#CHZZ-35) * refactor: 경매 등록 유형 클래스 수정 (#CHZZ-35) * refactor: 경매 등록 서비스 분리 (#CHZZ-35) * refactor: 경매 등록 비즈니스 에러코드 추가 (#CHZZ-35) - 등록된 상품의 유저 ID와 전환 요청한 유저 ID가 다를 경우 발생하는 에러코드 - 없는 등록 유형일 경우 발생하는 에러코드 * fix: 경매 등록 Controller 테스트 수정 (#CHZZ-35) * fix: 경매 등록 Service 테스트 수정 (#CHZZ-35) * fix: 사전 등록 상품 수정 이미지 처리 수정 (#CHZZ-35) - @RequestPart required 옵션 false 처리 * chore: application-local.yml 임시 삭제
* feat: 경매 테스트 객체 초기화 코드 수정 (#CHZZ-51) - 경매 등록 요청 DTO SuperBuilder 어노테이션 추가 - builder 패턴 객체 초기화 적용 * feat: 상품 삭제 응답 DTO 추가 (#CHZZ-51) * feat: 경매 repository 메서드 추가 (#CHZZ-51) - findByProductId 메서드 추가 * feat: 상품 repository 메서드 추가 (#CHZZ-51) - findByIdAndUserId 메서드 추가 * feat: 상품 삭제 서비스 로직 구현 (#CHZZ-51) * feat: 상품 삭제 및 경매 취소 API 구현 (#CHZZ-51) * feat: 상품 삭제 및 경매 취소 Service 테스트 추가 (#CHZZ-51) * refactor: SpringSecurity products 경로 추가 (#CHZZ-51) * refactor: 사전 등록 상품 삭제 서비스 로직 수정 (#CHZZ-51) - 경매 등록 상품 삭제 기능 제거 - 사전 등록 상품만 삭제 가능하도록 변경 - 좋아요를 누른 사용자에게 알림 발송 로직 추가 - DeleteProductResponse 클래스 수정하여 사전 등록 상품 정보만 포함 * refactor: 사전 등록 상품 삭제 Service 테스트 수정 (#CHZZ-51) * refactor: 경매 Service, Controller 테스트 수정 (#CHZZ-51) - setUp 메소드 request 객체 초기화 코드 추가 * feat: 사전 등록 상품 삭제 엔드포인트 수정 (#CHZZ-51)
* feat: 사전 등록 상품 조회 응답 DTO 추가 (#CHZZ-51) - BaseProductDTO 상속 구조 * feat: 특정 카테고리 사전 등록 상품 조회하는 querydsl 쿼리 추가 (#CHZZ-75) * feat: Like 도메인 repository 추가 및 builder 패턴 세팅 (#CHZZ-75) * feat: 카테고리 별 상품 목록 조회 서비스 로직 추가 (#CHZZ-75) * feat: 카테고리 별 상품 목록 조회 API 구현 (#CHZZ-75) * feat: 카테고리 별 상품 목록 조회 Service 테스트 (#CHZZ-75) 1. 특정 카테고리 사전 등록 상품을 높은 가격순으로 조회 2. 특정 카테고리 사전 등록 상품을 인기순(좋아요 수)으로 조회 3. 페이지네이션 동작 확인 * refactor: /products 임시 접근 권한 허용 (#CHZZ-75) * refactor: OrderSpecifier 리팩토링 by junest66 (#CHZZ-74) * refactor: JacksonConfig LocalDateTime 직렬화 세팅 (#CHZZ-74) * feat: 사전 등록 상품 상세 정보 조회하는 querydsl 쿼리 추가 (#CHZZ-74) * feat: 사전 등록 상품 상세 정보 조회하는 DTO 클래스 추가 (#CHZZ-74) * feat: 사전 등록 상품 상세 정보 조회하는 서비스 로직 추가 (#CHZZ-74) * feat: 사전 등록 상품 상세 정보 조회 API 구현 (#CHZZ-74) * feat: 나의 사전 등록 상품 목록 조회하는 querydsl 쿼리 추가 (#CHZZ-74) * feat: 나의 사전 등록 상품 목록 조회하는 DTO 클래스 추가 (#CHZZ-74) * feat: getOrderSpecifiers 'toList()' 수정 (#CHZZ-74) * feat: 나의 사전 등록 상품 목록 조회 서비스 로직 추가 (#CHZZ-74) * feat: 나의 사전 등록 상품 목록 조회 API 구현 (#CHZZ-74) * refactor: 사전 등록상품 상세 정보 조회 반환값 Optional 추가 (#CHZZ-74) * refactor: 사전 등록 상품 목록 조회 DTO 통일 (#CHZZ-74) * feat: 사전 등록 상품 조회 Service 테스트 추가 (#CHZZ-74) * refactor: 사전 등록 상품 조회 Controller 수정 - 카테고리 조회 API URL 수정 -> ~/categories - 상세 조회 API 에러 처리 service 단으로 이동 - 나의 상품 목록 조회 API URL 수정 -> ~?user={nickname} * refactor: 사전 등록 상품 조회 쿼리 수정 (#CHZZ-74) - findProductsByCategory 메서드 리턴값 countQuery 반영 - findProductDetailsById 메서드 쿼리 결과 Optional 처리 - findMyProductsByUserId 메서드 매개변수 수정 - findMyProductsByUserId 메서드 리턴값 countQuery 반영 - ProductOrder 정렬 이름 하이푼 처리 * refactor: 사전 등록 상품 조회 테스트 코드 수정 (#CHZZ-74) * feat: 카테고리 목록 조회 응답 DTO 추가 (#CHZZ-74) * feat: 카테고리 목록 조회 서비스 로직 추가 (#CHZZ-74) * feat: 상품 Controller API 수정 (#CHZZ-74) - 카테고리 별 상품 목록 조회 API URL 수정 (/products?category=) - 나의 사전 등록 상품 목록 조회 API 수정 (/user/{nickname}) - 상품 카테고리 목록 조회 API 구현 (/categories) * refactor: 나의 사전 등록 상품 목록 조회 함수명 변경 (#CHZZ-74) * refactor: ProductRepository 메서드 및 쿼리 수정 (#CHZZ-74) - Q 파일 static import 처리 - findProductsByNickname 메서드 서브쿼리 제거
* chore: jwt,oauth2 의존성 추가 (#84) * feat: oauth2 로그인 실패 핸들러 추가 (#84) * feat: oauth2 인증 객체 CustomUserDetails 추가 (#84) * feat: oauth2 응답을 담을 OAuth2Response 인터페이스 추가 (#84) * feat: 카카오 oauth2 응답을 담을 클래스 추가 (#84) * style: KaKaoResponse 클래스명 수정 (#84) * feat: 네이버 oauth2 응답을 담을 클래스 추가 (#84) * feat: jwt 기능을 담는 JWTUtil 추가 (#84) * feat: jwt 관련 커스텀 에러 추가 (#84) * feat: Redis에 저장하기위한 token DTO 추가 (#84) * feat: 리프레쉬 토큰을 저장하기위한 Repository 추가 (#84) * feat: 토큰 관리 서비스 추가 (#84) * feat: 토큰 타입 Enum 추가 (#84) * feat: 쿠키를 다루는 유틸클래스 추가 (#84) * feat: jwt 검증을 담당할 필터 추가 (#84) * feat: 이미 소셜로그인을 한 적이 있는 유저인지 확인하는 쿼리 추가 (#84) * feat: 접근 권한 커스텀 핸들러 추가 (#84) * feat: 인증 실패 커스텀 핸들러 추가 (#84) * feat: 필터 전역 에러처리 핸들러 추가 (#84) * feat: 커스텀 로그인 유저 어노테이션 추가 (#84) * chore: 커스텀 로그인 유저 어노테이션 등록 (#84) * refactor: Role, ProviderType Enum 수정 및 컬럼 추가 (#84) * feat: 로그인시 추가 정보를 입력받는 DTO 추가 (#84) * refactor: 필터에서 사용할 401,403 글로벌 에러 추가 (#84) * refactor: BankAccount 엔티티 수정 - BankName Enum 추가 (#84) * feat: 추가정보를 받아 최종 회원가입을 하는 서비스 함수 추가 (#84) * feat: 닉네임 이용가능을 확인하는 쿼리 추가 (#84) * refactor: 닉네임 중복시 커스텀 에러코드 추가 (#84) * feat: 닉네임 이용가능을 확인하는 함수 추가 (#84) * feat: 닉네임 이용가능 응답 DTO 추가 (#84) * feat: user api 추가 - 회원가입 api, 이메일 이용가능 체크 api, 토큰 재발행 api, 로그아웃 api 추가 (#84) * chore: SpringSecurity oauth2 로그인 설정 (#84) * test: ProviderType Local 삭제로인한 테스트 코드수정 (#84) * chore: application-test.yml oauth2 더미 데이터 설정 (#84) * style: boolean 변수명 명확하게 수정 (#84) * test: UserService 함수 테스트 코드 추가 - 유저 최종 업데이트 하는 함수 테스트 - 이메일 이용가능 확인하는 함수 테스트 (#84) * refactor: UserCreateRequest AllArgsConstructor 어노테이션 추가 (#84) * refactor: 에러메세지 명확하게 수정 (#84) * test: 소셜로그인 성공 핸들러 테스트 추가 (#84) * test: TokenService 테스트 추가 (#84) * style: 함수명 명확하게 수정 (#84) * style: api url 오타 수정 (#84) * refactor: LoginUserArgumentResolver 인증되지 않은 사용자 null 처리 (#84) * refactor: 연관관계 편의 메서드 중복 로직 수정 (#84) * refactor: TokenData record 타입으로 변경 (#84) * refactor: 시큐리티 관련 필터 빈으로 등록 (#84)
* fix: 알림 데이터 중복 저장 문제 해결 - 데이터저장을 먼저하고 Redis에 메세지를 발행하는 구조로 변경 (#77) * chore: quartz 의존성 추가 (#77) * feat: quartz 초기 테이블 생성 sql 파일 추가 (#77) * chore: Quartz Job에서 Spring Bean 주입을 위한 AutowiringSpringBeanJobFactory 설정 추가 (#77) * feat: Quartz JobListener 추가 및 Job 실행 로깅 기능 구현 (#77) * feat: Quartz TriggerListener 추가 및 Trigger 실행 로깅 기능 구현 (#77) * chore: Quartz 설정 파일 추가 (#77) * refactor: 경매 종료 함수 추가 및 EntityListener 설정 추가 (#77) * feat: 낙찰 로직을 실행하는 서비스 함수 추가 (#77) * feat: 특정 겸매의 낙찰에 해당하는 입찰을 찾는 쿼리 추가 (#77) * refactor: 단일 사용자 ID를 받아 처리할 수 있는 생성자 추가 및 userIds 초기화 방식 개선 (#77) * feat: 'AuctionEntityListener' 를 통해 경매종료 스케줄링 작업 등록 기능 구현 (#77) * feat: Auction 경매 종료 Quartz Job 추가 (#77) * feat: ApplicationContext에서 빈을 가져오기 위한 BeanUtils 유틸리티 클래스 추가 (#77) * feat: 알림 타입 Enum 추가 (#77) * chore: API 테스트를 위한 Spring Security 임시 해제 (#77) * feat: 경매 종료 서비스 함수 추가 (#77) * chore: Quartz 관련 쿼리 숨김 처리 (#77) * refactor: 낙찰자와 미낙찰자들을 한번에 가져오는 구조로 수정 (#77) * chore: Scheduler 빈 등록 (#77) * test: Scheduler 테스트 설정 파일 추가 (#77) * test: DataJpaTest 에 QuartzConfig 파일 추가 (#77) * test: 의존성 주입 변경으로 인한 테스트 코드 수정 (#77) * test: 특정 경매에 대한 입찰 정보를 금액 내림차순으로 조회하는 쿼리 테스트 추가 (#77) * chore: Quartz Test 정보 추가 (#77) * refactor: Scheduler 빈 주입 방식 변경 (#77) * test: Product에 minPrice 추가 (#77) * refactor: 트리거 Misfired 시 지연시간 추가 로그 (#77) * refactor: Job 성공시 실행시간 로그 초 단위로 추가 (#77) * Merge branch 'develop' into feature/auction-end * delete: 사용하지않은 클래스 삭제 (#77)
* feat : Auction, Image, Product, User Repository 인터페이스 추가 (#30) * feat : Product Entity 내 Category Enum 내용 추가 (#30) * refactor : confing -> config 디렉토리 이름 오타 수정 (#30) * feat : Auction Entity에 minPrice의 Custom Validation 구현 (#30) * feat : Auction Entity에 Status Enum 구체화 (#30) * feat : Custom ExceptionHandler 구현 및 UserNotFoundException 추가 (#30) * refactor : GeneratedValue 전략 수정 및 minPrice 타입 int로 통일 (#30) * feat : 경매 등록 요청 DTO 추가 (#30) * feat : AuctionService 서비스 추가 (#30) * feat : 경매 등록 API 추가 (#30) * feat : Image Service 서비스 추가 - ImageUploader 테스트 용 인터페이스 추가 - 상품 이미지 업로드 - S3, CloudFront 저장 로직 구현 (#30) * chore : AWS 환경 세팅 - AWS Java SDK 의존성 추가 - AWS Config S3 클라이언트 연동 - AWS 보안 Key 추가 (#30) * refactor : Image Entity @entity 어노테이션 추가 (#30) * test : 경매 등록 테스트 코드 추가 - test profile 내 Spring Security CSRF 비활성화, 모든 요청 허용 (#30) * refactor : 경매 물건 이미지 저장 클래스 수정 - 53 이미지 등록 기능 메소드 별도 클래스로 분리 - 잘린 cdn 주소 DB에 저장하는 메소드 리턴 값 List로 변경 (#30 * test : 경매 등록 테스트 및 CI 빌드 성공 (#30 * refactor: 경매 등록 응답 값 수정 - 응답 본문 없이 상태 코드와 Location 헤더만 반환 (#30 * refactor: 경매 엔티티 컬럼 타입 수정 - minPrice 컬럼 int -> Integer 수정 반영 (#30 * refactor: 이미지 등록 관련 로그 수정 - println -> slf4j 로 변경 (#30 * refactor: toList() 메서드 반영 (#30 * refactor: @transactional(readOnly = true) 반영 * refactor: S3 Bucket Bean 이름 등록 처리 * refactor: Category Enum 어노테이션 적용 - Getter - AllArgsConstructor (#30) * refactor: MVC 테스트 환경 재구축 - SecurityConfigTest.java 삭제 후 로컬 세팅 (#30) * refactor: 경매 등록 테스트 로컬 세팅 (#30) * feat: 이미지 Custom 에러 처리 구현 (#30) * refactor: AWSConfig s3BucketName 메소드 수정 - S3BucketName -> s3BucketName 네이밍 컨벤션 - Bean 등록하지 않고 필요할 때 가져와서 사용 (#30) * refactor: Custom Exception 추가 수정 (#30) * refactor: 경매 등록 서비스 최종 병합 (#30) * refactor: Custom Exception 추가 수정 - ImageUploadException, UserNotFoundException 추가 - getCode 메소드 추가 (#30) * refactor: generateFileName 메소드 제거 (#30) * refactor: AuctionControllerTest 세팅 - Spring Security Juit Test에 적용 (#30) * refactor: application-test.yml 파일 추가 - CI 테스트 통과 세팅 (#30) * refactor: CI 환경변수 최종 테스트 (#30) * refactor: CI 환경변수 최종 테스트 2 (#30) * refactor: CI 환경변수 최종 테스트 3 (#30) * refactor: CI 환경변수 최종 테스트 4 - secret -> secrets - CI env 코드 제외 - @SpringBootTest 활성화 (#30) * refactor: CI 환경변수 최종 테스트 5 - build.gradle 'profile active' 코드 추가 - CI 코드에 환경 변수 직접 명시 (#30) * refactor: CI 환경변수 최종 테스트 6 - spring -> cloud 변경 (#30) * refactor: CI 환경변수 최종 테스트 7 - '\' 줄바꿈 명령어 추가 (#30) * refactor: 경매 등록 테스트 Mock 이미지 구현 - @SpringBootTest 주석 처리 한 부분 해결 필요 (#30) * refactor: 경매 등록 테스트 S3 의존성 문제 해결 - S3 모의 객체 Test 전역 설정 - TestAWSConfig -> AWSConfig 클래스명 변경 - AWSConfig Profile -> local, prod 로 제한 (#30) * feat: Custom Exception 기본 코드 수정 (#30) * feat: 이미지 비즈니스 예외 추가 (#30) * feat: 유저 비즈니스 예외 추가 (#30) * feat: 유저 비즈니스 에러코드 추가 - 유저를 찾을 수 없을 때 발생하는 에러 코드 (#30) * feat: 이미지 비즈니스 에러코드 추가 - 이미지 저장에 실패했을 때 발생하는 에러코드 (#30) * feat: 사용자 데이터 조회 시 에러코드 반영 (#30) * feat: 이미지 저장 시 에러코드 반영 (#30) * refactor: 경매 상태 관리 메서드 추가 - '대기 중' -> '진행 중' 상태 변경 메서드 (#30) * feat: 경매 비즈니스 에러코드 추가 - 경매 상품을 찾을 수 없을 떄 발생하는 에러코드 - 경매 상태가 유효하지 않을 때 발생하는 에러코드 (#35) * feat: 상품 비즈니스 에러코드 추가 - 상품을 찾을 수 없을 때 발생하는 에러코드 - 상품 등록을 실패했을 때 발생하는 에러코드 - 상품 상태가 유효하지 않을 때 발생하는 에러코드 (#35) * feat: 유저 커스텀 예외처리 위치 수정 (#35) * feat: 경매 등록, 사전 등록 레코드 응답 DTO 추가 (#35) * feat: 경매 등록, 사전 등록 요청 DTO 추가 (#35) * feat: 상품 엔티티 수정 - 경매 시작가 컬럼 추가 - 상품 상태 관리 ENUM 추가 - 사전 등록 -> 경매 등록 상태 변경 메소드 추가 (#35) * feat: findByProduct 메소드 추가 (#35) * refactor: 기존 경매 등록 API 삭제 (#35) * feat: 이미지 비즈니스 에러코드 추가 - 이미지 삭제를 실패할 경우 발생하는 에러코드 (#35) * refactor: 테스트 도메인 변경 - Auction -> Product (#35) * refactor: 변경된 경매상태 변수 적용 (#35) * refactor: 상품 등록 비즈니스 로직 추가 - 경매 상품 등록 구현 - 상품 사전 등록 구현 - 상품 등록 및 경매 생성 프로세스 구현 (상품 상태 분기 처리) - 사전 등록에서 경매 상품으로 전환 프로세스 구현 - 상품 이미지 저장 구현 (트랜잭션 외부 별도 처리) - 등록 상품 저장 메서드 구현 (#35) * refactor: 상품 등록 API 추가 - 경매 등록 API - 사전 등록 API - 경매 상품으로 전환 API (#35) * refactor: 이미지 비즈니스 로직 수정 - 이미지 저장, 삭제 프로세스 구조 변경 1. uploadImages, deleteUploadImages : 전체 프로세스 처리 2. uploadImage, saveProductImageEntities, deleteImage : 특정 작업 수행 (#35) * refactor: 상품 등록 비즈니스 로직 수정 - 트랜잭션 외부에서 이미지 업로드 처리 (#35) * fix: form-data null 이슈 해결 - Entity Setter 어노테이션 추가 - 엔드포인트 consumes, produces 매개변수 추가 (#35) * feat: 이미지 비즈니스 에러코드 추가 - 이미지 저장을 실패할 경우 발생하는 에러코드 (#35) * feat: 경매 상태 관리 메소드 추가 - 경매 상품 진행 상태로 저장 메소드 - 경매 상품 대기 상태로 저장 메소드 - 경매 대기 상품 -> 진행 상태로 전환 메소드 (#35) * refactor: 경매 시작가 유효성 검증 조건 추가 (#35) * feat: 상품 등록 예외 처리 구현 (#35) * feat: 상품 등록 Service 테스트 - 사전 등록에서 경매 등록 전환 테스트 1. 사전 등록 상품 -> 경매 등록 상품 전환 성공하는지 확인 2. 경매 전환 후 모든 관련 Entity 일관되게 변경되는지 확인 3. 경매 전환 시 모든 변경사항 ROLLBACK 되는지 확인 4. 존재하지 않은 상품 ID로 전환 시도에 실패하는지 확인 5. 이미 판매 완료된 상품 경매 전환 시도에 실패하는지 확인 6. 이미 경매 중인 상품 전환 시도에 실패하는지 확인 - 사전 등록 테스트 1. 유효한 요청으로 사전 등록 성공하는지 확인 2. 존재하지 않는 사용자로 사전 등록 실패하는지 확인 - 경매 상품 등록 테스트 1. 유효한 요청으로 경매 상품 등록 성공하는지 확인 2. 존재하지 않는 사용자로 경매 상품 등록 실패하는지 확인 (#35) * feat: 상품 등록 Service 테스트 - 사전 등록에서 경매 등록 전환 테스트 1. 사전 등록 상품 -> 경매 등록 상품 전환 성공하는지 확인 2. 존재하지 않은 상품 ID로 전환 시도에 실패하는지 확인 3. 이미 판매 완료된 상품 경매 전환 시도에 실패하는지 확인 - 사전 등록 테스트 1. 유효한 요청으로 사전 등록 성공하는지 확인 2. 존재하지 않는 사용자로 사전 등록 실패하는지 확인 - 경매 상품 등록 테스트 1. 유효한 요청으로 경매 상품 등록 성공하는지 확인 2. 존재하지 않는 사용자로 경매 상품 등록 실패하는지 확인 3. 잘못된 가격 입력 시 실패하는지 확인 4. 필수 필드 누락 시 실패하는지 확인 (#35) * refactor: 상품 등록 DTO 수정 - product -> auction 도메인 이동 * refactor: 상품 등록 서비스 인터페이스 추출 및 구현 분리 (#CHZZ-35) - RegisterService 인터페이스 생성 - RegisterServiceImpl 클래스로 구현 로직 이동 - 의존성 주입 지점 업데이트 * refactor: 상품 도메인 코드 수정 (#CHZZ-35) - Product Entity 상품 상태 Enum, minPrice 삭제 - Product 내 상품 등록 API 삭제 * refactor: 경매 도메인 코드 수정 (#CHZZ-35) - 경매 조회 테스트 내 Product 객체 수정 - 경매 서비스 내 상태 전환 메소드 삭제 * feat: 경매 등록, 사전 등록 API 구현 (#CHZZ-35) * feat: 경매 등록, 사전 등록 Controller 동작 테스트 (#CHZZ-35) * feat: Product 코드 임시 비활성화 (#CHZZ-35) - 코드 수정 확정 이후 삭제 예정 * feat: 경매 코드 임시 비활성화 (#CHZZ-35) - 코드 수정 확정 이후 구현 예정 * feat: 이미지 Service 메소드 수정 (#CHZZ-35) - uploadImages 메소드 toList() 축약 - saveProductImageEntities 메소드 saveAll 적용 * refactor: 상품 등록 API 수정 (#CHZZ-35) - 사전 등록, 경매 등록 엔드포인트 하나로 통합 - 경매 상품으로 전환 API 수정 * refactor: 상품 등록 Controller 삭제 (#CHZZ-35) * refactor: 상품 등록 요청 DTO 수정 (#CHZZ-35) - 경매 상태 Enum 추가 * refactor: 상품 등록 응답 DTO 수정 (#CHZZ-35) - record 클래스 내 of 메소드 추가 - static field 'message' 세팅 * refactor: 상품 등록 서비스 함수 수정 (#CHZZ-35) - 경매 상태 매개변수 제거 - 주석, 로그 및 TODO 추가 * refactor: 경매 상품 전환 응답 DTO 추가 (#CHZZ-35) * refactor: 유저 비즈니스 에러코드 추가 (#CHZZ-35) - 유저 정보가 일치하지 않을 때 발생하는 에러코드 * refactor: 경매 전환 처리 비즈니스 로직 수정 (#CHZZ-35) - 유저 ID 매개변수 추가 * refactor: 경매 전환 메서드 매개변수 추가 (#CHZZ-35) - 종료 시간 추가 * refactor: Product 서비스 코드 삭제 (#CHZZ-35) * refactor: 상품 등록 Controller 테스트 (#CHZZ-35) - 상품 경매 등록 테스트 1. 유효한 요청으로 경매 상품 등록 성공 응답 2. 존재하지 않는 사용자로 경매 상품 등록 실패 - 상품 사전 등록 테스트 1. 유효한 요청으로 상품 사전 등록 성공 응답 2. 존재하지 않는 사용자로 상품 사전 등록 실패 - 사전 등록 된 상품 경매 등록 상품으로 전환 테스트 1. 유효한 요청으로 사전 등록 된 상품 경매 등록 전환 성공 응답 2. 존재하지 않는 상품 ID로 전환 시도 실패 3. 이미 경매 중인 상품 전환 시도 실패 4. 전환 후 상태와 시간 정보 확인 5. 취소된 사전 등록 상품 전환 시도 실패 * refactor: 상품 등록 Controller 테스트 (#CHZZ-35) - 상품 경매 등록 테스트 1. 유효한 요청으로 경매 상품 등록 성공 응답 2. 존재하지 않는 사용자로 경매 상품 등록 실패 - 상품 사전 등록 테스트 1. 유효한 요청으로 상품 사전 등록 성공 응답 2. 존재하지 않는 사용자로 상품 사전 등록 실패 - 사전 등록 된 상품 경매 등록 상품으로 전환 테스트 1. 유효한 요청으로 사전 등록 된 상품 경매 등록 전환 성공 응답 2. 존재하지 않는 상품 ID로 전환 시도 실패 3. 이미 경매 중인 상품 전환 시도 실패 4. 종료된 경매 상품 전환 시도 실패 5. 취소된 사전 등록 상품 전환 시도 실패 * refactor: FilterChain 추가 (#CHZZ-35) - /error - /api/v1/auctions/** * refactor: 상품 등록 서비스 함수 클래스 변경 (#CHZZ-35) - RegisterService -> AuctionService * feat: 상품 등록 엔드포인트 변경 (#CHZZ-35) - /auctions/register -> /auctions * feat: 상품 등록 DTO 클래스명 변경(#CHZZ-35) - StartResponse -> StartAuctionResponse - RegisterResponse -> RegisterAuctionResponse - RegisterRequest -> RegisterAuctionRequest * refactor: JPA 변경감지로 인한 save 코드 삭제 (#CHZZ-35) * refactor: 상품 등록 서비스 메소드 명 수정 (#CHZZ-35) - register -> registerAuction * feat: 경매를 등록할 때 발생하는 에러코드 추가 (#CHZZ-35) * feat: BaseRegisterRequest 추상 클래스 생성 (#CHZZ-35) * feat: RegisterAuctionRequest, PreRegisterRequest 구현 클래스 추가 (#CHZZ-35) * feat: AuctionPolicy 인터페이스 생성 (#CHZZ-35) * feat: RegisterAuctionPolicy, PreRegisterAuctionPolicy 클래스 구현 (#CHZZ-35) * move: Auction 응답, 요청 DTO 파일 분리 (#CHZZ-35) * move: Product 테스트 파일 삭제 (#CHZZ-35) * move: 상품 등록 DTO 수정 (#CHZZ-35) - BaseRegisterRequest 생성 * feat: 경매 등록 전환 요청 DTO 추가 (#CHZZ-35) * feat: 상품 등록 응답 값 메시지 분리 (#CHZZ-35) * feat: Product 엔티티 컬럼 추가 (#CHZZ-35) - minPrice 추가 * feat: 경매 전환에 저장될 Entity (#CHZZ-35) * refactor: 상품 등록 및 전환 API 수정 (#CHZZ-35) * refactor: 상품 ID 조회 함수 추가 (#CHZZ-35) * refactor: 상품 등록 및 전환 서비스 로직 수정 (#CHZZ-35) - AuctionPolicy 활용한 상품 및 경매 생성 로직 적용 * refactor: 상품 등록 Entity 추가 (#CHZZ-35) - minPrice 값 추가 * refactor: 상품 경매 등록 전환 요청 DTO 수정 (#CHZZ-35) - minPrice, endDateTime 삭제 * refactor: 상품 등록 Controller 테스트 수정 (#CHZZ-35) - 상품 등록 테스트 1. 유효한 요청으로 경매 상품 등록 성공 응답 2. 유효한 요청으로 상품 사전 등록 성공 응답 3. 존재하지 않는 사용자로 상품 사전 등록 실패 - 사전 등록 된 상품 경매 등록 상품으로 전환 테스트 1. 유효한 요청으로 사전 등록 된 상품 경매 등록 전환 성공 응답 2. 존재하지 않는 상품 ID로 전환 시도 실패 3. 이미 경매 중인 상품 전환 시도 실패 4. 전환 후 상태와 시간 정보 확인 * refactor: 상품 등록 Service 테스트 수정 (#CHZZ-35) - 상품 사전 등록 테스트 1. 유효한 요청으로 경매 상품 등록 성공 응답 2. 존재하지 않는 사용자로 상품 사전 등록 실패 - 상품 경매 등록 테스트 1. 유효한 요청으로 상품 사전 등록 성공 응답 2. 존재하지 않는 사용자로 상품 사전 등록 실패 - 사전 등록 된 상품 경매 등록 상품으로 전환 테스트 1. 유효한 요청으로 사전 등록 된 상품 경매 등록 전환 성공 응답 2. 존재하지 않는 상품 ID로 전환 시도 실패 3. 이미 경매 중인 상품 전환 시도 실패 * refactor: 상품 등록 및 전환 테스트 수정 (#CHZZ-35) - StartAuctionRequest 값 수정 * feat: 사전 등록 상품 조회 응답 DTO 추가 (#CHZZ-51) - BaseProductDTO 상속 구조 * feat: 특정 카테고리 사전 등록 상품 조회하는 querydsl 쿼리 추가 (#CHZZ-75) * feat: Like 도메인 repository 추가 및 builder 패턴 세팅 (#CHZZ-75) * feat: 카테고리 별 상품 목록 조회 서비스 로직 추가 (#CHZZ-75) * feat: 카테고리 별 상품 목록 조회 API 구현 (#CHZZ-75) * feat: 카테고리 별 상품 목록 조회 Service 테스트 (#CHZZ-75) 1. 특정 카테고리 사전 등록 상품을 높은 가격순으로 조회 2. 특정 카테고리 사전 등록 상품을 인기순(좋아요 수)으로 조회 3. 페이지네이션 동작 확인 * refactor: /products 임시 접근 권한 허용 (#CHZZ-75) * refactor: OrderSpecifier 리팩토링 by junest66 (#CHZZ-74) * refactor: JacksonConfig LocalDateTime 직렬화 세팅 (#CHZZ-74) * feat: 사전 등록 상품 상세 정보 조회하는 querydsl 쿼리 추가 (#CHZZ-74) * feat: 사전 등록 상품 상세 정보 조회하는 DTO 클래스 추가 (#CHZZ-74) * feat: 사전 등록 상품 상세 정보 조회하는 서비스 로직 추가 (#CHZZ-74) * feat: 사전 등록 상품 상세 정보 조회 API 구현 (#CHZZ-74) * feat: 나의 사전 등록 상품 목록 조회하는 querydsl 쿼리 추가 (#CHZZ-74) * feat: 나의 사전 등록 상품 목록 조회하는 DTO 클래스 추가 (#CHZZ-74) * feat: getOrderSpecifiers 'toList()' 수정 (#CHZZ-74) * feat: 나의 사전 등록 상품 목록 조회 서비스 로직 추가 (#CHZZ-74) * feat: 나의 사전 등록 상품 목록 조회 API 구현 (#CHZZ-74) * refactor: 사전 등록상품 상세 정보 조회 반환값 Optional 추가 (#CHZZ-74) * refactor: 사전 등록 상품 목록 조회 DTO 통일 (#CHZZ-74) * feat: 사전 등록 상품 조회 Service 테스트 추가 (#CHZZ-74) * feat: 상품 비즈니스 에러코드 추가 (#CHZZ-78) - 상품 찾을 수 없거나 경매 상태일 때 발생하는 에러코드 * feat: 상품 repository 쿼리 메서드 추가 (#CHZZ-78) - 경매로 등록되지 않은 상품 조회 * feat: 좋아요 응답 record DTO 추가 (#CHZZ-78) * feat: 좋아요 예외처리 및 에러코드 추가 (#CHZZ-78) - 좋아요를 찾을 수 없을 때 발생하는 에러코드 * feat: 상품 엔티티 좋아요 관련 메서드 추가 (#CHZZ-78) - 좋아요 수 계산 메서드 - 좋아요 추가 메서드 - 좋아요 제거 메서드 * feat: 좋아요 repository 쿼리 메서드 추가 (#CHZZ-78) * feat: 좋아요 토글 서비스 로직 구현 (#CHZZ-78) * feat: 좋아요 토글 API 구현 (#CHZZ-78) * refactor: Spring Security likes 경로 추가 (#CHZZ-78) * feat: 좋아요 토글 재시도 로직 추가 (#CHZZ-78) * feat: 좋아요 토글 Service 테스트 추가 (#CHZZ-78) * refactor: 사전 등록 상품 조회 Controller 수정 - 카테고리 조회 API URL 수정 -> ~/categories - 상세 조회 API 에러 처리 service 단으로 이동 - 나의 상품 목록 조회 API URL 수정 -> ~?user={nickname} * refactor: 사전 등록 상품 조회 쿼리 수정 (#CHZZ-74) - findProductsByCategory 메서드 리턴값 countQuery 반영 - findProductDetailsById 메서드 쿼리 결과 Optional 처리 - findMyProductsByUserId 메서드 매개변수 수정 - findMyProductsByUserId 메서드 리턴값 countQuery 반영 - ProductOrder 정렬 이름 하이푼 처리 * refactor: 사전 등록 상품 조회 테스트 코드 수정 (#CHZZ-74) * feat: 카테고리 목록 조회 응답 DTO 추가 (#CHZZ-74) * feat: 카테고리 목록 조회 서비스 로직 추가 (#CHZZ-74) * feat: 상품 Controller API 수정 (#CHZZ-74) - 카테고리 별 상품 목록 조회 API URL 수정 (/products?category=) - 나의 사전 등록 상품 목록 조회 API 수정 (/user/{nickname}) - 상품 카테고리 목록 조회 API 구현 (/categories) * refactor: 나의 사전 등록 상품 목록 조회 함수명 변경 (#CHZZ-74) * refactor: ProductRepository 메서드 및 쿼리 수정 (#CHZZ-74) - Q 파일 static import 처리 - findProductsByNickname 메서드 서브쿼리 제거 * refactor: 좋아요 토글 API URL 수정 (#CHZZ-78) * refactor: toggleLike 하위 메소드 수정 (#CHZZ-78) - 하위 메소드 @transaction 제거 - 하위 메소드 private 처리 * refactor: Slf4j 어노테이션 적용 (#CHZZ-78) * refactor: findPreOrder 메서드 쿼리 수정 (#CHZZ-78)
* [feat] 경매 참여 기록 조회 엔드포인트 구현(#CHZZ-45) 사용자가 참여한 경매 기록 조회 엔드포인트 구현 * [fix] projection DTO 구현(#CHZZ-45) 사용자가 참여한 경매 기록 조회를 위한 projection DTO 구현 * [fix] index 추가(#CHZZ-45) 조회 쿼리 개선을 위한 index 추가 * [feat] 경매 참여 기록 조회 쿼리 구현(#CHZZ-45) 경매 참여 기록 조회 쿼리 구현 * [test] 테스트 코드 작성 및 데이터 수정(#CHZZ-45) 경매 참여 기록 조회 쿼리 테스트 코드 작성 및 테이블 변경에 따른 데이터 수정 * Update AuctionController.java * [fix]조건 범위 수정 (#CHZZ-45) 취소된 경매 상품을 조건에서 제거 * [fix] 조회 컬럼 수정 (#CHZZ-45) 컬럼 수정에 따른 쿼리 조회 컬럼 수정 * [test]테스트 데이터 변경 (#CHZZ-45) 스키마 변경에 따른 테스트 데이터 변경 * [fix]인덱스 작명 (#CHZZ-45) 인덱스 이름 지정 * [fix] 쿼리 조건 변경 (#CHZZ-45) 참여 경매 조건을 입찰 취소가 아닌 조건으로 변경
* refactor: API URL 변경으로 인한 리팩토링 - MyController 삭제 - 나의 경매목록조회 -> 특정 유저의 경매목록 조회 로 수정 * test: 나의 경매목록 조회에서 특정 유저의 닉네임 기반 경매목록 수정으로 인한 테스트 코드 수정 * fix: Page가 비어 있을때 GlobalException 던지는 부분 주석 처리
* [test]결제 승인 테스트용 UI 추가 (#CHZZ-27) 테스트 결제 요청을 위한 결제 위젯 UI 추가 * [chore]webclinet 사용 의존성 추가 (#CHZZ-27) webclint 사용을 위해 의존성 추가 * [feat] webclinet 빈 설정 (#CHZZ-27) webclint 사용을 위해 빈 등록 설정 * [feat] 엔드포인트 간소화를 위한 설정 추가 (#CHZZ-27) 엔드포인트 버전 관리 용이함을 위해 prefix 추가 설정 작성 * [feat] 기본 보안 설정 작성 (#CHZZ-27) 기본 보안 설정 작성 및 모든 엔드포인트 승인 * [feat] 개발환경에서 사용할 프로파일 작성 (#CHZZ-27) 개발 환경에서 사용할 설정 프로파일 작성 * [fix] 결제 비밀키 추가 (#CHZZ-27) toss 결제 비밀키 추가 * [feat] 인증 헤더 발급기 구현 (#CHZZ-27) 인증 승인 요청 API 처리시 필요한 인증 헤더 발급기 구현 * [feat] 결제 승인 엔드포인트 구현 (#CHZZ-27) 결제 승인 엔드포인트 구현 * [feat] 결제 승인 응답 및 요청 객체 구현 (#CHZZ-27) 결제 승인 응답 및 요청 객체 구현 * [feat] 결제 승인 PG 요청 구현 (#CHZZ-27) 토스 결제 승인 PG 요청 엔드포인트 구현 및 예외상황 처리 * [feat] 토스 응답 객체 구현 (#CHZZ-27) 토스 결제 승인 PG 응답 객체 구현 * [feat] 예외 추상화 (#CHZZ-27) 예외 추상화와 handler를 이용해 예외 응답 구체화 * [feat] 토스 예외코드 추가 (#CHZZ-27) 토스 결제 승인 예외에 대한 열거체 구현 * [feat] 토스 예외코드 추가 (#CHZZ-27) 토스 결제 승인 예외에 대한 열거체 구현 * [refactor] 인증 헤더 발급 로직 수정 (#CHZZ-27) secret key를 추상 클래스로 이전 * [feat] retry 설정 (#CHZZ-27) 외부 API 실패시 복구를 위한 retry 설정 * [feat] 주문번호 발급 엔드포인트 개발 (#CHZZ-27) 유일 order id를 발급하는 엔드포인트 구현 * [feat] 주문번호 발급 및 유일성 검증 로직 구현 (#CHZZ-27) 주문번호 발급 및 유일성 검증을 위한 repository 조회 및 api 조회 기능 구현 * [fix] 결제 승인 요청 객체 수정 (#CHZZ-27) 주문번호를 요청에 담을 수 있도록 수정 * [fix] 결제 예외코드 수정 (#CHZZ-27) 주문번호 조회 실패시 발생할 예외코드 구현 * [fix] 결제 정보 컬럼 추가 (#CHZZ-27) 결제정보에 주문번호와 결제키 추가 * [test] 테스트 ui 수정 (#CHZZ-27) 테스트 ui를 위젯 UI로 수정 * [chore]mysql 포트 포워딩 (#CHZZ-27) 로컬환경에서 mysql 사용을 위해 포트포워딩 * [fix] 검증로직 제거 (#CHZZ-27) `Long`타입 검증 방식과 맞지 않는 검증 어노테이션 제거 * [feat] repository 작성 (#CHZZ-27) repository 작성 * [move] 열거체 이동 (#CHZZ-27) 공통 사용 열거체를 내부에서 외부로 이동 * [fix] 개발 편의 메서드 구현(#CHZZ-27) 개발 편의를 위한 일부 메서드 구현 * [fix] 경매 번호 응답객체 추가(#CHZZ-27) 결제 요청에 경매 id 추가 * [test] 테스트 ui 수정(#CHZZ-27) 테스트 편의를 위해 코드 수정 * [fix] 트랜잭션 범위 수정(#CHZZ-27) 트랜잭션 전파 범위 수정 * [docs] 테스트 프로파일 지정(#CHZZ-27) ci시 사용할 테스트 프로파일 지정 * [fix] 요청 method 수정(#CHZZ-27) 요청 method를 get -> post로 수정 * [fix]resolve conflict(#CHZZ-27) resolve conflict * [feat] 베스트 경매 조회 엔드포인트 구현 (#CHZZ-46) 베스트 경매 조회 엔드포인트 구현 * [feat] 베스트 경매 조회 쿼리 구현 (#CHZZ-46) 베스트 경매 조회 쿼리 구현 * [test] 테스트 코드 작성 및 테스트 데이터 조정 (#CHZZ-46) 테스트 코드 작성 및 테스트 데이터 조정 * [test] 테스트 코드 작성 및 테스트 데이터 조정 (#CHZZ-46) 테스트 코드 작성 및 테스트 데이터 조정 * [feat] 베스트 경매 조회 엔드포인트 구현 (#CHZZ-46) 베스트 경매 조회 엔드포인트 구현 * [feat] 베스트 경매 조회 쿼리 구현 (#CHZZ-46) 베스트 경매 조회 쿼리 구현 * [test] 테스트 코드 작성 및 테스트 데이터 조정 (#CHZZ-46) 테스트 코드 작성 및 테스트 데이터 조정 * [test] 테스트 코드 작성 및 테스트 데이터 조정 (#CHZZ-46) 테스트 코드 작성 및 테스트 데이터 조정 * [fix] 쿼리 개선 (#CHZZ-46) 1. 불필요한 join절 제거 2. 입찰 상태에 따른 적절한 on 조건 추가 * [test] 테스트 수정 (#CHZZ-45) 테스트 조건 수정 * resolve conflict
* feat: 프로필 수정에 필요한 컬럼 추가 (#CHZZ-79) * feat: 유저 프로필 수정 요청 DTO 추가 (#CHZZ-79) * feat: 유저 프로필 수정 응답 DTO 추가 (#CHZZ-79) * feat: 유저 닉네임으로 유저 조회하는 메서드 추가 (#CHZZ-79) * feat: 유저 프로필 수정 Service 로직 추가 (#CHZZ-79) * feat: 유저 프로필 수정 API 구현 (#CHZZ-79) * feat: 유저 프로필 수정 Service 테스트 추가 (#CHZZ-79) * refactor: 유저 엔티티 컬럼 수정 (#CHZZ-79) * refactor: 유저 닉네임 중복 시 에러코드 추가 (#CHZZ-79) * refactor: 유저 닉네임 필수입력 반영 및 서비스 로직 수정 (#CHZZ-79) * refactor: 유저 프로필 수정 Service 테스트 코드 수정 (#CHZZ-79) * refactor: 사용자 프로필 수정 API 디렉토리 수정 (#CHZZ-79) * feat: 프로필 수정 ID 유효성 검사 추가 (#CHZZ-79) * refactor: 프로필 수정 요청 DTO 수정 (#CHZZ-79) - bio 유효성 검사 제거 - link @pattern 패턴식 적용 * refactor: User 엔티티 내 updateProfile 메소드 수정 (#CHZZ-79) - 부분 이중 검증 코드 제거 * refactor: 유저 닉네임 유효성 검사 메소드 수정 (#CHZZ-79) - existsByNickname -> findByNickname * refactor: 유저 닉네임 유효성 검사 테스트 코드 수정 (#CHZZ-79)
* feat: 알림 Entity에 제품, 삭제 여부 컬럼 추가 (#85) * feat: 알림 서비스 함수 추가 - 로그인 한 유저의 알림 조회 함수 추가 - 알림을 읽는 함수 추가 - 알림 삭제 하는 함수 추가 (#85) * feat: 알림함 조회 응답을 위한 DTO 추가 (#85) * feat: 알림함 조회 쿼리 추가 (#85) * feat: 알림 에러 상수 코드 추가 (#85) * feat: 알림 관련 API 추가 - 알림 조회 API 추가 - 알림 읽기 API 추가 - 알림 삭제 API 추가 (#85) * refactor: 알림 Entity에 Product 저장으로 인한 리팩토링 (#85) * test: 알림 조회 쿼리 테스트 코드 추가 (#85) * refactor: 알림 읽기 함수 유효성 순서 변경 (#85) * test: 알림 읽기, 알림 삭제 테스트 추가 (#85) * refactor: 알림 타입 Enum을 내부 클래스에서 외부 클래스로 변경 (#85) * feat: 실시간 알림 데이터에 알림ID를 담기위한 record 추가 (#85) * refactor: 실시간 알림 데이터에 notificationId 추가로 인한 기존 코드 수정 (#85) * refactor: 사전 등록 취소시 알림 전송 처리 (#85) * refactor: 알림 타입 Enum을 내부 클래스에서 외부 클래스로 변경 (#85) * fix: 경매 상세 정보 응답의 불필요한 컬럼 제거 (#85) * feat: 상품의 첫번째 이미지를 반환하는 메서드 추가 (#85) * refactor: 알림 객체 필드 Product -> Image로 변경 (#85) * refactor: NotificationMessage 필드 Product -> Image로 변경 (#85) * refactor: 알림 객체 생성 부분 리팩토링 - 이미지 필드 추가 - Optional 추가 (#85) * refactor: 알림 객체의 이미지 필드 추가로 인한 수정 (#85) * refactor: 알림함 조회 쿼리 이미지 사용으로 수정 (#85) * feat: 알림 이벤트 record 추가 (#85) * delete: 알림 이벤트 기반 로직 변경으로 인한 기존 파일 삭제 (#85) * refactor: 알림 이벤트 기반 로직 변경으로 기존 알림 서비스 메서드 수정 (#85) * refactor: 알림 이벤트 기반 로직 변경으로 기존 알림을 보내는 부분 수정 (#85) * refactor: 알림 이벤트 리스너 클래스 별도 분리 (#85) * refactor: 알림 이벤트 리스너 클래스 비동기 메서드로 변경 (#85) * refactor: Redis 메세지 발행 재시도 로직 추가 (#85) * chore: 비동기 사용으로 인한 설정 파일 추가 (#85) * style: 예상치 못한 에러 로그 추가 (#85) * Merge branch 'develop' into feature/notification-inbox with conflict resolution * Merge branch 'develop' into feature/notification-inbox * style: Auction Cancelled 삭제 (#85) * test: 사용하지 않은 테스트 삭제 (#85) * refactor: redis 발행 재시도, 복구 로직 추가 (#85)
* refactor: GlobalExceptionHandler에 두가지 예외 핸들러 추가 - MethodArgumentNotValidException 예외핸들러 추가 - HttpMessageNotReadableException 예외핸들러 추가 (#86) * style: 공백 제거 및 추가 (#86) * feat: 경매 Id로 입찰 내역을 조회하는 쿼리 추가 (#86) * feat: 경매 Id로 입찰 내역을 조회하는 함수 추가 (#86) * feat: 입찰 정보 응답 DTO 추가 (#86) * refactor: 경매 에러 코드 추가 및 수정 - 기존 경매 접근 에러 코드 수정 - 경매 종료 관련 에러 코드 추가 (#86) * refactor: 경매 에러 코드 수정으로 인한 코드 수정 (#86) * feat: 경매 상태가 종료인지 확인하는 유효성 함수 추가 (#86) * feat: 입찰 내역 조회 API 추가 (#86) * test: 입찰 내역 쿼리 테스트 추가 (#86) * test: 입찰 내역 함수 테스트 추가 - 경매 소유자 검증 예외 테스트 - 경매가 종료되지 않았을때 예외 테스트 (#86) * refactor: 'LoginUser' 어노테이션 적용 (#86) * refactor: inquireBidHistory 함수 파라미터 User user 에서 Long userId로 수정 (#86) * test: inquireBidHistory 함수 파라미터 수정으로 인한 테스트 코드 수정 (#86) * refactor: ErrorResponse 만드는 함수명 from -> of 로 수정 (#86) * refactor: Product 도메인에 소유자인지 확인하는 함수 추가 (#86) * refactor: 상품의 접근 권한 에러 코드 추가 (#86) * refactor: 상품의 소유자 확인하는 함수 적용 (#86) * refactor: 입찰의 소유자 확인하는 함수 추가 (#86) * refactor: 입찰의 소유자 확인하는 함수 적용 (#86) * test: 입찰의 소유자 확인하는 함수 적용으로 인한 테스트 코드 수정 (#86)
* refactor: AuctionStatus Enum 클래스 분리 (#CHZZ-80) * feat: 유저 프로필 조회 응답 DTO 추가 (#CHZZ-80) * feat: 유저 프로필 조회에 필요한 칼럼 추가 (#CHZZ-80) * refactor: 유저 프로필 조회에 필요한 칼럼 수정 (#CHZZ-80) - region 컬럼 삭제 * feat: 유저 프로필 조회 Service 로직 추가 (#CHZZ-80) * feat: 유저 프로필 조회 Repository 쿼리 추가 (#CHZZ-80) - 사전 등록 참여 수 (좋아요 기준) - 경매 참여 성공 수 - 경매 참여 실패 수 - 종료된 경매 참여 수 * feat: 유저 프로필 조회 API 구현 (#CHZZ-80) * feat: 사용자 프로필 조회 Service 테스트 추가 (#CHZZ-80) * move: 유저 dto 디렉토리 정리 (#CHZZ-80) * refactor: AuctionStatus 상태 값 수정 (#CHZZ-80) - PENDING 상태 값 삭제 * refactor: enum 클래스 패키지명 변경 (#CHZZ-80) - enums -> type 패키지명 변경 * feat: 로그인 한 사용자 프로필 조회 Service 로직 추가 (#CHZZ-80) * feat: 로그인 한 사용자 프로필 조회 API 구현 (#CHZZ-80) * refactor: 사용자 프로필 조회 카운트 쿼리 수정 (#CHZZ-80) * refactor: 사용자 프로필 조회 카운트 응답 DTO 수정 (#CHZZ-80) * test: 사용자 프로필 조회 Service 테스트 수정 (#CHZZ-80) - 사용자 정보 조회 테스트 케이스 추가 * refactor: 사용자 프로필 조회 카운트 쿼리 수정 (#CHZZ-80)
* feat: 내가 참여한 사전경매 상품 조회 Service 로직 추가 (#CHZZ-89) * feat: 내가 참여한 사전경매 상품 조회 Repository 쿼리 추가 (#CHZZ-89) * feat: 내가 참여한 사전경매 상품 조회 API 구현 (#CHZZ-89) * feat: 내가 참여한 사전경매 상품 조회 Service 테스트 추가 (#CHZZ-89) * feat: 내가 성공한 경매 조회 응답 DTO 추가 (#CHZZ-89) * feat: 내가 성공한 경매 조회 Service 로직 추가 (#CHZZ-89) * feat: 내가 성공한 경매 조회 Repository 쿼리 추가 (#CHZZ-89) * feat: 내가 성공한 경매 조회 API 구현 (#CHZZ-89) * feat: 내가 성공한 경매 조회 Service 테스트 추가 (#CHZZ-89) * feat: 내가 실패한 경매 조회 Service 로직 추가 (#CHZZ-89) * feat: 내가 실패한 경매 조회 Repository 쿼리 추가 (#CHZZ-89) * feat: 내가 실패한 경매 조회 응답 DTO 추가 (#CHZZ-89) * feat: 내가 실패한 경매 조회 응답 API 구현 (#CHZZ-89) * feat: 내가 실패한 경매 조회 Service 테스트 추가 (#CHZZ-89) * test: 나의 상품 조회 쿼리 수정 (#CHZZ-89) - groupBy 내 endDateTime 삭제 * refactor: 내가 참여한 사전경매 조회 쿼리 수정 (#CHZZ-89) - baseQuery 사용 테이블 변경 (like -> product) * refactor: 나의 상품 조회 정렬 코드 수정 (#CHZZ-89) - endDateTime -> newest * refactor: 나의 상품 조회 쿼리 수정 (#CHZZ-89) - isLiked 삭제 - bid.amount.max() -> bid.amount * refactor: Bid 엔티티 더티체킹 쿼리 최적화 (#CHZZ-89)
* [feat] 마감 임박 경매 조회 엔드포인트 구현(#CHZZ-47) 마감 임박 경매 조회 엔드포인트 구현 * [feat] 마감 임박 경매 조회 쿼리 구현(#CHZZ-47) 마감 임박 경매 조회 쿼리 구현 * [test] 마감 임박 경매 조회 테스트 케이스 작성(#CHZZ-47) 마감 임박 경매 조회 테스트 케이스 작성 * [test] 테스트 케이스 추가(#CHZZ-47) 마감 임박 경매 조회 테스트 케이스 추가 * [test] 테스트 케이스 추가(#CHZZ-47) 마감 임박 경매 조회 테스트 케이스 추가 * [test] 테스트 케이스 수정(#CHZZ-47) 마감 임박 경매 조회 테스트 케이스 수정 * resolve conflict
* feat: QuerydslUtil 클래스에 nullSafeBuilder 메서드 추가 * chore: API 권한에 맞게 인증 허용 url 수정 * test: WithMockUser 어노테이션 적용 * chore: application-test.yml jwt 키 변경 * refactor: 응답 필드 boolean -> Boolean 으로 수정 * test: 응답 필드 boolean -> Boolean 으로 수정으로 인한 테스트 코드 수정 * refactor: ProductRepositoryImpl userId가 null 일때 쿼리 처리 * refactor: AuctionRepositoryImpl userId가 null 일때 쿼리 처리 * refactor: OAuth 핸들러에서 URL 구성 간소화 * chore: SecurityConfig 인증 API 권한 설정 수정 * test: oauth2 url 테스트 코드 수정 * style: 주석 제거 * refactor: 응답 DTO 필드 수정 * test: 응답 DTO 필드 수정으로 인한 코드 수정 * chore: SecurityConfig 인증 API 권한 설정 수정 * refactor: Auction 의 bid 관계 cascade 설정 변경 - ALL -> PERSIST 로 변경 * refactor: AuctionController LoginUser 어노테이션 적용 * test: AuctionController LoginUser 어노테이션 적용으로 인한 테스트 수정 * refactor: AuctionErrorCode 낙찰자 검증 에러 코드 추가 * refactor: 경매 등록 및 사전 등록 로그인 어노테이션 적용으로 인한 함수 수정 * refactor: 로그인 어노테이션 적용으로 인한 요청 DTO userId 제거 * refactor: 낙찰 기록 조회 쿼리 조인 조건 및 groupBy 수정 * refactor: 경매 전환 함수 파라미터 변경으로 인한 메서드 수정 * test: AuctionServiceTest 함수 파라미터 변경으로 인한 테스트 코드 수정 * refactor: 기본 생성자 누락으로 인한 수정 * refactor: 경매 종료까지 남아있는 시간 계산 함수 수정 - 음수시 0으로 * delete: 안 쓰는 파일 제거 * refactor: 결제 api 로그인 어노테이션 적용으로 인한 코드 수정 * refactor: Product API 로그인 어노테이션 적용 * refactor: Product API 로그인 어노테이션 적용으로 인한 서비스 함수 수정 * test: Product API 로그인 어노테이션 적용으로 인한 함수 테스트 수정 * refactor: User Entity DynamicUpdate 어노테이션 적용 * style: 함수 순서 변경 * refactor: 프로필 수정 함수 인자 변경 * test: 프로필 수정 함수 인자 변경으로 인한 테스트 수정 * chore: Security 인증 허용 api url 수정 * refactor: api url 수정 * refactor: 프로필 수정 시 닉네임 조건 추가 * style: 주석 수정 * chore: Spring Security 인증 허용 url 수정 * test: 필요하지 않는 코드 수정
* [chore] 배포 설정 배포 및 ssl 설정 * [chore] ec2에서 ecr 로그인 ec2에서 ecr 로그인 * [chore] nginx.conf 복사 nginx.conf 복사 * [chore] ecr uri 수정 ecr uri 수정 * [chore] 설정값 수정 설정값 수정 * [chore] 의존관계 변경 의존관계 변경 * 배포 2차 (#39) * feat: 경매의 입찰 내역 조회 (#34) * refactor: GlobalExceptionHandler에 두가지 예외 핸들러 추가 - MethodArgumentNotValidException 예외핸들러 추가 - HttpMessageNotReadableException 예외핸들러 추가 (#86) * style: 공백 제거 및 추가 (#86) * feat: 경매 Id로 입찰 내역을 조회하는 쿼리 추가 (#86) * feat: 경매 Id로 입찰 내역을 조회하는 함수 추가 (#86) * feat: 입찰 정보 응답 DTO 추가 (#86) * refactor: 경매 에러 코드 추가 및 수정 - 기존 경매 접근 에러 코드 수정 - 경매 종료 관련 에러 코드 추가 (#86) * refactor: 경매 에러 코드 수정으로 인한 코드 수정 (#86) * feat: 경매 상태가 종료인지 확인하는 유효성 함수 추가 (#86) * feat: 입찰 내역 조회 API 추가 (#86) * test: 입찰 내역 쿼리 테스트 추가 (#86) * test: 입찰 내역 함수 테스트 추가 - 경매 소유자 검증 예외 테스트 - 경매가 종료되지 않았을때 예외 테스트 (#86) * refactor: 'LoginUser' 어노테이션 적용 (#86) * refactor: inquireBidHistory 함수 파라미터 User user 에서 Long userId로 수정 (#86) * test: inquireBidHistory 함수 파라미터 수정으로 인한 테스트 코드 수정 (#86) * refactor: ErrorResponse 만드는 함수명 from -> of 로 수정 (#86) * refactor: Product 도메인에 소유자인지 확인하는 함수 추가 (#86) * refactor: 상품의 접근 권한 에러 코드 추가 (#86) * refactor: 상품의 소유자 확인하는 함수 적용 (#86) * refactor: 입찰의 소유자 확인하는 함수 추가 (#86) * refactor: 입찰의 소유자 확인하는 함수 적용 (#86) * test: 입찰의 소유자 확인하는 함수 적용으로 인한 테스트 코드 수정 (#86) * feat: 유저 프로필 조회 기능 구현 (#31) * refactor: AuctionStatus Enum 클래스 분리 (#CHZZ-80) * feat: 유저 프로필 조회 응답 DTO 추가 (#CHZZ-80) * feat: 유저 프로필 조회에 필요한 칼럼 추가 (#CHZZ-80) * refactor: 유저 프로필 조회에 필요한 칼럼 수정 (#CHZZ-80) - region 컬럼 삭제 * feat: 유저 프로필 조회 Service 로직 추가 (#CHZZ-80) * feat: 유저 프로필 조회 Repository 쿼리 추가 (#CHZZ-80) - 사전 등록 참여 수 (좋아요 기준) - 경매 참여 성공 수 - 경매 참여 실패 수 - 종료된 경매 참여 수 * feat: 유저 프로필 조회 API 구현 (#CHZZ-80) * feat: 사용자 프로필 조회 Service 테스트 추가 (#CHZZ-80) * move: 유저 dto 디렉토리 정리 (#CHZZ-80) * refactor: AuctionStatus 상태 값 수정 (#CHZZ-80) - PENDING 상태 값 삭제 * refactor: enum 클래스 패키지명 변경 (#CHZZ-80) - enums -> type 패키지명 변경 * feat: 로그인 한 사용자 프로필 조회 Service 로직 추가 (#CHZZ-80) * feat: 로그인 한 사용자 프로필 조회 API 구현 (#CHZZ-80) * refactor: 사용자 프로필 조회 카운트 쿼리 수정 (#CHZZ-80) * refactor: 사용자 프로필 조회 카운트 응답 DTO 수정 (#CHZZ-80) * test: 사용자 프로필 조회 Service 테스트 수정 (#CHZZ-80) - 사용자 정보 조회 테스트 케이스 추가 * refactor: 사용자 프로필 조회 카운트 쿼리 수정 (#CHZZ-80) * feat: 나의 상품 조회 기능 구현 (#37) * feat: 내가 참여한 사전경매 상품 조회 Service 로직 추가 (#CHZZ-89) * feat: 내가 참여한 사전경매 상품 조회 Repository 쿼리 추가 (#CHZZ-89) * feat: 내가 참여한 사전경매 상품 조회 API 구현 (#CHZZ-89) * feat: 내가 참여한 사전경매 상품 조회 Service 테스트 추가 (#CHZZ-89) * feat: 내가 성공한 경매 조회 응답 DTO 추가 (#CHZZ-89) * feat: 내가 성공한 경매 조회 Service 로직 추가 (#CHZZ-89) * feat: 내가 성공한 경매 조회 Repository 쿼리 추가 (#CHZZ-89) * feat: 내가 성공한 경매 조회 API 구현 (#CHZZ-89) * feat: 내가 성공한 경매 조회 Service 테스트 추가 (#CHZZ-89) * feat: 내가 실패한 경매 조회 Service 로직 추가 (#CHZZ-89) * feat: 내가 실패한 경매 조회 Repository 쿼리 추가 (#CHZZ-89) * feat: 내가 실패한 경매 조회 응답 DTO 추가 (#CHZZ-89) * feat: 내가 실패한 경매 조회 응답 API 구현 (#CHZZ-89) * feat: 내가 실패한 경매 조회 Service 테스트 추가 (#CHZZ-89) * test: 나의 상품 조회 쿼리 수정 (#CHZZ-89) - groupBy 내 endDateTime 삭제 * refactor: 내가 참여한 사전경매 조회 쿼리 수정 (#CHZZ-89) - baseQuery 사용 테이블 변경 (like -> product) * refactor: 나의 상품 조회 정렬 코드 수정 (#CHZZ-89) - endDateTime -> newest * refactor: 나의 상품 조회 쿼리 수정 (#CHZZ-89) - isLiked 삭제 - bid.amount.max() -> bid.amount * refactor: Bid 엔티티 더티체킹 쿼리 최적화 (#CHZZ-89) * feat: imminent auction inquire (#35) * [feat] 마감 임박 경매 조회 엔드포인트 구현(#CHZZ-47) 마감 임박 경매 조회 엔드포인트 구현 * [feat] 마감 임박 경매 조회 쿼리 구현(#CHZZ-47) 마감 임박 경매 조회 쿼리 구현 * [test] 마감 임박 경매 조회 테스트 케이스 작성(#CHZZ-47) 마감 임박 경매 조회 테스트 케이스 작성 * [test] 테스트 케이스 추가(#CHZZ-47) 마감 임박 경매 조회 테스트 케이스 추가 * [test] 테스트 케이스 추가(#CHZZ-47) 마감 임박 경매 조회 테스트 케이스 추가 * [test] 테스트 케이스 수정(#CHZZ-47) 마감 임박 경매 조회 테스트 케이스 수정 * resolve conflict * refactor: querydsl 쿼리 개선 및 Security 설정 (#38) * feat: QuerydslUtil 클래스에 nullSafeBuilder 메서드 추가 * chore: API 권한에 맞게 인증 허용 url 수정 * test: WithMockUser 어노테이션 적용 * chore: application-test.yml jwt 키 변경 * refactor: 응답 필드 boolean -> Boolean 으로 수정 * test: 응답 필드 boolean -> Boolean 으로 수정으로 인한 테스트 코드 수정 * refactor: ProductRepositoryImpl userId가 null 일때 쿼리 처리 * refactor: AuctionRepositoryImpl userId가 null 일때 쿼리 처리 * refactor: OAuth 핸들러에서 URL 구성 간소화 * chore: SecurityConfig 인증 API 권한 설정 수정 * test: oauth2 url 테스트 코드 수정 * style: 주석 제거 * refactor: 응답 DTO 필드 수정 * test: 응답 DTO 필드 수정으로 인한 코드 수정 * chore: SecurityConfig 인증 API 권한 설정 수정 * refactor: Auction 의 bid 관계 cascade 설정 변경 - ALL -> PERSIST 로 변경 * refactor: AuctionController LoginUser 어노테이션 적용 * test: AuctionController LoginUser 어노테이션 적용으로 인한 테스트 수정 * refactor: AuctionErrorCode 낙찰자 검증 에러 코드 추가 * refactor: 경매 등록 및 사전 등록 로그인 어노테이션 적용으로 인한 함수 수정 * refactor: 로그인 어노테이션 적용으로 인한 요청 DTO userId 제거 * refactor: 낙찰 기록 조회 쿼리 조인 조건 및 groupBy 수정 * refactor: 경매 전환 함수 파라미터 변경으로 인한 메서드 수정 * test: AuctionServiceTest 함수 파라미터 변경으로 인한 테스트 코드 수정 * refactor: 기본 생성자 누락으로 인한 수정 * refactor: 경매 종료까지 남아있는 시간 계산 함수 수정 - 음수시 0으로 * delete: 안 쓰는 파일 제거 * refactor: 결제 api 로그인 어노테이션 적용으로 인한 코드 수정 * refactor: Product API 로그인 어노테이션 적용 * refactor: Product API 로그인 어노테이션 적용으로 인한 서비스 함수 수정 * test: Product API 로그인 어노테이션 적용으로 인한 함수 테스트 수정 * refactor: User Entity DynamicUpdate 어노테이션 적용 * style: 함수 순서 변경 * refactor: 프로필 수정 함수 인자 변경 * test: 프로필 수정 함수 인자 변경으로 인한 테스트 수정 * chore: Security 인증 허용 api url 수정 * refactor: api url 수정 * refactor: 프로필 수정 시 닉네임 조건 추가 * style: 주석 수정 * chore: Spring Security 인증 허용 url 수정 * test: 필요하지 않는 코드 수정
* refactor: 베스트 경매, 종료임박 경매 쿼리 수정 (#CHZZ-93) - limit 10개 -> 5개 * refactor: 사전 등록 상품 조회 API 수정 (#CHZZ-93) - 카테고리 값 필수 값에서 선택 값으로 변경 - 카테고리 없는 경우 최대 5개만 반환 * refactor: 내 프로필 조회 카운트 메소드 수정 (#CHZZ-93) - repository 내 로직 service 단으로 이동 - AuctionParticipationResponse 메소드 추가 * test: 내 프로필 조회 Service 테스트 코드 수정 (#CHZZ-93) * refactor: 내 프로필 조회 미성사된 경매 카운트 삭제 (#CHZZ-93) * test: 내 프로필 조회 Service 테스트 코드 수정 (#CHZZ-93) - 실제 카운트 값 테스트를 위해 테스트 경매 상품 추가 * feat: 경매 간단 상세 정보 Service 로직 추가 (#CHZZ-93) * feat: 경매 간단 상세 정보 Repository 쿼리 추가 (#CHZZ-93) * feat: 경매 간단 상세 정보 Service 검증 쿼리 추가 (#CHZZ-93) * feat: 경매 간단 상세 정보 응답 DTO 추가 (#CHZZ-93) * feat: 경매 간단 상세 정보 API 구현 (#CHZZ-93) * test: 경매 간단 상세 정보 Service 테스트 코드 추가 (#CHZZ-93) * refactor: 경매 간단 상세 정보 Service 로직 수정 (#CHZZ-93) - 판매자 유효성 검증 로직 수정 * move: 유저 프로필 수정 DTO 디렉토리 이동 (#CHZZ-93) * feat: 유저 프로필 조회 카운트 쿼리 메소드 추가 (#CHZZ-93) * refactor: 유저 프로필 조회 응답 DTO 수정 (#CHZZ-93) * refactor: 유저 프로필 조회 Service 로직 추가 (#CHZZ-93) * test: 유저 프로필 조회 Service 테스트 수정 (#CHZZ-93) * refactor: 경매 간단 상세 조회 API 수정 (#CHZZ-93) - userId 매개변수 제거 * refactor: 사전 등록 상품 목록 조회 API 수정 (#CHZZ-93) - size 매개변수 제거 * refactor: 사전 등록 상품 목록 조회 쿼리 수정 (#CHZZ-93) - categoryEqIgnoreNull 메소드 추가 * test: 사전 등록 상품 목록 조회 테스트 코드 수정 (#CHZZ-93) * test: 사용자 프로필 조회 Service 로직 수정 (#CHZZ-93) * fix: 경매 간단 상세 정보 예외처리 수정 (#CHZZ-93) * fix: 경매 간단 상세 정보 예외처리 수정 (#CHZZ-93) * fix: 사전 등록 상품 목록 조회 쿼리 수정 (#CHZZ-93) - 가독성 위해 querydsl and 메소드 사용 * refactor: 사용자 프로필 조회 Service 로직 수정 (#CHZZ-93) - 가독성 위해 var 사용 대신 타입 명시 * test: 경매 간단 상세 조회 Service 테스트 수정 (#CHZZ-93) * refactor: Spring Security API 인증 설정 추가 (#CHZZ-93) * refactor: 경매 상세 조회 API 단일 엔드포인트 수정 (#CHZZ-93) * refactor: 유저 프로필 조회 로직 수정 (#CHZZ-93) - 서비스 레이어 로직 -> 도메인 엔티티 이동 * test: 유저 프로필 조회 Service 테스트 코드 수정 (#CHZZ-93) * feat: 경매 상세 정보 조회 enum 추가 (#CHZZ-93) * refactor: 경매 상세 정보 조회 API 수정 (#CHZZ-93) - enum 통해 타입 안정성 보장 * test: 경매 상세 정보 조회 Service 테스트 코드 수정 (#CHZZ-93) * refactor: 유저 프로필 조회 로직 수정 (#CHZZ-93) - 유저 엔티티 내 공통 스트림 구문 분리 - distinct() 제거
* chore: flyway 의존성 추가 CHZZ-98 * feat: flyway 초기 V1 스크립트 파일 추가 CHZZ-98 * chore: test시 flyway 비활성화 CHZZ-98
* [fix] 주소 컬럼 수정 (#CHZZ-95) 주소 API에서 제공하는 정보에 맞게 컬럼 수정 * [fix] 생성 메서드 추가 (#CHZZ-95) 생성 위임 메서드 추가 * [feat] 응답 및 요청용 DTO 구현 (#CHZZ-95) 주소 정보 응답 및 요청용 DTO 구현 * [feat] 주소 등록 및 조회 엔드포인트 구현 (#CHZZ-95) 주소 등록 및 조회 엔드포인트 구현 * [feat] 주소 페이징 조회 구현 (#CHZZ-95) 주소 페이징 조회 구현 * [fix] p6spy 로깅 프로파일 범위 수정 (#CHZZ-95) 운영환경에서 로깅 메세지 포멧을 지정하도록 모든 범위에서 동일한 로깅 설정 적용 * [refactor] 불필요한 정적 팩토리 메서드 제거 (#CHZZ-95) 불필요한 정적 팩토리 메서드 제거 * [fix] customerKey 추가 (#CHZZ-95) 결제 UI 호출시 사용자 식별을 위한 customerKey 추가 * [fix] customerKey 조회 엔드포인트 구현 (#CHZZ-95) customerKey 조회 엔드포인트 구현 * [fix] 인증 가능한 요청으로 수정 (#CHZZ-95) 인증 가능한 요청으로 수정 * [fix] 적합한 예외처리 (#CHZZ-95) 상품을 찾지 못한경우 `ProductException`이 발생하도록 수정 * [fix] 검증 제거 (#CHZZ-95) 불필요한 검증 에노테이션 제거 * [fix] 에러 로그 범위 수정 (#CHZZ-95) 에러 로그 범위 수정 * [fix] 에러 코드 수정 (#CHZZ-95) 에러 코드 수정 * [feat] RequestPart 에러 핸들러 등록 (#CHZZ-95) RequestPart 에러 핸들러 등록 * [fix] 인증 가능한 요청으로 수정 (#CHZZ-95) 인증 가능한 요청으로 수정 * [test] 예외 변경에 따른 테스트 수정 (#CHZZ-95) 예외 변경에 따른 테스트 수정 * resolve conflict
* chore: local Dockerfile 추가 * refactor: 알림 Entity 상속관계 매핑으로 리팩토링 (#94) * refactor: 엑세스 토큰 만료시간 임시로 30분으로 수정 (#94) * style: SSE 성공 로그 추가 (#94) * test: 알림 Entity 변경으로 인한 알림 서비스 테스트 코드 수정 (#94) * refactor: NotificationEvent 에 auctionId 필드 추가 (#94) * refactor: NotificationRealMessage auctionId 필드 추가 (#94) * refactor: NotificationSseResponse auctionId 필드 추가 (#94) * refactor: 상품의 좋아요 누른 사용자의 id를 찾는 도메인 함수 추가 (#94) * refactor: NotificationType 에 타입마다 알림객체를 만드는 추상메서드 추가 (#94) * refactor: 알림조회 응답 DTO 수정 (#94) * refactor: 알림조회 상속관계 구조로 인한 쿼리 일부 수정 (#94) * test: 알림조회 상속관계 구조로 인한 테스트 코드 수정 (#94) * chore: 테스트 프론트 도커 이미지 제거 (#94) * refactor: getFirstImage 함수 null 처리 리팩토링 (#94) * refactor: 알림 생성시 공통된 필드 외에 추가된 필드를 Map 필드로 리팩토링 (#94) * refactor: 공통된 필드 외에 추가된 필드의 Map에서 특정 키의 값을 가져오는 메서드 호출 (#94) * refactor: NotificationEvent 객체 생성 메서드 이름 변경으로 인한 코드 수정 (#94) * style: Redis pub/sub 메세지 수신시 발생하는 에러의 로그 명확하게 수정 (#94) * refactor: 사전 등록 취소 알림 클래스 이름 변경 - AuctionRegistrationCanceledNotification -> PreRegistrationCanceledNotification 로 변경 (#94) * refactor: 불필요한 Column 어노테이션 제거 (#94) * refactor: 사전등록 상수 이름 변경으로 인한 코드 수정 (#94) * refactor: NotificationEvent 객체 생성 메서드 변경으로 인한 코드 수정 (#94) * refactor: 사전경매취소 클래스 이름 수정 및 상수 이름 변경 (#94) * style: 주석 제거 (#94) * style: 알림 메세지 수정 (#94) * refactor: 쿠키 sameSite, secure 설정 추가 (#94) * chore: CORS allowedMethods 명시적으로 설정 (#94) * refactor: SSE 구독 요청 시 NGINX 버퍼링 비활성화를 위해 X-Accel-Buffering 헤더 추가 (#94) * chore: SSE 관련 nginx 설정 추가 (#94) * refactor: JWT 필터를 재발행 URL에서 제외 (#94) * refactor: 커스텀 필터 빈에서 제외 (#94) * refactor: 경매 상세 조회 쿼리 결과가 null 일시 에러코드 404로 변경 * refactor: ThousandMultipleValidator Long 도 가능하게 타입 변경 * refactor: 입찰 요청 DTO 유효성 검사 추가 * refactor: BankName Enum value 수정 및 from 메서드 추가 * refactor: createUser 시 이미 회원이 경우를 예외 처리 * refactor: @PathVariable 유효성 검사 제외 * refactor: 이미 회원이 경우 예외코드 추가 * refactor: 최종 회원가입 요청시에만 임시토큰 검증으로 수정 * feat: 문자열로 들어온 enum를 유효한 Enum인지 검증하는 커스텀 어노테이션 추가 * refactor: 요청 dto 은행이름 필드 Enum -> String 으로 수정 * test: 요청 dto 은행이름 필드 Enum -> String 으로 수정으로 인한 테스트 코드 수정 * test: 회원가입 테스트 코드 수정 * feat: 존재하는 API URI인지 확인하는 필터 추가 * feat: 존재하는 API URI인지 확인하는 필터 등록 * chore: PR 템플릿 수정 CHZZ-94 * chore: PR 템플릿 수정 [CHZZ-94] * chore: PR 템플릿 수정 #[CHZZ-94] * chore: PR 템플릿 수정 CHZZ-94 * refactor: SseEmitter 타임아웃 시간 AccessToken 만료시간과 동일하게 변경 CHZZ-94 * chore: nginx sse proxy_read_timeout 시간 32분으로 변경 CHZZ-94 * Merge branch 'develop' into feat/refactor-notification with conflict resolution
* feat: compose-local.yaml 서비스 추가 (#CHZZ-101) - Node Exporter, Prometheus, Grafana, Loki 추가 * feat: Prometheus 로컬 세팅 (#CHZZ-101) * feat: loki 로컬 세팅 (#CHZZ-101) * chore: SecurityConfig 수정 (#CHZZ-101)
* fix: nginx.conf 주석 스타일 변경 CHZZ-105 * docs: Pull Request Template 수정 CHZZ-105 * chore: P6spy prod 비활성화 CHZZ-105 * chore: deploy action 최적화 CHZZ-105 * chore: PR title, branch name 검사하는 action 추가 CHZZ-105 * chore: 배포시 브랜치에서 버전 정보를 가져오는 것으로 수정 CHZZ-105 * chore: 배포시 릴리즈 태그와 노트를 자동화하는 설정 추가 CHZZ-105 * refactor: 브랜치 이름에서 버전 추출하는 로직 수정 CHZZ-105 * chore: main에 머지될때 자동으로 태그와 릴리즈 노트를 작성하는 설정 추가 CHZZ-105 * chore: PR 제목 검사하는 action 수정 CHZZ-105 * chore: PR types에 synchronize 추가 CHZZ-105
* move: release-drafter-config.yml 파일 위치 변경 * chore: PR title and branch 검사 상황 제한
CHZZ-109
- release/* -> dev 일땐 검사 x CHZZ-109
viaunixue
requested review from
viaunixue
and removed request for
viaunixue
September 27, 2024 05:21
viaunixue
requested review from
viaunixue
and removed request for
viaunixue
September 27, 2024 06:47
viaunixue
approved these changes
Sep 27, 2024
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.
#️⃣연관된 이슈
CHZZ-109
📝작업 내용
✅테스트 결과
🙏리뷰 요구사항(선택)