Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
2139 commits
Select commit Hold shift + click to select a range
44a601d
MP-533 :sparkles: Feat: CommentPath에 null 확인 기능 추가
ParkJunHee9327 Dec 22, 2025
0dbcb74
Merge branch 'develop' of https://github.com/modusplant/backend into …
Reality-out Dec 23, 2025
92e3e92
MP-189 :sparkles: Feat: 비회원 조회수 어뷰징 방지 구현
songu1 Dec 24, 2025
d156387
MP-189 :white_check_mark: Test: 비회원 조회수 어뷰징 방지 테스트 구현
songu1 Dec 24, 2025
d691809
MP-189 :white_check_mark: Test: 특정 게시글 데이터 조회 컨트롤러 테스트 추가
songu1 Dec 24, 2025
fa60ea6
Merge branch 'develop' of https://github.com/modusplant/backend into …
songu1 Dec 24, 2025
96a30e2
MP-189 :sparkles: Feat: 비회원 조회수 어뷰징 방지 구현
songu1 Dec 24, 2025
82408ed
MP-189 :white_check_mark: Test: 비회원 조회수 어뷰징 방지 테스트 구현
songu1 Dec 24, 2025
c619944
MP-189 :white_check_mark: Test: 특정 게시글 데이터 조회 컨트롤러 테스트 추가
songu1 Dec 24, 2025
1c0f4dd
Merge branch 'develop' of https://github.com/modusplant/backend into …
Reality-out Dec 24, 2025
b922b21
MP-533 :sparkles: Feat: 댓글 등록 API에 비속어 필터링 기능 적용
ParkJunHee9327 Dec 24, 2025
1f18201
MP-533 :wrench: Chore: 사용하지 않는 import문 제거
ParkJunHee9327 Dec 24, 2025
a30e85d
:recycle: Refactor: 회원 도메인의 REST API에서 불필요한 토큰 검증 로직 제거
Reality-out Dec 24, 2025
734074b
:truck: Rename: 캐시 검증 서비스를 회원 도메인 안으로 이동
Reality-out Dec 24, 2025
eccd3f5
:recycle: Refactor: 캐시 관련 인프라 클래스를 각 도메인 안에서 사용하도록 디렉토리 이동 및 리팩토링
Reality-out Dec 24, 2025
5e5047d
MP-533 :sparkles: Feat: CommentCacheService 추가
ParkJunHee9327 Dec 24, 2025
e6a7d0e
Merge branch 'main' of https://github.com/modusplant/backend into dev…
Reality-out Dec 26, 2025
defd840
MP-533 :sparkles: Feat: CommentCacheData 추가
ParkJunHee9327 Dec 27, 2025
7ed2bcd
MP-533 :sparkles: Feat: 게시글에 등록된 댓글을 가져오는 API에 캐싱 기능 추가
ParkJunHee9327 Dec 27, 2025
6c66c3c
MP-533 :sparkles: Feat: 비회원의 조회수 어뷰징 방지 및 멤버의 캐싱 기능 리팩토링 등 develop의 최…
ParkJunHee9327 Dec 27, 2025
1840ced
MP-531 :sparkles: Feat: 비회원의 조회수 어뷰징 방지 및 멤버의 캐싱 기능 리팩토링 등 develop의 최…
Reality-out Dec 26, 2025
000a94e
MP-533 :sparkles: Feat: 회원의 식별자로 댓글을 가져오는 API에 캐싱 기능 추가
ParkJunHee9327 Dec 27, 2025
c946907
MP-533 :sparkles: Feat: 캐싱 기능이 있는 응답을 전송할 시 사용할 메서드 추가
ParkJunHee9327 Dec 27, 2025
c79f309
:bug: fix: CI/CD SSH Keep alive 추가(pipe 관련 이슈해결)
Kormap Dec 29, 2025
7da74a2
Merge branch 'main' of https://github.com/modusplant/backend into dev…
Reality-out Dec 29, 2025
1f18caa
MP-257 :sparkles: Feat: BusinessException에 생성자 및 causedAt 추가
ParkJunHee9327 Dec 29, 2025
a2d77e7
:recycle: Refactor: MemberCacheValidationService의 메소드명 수정
Reality-out Dec 30, 2025
3012b10
:recycle: Refactor: 카테고리 PK 타입 변경 및 JPA 엔티티/레포지토리 수정
songu1 Dec 30, 2025
742677a
:recycle: Refactor: 카테고리 VO CATEGORY ID 타입 변경
songu1 Dec 30, 2025
88bc1d0
:recycle: Refactor: 게시글 JOOQ 레포지토리, DTO, Controller ID 수정
songu1 Dec 30, 2025
ce70b01
:recycle: Refactor: 카테고리 DTO, Adapter 및 REST Controller ID 수정
songu1 Dec 30, 2025
237afb1
:white_check_mark: Test: 카테고리 관련 전역 jpa 리포지토리 테스트 및 테스트 유틸리티/상수 수정
songu1 Dec 30, 2025
6edc391
:white_check_mark: Test: 카테고리 관련 게시글 도메인의 테스트 유틸리티 및 헬퍼 수정
songu1 Dec 30, 2025
9693bf0
:white_check_mark: Test: 카테고리id vo 테스트 코드 수정
songu1 Dec 30, 2025
b441f13
:white_check_mark: Test: 게시글 테스트 코드 수정
songu1 Dec 30, 2025
33f6067
MP-257 :sparkles: Feat: 전역적 엔티티 관련 예외구조 추가
ParkJunHee9327 Dec 30, 2025
6a91a08
MP-257 :sparkles: Feat: KernelErrorCode 추가
ParkJunHee9327 Dec 30, 2025
0e8e682
MP-257 :sparkles: Feat: KernelErrorCode의 code와 message 수정
ParkJunHee9327 Dec 30, 2025
9e95c38
MP-257 :sparkles: Feat: EntityErrorCode의 code와 message 수정
ParkJunHee9327 Dec 30, 2025
92f4330
MP-257 :sparkles: Feat: ExistsEntityException에 EntityName 추가
ParkJunHee9327 Jan 2, 2026
144357f
MP-257 :sparkles: Feat: 기반적인 커스텀 예외들 추가
ParkJunHee9327 Jan 2, 2026
20754f9
MP-257 :sparkles: Feat: GeneralErrorCode 추가
ParkJunHee9327 Jan 2, 2026
a649ba3
MP-257 :sparkles: Feat: GlobalExceptionHandler에 GeneralErrorCode 적용 및…
ParkJunHee9327 Jan 2, 2026
a024211
MP-257 :sparkles: Feat: GeneralErrorCode의 상수 값 변경
ParkJunHee9327 Jan 2, 2026
0a96737
MP-257 :sparkles: Feat: develop의 최신 사항 반영 (merge)
ParkJunHee9327 Jan 2, 2026
84fcb9f
MP-533 :sparkles: Feat: develop의 최신 사항 반영 (merge)
ParkJunHee9327 Jan 2, 2026
46398bc
MP-531 :sparkles: Feat: develop의 최신 사항 반영 (merge)
ParkJunHee9327 Jan 2, 2026
3a788de
MP-257 :sparkles: Feat: DataResponse에서 사용하지 않는 메서드 제거
ParkJunHee9327 Jan 2, 2026
ffa43ef
MP-257 :sparkles: Feat: SuccessCode의 이름 변경
ParkJunHee9327 Jan 2, 2026
0ac9a01
MP-257 :sparkles: Feat: 커스텀 HttpStatus에 대한 의존성 제거
ParkJunHee9327 Jan 2, 2026
3defede
MP-257 :sparkles: Feat: 모든 ErrorCode들에 있는 status의 자료형을 int로 변경
ParkJunHee9327 Jan 2, 2026
dbee599
MP-257 :fire: Remove: 커스텀 HttpStatus 삭제
ParkJunHee9327 Jan 2, 2026
050faf5
:recycle: Refactor: 카테고리 id 변경 관련 Flyway migration 파일 수정
songu1 Jan 3, 2026
9addf7a
MP-533 :bug: Fix: 댓글 경로를 검증하는 로직 수정
ParkJunHee9327 Jan 3, 2026
1b18805
Revert ":recycle: Refactor: 카테고리 id 변경 관련 Flyway migration 파일 수정"
songu1 Jan 4, 2026
6bf5f1d
:sparkles: Feat: 카테고리 id 변경 관련 Flyway migration 파일 추가
songu1 Jan 4, 2026
9a0321f
:recycle: Refactor: S3FileService 예외 처리 로직 추가
Reality-out Jan 4, 2026
8069fd0
:white_check_mark: Test: 게시글 관련 테스트 주석 처리
Reality-out Jan 4, 2026
abc1ba1
Merge branch 'develop' into refactor-category-id-strategy
Reality-out Jan 4, 2026
adcd1aa
:goal_net: Catch: PK 제약 조건 이름 B0.0.0과 동일하게 조정
Reality-out Jan 4, 2026
b2a3d5f
:goal_net: Catch: PK 제약 조건 이름 B0.0.0과 동일하게 조정
Reality-out Jan 4, 2026
1e44132
:goal_net: Catch: PK 제약 조건 이름 B0.0.0과 동일하게 조정
Reality-out Jan 4, 2026
5160d47
Merge branch 'refactor-category-id-strategy' of https://github.com/mo…
Reality-out Jan 4, 2026
af9db62
Merge branch 'main' of https://github.com/modusplant/backend into dev…
Reality-out Jan 4, 2026
90f9855
🔖 Release: v1.0.32 버전 릴리즈 (#227) (merge)
Reality-out Jan 4, 2026
8260e6d
Merge remote-tracking branch 'origin/develop' into develop
Reality-out Jan 4, 2026
1af7245
Merge branch 'main' of https://github.com/modusplant/backend into dev…
Reality-out Jan 4, 2026
e5323cb
Merge branch 'develop' into MP-533-refactor-communication-comment
Reality-out Jan 5, 2026
7f6f192
Merge branch 'main' of https://github.com/modusplant/backend into dev…
Reality-out Jan 5, 2026
cf8b33a
MP-531 :sparkles: Feat: AccountStateException 추가
ParkJunHee9327 Jan 8, 2026
604d070
MP-531 :sparkles: Feat: DefaultUserDetailsService에 AccountStateExcept…
ParkJunHee9327 Jan 8, 2026
afc45bc
MP-531 :bug: Fix: 로그인 실패 시 응답의 메시지가 ?로 표시되는 문제 수정
ParkJunHee9327 Jan 8, 2026
94a0d3f
MP-531 :sparkles: Feat: 로그인 API의 요청 값을 검증하는 로직에 커스텀 보안 예외 추가
ParkJunHee9327 Jan 8, 2026
39dceb8
MP-531 :sparkles: Feat: 게시글의 ID 값 변경 등 develop의 최신사항 반영 (merge)
ParkJunHee9327 Jan 8, 2026
643c870
MP-257 :sparkles: Feat: 게시글의 ID 값 변경 등 develop의 최신사항 반영 (merge)
ParkJunHee9327 Jan 8, 2026
a16c1b6
MP-257 :recycle: Refactor: ResponseCode의 이름을 ErrorCode로 변경
ParkJunHee9327 Jan 8, 2026
8416d12
MP-257 :sparkles: Feat: SuccessCode 추가, ErrorCode에서 isSuccess 메서드 삭제
ParkJunHee9327 Jan 8, 2026
b3899cf
MP-257 :sparkles: Feat: NotFoundEntityException에 Throwable의 생성자들 추가
ParkJunHee9327 Jan 8, 2026
a826721
MP-257 :rewind: Revert: NotFoundEntityException이 EntityErrorCode가 아닌 …
ParkJunHee9327 Jan 8, 2026
80859f8
MP-257 :sparkles: Feat: BusinessException에 getMessage() 오버라이딩
ParkJunHee9327 Jan 9, 2026
1a38b0d
MP-257 :sparkles: Feat: NotFoundEntityException에 entityName 필드 추가
ParkJunHee9327 Jan 9, 2026
ab57ed9
MP-257 :wrench: Chore: NotAccessibleException의 생성자에 있는 빈 줄 제거
ParkJunHee9327 Jan 9, 2026
16d7f6c
MP-257 :sparkles: Feat: ConflictStatusException 추가
ParkJunHee9327 Jan 9, 2026
80d4b27
MP-257 :rewind: Revert: ConflictStatusException 삭제
ParkJunHee9327 Jan 9, 2026
d90ab83
MP-257 :rewind: Revert: ExistsValueException 삭제
ParkJunHee9327 Jan 9, 2026
aa1e5c3
MP-257 :speech_balloon: Comment: 공유되는 예외들에 대한 JavaDoc 설명 추가
ParkJunHee9327 Jan 9, 2026
9c2065e
MP-257 :recycle: Refactor: GlobalExceptionHandler의 메서드에 동일한 값을 반환하는 i…
ParkJunHee9327 Jan 9, 2026
bd8f9e4
MP-257 :recycle: Refactor: ErrorCode의 코드에서 예외의 조건이 뒤에 위치한 상수의 code 변경
ParkJunHee9327 Jan 9, 2026
c760c7f
MP-257 :white_check_mark: Test: 커스텀 예외의 message 구조가 변경되어 실패하는 테스트들 수정
ParkJunHee9327 Jan 9, 2026
2563d98
MP-257 :truck: Rename: ExistedEntityException으로 재명명
Reality-out Jan 9, 2026
5f307df
MP-533 :sparkles: Feat: 사용자가 작성한 댓글을 가져오는 API의 page 입력값을 1 기반 인덱스로 변경
ParkJunHee9327 Jan 12, 2026
bedf53a
MP-531 :sparkles: Feat: 예외 구조의 리팩토링 등 develop의 최신사항 반영 (merge)
ParkJunHee9327 Jan 12, 2026
c619e68
MP-533 :speech_balloon: Comment: 사용자가 작성한 댓글을 가져오는 API의 page에 대한 주석 추가
ParkJunHee9327 Jan 12, 2026
898b77d
Merge branch 'main' of https://github.com/modusplant/backend into dev…
Reality-out Jan 12, 2026
899c5e0
MP-533 :speech_balloon: Comment: 예외 구조의 리팩토링 등 develop의 최신 사항 반영 (merge)
ParkJunHee9327 Jan 12, 2026
6889c31
Merge branch 'develop' into MP-531-refactor-normal-identity
Reality-out Jan 12, 2026
f07736b
Merge branch 'main' of https://github.com/modusplant/backend into dev…
Reality-out Jan 12, 2026
be7a23f
MP-234 :sparkles: Feat: 일반 로그인의 검증 로직 수정 등 develop의 최신 사항 반영 (merge)
ParkJunHee9327 Jan 12, 2026
545b1db
Merge branch 'main' of https://github.com/modusplant/backend into dev…
Reality-out Jan 13, 2026
39342e5
:recycle: Refactor: 회원 도메인 예외 구조 리팩토링
Reality-out Jan 13, 2026
a97f774
Merge branch 'main' of https://github.com/modusplant/backend into dev…
Reality-out Jan 14, 2026
0b6f558
:sparkles: Feat: S3Config에 S3Presigner 빈 추가
songu1 Jan 14, 2026
82a553a
:sparkles: Feat: S3FileService에 Presigned URL 생성 로직 추가
songu1 Jan 14, 2026
3e33ce5
:white_check_mark: Test: Presigned URL 관련 S3 클래스 테스트 코드 추가
songu1 Jan 14, 2026
461a643
:recycle: Refactor: S3FileService 코드 리팩토링
Reality-out Jan 12, 2026
104fc5e
Merge branch 'develop' into refactor-s3-url-to-presigned
Reality-out Jan 16, 2026
190c5e0
:recycle: Refactor: S3FileService 코드 리팩토링 (rebase)
Reality-out Jan 12, 2026
af94e10
Merge branch 'develop' of https://github.com/modusplant/backend into …
Reality-out Jan 16, 2026
7a5422a
:bug: Fix: S3FileService 머지 오류 해소
Reality-out Jan 16, 2026
2d6070e
:white_check_mark: Test: S3FileServiceTest 수정
Reality-out Jan 16, 2026
c1745f3
Merge branch 'main' of https://github.com/modusplant/backend into dev…
Reality-out Jan 16, 2026
11aa49c
MP-533 :bug: Fix: 회원이 작성한 댓글을 가져오는 API의 totalCommentsOfPost 집계 쿼리 수정
ParkJunHee9327 Jan 16, 2026
97d59cc
MP-533 :sparkles: Feat: AWS의 코드가 리팩토링된 사항 등 develop의 최신 사항 반영 (merge)
ParkJunHee9327 Jan 16, 2026
8b8f132
MP-533 :speech_balloon: Comment: 사용하지 않는 코드의 주석 삭제
ParkJunHee9327 Jan 19, 2026
301dfa5
:bug: Fix: PostRestController 파라미터 name 속성 추가
songu1 Jan 20, 2026
2e03d5c
MP-533 :sparkles: Feat: 게시글 컨트롤러에 name 속성이 추가된 사항 등 develop의 최신사항 반영 …
ParkJunHee9327 Jan 20, 2026
3be40d7
MP-593 :sparkles: Feat: test 단계 빌드속도 최적화
Kormap Jan 20, 2026
ba7bc45
:recycle: Refactor: 환경에 따라 show_sql 프로퍼티 값 설정
Reality-out Jan 27, 2026
6c50db1
:sparkles: Feat: 특정 게시글 조회 관련 framework 계층 로직 작성자 프로필 이미지 URL 추가
songu1 Jan 27, 2026
16a0376
:sparkles: Feat: 특정 게시글 조회 관련 adapter 계층 로직 작성자 프로필 이미지 URL 추가
songu1 Jan 27, 2026
4bdf7d7
:white_check_mark: Test: 특정 게시글 조회 관련 테스트 수정
songu1 Jan 27, 2026
01dab18
:bug: Fix: 게시글 작성자 프로필 이미지 미설정 시 NPE 발생 문제
songu1 Jan 27, 2026
435871d
MP-257 :sparkles: Feat: GlobalExceptionHandler에 ObjectOptimisticLock…
ParkJunHee9327 Jan 27, 2026
4c37a03
MP-257 :sparkles: Feat: 테스트 빌드 속도 최적화 등 develop의 최신 사항 반영 (merge)
ParkJunHee9327 Jan 27, 2026
b2bf22d
Merge branch 'main' of https://github.com/modusplant/backend into dev…
Reality-out Jan 28, 2026
ff7901f
Merge branch 'develop' of https://github.com/modusplant/backend into …
Reality-out Jan 28, 2026
56217b3
:white_check_mark: Test: 기존 데이터에 영향을 받지 않도록 테스트 수정
Reality-out Jan 28, 2026
bf10a18
Merge branch 'main' of https://github.com/modusplant/backend into dev…
Reality-out Jan 28, 2026
391f616
:sparkles: Feat: 특정 게시글 조회 관련 framework 계층 로직 작성자 프로필 이미지 URL 추가
songu1 Jan 27, 2026
f1a1c8c
:sparkles: Feat: 특정 게시글 조회 관련 adapter 계층 로직 작성자 프로필 이미지 URL 추가
songu1 Jan 27, 2026
459c48b
:white_check_mark: Test: 특정 게시글 조회 관련 테스트 수정
songu1 Jan 27, 2026
9f1e187
:bug: Fix: 게시글 작성자 프로필 이미지 미설정 시 NPE 발생 문제
songu1 Jan 27, 2026
b840671
:white_check_mark: Test: 기존 데이터에 영향을 받지 않도록 테스트 수정
Reality-out Jan 28, 2026
80a3f70
Merge branch 'develop' of https://github.com/modusplant/backend into …
Reality-out Jan 28, 2026
0dafe11
:bug: Fix: 특정 게시글 데이터 조회 시 이미지 full url 누락 부분 해결
songu1 Jan 28, 2026
d12766b
Merge branch 'develop' of https://github.com/modusplant/backend into …
songu1 Jan 28, 2026
c1cc1ea
Merge branch 'main' of https://github.com/modusplant/backend into dev…
Reality-out Jan 28, 2026
82c66e2
:recycle: Refactor: 댓글 작성자의 프로필 이미지에 대해서 완전한 URL을 보내도록 로직 수정
Reality-out Jan 28, 2026
a924641
Merge branch 'main' of https://github.com/modusplant/backend into dev…
Reality-out Jan 28, 2026
79829aa
MP-574 :recycle: Refactor: 환경별 HikariCP 프로퍼티 분리
Reality-out Jan 2, 2026
1a0ccce
MP-574 :recycle: Refactor: validation-timeout 값 수정
Reality-out Jan 15, 2026
8cee84f
MP-574 :recycle: Refactor: 프로덕션 환경에서의 커넥션 풀 크기 조정
Reality-out Jan 15, 2026
a33c13c
MP-574 :truck: Rename: DataSourceConfig 재명명
Reality-out Jan 15, 2026
7ef13bd
MP-574 :recycle: Refactor: connection-timeout 값 수정
Reality-out Jan 15, 2026
3ab3e14
MP-574 :sparkles: Feat: ThrottledDataSourceConfig 구성
Reality-out Jan 16, 2026
e9f0744
MP-574 :goal_net: Catch: 잘못 표기된 프로퍼티 값 수정
Reality-out Jan 26, 2026
18b1618
MP-574 :goal_net: Catch: 문제가 있는 ThrottledDataSource 로직 수정
Reality-out Jan 26, 2026
fefbb30
MP-574 :bug: Fix: 충돌 문제 해소
Reality-out Jan 27, 2026
f85ba33
MP-574 :sparkles: Feat: VirtualThreadUtils 도입
Reality-out Jan 27, 2026
a1f049e
MP-574 :recycle: Refactor: submit 메소드에 제네릭 적용
Reality-out Jan 27, 2026
12d9cf7
MP-574 :sparkles: Feat: VirtualThreadUtils에 submitAndGet 메소드 추가
Reality-out Jan 27, 2026
8ca3bb1
MP-574 :sparkles: Feat: Runnable을 위한 VirtualThreadUtils 메소드 추가
Reality-out Jan 28, 2026
18b3930
MP-574 :truck: Rename: 로깅 전용 AOP 위치 이동
Reality-out Jan 28, 2026
18579ab
MP-574 :sparkles: Feat: 애스팩트를 통한 가상 스레드 적용
Reality-out Jan 28, 2026
1913b87
Merge branch 'main' of https://github.com/modusplant/backend into dev…
Reality-out Jan 29, 2026
e310db8
:ambulance: HOTFIX! 가상 스레드 기능 비활성화
Reality-out Jan 29, 2026
d0d118f
:recycle: Refactor: 환경에 따른 Hibernate 로깅 관련 프로퍼티 수정
Reality-out Jan 29, 2026
d4c61d8
Merge branch 'main' of https://github.com/modusplant/backend into dev…
Reality-out Jan 29, 2026
6767e9e
:white_check_mark: Test: 로깅 관련 AOP 테스트의 위치를 올바르게 조정
Reality-out Jan 29, 2026
fa44571
:fire: Remove: 기존 가상 스레드 관련 로직 완전 제거
Reality-out Jan 29, 2026
164d6c5
:recycle: Refactor: 환경별 server.tomcat 프로퍼티 조정
Reality-out Jan 30, 2026
a933e67
Merge branch 'main' of https://github.com/modusplant/backend into dev…
Reality-out Jan 30, 2026
f07e5d0
:bug: Fix: 게시글 여러 번 수정 시 발생하는 낙관적 락 에러 해결
songu1 Jan 30, 2026
6db1dd4
:white_check_mark: Test: 게시글 수정 로직 변경에 따라 테스트 코드 수정
songu1 Jan 30, 2026
f8afa1d
Merge branch 'develop' of https://github.com/modusplant/backend into …
songu1 Jan 30, 2026
021124c
Merge branch 'main' of https://github.com/modusplant/backend into dev…
Reality-out Feb 1, 2026
f9fdc52
:bug: Fix: 프로메테우스 actuator URL 허용
Kormap Feb 1, 2026
c9acb58
:sparkles: Feat: DynamicErrorCode 추가
ParkJunHee9327 Feb 1, 2026
b075cc1
:sparkles: Feat: GlobalExceptionHandler에 발생한 예외가 지닌 메시지 값으로 에러 응답을 보내…
ParkJunHee9327 Feb 1, 2026
43c1c32
:truck: Rename: exception에 있는 supers 패키지의 위치 변경
ParkJunHee9327 Feb 1, 2026
23f5f75
:sparkles: Feat: 게시글의 낙관적인 락 에러 해결 등 develop의 최신 사항 반영 (merge)
ParkJunHee9327 Feb 1, 2026
7642af3
MP-533 :sparkles: Feat: 게시글의 낙관적인 락 에러 해결 등 develop의 최신 사항 반영 (merge)
Kormap Feb 1, 2026
007967d
Merge branch 'main' of https://github.com/modusplant/backend into dev…
Reality-out Feb 1, 2026
8d6702d
Merge branch 'develop' of https://github.com/modusplant/backend into …
Reality-out Feb 1, 2026
485038e
:bug: Fix: 모니터링 관련 환경설정 추가
Kormap Feb 1, 2026
cdf0e0f
Merge branch 'main' of https://github.com/modusplant/backend into dev…
Reality-out Feb 1, 2026
283978d
:recycle: Refactor: 회원 도메인에서 사용되는 @Transactional의 속성 수정
Reality-out Feb 2, 2026
bd3e503
Merge branch 'main' of https://github.com/modusplant/backend into dev…
Reality-out Feb 2, 2026
9707680
:sparkles: Feat: 게시글 추가/수정 시 카테고리 검증 추가
songu1 Feb 3, 2026
aadd3e5
:white_check_mark: Test: 게시글 추가/수정 시 카테고리 검증 테스트 구현
songu1 Feb 3, 2026
1cf0fe8
:sparkles: Feat: 게시글 추가/수정 시 작성자 검증 추가
songu1 Feb 3, 2026
9e0c813
Merge branch 'develop' of https://github.com/modusplant/backend into …
songu1 Feb 3, 2026
d82c4c1
:recycle: Refactor:InvalidValueException 수정
songu1 Feb 3, 2026
649e6cd
MP-533 :bug: Fix: 게시글에서 댓글을 표시할 때 댓글 작성자의 프로필이 아닌 게시글 작성자의 프로필을 표시하는 …
ParkJunHee9327 Feb 3, 2026
a790ecf
MP-533 :sparkles: Feat: 모니터링의 설정이 변경된 사항 등 develop의 최신 사항 반영
ParkJunHee9327 Feb 3, 2026
5884b59
Merge branch 'main' of https://github.com/modusplant/backend into dev…
Reality-out Feb 4, 2026
3130535
:art: Format: GlobalExceptionHandler에서 아래로 늘어졌던 메서드 연쇄의 줄을 줄임
ParkJunHee9327 Feb 4, 2026
f9e3f70
:sparkles: Feat: 일반 회원가입 시 닉네임의 중복 여부를 검사하는 API에서 닉네임의 형식이 맞지 않을 시 출력…
ParkJunHee9327 Feb 4, 2026
9fec36e
:sparkles: Feat: GlobalExceptionHandler에서 ConstraintViolationExceptio…
ParkJunHee9327 Feb 4, 2026
1a69080
:sparkles: Feat: 게시글 페이지에서 댓글의 프로필 정보가 잘못 표시되는 문제 수정 등 develop의 최신 사항 반영
ParkJunHee9327 Feb 4, 2026
4f4d489
:white_check_mark: Test: ConstraintViolationException을 처리하는 메서드에서 변경된…
ParkJunHee9327 Feb 4, 2026
373708c
Merge branch 'feature-post-category-validation' of https://github.com…
songu1 Feb 5, 2026
2f319bb
:recycle: Refactor: 게시글 예외 구조 변경
songu1 Feb 5, 2026
2d9243d
:recycle: Refactor: 게시글 예외 구조 변경에 따른 예외 사용 변경
songu1 Feb 5, 2026
45fa8ae
:white_check_mark: Test: 게시글 예외 구조 변경에 따른 테스트 예외 사용 변경
songu1 Feb 5, 2026
ae42cac
:recycle: Refactor: 소셜로그인 예외 구조 변경
songu1 Feb 5, 2026
d97dc4d
:recycle: Refactor: 소셜로그인 예외 구조 변경에 따른 예외 사용 변경
songu1 Feb 5, 2026
ed6133f
:white_check_mark: Test: 소셜로그인 예외 구조 변경에 따른 테스트 예외 사용 변경
songu1 Feb 5, 2026
643a533
:art: Format: GlobalExceptionHandler에서 아래로 늘어졌던 메서드 연쇄의 줄을 줄임
ParkJunHee9327 Feb 4, 2026
34a140a
:sparkles: Feat: 일반 회원가입 시 닉네임의 중복 여부를 검사하는 API에서 닉네임의 형식이 맞지 않을 시 출력…
ParkJunHee9327 Feb 4, 2026
4517a1b
:sparkles: Feat: GlobalExceptionHandler에서 ConstraintViolationExceptio…
ParkJunHee9327 Feb 4, 2026
b320c9c
MP-533 :bug: Fix: 게시글에서 댓글을 표시할 때 댓글 작성자의 프로필이 아닌 게시글 작성자의 프로필을 표시하는 …
ParkJunHee9327 Feb 3, 2026
5f8c919
:white_check_mark: Test: ConstraintViolationException을 처리하는 메서드에서 변경된…
ParkJunHee9327 Feb 4, 2026
23b01b3
Merge branch 'develop' of https://github.com/modusplant/backend into …
Reality-out Feb 5, 2026
c6ce6ea
:sparkles: Feat: 게시글 수정 시 기존 게시글 발행 상태 검증 로직 추가
songu1 Feb 5, 2026
f8bbc2e
:white_check_mark: Test: 게시글 수정 테스트에 publishedAt 추가
songu1 Feb 5, 2026
502fefb
:recycle: Refactor: System.out.println 코드 모두 제거
Reality-out Feb 5, 2026
7ce98b7
MP-533 :sparkles: Feat: 게시글에 등록된 댓글들을 오래된 순서대로 위에 배치하도록 수정
ParkJunHee9327 Feb 5, 2026
2d075be
:bug: Fix: NotFoundEntityException이 레거시 ErrorCode의 의존성을 받고 있던 문제 수정
ParkJunHee9327 Feb 5, 2026
7a1b13c
:sparkles: Feat: DataLengthException이 InvalidValueException을 상속받도록 함
ParkJunHee9327 Feb 5, 2026
c77e647
:sparkles: Feat: 엔터티 클래스 toString() 메서드 오버라이드
Reality-out Feb 5, 2026
81607e4
:white_check_mark: Test: 테스트에서 불필요한 모방 객체를 제거
Reality-out Feb 5, 2026
a630ace
:fire: Remove: EmptyEmailException 삭제
ParkJunHee9327 Feb 5, 2026
9d86064
:art: Format: GlobalExceptionHandler에서 아래로 늘어졌던 메서드 연쇄의 줄을 줄임
ParkJunHee9327 Feb 4, 2026
22d3908
:sparkles: Feat: 일반 회원가입 시 닉네임의 중복 여부를 검사하는 API에서 닉네임의 형식이 맞지 않을 시 출력…
ParkJunHee9327 Feb 4, 2026
9880711
:sparkles: Feat: GlobalExceptionHandler에서 ConstraintViolationExceptio…
ParkJunHee9327 Feb 4, 2026
5989b35
:white_check_mark: Test: ConstraintViolationException을 처리하는 메서드에서 변경된…
ParkJunHee9327 Feb 4, 2026
23613f1
:recycle: Refactor: System.out.println 코드 모두 제거
Reality-out Feb 5, 2026
66bc28e
:sparkles: Feat: 엔터티 클래스 toString() 메서드 오버라이드
Reality-out Feb 5, 2026
bdc6933
:white_check_mark: Test: 테스트에서 불필요한 모방 객체를 제거
Reality-out Feb 5, 2026
3d68efa
Merge branch 'develop' of https://github.com/modusplant/backend into …
Reality-out Feb 5, 2026
fc459a3
Merge branch 'develop' into fix-post-update-published-at
Reality-out Feb 5, 2026
daafc53
Merge branch 'develop' into MP-533-refactor-communication-comment
Reality-out Feb 5, 2026
734f7d7
:fire: Remove: EmptyNicknameException 삭제
ParkJunHee9327 Feb 5, 2026
6ad628e
Merge branch 'main' of https://github.com/modusplant/backend into dev…
Reality-out Feb 5, 2026
23bacc5
:sparkles: Feat: 게시글 수정 시 기존 게시글의 발행 상태를 검증하는 로직 등 develop의 최신 사항 반영
ParkJunHee9327 Feb 5, 2026
2f4fa1c
:fire: Remove: EmptyPasswordException 삭제
ParkJunHee9327 Feb 5, 2026
9c66441
:truck: Rename: ExistedEntityException의 이름을 ExistsEntityException으로 변경
ParkJunHee9327 Feb 6, 2026
b6227bf
:sparkles: Feat: ExistsEntityException와 NotFoundEntityException의 Enti…
ParkJunHee9327 Feb 6, 2026
70b1eb0
:fire: Remove: EntityExistsException 삭제
ParkJunHee9327 Feb 6, 2026
4d350e6
:fire: Remove: EntityName 삭제
ParkJunHee9327 Feb 6, 2026
6c2e268
:fire: Remove: EntityNotFoundException 삭제
ParkJunHee9327 Feb 6, 2026
df13c4d
:sparkles: Feat: InvalidValueException에 getter 추가
ParkJunHee9327 Feb 9, 2026
f4d7c44
:fire: Remove: InvalidDataException 삭제
ParkJunHee9327 Feb 9, 2026
aeb1bc0
:fire: Remove: InvalidEmailException 삭제
ParkJunHee9327 Feb 9, 2026
de78ea4
:fire: Remove: InvalidFormatException 삭제
ParkJunHee9327 Feb 9, 2026
31bd1ac
:fire: Remove: InvalidNicknameException 삭제
ParkJunHee9327 Feb 9, 2026
016928b
:art: Format: InvalidValueException의 생성자에서 빈 줄 제거
ParkJunHee9327 Feb 9, 2026
a6baa38
:fire: Remove: InvalidPasswordException 삭제
ParkJunHee9327 Feb 9, 2026
c7357e2
:sparkles: Feat: ErrorCode의 상수 중 일부를 도메인 별 상수 및 전역적인 상수로 대체
ParkJunHee9327 Feb 9, 2026
ca52036
:sparkles: Feat: ErrorCode의 상수 중 일반적인 에러를 나타내는 상수를 GeneralErrorCode로 대체
ParkJunHee9327 Feb 9, 2026
5ba9e48
:sparkles: Feat: ErrorCode의 상수 중 일부를 EntityErrorCode 등으로 대체
ParkJunHee9327 Feb 9, 2026
04c7728
:sparkles: Feat: ErrorCode의 상수 중 일부를 EntityErrorCode 등으로 대체
ParkJunHee9327 Feb 9, 2026
6e3764d
:sparkles: Feat: ErrorCode의 상수 중 일부를 EntityErrorCode 등으로 대체
ParkJunHee9327 Feb 9, 2026
97ff4e5
:sparkles: Feat: ErrorCode의 상수 중 일부를 EntityErrorCode 등으로 대체
ParkJunHee9327 Feb 9, 2026
3653707
:fire: Remove: ErrorCode enum 삭제
ParkJunHee9327 Feb 9, 2026
cb53b6e
:fire: Remove: DataLengthException 삭제
ParkJunHee9327 Feb 9, 2026
8589fed
:sparkles: Feat: ExistsValueException 추가
ParkJunHee9327 Feb 9, 2026
6c7b798
:fire: Remove: identity 패키지에 있는 예외들 삭제
ParkJunHee9327 Feb 9, 2026
8a0c427
Merge branch 'develop' into refactor-exception-structure
Reality-out Feb 10, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,13 @@
import io.jsonwebtoken.ExpiredJwtException;
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.security.Keys;
import kr.modusplant.domains.account.email.domain.exception.enums.EmailIdentityErrorCode;
import kr.modusplant.domains.account.email.usecase.request.EmailValidationRequest;
import kr.modusplant.infrastructure.jwt.enums.TokenScope;
import kr.modusplant.infrastructure.jwt.exception.InvalidTokenException;
import kr.modusplant.infrastructure.jwt.exception.TokenExpiredException;
import kr.modusplant.shared.exception.InvalidDataException;
import kr.modusplant.shared.exception.enums.ErrorCode;
import kr.modusplant.shared.exception.InvalidValueException;
import kr.modusplant.shared.kernel.enums.KernelErrorCode;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
Expand Down Expand Up @@ -76,10 +77,10 @@ public void validateAuthCodeAccessToken(EmailValidationRequest verifyEmailReques

// 인증코드, 이메일 일치 검증
if (!verifyCode.equals(payloadVerifyCode)) {
throw new InvalidDataException(ErrorCode.INVALID_EMAIL_VERIFY_CODE, "verifyCode");
throw new InvalidValueException(EmailIdentityErrorCode.INVALID_EMAIL_VERIFY_CODE, "verifyCode");
}
if (!email.equals(claims.get("email", String.class))) {
throw new InvalidDataException(ErrorCode.FORBIDDEN_EMAIL, "email");
throw new InvalidValueException(EmailIdentityErrorCode.FORBIDDEN_EMAIL, "email");
}
} catch (ExpiredJwtException e) {
throw new TokenExpiredException();
Expand Down Expand Up @@ -121,7 +122,7 @@ public void validateResetPasswordEmailAccessToken(String email, String jwtToken)

// 이메일 일치 검증
if (!email.equals(claims.get("email", String.class))) {
throw new InvalidDataException(ErrorCode.FORBIDDEN_EMAIL, "email");
throw new InvalidValueException(EmailIdentityErrorCode.FORBIDDEN_EMAIL, "email");
}
} catch (ExpiredJwtException e) {
throw new TokenExpiredException();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@
import kr.modusplant.domains.account.email.usecase.request.EmailValidationRequest;
import kr.modusplant.domains.account.email.usecase.request.InputValidationRequest;
import kr.modusplant.domains.account.normal.domain.exception.InvalidValueException;
import kr.modusplant.framework.jpa.exception.NotFoundEntityException;
import kr.modusplant.framework.redis.RedisHelper;
import kr.modusplant.framework.redis.RedisKeys;
import kr.modusplant.shared.exception.EntityNotFoundException;
import kr.modusplant.shared.kernel.Email;
import kr.modusplant.shared.kernel.Password;
import lombok.RequiredArgsConstructor;
Expand All @@ -23,7 +23,6 @@

import static kr.modusplant.framework.redis.RedisKeys.RESET_PASSWORD_PREFIX;
import static kr.modusplant.infrastructure.jwt.enums.TokenScope.RESET_PASSWORD_INPUT;
import static kr.modusplant.shared.exception.enums.ErrorCode.PASSWORD_RESET_EMAIL_VERIFY_FAIL;

@Slf4j
@RequiredArgsConstructor
Expand All @@ -49,7 +48,7 @@ public void sendResetPasswordEmail(EmailIdentityRequest request) {
String email = request.email();

if (!repository.existsByEmailAndProvider(Email.create(email))) {
throw new EntityNotFoundException(EmailIdentityErrorCode.MEMBER_NOT_FOUND_WITH_EMAIL, "email");
throw new NotFoundEntityException(EmailIdentityErrorCode.MEMBER_NOT_FOUND_WITH_EMAIL, "email");
}

UUID uuid = UUID.randomUUID();
Expand All @@ -69,7 +68,7 @@ public String verifyResetPasswordEmail(UUID uuid) {
String stringUuid = String.valueOf(uuid);
String redisKey = RedisKeys.generateRedisKey(RESET_PASSWORD_PREFIX, stringUuid);
String storedEmail = redisHelper.getString(redisKey)
.orElseThrow(() -> new InvalidValueException(PASSWORD_RESET_EMAIL_VERIFY_FAIL));
.orElseThrow(() -> new InvalidValueException(EmailIdentityErrorCode.INVALID_EMAIL_VERIFY_LINK));
return tokenHelper.generateResetPasswordAccessToken(storedEmail, stringUuid, RESET_PASSWORD_INPUT);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,11 @@
public enum EmailIdentityErrorCode implements ErrorCode {

NOT_SENDABLE_EMAIL(HttpStatus.INTERNAL_SERVER_ERROR.value(), "not_sendable_email", "서버에서 이메일을 보낼 수 없습니다"),
MEMBER_NOT_FOUND_WITH_EMAIL(HttpStatus.BAD_REQUEST.value(), "member_not_found_with_email", "해당 이메일을 가진 사용자가 존재하지 않습니다");
MEMBER_NOT_FOUND_WITH_EMAIL(HttpStatus.BAD_REQUEST.value(), "member_not_found_with_email", "해당 이메일을 가진 사용자가 존재하지 않습니다"),
FORBIDDEN_EMAIL(HttpStatus.FORBIDDEN.value(), "forbidden_email", "해당 이메일에 접근할 수 없습니다"),
INVALID_EMAIL_VERIFY_CODE(HttpStatus.FORBIDDEN.value(), "invalid_email_verify_code", "이메일의 검증 코드가 올바르지 않습니다"),
INVALID_EMAIL_VERIFY_LINK(HttpStatus.BAD_REQUEST.value(), "invalid_email_verify_link","유효하지 않거나 만료된 링크입니다")
;

private final int httpStatus;
private final String code;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
package kr.modusplant.domains.account.email.domain.vo;

import kr.modusplant.shared.exception.EmptyEmailException;
import kr.modusplant.shared.exception.InvalidEmailException;
import kr.modusplant.shared.exception.EmptyValueException;
import kr.modusplant.shared.exception.InvalidValueException;
import kr.modusplant.shared.kernel.enums.KernelErrorCode;
import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Getter;
Expand All @@ -17,9 +18,9 @@ public class MailjetEmail {

public static MailjetEmail create(String email) {
if (email == null || email.isBlank()) {
throw new EmptyEmailException();
throw new EmptyValueException(KernelErrorCode.EMPTY_EMAIL, "email");
} else if (!PATTERN_EMAIL.matcher(email).matches()) {
throw new InvalidEmailException();
throw new InvalidValueException(KernelErrorCode.INVALID_EMAIL_FORMAT, "email");
}
return new MailjetEmail(email);
}
Expand Down

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -9,19 +9,22 @@
import kr.modusplant.domains.account.normal.usecase.request.NormalSignUpRequest;
import kr.modusplant.domains.account.normal.usecase.request.PasswordModificationRequest;
import kr.modusplant.domains.account.shared.kernel.AccountId;
import kr.modusplant.shared.exception.EntityNotFoundException;
import kr.modusplant.shared.exception.InvalidDataException;
import kr.modusplant.shared.exception.enums.ErrorCode;
import kr.modusplant.framework.jpa.exception.NotFoundEntityException;
import kr.modusplant.framework.jpa.exception.enums.EntityErrorCode;
import kr.modusplant.shared.exception.InvalidValueException;
import kr.modusplant.shared.kernel.Email;
import kr.modusplant.shared.kernel.Nickname;
import kr.modusplant.shared.kernel.Password;
import kr.modusplant.shared.kernel.enums.KernelErrorCode;
import kr.modusplant.shared.persistence.constant.TableName;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.stereotype.Service;

import java.util.UUID;

import static kr.modusplant.framework.jpa.exception.enums.EntityErrorCode.EXISTS_MEMBER;

@Service
public class NormalIdentityController {

Expand All @@ -46,27 +49,27 @@ public NormalIdentityController(NormalIdentityMapper mapper,

public void registerNormalMember(NormalSignUpRequest request) {
if(readRepository.existsByEmail(Email.create(request.email()))) {
throw new DataAlreadyExistsException(ErrorCode.MEMBER_EXISTS);
throw new DataAlreadyExistsException(EXISTS_MEMBER);
} else if(readRepository.existsByNickname(Nickname.create(request.nickname()))) {
throw new DataAlreadyExistsException(ErrorCode.NICKNAME_EXISTS);
throw new DataAlreadyExistsException(KernelErrorCode.EXISTS_NICKNAME);
} else {
createRepository.save(mapper.toSignUpData(request));
}
}

public void modifyEmail(UUID memberActiveUuid, EmailModificationRequest request) {
if(!readRepository.existsByEmail(Email.create(request.currentEmail()))) {
throw new EntityNotFoundException(ErrorCode.MEMBER_NOT_FOUND, TableName.SITE_MEMBER_AUTH);
throw new NotFoundEntityException(EntityErrorCode.NOT_FOUND_MEMBER, TableName.SITE_MEMBER_AUTH);
} else {
updateRepository.updateEmail(AccountId.create(memberActiveUuid), Email.create(request.newEmail()));
}
}

public void modifyPassword(UUID memberActiveUuid, PasswordModificationRequest request) {
if(!readRepository.existsByMemberId(AccountId.create(memberActiveUuid))) {
throw new EntityNotFoundException(ErrorCode.MEMBER_NOT_FOUND, TableName.SITE_MEMBER_AUTH);
throw new NotFoundEntityException(EntityErrorCode.NOT_FOUND_MEMBER, TableName.SITE_MEMBER_AUTH);
} else if(!isPasswordsMatch(AccountId.create(memberActiveUuid), Password.create(request.currentPw()))) {
throw new InvalidDataException(ErrorCode.INVALID_PASSWORD, request.currentPw());
throw new InvalidValueException(KernelErrorCode.INVALID_PASSWORD_FORMAT, request.currentPw());
} else {
updateRepository.updatePassword(AccountId.create(memberActiveUuid), Password.create(request.newPw()));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,10 @@ public enum SocialIdentityErrorCode implements ErrorCode {
EMPTY_PROVIDER(HttpStatus.BAD_REQUEST.value(), "empty_provider", "제공자가 비어 있습니다. "),
INVALID_PROVIDER(HttpStatus.BAD_REQUEST.value(), "invalid_provider", "제공자가 유효하지 않습니다. "),
EMPTY_PROVIDER_ID(HttpStatus.BAD_REQUEST.value(), "empty_provider_id", "제공자 id가 비어 있습니다. "),
INVALID_PROVIDER_ID(HttpStatus.BAD_REQUEST.value(), "invalid_provider_id", "제공자 id가 유효하지 않습니다. ");
INVALID_PROVIDER_ID(HttpStatus.BAD_REQUEST.value(), "invalid_provider_id", "제공자 id가 유효하지 않습니다. "),
UNSUPPORTED_SOCIAL_PROVIDER(HttpStatus.FORBIDDEN.value(), "unsupported_social_provider", "지원되지 않는 소셜 로그인 방식입니다"),
GOOGLE_LOGIN_FAIL(HttpStatus.INTERNAL_SERVER_ERROR.value(), "google_login_fail", "구글 로그인 요청에 실패했습니다"),
KAKAO_LOGIN_FAIL(HttpStatus.INTERNAL_SERVER_ERROR.value(), "kakao_login_fail","카카오 로그인 요청에 실패했습니다");

private final int httpStatus;
private final String code;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package kr.modusplant.domains.account.social.framework.out.client;

import kr.modusplant.domains.account.social.domain.exception.enums.SocialIdentityErrorCode;
import kr.modusplant.domains.account.social.framework.out.client.dto.GoogleUserInfo;
import kr.modusplant.domains.account.social.framework.out.exception.OAuthRequestFailException;
import kr.modusplant.domains.account.social.usecase.port.client.SocialAuthClient;
import kr.modusplant.shared.exception.enums.ErrorCode;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpHeaders;
Expand Down Expand Up @@ -50,7 +50,7 @@ public String getAccessToken(String code) {
.body(formData)
.retrieve()
.onStatus(this::isErrorStatus, (request, response) -> {
throw new OAuthRequestFailException(ErrorCode.GOOGLE_LOGIN_FAIL, "google");
throw new OAuthRequestFailException(SocialIdentityErrorCode.GOOGLE_LOGIN_FAIL, "google");
})
.body(Map.class)
.get("access_token").toString();
Expand All @@ -67,7 +67,7 @@ public GoogleUserInfo getUserInfo(String accessToken) {
.uri("/userinfo/v2/me")
.retrieve()
.onStatus(this::isErrorStatus, (request, response) -> {
throw new OAuthRequestFailException(ErrorCode.GOOGLE_LOGIN_FAIL, "google");
throw new OAuthRequestFailException(SocialIdentityErrorCode.GOOGLE_LOGIN_FAIL, "google");
})
.body(GoogleUserInfo.class);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package kr.modusplant.domains.account.social.framework.out.client;

import kr.modusplant.domains.account.social.domain.exception.enums.SocialIdentityErrorCode;
import kr.modusplant.domains.account.social.framework.out.client.dto.KakaoUserInfo;
import kr.modusplant.domains.account.social.framework.out.exception.OAuthRequestFailException;
import kr.modusplant.domains.account.social.usecase.port.client.SocialAuthClient;
import kr.modusplant.shared.exception.enums.ErrorCode;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpHeaders;
Expand Down Expand Up @@ -47,7 +47,7 @@ public String getAccessToken(String code) {
.body(formData)
.retrieve()
.onStatus(this::isErrorStatus, (request, response) -> {
throw new OAuthRequestFailException(ErrorCode.KAKAO_LOGIN_FAIL, "kakao");
throw new OAuthRequestFailException(SocialIdentityErrorCode.KAKAO_LOGIN_FAIL, "kakao");
})
.body(Map.class)
.get("access_token").toString();
Expand All @@ -64,7 +64,7 @@ public KakaoUserInfo getUserInfo(String accessToken) {
.uri("/v2/user/me")
.retrieve()
.onStatus(this::isErrorStatus, (request, response) -> {
throw new OAuthRequestFailException(ErrorCode.KAKAO_LOGIN_FAIL, "kakao");
throw new OAuthRequestFailException(SocialIdentityErrorCode.KAKAO_LOGIN_FAIL, "kakao");
})
.body(KakaoUserInfo.class);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package kr.modusplant.domains.account.social.framework.out.exception;

import kr.modusplant.shared.exception.BusinessException;
import kr.modusplant.shared.exception.enums.ErrorCode;
import kr.modusplant.shared.exception.supers.ErrorCode;
import lombok.Getter;

@Getter
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package kr.modusplant.domains.account.social.framework.out.exception;

import kr.modusplant.domains.account.social.domain.exception.enums.SocialIdentityErrorCode;
import kr.modusplant.shared.exception.BusinessException;
import kr.modusplant.shared.exception.enums.ErrorCode;

public class UnsupportedSocialProviderException extends BusinessException {
public UnsupportedSocialProviderException() {
super(ErrorCode.UNSUPPORTED_SOCIAL_PROVIDER);
super(SocialIdentityErrorCode.UNSUPPORTED_SOCIAL_PROVIDER);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,12 @@
import kr.modusplant.framework.jpa.entity.SiteMemberAuthEntity;
import kr.modusplant.framework.jpa.entity.SiteMemberEntity;
import kr.modusplant.framework.jpa.entity.SiteMemberRoleEntity;
import kr.modusplant.framework.jpa.exception.NotFoundEntityException;
import kr.modusplant.framework.jpa.exception.enums.EntityErrorCode;
import kr.modusplant.framework.jpa.repository.SiteMemberAuthJpaRepository;
import kr.modusplant.framework.jpa.repository.SiteMemberJpaRepository;
import kr.modusplant.framework.jpa.repository.SiteMemberRoleJpaRepository;
import kr.modusplant.infrastructure.security.enums.Role;
import kr.modusplant.shared.exception.EntityNotFoundException;
import kr.modusplant.shared.exception.enums.ErrorCode;
import kr.modusplant.shared.persistence.constant.TableName;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Repository;
Expand All @@ -39,10 +39,10 @@ public Optional<AccountId> getMemberIdBySocialCredentials(SocialCredentials soci
@Override
public SocialAccountPayload getUserPayloadByMemberId(AccountId accountId) {
SiteMemberEntity memberEntity = memberJpaRepository.findByUuid(accountId.getValue())
.orElseThrow(() -> new EntityNotFoundException(ErrorCode.MEMBER_NOT_FOUND, TableName.SITE_MEMBER));
.orElseThrow(() -> new NotFoundEntityException(EntityErrorCode.NOT_FOUND_MEMBER, TableName.SITE_MEMBER));
SiteMemberAuthEntity memberAuthEntity = memberAuthJpaRepository.findByActiveMember(memberEntity).getFirst();
SiteMemberRoleEntity memberRoleEntity = memberRoleJpaRepository.findByMember(memberEntity)
.orElseThrow(() -> new EntityNotFoundException(ErrorCode.MEMBER_ROLE_NOT_FOUND, TableName.SITE_MEMBER_ROLE));
.orElseThrow(() -> new NotFoundEntityException(EntityErrorCode.NOT_FOUND_MEMBER_ROLE, TableName.SITE_MEMBER_ROLE));
return socialIdentityJpaMapper.toUserPayload(memberEntity,memberAuthEntity,memberRoleEntity);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,11 @@
import kr.modusplant.domains.comment.usecase.response.CommentOfPostResponse;
import kr.modusplant.domains.comment.usecase.response.CommentPageResponse;
import kr.modusplant.domains.member.domain.vo.MemberId;
import kr.modusplant.framework.jpa.exception.NotFoundEntityException;
import kr.modusplant.framework.jpa.exception.enums.EntityErrorCode;
import kr.modusplant.framework.jpa.repository.CommPostJpaRepository;
import kr.modusplant.framework.jpa.repository.SiteMemberJpaRepository;
import kr.modusplant.infrastructure.swear.service.SwearService;
import kr.modusplant.shared.exception.EntityNotFoundException;
import kr.modusplant.shared.exception.enums.ErrorCode;
import kr.modusplant.shared.persistence.compositekey.CommCommentId;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
Expand Down Expand Up @@ -58,7 +58,7 @@ public CommentCacheData getCacheData(UUID memberUuid, String ifNoneMatch, String

public List<CommentOfPostResponse> gatherByPost(String postUlid) {
if(!postJpaRepository.existsByUlid(postUlid)) {
throw new EntityNotFoundException(ErrorCode.POST_NOT_FOUND, "post");
throw new NotFoundEntityException(EntityErrorCode.NOT_FOUND_POST, "post");
}

return jooqRepository.findByPost(PostId.create(postUlid))
Expand All @@ -68,7 +68,7 @@ public List<CommentOfPostResponse> gatherByPost(String postUlid) {

public CommentPageResponse<CommentOfAuthorPageModel> gatherByAuthor(UUID memberUuid, Pageable pageable) {
if(!memberJpaRepository.existsById(memberUuid)) {
throw new EntityNotFoundException(ErrorCode.MEMBER_NOT_FOUND, "member");
throw new NotFoundEntityException(EntityErrorCode.NOT_FOUND_MEMBER, "member");
}
PageImpl<CommentOfAuthorPageModel> result = jooqRepository.findByAuthor(Author.create(memberUuid), pageable);

Expand Down
Loading