-
Notifications
You must be signed in to change notification settings - Fork 8
[RELEASE] 250826 릴리즈 #488
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] 250826 릴리즈 #488
Conversation
* chore: logback으로 파일 로깅 설정 * chore: alloy 추가 * fix: EOF 개행 * chore: alloy 설정 적용, env 적용
* rename: 도커 파일명 변경 * rename: stage -> dev 환경명 변경 * chore: dev환경이 develop 브랜치를 추적하게 변경
* refactor: 함수 분리 - subject의 기준이 SiteUser의 id가 아니게 바뀌더라도 변경 부분이 최소화되게 한다. - SiteUser의 subject를 사용하는 곳은 accessToken과 refreshToken를 관리하는 AuthTokenProvider 의 영역이므로 이 위치에 함수를 생성한다. * chore: 사용하지 않는 함수 삭제 * refactor: 가독성을 위해 함수 위치 변경 - parseSubject 가 parseSubjectIgnoringExpiration 보다 먼저 읽히도록 * refactor: 재발급 로직 수정 - subject가 아니라 엑세스 토큰으로 리프레시 토큰을 찾도록 * refactor: 리프레시 토큰 기간 연장 - 참고: discussion #292 * refactor: 액세스 토큰 재발급 로직 수정 * test: authServiceTest 작성
* chore: 워크플로우 경로, 환경변수 변경 * chore: 환경변수 최신화 stage -> dev 변경
* chore: alloy config 파일을 배포시에 전송하게 변경 * chore: alloy container 실행시 config 파일 위치 변경
* feat: 토큰 객체 생성 * refactor: authTokenProvider에 토큰 객체 적용 * refactor: authService에 토큰 객체 적용 * refactor: signInService에 토큰 객체 적용 * test: AuthTokenProvider 테스트 보충 * test: AuthService 테스트 보충 * refactor: 인터페이스로 DIP 구현 * test: 리프레시토큰 조회 함수 변경에 따른 테스트 수정 * test: 블랙리스트 저장 방법 변경에 따른 테스트 수정 * test: 깨진 테스트 수정 * refactor: 엑세스 토큰 자체를 블랙리스트로 저장하도록 * refactor: AuthController에서 인증 정보를 String으로 받도록
* feat: 액세스 토큰에 해당하는 리프레시 토큰 삭제 함수 구현 * refactor: 로그아웃 시, 리프레시 토큰 삭제하도록 * refactor: 탈퇴 시, 로그아웃하도록 * refactor: 엑세스 토큰 가져오는 함수 분리 - Authentication 자체가 null 인 경우도 예외처리
* feat: News 소식지 도메인 추가 BaseEntity를 상속한 이유는 이후에 유저도 소식지를 쓸 수 있게 되면 필요할 것이라 추정되기에 * chore: import 수정 * feat: 뉴스 테이블 생성 Flyway 스키마 추가 * chore: Flyway 파일 포매팅
* refactor: 만료된 토큰도 허용하는 코드 삭제 * test: 만료된 토큰과 관련된 테스트 코드 삭제 * test: 삭제된 테스트와의 연관성 제거 - 삭제된 테스트 코드와 연관된 테스트 함수명, 구조 수정
* refactor: 메서드 체이닝으로 대학 test fixture 생성 * refactor: UniversityQueryServiceTest에 임시 반영 * chore: 테스트 환경에서 lombok 사용을 위한 의존성 추가 * test: 메서드 체이닝을 활용하여 대학 관련 Fixture 클래스 추가 * test: 대학 생성을 위한 Fixture Helper 클래스 추가 * test: Fixture Helper 클래스 실제 대학 테스트에 적용 * chore: 사용하지 않는 BuilderSupporter 클래스 제거 * refactor: 내가 생각한 방향 구현 * refactor: 테스트 코드 컴포넌트 @TestComponent로 변경 * refactor: 패키지 구조를 도메인 중심으로 개선 * feat: RegionFixture에 지역 생성 메서드 추가 * feat: CountryFixture에 국가 생성 메서드 추가 * feat: UniversityFixture에 대학 생성 메서드 추가 * feat: UniversityInfoForApplyFixture에 대학 지원 생성 메서드 추가 * feat: LanguageRequirementFixture에 언어 요구사항 생성 메서드 추가 * test: 추가한 Fixture 함수 테스트에 반영 * chore: 대학 정보 이름 실제 데이터와 일치하게 반영 * refactor: 언어 요구사항 데이터 세팅 방식 변경 --------- Co-authored-by: nayonsoso <panda0329@naver.com>
* refactor: 회원 탈퇴 API HTTP Method를 PATCH에서 DELETE로 변경 * chore: 불필요한 import 제거
* refactor: 대학 좋아요 통합 테스트 데이터 Fixture 메서드로 변경 * refactor: 대학 추천 통합 테스트 데이터 Fixture 메서드로 변경
* feat: SiteUserFixture에 유저 생성 메서드 추가 * refactor: 대학 관련 테스트 유저 데이터 Fixture 메서드로 변경 * refactor: 유저 관련 테스트 유저 데이터 Fixture 메서드로 변경 * refactor: 점수 관련 테스트 유저 데이터 Fixture 메서드로 변경 * refactor: 동시성 관련 테스트 유저 데이터 Fixture 메서드로 변경 * refactor: 인증 관련 테스트 유저 데이터 Fixture 메서드로 변경 * refactor: 어드민 관련 테스트 유저 데이터 Fixture 메서드로 변경 * refactor: 커스텀 관련 테스트 유저 데이터 Fixture 메서드로 변경 * refactor: SiteUserFixtureBuilder에서 비밀번호 인코딩 처리 통일 * refactor: 재사용성 없는 fixture 제거 * refactor: 테스트 유저 메서드명 사용자()로 통일 * refactor: 테스트 어드민 메서드명 관리자()로 통일 * refactor: Repository 테스트는 fixture 대신 entity 사용하도록 변경 * refactor: 커스텀 프로필 사용자로 이름 변경 * refactor: 커스텀 프로필 생성 함수 private로 변경
* refactor: community 관련 Type 클래스 패키지 이동 - BoardCode를 community.board.domain 으로 - PostCategory를 community.post.domain 으로 - RedisConstants 를 community.post.service 로 * refactor: s3 관련 Type 클래스 패키지 이동 - ImgType을 s3로 * refactor: university 관련 Type 클래스 패키지 이동 - LanguageTestType, SemesterAvailableForDispatch, TuitionFeeType을 university.domain 으로 * refactor: siteUser 관련 Type 클래스 패키지 이동 - PreparationStatus, Role을 siteuser.domain 로 * refactor: application 관련 Type 클래스 패키지 이동 - VerifyStatus 을 application.domain 로 * refactor: 게시글 관련 redis 클래스 패키지 이동 - RedisService, UpdateViewCountService 를 post.service 로 * refactor: 지역 관련 클래스 패키지 이동 - location 패키지 하위에 region 과 country 를 생성 - Region, InterestedRegion 을 location.region.domain 으로 - Country, InterestedCountry 을 location.country.domain 으로 - RegionRepository, InterestedRegionRepository를 location.region.repository 으로 - CountryRepository, InterestedCountyRepository를 location.country.repository 으로 - 테스트 코드는 프로덕션 코드와 대응하는 위치로 * refactor: security 관련 클래스 패키지 이동 - custom.security에 있던 security를 루트 경로로 - 스프링 시큐리티는 서블릿 밖에 존재하므로, 분리된 하나의 관심사라 볼 수 있다. * refactor: 공용 코드의 패키지 이름 변경 - custom -> common * refactor: dto 입력 검증 관련 클래스 패키지 이동 - 특정 dto 에서만 사용하므로, 그 하위로 옮긴다. - RejectedReasonRequired, RejectedReasonValidator를 admin.dto.validation 으로 - ValidUniversityChoice, ValidUniversityChoiceValidator를 university.dto.validation 으로 * refactor: BaseEntity 패키지 이동 - 여러 도메인에서 쓰이므로 common 하위로 * refactor: 특정 도메인에만 관련된 config 패키지 이동 - 관련 도메인 하위에서만 필요한 설정은 그 도메인 하위로 옮긴다. - AppleOAuthClientProperties, KakaoOAuthClientProperties 를 auth.client.config 로 - CorsProperties, JwtProperties, SecurityConfiguration, AuthenticationManagerConfig 를 security.config 로 * refactor: config 클래스 패키지 이동 config -> common.config * refactor: S3 클래스 패키지 이동 - 다른 도메인 패키지들과 마찬가지로, 레이어별로 패키지를 나눈다. * chore: conflict 해소와 import문 정리
* feat: GpaScoreFixture에 GPA점수 생성 메서드 추가 * refactor: GPA점수 데이터 Fixture 메서드로 변경 * fix: 양방향 연관관계 추가 * refacotr: GPA_점수로 함수명 변경 * feat: LanguageTestScoreFixture에 어학점수 생성 메서드 추가 * refactor: 어학점수 데이터 Fixture 메서드로 변경 * test: score 관련 테스트에서 상세 필드 검증 제거 * test: 어학 점수 fixture 어학 타입 및 점수 파라미터 제거 * test: GPA 점수 fixture GPA 타입 및 점수 파라미터 제거 * refactor: 변수명 순서 오름차순으로 변경 * refactor: 점수 목록 조회 검증 시 닉네임과 상태 추가
* refactor: 스프링 빈으로 활용하기 위해 private 생성자 제거 * refactor: 헤더에서 토큰 추출하는 코드 클래스로 분리 - 추가로, null 이 아니라 Optional 을 반환하여 빈 값 처리를 강제하도록 수정 * refactor: 토큰의 블랙리스트를 관리하는 코드 분리 * refactor: 토큰 제공과 관련된 코드 TokenProvider로 이동 - JwtUtils를 사용하던 곳에서 TokenProvider를 주입받아 사용하게 하기 위한 사전 작업 * refactor: TokenProvider를 abstract 클래스가 아니라 컴포넌트로 * refactor: TokenProvider를 상속하여 쓰던 곳에서 주입받아 쓰도록 * refactor: JwtUtils를 쓰던 곳에서 TokenProvider 쓰도록 * refactor: TokenProvider의 함수 인자 수정 - AS-IS: JwtUtils에 정의된 xxxParse 함수를 사용하기 위해서는, 함수 자체가 static이라서 호출하는 곳으로부터 jwt 시크릿 키를 건네받아야했다. 이를 위해 여러곳에서 JwtProperties를 주입받아 jwtProperties.secret()을 호출하며 xxxParse()함수에 값을 넘겨줬다. - TO-BE: TokenProvider를 컴포넌트로 만듦으로서, TokenProvider의 내부에서 jwt 시크릿 키를 주입받을 수 있게 되었다. 함수의 인자로 시크릿키를 받을 필요가 없게 되었으므로 함수 인자를 수정한다. * test: TokenProvider 테스트 코드 작성 - AS-IS : TokenProvider가 추상 클래스일 때는 이를 상속하는 클래스들로 TokenProvider의 기능을 테스트했다. - TO-BE : TokenProvider도 컴포넌트가 되었으므로, 테스트 코드를 작성한다. * refactor: 더 작은 작업에서 예외를 발생시키도록 - parseSubject가 parseClaims를 호출하는데, 이들이 발생시키는 예외의 종류가 다르면 안된다. * chore: 개행 수정, 안쓰는 의존 제거 * refactor: 제대로 된 DIP를 위해 패키지 이동 - security가 auth를 의존하지 않게 하기 위해, BlackListChecker 인터페이스를 security패키지 내부로 옮긴다. * chore: todo 삭제 * refactor: jwt 토큰 관련 코드 패키지 이동 - TokenProvider, TokenBlackListService를 auth.token 으로 - JwtProperties를 auth.token.config 로 * refactor: TokenProvider 인터페이스 생성 * refactor: TokenProvider 인터페이스에 의존하도록 * style: 개행 삭제
* feat: ApplicationFixture에 지원서 생성 메서드 추가 * refactor: 지원서 데이터 Fixture 메서드로 변경 * refactor: 불필요한 성적 요구사항 세팅 제거
* feat: BoardFixture에 Board 생성 메서드 추가 - 지연로딩 문제를 방지하기 위해 Board 조회 시 fetch join 사용 * feat: PostFixture에 Post 생성 메서드 추가 * feat: PostImageFixture에 PostImage 생성 메서드 추가 * feat: CommentFixture에 Comment 생성 메서드 추가 * refactor: Community 관련 데이터 fixture 메서드로 변경 * refactor: BaseIntegrationTest 제거 * refactor: BoardFixture에서 BoardCode enum 상수 일관되게 사용
* refactor: Application Entity 변경 - UniversityInfoForApply FK매핑 삭제 및 Long타입으로 변경, 네이밍 변경 - 사용하지 않는 updateUniversityChoice 메서드 제거 * refactor: ApplicationQueryService 변경 - AS-IS: 각 지망별로 Repository를 호출하여 N+1 문제 발생 단일키 임시 캐싱 - TO-BE: 매핑 제거 후 직접 데이터를 분류하여 N+1문제 제거 및 성능 향상 캐싱 제거 * refactor: University관련 Repository 변경 - AS-IS: 기존 Repository에서 University타입으로 반환 - TO-BE: Entity변경, 비즈니스 로직 변환에 맞춰 반환타입 Long으로 수정 findByIdsWithUniversityAndLocation 메서드 추가 사용하지 않게 된 getUniversityInfoForApplyByIdAndTerm 메서드 삭제 * refactor: ApplicationRepository 변경 - 서비스 로직 변경을 위해 3개로 분리되어 있는 기존 메서드를 한 번의 쿼리로 조회하도록 변경 * refactor: ApplicationSubmissionService 변경 - Entity변경에 따른 수정. 기존 로직은 변화 없음 * refactor: ApplicationTest코드 수정 - Entity변경에 따른 수정 - 전원 통과 - ApplicationQueryService 마지막 메서드 테스트 의도에 맞게 수정 * refactor: ApplicationTest코드 수정 - UniversityInfoForApplyId 하드코딩 되어있는 부분 수정 - 테스트 통과 확인 * refactor: 테스트 코드 제외 코드 리뷰 수정사항 반영 - 코드 컨벤션 통일 - 변수명 이해하기 쉽도록 수정 - Application Repository universityId기반과 uiaId기반으로 분기 * refactor: ApplicationTest코드 수정 - 마지막 메서드 테스트 의도에 맞게 수정 - 컨벤션에 맞게 수정 - BaseIntegrationTest에서 firstUIAId에 null값을 입력하는 부분 수정 * refactor: Application Entity Index 추가 - 조회 성능 향상을 위해 Application Entity Index추가 - Application Repository 불필요한 공백 삭제 * refactor: Flyway V13 script 등록 - Application FK제약조건 제거 - column명 변경 - Index 추가 * refactor: 테스트 코드 제외 코드 리뷰 수정사항 반영 - 가벼운 수정 사항(공백 삭제 및 함수 명 변경) - Application Column명 수정 - 쿼리 간결화 - DTO에 매핑책임 이관 * refactor: 테스트 코드 수정 및 Flyway 수정 - 테스트 코드 데이터 형식 수정 - Flyway Column명 수정 * refactor: Flyway V13 FK제약조건 유지로 변경
* refactor: SiteUser 엔티티 - SiteUser 엔티티의 nickname 컬럼에 unique 제약 조건 추가 * fix: site_user 테이블의 nickname 컬럼에 unique 제약 조건 추가 * refactor: SiteUser 도메인 관련 - MyPageService에서 중복 닉네임 검증 로직 제거 - 컨트롤러에서 try-catch 문을 통해 예외 처리 * refactor: 회원 정보 변경 관련 로직 수정 - 변경된 컬럼만 업데이트하는 쿼리 사용 * refactor: sign up 시 닉네임 검증 로직 제거 - nickname 제약 조건의 이름 명시적으로 지정 * refactor: 도메인 로직 변경에 따른 테스트 코드 수정 - 게시글_좋아요_동시성_문제를_해결한다: 동일한 닉네임을 사용하지 않도록 변경 - 이메일이_같더라도_인증_유형이_다른_사용자는_정상_저장한다: 동일한 닉네임을 사용하지 않도록 변경 - 닉네임 무결성 테스트는 repository test로 분리 - 새로운_이미지로_성공적으로_업데이트한다: DB에서 사용자 조회 후 URL 비교 * refactor: 예외 처리를 컨트롤러가 아닌 서비스 계층에서 처리하도록 변경 * refactor: JPQL이 아닌 dirty check를 사용하도록 변경 외 - 중복 닉네임 검증보다 닉네임 수정 시간 검증이 선행되도록 변경 - 준영속 엔티티를 save()하는 과정에서 발생하는 N+1 문제 해결 - DB 레벨, 애플리케이션 레벨 검증 모두 사용하도록 - 위 변경사항에 따른 테스트 코드 수정 * refactor: 로그에만 예외 원문 포함하도록 변경 및 상태코드 수정 * refactor: 회원가입 시 닉네임 관련 애플리케이션 레벨 검증 추가 - CustomExceptionHandler에 DB 레벨에서 중복 닉네임 검증 추가에 따라 try-catch 문 삭제 * refactor: 미사용 코드 제거 (JPQL 관련) * test: 중복된_닉네임으로_사용자를_저장하면_예외_응답을_반환한다 테스트 수정 - save -> saveAndFlush * chore: 미사용 import문 제거 * chore: 함수명과 중괄호 사이 띄어쓰기 추가 (컨벤션 관련) * chore: 호출 순서에 따라 메서드 선언 재배치 * chore: 마이그레이션 파일 버전 수정 V13 -> V14
* refactor: rename UniversityInfoForApply to UnivApplyInfo - 엔티티명만 변경, 이에 따른 변수명 변경 * fix: 동일한 사용자가 동일한 대학 좋아요가 가능했던 문제 수정 - 복합 unique 제약 조건 추가, 관련 테스트 코드 추가 * refactor: liked_university 테이블에 복합 unique 제약 조건을 설정하는 sql 작성 * refactor: 파일 및 변수명 변경 * chore: 미사용 함수 제거 * chore: UK 제약 조건 이름 변경 * chore: 테스트 코드에서 불필요한 검증 제거 * chore: 마이그레이션 파일 버전 수정 V14 -> V15
* refactor: InterestedCountryRepository rename * refactor: InterestedCountry, InterestedRegion에 복합 unique 제약 조건 설정 - 테이블에 제약 조건 설정하는 sql 파일 작성 * test: interested_region, interested_country에 대한 테스트 코드 작성 * chore: CountryRepositoryTest, RegionRepositoryTest 파일명 앞에 Interested 추가 * chore: 파일 끝 개행 추가 * chore: UK 제약조건 이름 변경 * chore: 마이그레이션 파일 버전 수정 V15 -> V16
* chore: flyway 스크립트 이름 오타 수정 - 언더바 2개로 * chore: flyway 스크립트 컬럼 오타 수정
* refactor: univ-apply-info로 URI 변경 * refactor: UnivApplyInfo 사용하도록 컨트롤러 함수 변경 * refactor: UnivApplyInfo 사용하도록 recommendService 변경 * refactor: UnivApplyInfo 사용하도록 레포지토리 이름 변경 * refactor: JPQL alias 변경 * refactor: JPA 표준에 맞게 함수 이름 변경 * refactor: UnivApplyInfo 사용하도록 레포지토리 변경 * refactor: JPA 표준에 맞게 함수 이름 변경 * refactor: UnivApplyInfo 반영하도록 JPQL 별칭 변경 * refactor: 잘못되어있던 상속 관계 변경 - University와 UniversityInformationForApply의 혼용으로 발생한 문제가 있었다. - UnivApplyInfo 를 적용하며 발견했고, 바로잡았다. * refactor: 좋아요한 대학 도메인 이름 변경 - LikedUniversity -> LikedUnivApplyInfo * refactor: UnivApplyInfo 사용하도록 likeService 변경 * refactor: LikedUnivApplyInfoRepository 패키지 이동 - siteuser 하위 -> university 하위 * refactor: UnivApplyInfo 사용하도록 Dto 이름 변경 - 프론트와 협의가 되어야 하는 요청/응답의 json에 해당하는 이름들을 백엔드가 임의로 바꾸는 것은 바람직하지 않다. - issue를 만들고, todo로 표시하고 넘어간다. - 프론트와 협의 이후, 별도의 PR에서 수정한다. * refactor: UnivApplyInfo 사용하도록 테스트 코드 변경 * refactor: UNIV_APPLY_INFO 사용하도록 ErrorCode 변경 * refactor: 지원자 응답 Dto 이름 변경 - Application 도메인의 의미상, '대학에 지원한다'는 내용이 포함되어있다. - 코드 전체적으로 위 내용의 합의되어있기도 하다. (application 앞에 University를 붙이지 않음) - 따라서 University나 UnivApplyInfo이 없는 이름으로 변경한다. * refactor: UnivApplyInfo 사용하도록 applicationService 변경 * refactor: JPA 표준에 맞게 함수 이름 변경 * chore: 추후 수정해야 할 부분 표시 * refactor: UnivApplyInfo 사용하도록 Dto필드명 변경 - JsonProperties로 Json key는 유지하되, 필드와 인자명은 코드 전체에서 통일되게한다. * refactor: 이름변경 누락된 부분 수정 * refactor: 테스트 코드에서 이름변경 누락된 부분 수정 * refactor: UnivApplyInfo 사용하도록 MyPageService 변경 * refactor: 사용되지 않는 함수 삭제
* refactor: preparationStatus 필드 이름 변경 * refactor: 엔티티 필드명 변경 - PreparationStatus -> ExchangeStudentStatus chore: 컬럼명 변경 flyway 스크립트 추가 * chore: flyway 스크립트 버전 수정
* chore: 주석 가독성 개선 * chore: 쿠키 관련 환경변수 추가 * feat: 리프레시 토큰 설정 클래스 생성 * refactor: 환경에 따라 쿠키를 다르게 설정하도록 * chore: 서브모듈 업데이트
* feat: 리프레시 토큰 추출 구현 * test: 중복 사용되는 변수를 상수로 추출 * test: 리프레시 토큰 추출 테스트 * refactor: 쿠키의 리프레시 토큰으로 액세스 토큰 재발급하도록 * chore: 사용하지 않는 요청 Dto 제거 * refactor: auth 토큰에 SiteUser가 사용됨을 명시, 중복코드 제거 - AS-IS: long으로 SiteUser를 조회, SiteUser를 Subject로 만들어 authTokenProvider의 함수에 넘겨줬다. - TO-BS: authToken에는 어차피 '의미상' SiteUser라는 개념이 사용될 수 밖에 없다. 따라서 관련 로직을 함수 내부로 옮긴다. 이로 인해서 중복 코드를 줄일수도 있다. * test: 테스트 코드에 반영 * refactor: 리프레시 토큰 값이 비어있는 경우도 예외 처리 * test: 비어있는 리프레시 토큰 테스트 케이스 추가 * style: style 적용 안된 채로 rebase한 것들 reformat
* feat: 채팅방 partner 정보를 조회하는 API 추가 * test: 채팅방 partner 정보를 조회 테스트 추가
* feat: 지역 변경 요청 DTO 구현 * feat: 관심 지역 변경 서비스 로직 작성 * feat: 관심 지역 변경 컨트롤러 작성 * fix: siteUser가 아니라 siteUserId로 삭제하도록 * test: 관심 지역 및 국가 변경 테스트 작성 * fix: clearAutomatically, flushAutomatically 옵션을 통해 DB와 영속성 컨텍스트 간 불일치 문제 해결 * fix: 파라미터 순서 변경 * chore: 불필요한 Modifying 어노테이션 제거 * chore: 다건 삭제는 deleteBy 대신 deleteAllBy를 사용하도록 * chore: DTO에 Valid 어노테이션 추가 * chore: 크기 검증 제거 및 미사용 repository 제거 * chore: 코드 리포매팅 * fix: conflict 해결 * refactor: 분명한 의미를 가진 엔드포인트 이름으로 변경 - /location -> /interested-location
* style: 불필요한 개행 제거 - 두 줄이 개행되어있었다. * refactor: SameSite를 Lax로 고정 * refactor: Domain에 따라 SameSite분기하던 코드 제거 * chore: 서브모듈 업데이트
* refactor: 멘티의 멘토링 목록 조회 시, chatRoomId를 포함하여 응답하도록 * test: 멘토링 채팅방 픽스쳐 추가 * test: 멘티의 멘토링 목록 조회 시 채팅방 ID 포함 테스트 추가 * refactor: 멘토링 조회 순서를 보장하도록 - map이 아니라 순서가 보장되는 slice를 기준으로 순회하며 응답을 생성하도록
* refactor: 웹소켓 연결 요청은 쿼리 파라미터에서 토큰을 읽도록 * refactor: 인터셉터가 인증에 관여하던 로직 제거 - 인터셉터는 인증된 Principal 객체를 세션에 담는데 집중한다. - 토큰 필터가 인증 작업을 처리한다. * test: 변경된 로직에 맞게 테스트 코드 수정 * refactor: 빈 문자열은 토큰으로 간주하지 않는다. * chore: 코드 리팩터링
* refactor: 레포지토리 구현체가 아니라 인터페이스 의존하도록 - UnivApplyInfoFilterRepositoryImpl가 아니라 UnivApplyInfoRepository를 의존하게 한다. - 그렇게 해도 되는 이유는, UnivApplyInfoRepository가 UnivApplyInfoFilterRepository를 extend하고 있기 때문 * refactor: API 명세에 맞게 컨트롤러, 요청 구현 * feat: 대학지원정보 필터링 검색 기능 구현 * chore: 사용하지 않는 메서드 제거 * refactor: 람다 표현식 간소화 * chore: 주석 수정 - compare 에서 0은 같다는 의미 * test: 바뀐 로직을 테스트 코드에 반영 * test: 더 엄격한 검증 적용
* refactor: 엔티티 코드 통일 * chore: 마이그레이션 파일 작성 - Column 어노테이션에 name 옵션을 사용하지 않으면 인덱스 생성 시 인식하지 못해 에러가 발생한다.
* refactor: 소식지 목록 조회 시 isLike 추가 - 로그인하지 않은 사용자에게는 isLike를 응답하지 않도록 * refactor: 소식지 목록 조회 시 좋아요 여부 확인 로직 추가 - 로그인한 사용자와 로그인하지 않은 사용자를 구분 - @Authorizeduser(required = false) 활용 - Set을 활용하여 n + 1 문제 해결 * test: 소식지 관련 fixture 추가 * test: 소식지 조회 서비스 테스트 추가 * refactor: 사용하지 않는 api 제거 * refactor: 쿼리 2 -> 1로 개선 - jpql 프로젝션 활용 * style: isLike -> isLiked로 변경 * test: 검증 구체화 - 사이즈가 아닌 실제 id가 존재하는지 확인하도록 * refactor: from -> of로 변경
* refactor: 채팅방 생성 동기식으로 변경 * test: 비동기 테스트를 위한 코드 제거 * refactor: 사용하지 않는 코드 제거
* feat: 텍스트 기반 검색 레포지토리 함수 구현 * feat: 텍스트 기반 검색 서비스 함수 구현 - 캐싱 적용 * test: 테스트 코드 작성 * refactor: N+1 최소화 * chore: 오해 방지를 위해 주석 수정 * refactor: term을 검색 캐싱에 포함하도록 * fix: api 규격에 맞게 path variable 이름 변경
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the ✨ Finishing Touches🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR/Issue comments)Type Other keywords and placeholders
CodeRabbit Configuration File (
|
whqtker
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
상당하네요 ..
|
먼가 해시가 꼬인 거 같죠..? |
No description provided.