Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* chore: 프로젝트 세팅 (#2) * chore: .editorconfig 추가 * chore: codeowners 추가 * docs: 이슈 템플릿 추가 * docs: PR 템플릿 추가 * refactor: 대소문자 수정 * refactor: class명 대소문자 수정 * test: health check * docs: PR 템플릿 수정 * chore: checkstyle plugin 적용 * chore: develop Branch Pull Request Workflow 적용 * chore: application.properties를 .yml로 변경 --------- Co-authored-by: uwoobeat <[email protected]> Co-authored-by: ybchar <[email protected]> * chore: gradle build action 및 lifecycle 추가 (#4) * refactor: gradle build action 및 lifecycle 추가 * refactor: build.gradle test 의존성 삭제 * chore: CI/CD 워크플로우 생성 (#18) * chore: Dockerfile 생성 Co-authored-by: uiurihappy <[email protected]> Co-authored-by: uwoobeat <[email protected]> * chore: plain jar 생성 안되도록 설정 Co-authored-by: uiurihappy <[email protected]> Co-authored-by: uwoobeat <[email protected]> * chore: CI/CD workflow 작성 Co-authored-by: uiurihappy <[email protected]> Co-authored-by: uwoobeat <[email protected]> * fix: cicd전용 계정 생성하여 password 필드 제거 Co-authored-by: uiurihappy <[email protected]> Co-authored-by: uwoobeat <[email protected]> --------- Co-authored-by: uiurihappy <[email protected]> Co-authored-by: uwoobeat <[email protected]> * fix: CI/CD 접속 전용 계정 적용 (#21) * fix: ssh 접속 계정명 변경과 패스워드 필드 제거 * fix: docker 명령어에 registry 값 추가 * fix: CI/CD outputs 변수명 변경 (#23) * fix: CI/CD outputs 변수명 변경 * remove: on pullrequest 제거 * feat: 커스텀 예외 및 에러 코드/응답 구현 (#19) * feat: 에러 코드 구현 * feat: 커스텀 예외 구현 * feat: 예외 응답 구현 * chore: 스프링부트 액추에이터 설정 (#29) * fix: 테스트 파일 이름 수정 * chore: 액추에이터 의존성 추가 * chore: 액추에이터 보안 관련 설정 * chore: Swagger 설정 (#26) * chore: Swagger 기본 설정 * chore: Swagger 객체 파싱 직렬화 * chore: swagger Server url 추가 * refactor: 코드 포메팅 도구 CheckStyle을 Spotless로 변경한다 (#25) * remove: checkstyle 제거 * chore: spotless 플러그인 추가하고 설정 * style: spotless * chore: git pre-commit spotless check script 생성 * style: 주석 추가 * style: spotless * style: spotless * fix: pre-commit script 파일 생성, gradle copy task 생성 * style: 주석 제거 * chore: jacoco 기본 세팅 (#28) * chore: jacoco 기본 설정 * chore: jacoco 커버리지 임시 주석 * chore: jacoco excludes constant화 및 buildDir 수정 * chore: checkstyle remove * chore: docker compose 적용 (#31) * chore: 워크플로 테스트 트리거 추가 * chore: 서버로 컴포즈 파일을 전송하는 스텝 추가 * chore: 빌드 시 자바 이미지 eclipse-temurin으로 변경 * chore: 컴포즈 파일 작성 * chore: 컴포즈 파일에 사용할 환경변수 설정 * chore: 시크릿을 사용하도록 변경 * fix: 권한 문제 수정 * chore: 도커 컴포즈를 실행하도록 변경 * fix: scp action의 버전을 고정하도록 변경 * fix: 오타 수정 * fix: 유저네임 변경 * fix: 쉘에서 환경변수 전달하도록 수정 * fix: 사용할 환경변수 지정 * chore: 도커 미사용 리소스 삭제 명령어 추가 * fix: 이미지만 삭제하도록 수정 * fix: 환경변수 수정 * chore: 호스트 모드 사용 시 포트 바인딩 옵션 제거 * chore: 컴포즈가 전역 컨텍스트의 환경변수를 직접 참조하도록 수정 테스트 * fix: 주석 수정 * Revert "fix: 주석 수정" This reverts commit 0e8f426. * Revert "chore: 컴포즈가 전역 컨텍스트의 환경변수를 직접 참조하도록 수정 테스트" This reverts commit b910404. * docs: 주석 추가 * chore: 주석 처리한 명령어 제거 * chore: 워크플로 테스트 트리거 롤백 * chore: 배포 전용 워크플로에 변경사항 적용 * chore: 프로젝트 패키지 구성 (#30) * chore: 프로젝트 패키지 구성 * rename: 패키지명 오타 수정 * rename: repository -> dao로 패키지명 변경 * chore: 성공 응답 공통 처리 어드바이스 생성 (#34) * chore: 성공 응답 공통 처리 어드바이스 생성 * remove: Getter 제거 * chore: Gradle Build Scan 활성화 및 슬랙 전송 워크플로 추가 (#37) * chore: 빌드 스캔 활성화 * chore: 워크플로 테스트 * chore: CI 환경변수 테스트 제거 * chore: 슬랙 전송 워크플로 작성 * chore: 슬랙 전송 스텝을 빌드 잡으로 통합 * chore: 테스트 트리거 및 문자열 제거 * chore: 프로젝트에 PR 추가 후 status를 '처리대기'로 변경하는 워크플로우 추가 (#6) * chore: PR 추가 후 status를 변경하는 워크플로우 추가 * fix: 스크립트 줄바꿈 제거 * chore: 이슈 및 PR 템플릿 수정 (#42) * style: 개행 제거 * docs: PR 템플릿 수정 * style: 개행 제거 * chore: sonarcloud setting (#38) * chore: lifeCycle remove 1 * chore: Sonar test * chore: PR close 시 merged 라벨 추가 및 기존 워크플로 픽스 (#43) * chore: 워크플로 이름 수정 * refactor: 파일명 변경 * chore: PR이 closed 될 때 merged 라벨 추가하는 워크플로 작성 * chore: 테스트용 트리거 추가 * chore: 권한 설정 변경 * chore: 테스트 트리거 재설정 * chore: 테스트 트리거 롤백 * chore: 프로젝트 워크플로 테스트 트리거 활성화 * �chore: 코드 정적 분석 SonarCloud 설정 (#38) * �chore: 코드 정적 분석 SonarCloud 설정 (#38) * chore: pending 워크플로우의 쿼리 수정 * fix: pending 상태 id 값 직접 삽입 * fix: 쿼리 전 인자값을 미리 선언하도록 지정 * chore: 테스트 트리거 롤백 * chore: 잡 이름 변경 * chore: 워크플로 이름 변경 --------- Co-authored-by: yb__char <[email protected]> Co-authored-by: ybchar <[email protected]> * feat: BaseTimeEntity 생성 (#49) * feat: BaseTimeEntity 생성 * feat: jacoco exclusions 수정 * feat: jacoco QType exclusions 추가 * feat: BaseTime exclusions Test * feat: Entity exclusions Test * chore: 워크플로에서 `set-output` 커맨드 제거 (#47) * chore: 테스트 트리거 활성화 * chore: set-output 대신 github env를 사용하도록 개선 * chore: 환경변수 이름 변경 * chore: 테스트 명령어 추가 * chore: 환경변수 출력 테스트 * chore: 환경변수를 전역 컨텍스트로 선언 * chore: 전역 환경변수가 미리 평가되도록 변경 * chore: 환경변수를 잡의 아웃풋으로 전달하도록 수정 * fix: 신택스 오류 수정 * fix: 같은 잡 내에서는 스텝 아웃풋 사용하도록 수정 * chore: NCP 유저네임 시크릿 처리 * chore: 테스트 스크립트 제거 * chore: 테스트 트리거 롤백 * chore: NCP 유저네임 시크릿 처리 * fix: error 패키지 sonarcloud 테스트 제외 (#58) * fix: error 패키지 sonarcloud 테스트 제외 * fix: lombok.config로 lombok annotation scope exclusions * fix: Error 파일명 sonarcloud 테스트 제외 * fix: config 경로 sonarcloud 테스트 제외 * feat: 회원 도메인 및 시큐리티 유틸리티 구현 (#56) * refactor: 도메인 이름을 user에서 member로 변경 * feat: 회원 도메인 구현 * test: 회원 테스트 작성 * refactor: `.gitkeep` 삭제 * chore: 시큐리티 의존성 추가 * feat: 시큐리티 설정 추가 * fix: 전역 응답객체와 호환되기 위해 String에서 임시 응답객체로 변경 * feat: 멤버 레포지터리 추가 * feat: 임시 UserDetail 추가 * refactor: 시큐리티 패키지로 이동 * feat: PrincipalDetails 구현 * fix: 에러코드 생성자 수정 * feat: 멤버 레포지터리 추가 * style: 포매팅 적용 * feat: 시큐리티 유틸리티 구현 * feat: 멤버 유틸리티 구현 * refactor: gitkeep 삭제 * feat: 에러코드 추가 * fix: 미수정 코드 제거 * test: 멤버 유틸리티 테스트 추가 * style: 포매팅 적용 * fix: 오타 수정 * test: 임시 회원 삽입 테스트 * style: 포매팅 수정 * refactor: gitkeep 삭제 * refactor: 빌더를 사용하도록 변경 * fix: 빌더 접근제어 설정 추가 * refactor: 기본 생성자 접근제어 수정 * docs: TODO 추가 * style: 포매팅 수정 * docs: 주석 수정 * feat: SpringEnvironmentHelper 생성 (#45) * feat: SpringEnvironmentHelper 생성 * test: SpringEnvironmentHelper 테스트코드 추가 * rename: Util로 클래스명 변경 * fix: 문자열 상수 public static으로 변경 * refactor: SpringEnvironmentUtil 로직 Stream으로 개선 * style: spotless * refactor: 운영환경에 따라 허용되는 도메인 달라지도록 개선 * fix: 문자열 상수 public static final로 변경 * test: DisplayName 어노테이션 제거 * fix: cors origin pattern vite port 삭제 * refactor: SpringEnvironmentUtilTest 문자열 배열 상수로 관리 * style: spotless * refactor: WebSecurityConfig에 RequiredArgsConstructor 어노테이션 사용 * style: spotless * fix: GlobalResponseAdvice 응답 값이 String 타입 예외 처리 (#59) * fix: Swagger가 안뜨는 문제 해결 (#68) * feat: Querydsl 환경 구성 추가 (#64) * feat: querydsl 환경 * feat: Member Profile record compile 이슈로 class로 변경 * fix: spotlessApply * fix: Profile NoArgsConstructor Access Level remove * feat: build.gradle Querydsl 설정 * fix: DS_Stroe -> DS_Store 수정 * fix: Querydsl 설정 삭제 * fix: ignore main/generated 경로 추가 * feat: 미션, 미션 기록 도메인 생성 (#60) * feat: mission domain 추가 * feat: mission repository 추가 및 spotless 적용 * feat: missionRecord domain 추가 * feat: mission DomainTest 작성 * fix: Mission DomainTest 수정 * fix: Comment Annotation 활용 및 Spotless Apply * fix: Spotless Apply * fix: sonar --no-daemon test * fix: mission 도메인 수정 반영 * fix: spotlessApply * feat: MissionVisibility 값 추가 * fix: spotlessApply * fix: 도메인 테스트 MissionVisibility 수정 * feat: Mission Sort 값 파라미터 전달로 수정 * feat: Mission Sort 값 파라미터 전달로 수정 * fix: spotlessApply * feat: service gitkeep * feat: sonar New Code Test * feat: sonar New Code Test * feat: sonar New Code Test * feat: sonar New Code Test * feat: sonar BuildDir test * fix: set_pending 주석 * fix: set_pending 주석 해제 * fix: sonar down * fix: sonar up * fix: sonar down * fix: sonar up * fix: set-pending test * feat: mission Domain 추가 사항 적용 * feat: 미션, 미션 기록 수정사항 반영 * feat: 미션, 미션 기록 column 수정 * fix: spotlessApply * fix: mission 도메인 column 수정 반영 * fix: spotlessApply * fix: mission 도메인 column 수정 반영 * fix: 엔티티 column 순서 변경 * fix: mission content nullable true * chore: Global Exception Handler 설정 (#63) * chore: Global Exception Handler 설정 * fix: Override 추가와 BindException 제거 * style: spotless * style: 주석제거 * chore: 공통 상수 Enum으로 관리 (#71) * chore: 공통 상수 enum 생성 * refactor: 공통 상수 값 사용하도록 변경 * refactor: 공통 상수 관심사에 맞도록 분리 * chore: `application.yml` 환경별 분리 (#72) * chore: application yml 환경별로 분리 * chore: datasource MySQL 방언 제거 * style: spotless * style: spotless * remove: actuator 환경변수 제거 * feat: 파일에 env_file 사용하도록 명시 * chore: develop_deploy.yml 에서 커밋해쉬 사용하도록 수정 (#79) chore: develop deploy actions에서 커밋해쉬 사용하도록 수정 * chore: develop_deploy.yml needs 삭제 (#81) chore: develop deploy actions에서 사용하지 않는 needs 제거 * fix: Swagger에 Server 리스트 안보이는 문제해결 (#70) * fix: Swagger에 Server 리스트 안보이는 문제해결 * style: spotless * refactor: SpringEnvironmentUtil 사용하는 부분 공통상수 처리 * feat: 테스트 코드 격리 (#84) * feat: 테스트 코드 격리 * fix: 중복 gradle 수정 * fix: guava 의존성 해제 * fix: guava 원복 * fix: DatabaseCleaner Service -> Component * fix: unwrap 이슈로 해결 및 guava 의존성 해제 * feat: Swagger 접근 거부 문제와 스웨거 보안 기능 추가 (#82) * feat: SwaggerUrl 상수 추가 * feat: Swagger 접근 거부 문제와 스웨거 보안 기능 추가 * refactor: Swagger 문서 GET만 허용 * style: spotless * feat: 미션 서비스 로직 구현 (1차) (#77) * feat: 미션 생성, 리스트 조회 로직 구현 * feat: 미션 단건 조회, 수정, 삭제 1차 구현 * feat: Controller 인터페이스 분리 * feat: 미션 서비스 테스트 코드 생성, 조회 구현 * feat: 미션 리스트 lastId where 조건 추가 * fix: spotlessApply * fix: 미션 서비스 테스트 수정 * fix: h2 option remove * fix: 미션 리스트 수정 * feat: 미션 수정, 삭제 서비스 테스트 코드 작성 * fix: 미션 response Dto 수정 * feat: 미션 read response 수정 및 SecurityUtil 삭제 * fix: spotlessApply * fix: Dto class -> record 변경 * feat: Slf4j 삭제 * fix: spotlessApply * fix: lombok gradle 수정 * fix: 미션 생성 실패 검증 exception 수정 * fix: MissionController 수정사항 반영 * feat: MissionService Test DatabaseCleaner 추가 * fix: spotlessApply * fix: 메서드 네이밍 변경 및 missionFindAll 파라미터 변경 * fix: serviceTestCode 메서드 네이밍 변경 * chore: MissionResponse -> MissionFindRepsonse * chore: MissionRequest DTO 네이밍 변경 * chore: MissionRequest DTO defaultValue 추가 * fix: spotlessApply * feat: 미션 service Nagative Test 코드 추가 * feat: 미션 삭제 실패 case 수정 * fix: missionController api 패키지로 변경 * fix: missionController api 패키지로 변경 * fix: Request Dto defaultValue 수정 * fix: createMissionService member 변수 분리 * fix: CustomException으로 변경 * fix: requestBody 추가 * fix: member 변수 분리 * fix: spotlessApply * fix: serviceTest null exception 수정 * feat: 미션 생성 수정 responseDTO 추가 및 수정 * feat: 미션 조회 인증 필요 status 필드 추가 * feat: 미션 enum 타입 재정의 * fix: spotlessApply * fix: modify -> update 메서드 명 변경 * fix: createMissionService member 변수 분리 수정 * chore: 미션 service 테스트 코드 메서드 명 수정 * fix: 미션 생성 201 응답 변경 * fix: 미션 리스트 조회 RequestParam size로 수정 * fix: 미션 리스트 조회 테스트 코드 RequestParam size로 수정 * refactor: 리뷰 반영 * fix: spotlessApply * feat: Repository 테스트 코드 추가 * fix: ResponseDto from 정적 팩토리 메서드 추가 * feat: TestQuerydslConfig 추가 및 Repository 테스트 수정 * fix: ArchiveStatus REQUIRED 삭제 * fix: createMission Service return/response 분리 * fix: 정적 팩토리 메서드 수정 * fix: WebEnvironment default로 수정 * fix: MemberUtilTest에 DatabaseCleaner 적용 (#90) * fix: MemberUtilTest에 DatabaseCleaner 적용 * style: spotless * chore: Redis 설정 (#88) * chore: starter-data-redis 의존성 추가 * chore: redis config 추가 * chore: redis.yml 생성 * fix: redis yml deprecated 되어 config Value값 변경 * test: ActiveProfiles test 값 추가 * test: test yml에 redis 정보 추가 * chore: test를 위한 docker-compose-test.yml 생성 * chore: github actions 빌드 시 test redis 사용 * remove: .gitkpeep 삭제 * fix: build시 docker-compose-test.yml 사용하도록 변경 * chore: SecurityConfig 임시로 모든 url 허용 (#94) chore: securityConfig 임시로 모든 url 허용 * feat: 미션 기록 저장 기능 구현 (#97) * chore: validation 의존성 추가 * feat: 미션 기록 저장 기능 구현 * test: MissionRecordTest 작성 * feat: duration 한시간 초과시 한시간으로 변환 * test: MissionRecordTest Nested 사용 * refactor: 코드 리뷰 반영 * style: spotless * test: 사용하지 않는 테스트 삭제 * chore: NCP Object Storage 설정 (#100) * move: redis config 패키지 이동 * chore: PropertiesConfig 추가와 configuration-processor 의존성 추가 * chore: AWS 의존성 추가 * chore: Storage Config 생성 * chore: storage.yml 추가 * refactor: RedisProperties 적용 * style: spotless * refactor: properties record 적용 * fix: 개발서버 CORS 관련 오류 해결 (#105) fix: cors 활성화 * chore: Swagger Tag 값에 Numbering (#111) chore: Swagger API 제목 Numbering * test: 미션 Controller 테스트 코드 작성 (#103) * feat: MissionController Test 세팅 * feat: 공부 미션 생성 * feat: WebMvcTest로 변경 후 given을 사용한 조회 테스트 구현 * fix: ResultActions 분리 * refactor: 미션 slice 응답 분리 * refactor: lastId 분리 * feat: 미션 수정 controller 테스트 코드 구현 * feat: 미션 삭제 controller 테스트 코드 구현 * feat: 미션 생성 이름 Null 케이스 추가 * feat: 미션 수정 controller 실패 테스트 코드 구현 * fix: spotlessApply * fix: ArgumentMatchers static import * fix: 미션 삭제 not found Exception * fix: spotlessApply * feat: 미션 내역 리스트 조회 (#107) * feat: 미션 기록 조회 * fix: findByMissionId -> findById로 변경 * fix: spotlessApply * fix: validateYearMonthFormat 검증 수정 * fix: spotlessApply * fix: remart -> remark 오타 수정 * fix: RequestParam String -> YearMonth로 변경 * refactor: yearMonth 조건 분리 * fix: missionRecordId -> recordId 변경 * chore: git pending test * feat: 미션 내역 상세 조회 구현 (#115) * feat: 미션 내역 상세 조회 * fix: duration toMinutes로 변경 * fix: description 수정 * fix: MISSION_RECORD_USER_MISMATCH statusCode 400 -> 403 * feat: PresignedUrl을 사용하여 이미지 업로드 기능 구현 (#106) * chore: endpoint 값 추가하여 config 수정 * feat: 미션 기록 이미지 Presigned URL 생성 * feat: 미션 기록 이미지 업로드 완료 처리 * chore: storage.yml에 endpoint 환경변수 추가 * test: Test 코드 추가 * style: spotless * refactor: storage 저장 디렉토리 변경 * feat: MissionRecord 도메인 uploadStatus validation 예외처리 * refactor: 해당 미션이 접속한 유저와 일치하지 않을때 예외 발생추가 * style: spotless * test: test코드 추가와 예외처리 변경 * style: spotless * remove: 사용하지 않는 에러 제거 * style: ImageController Swagger Tag 넘버링 * refactor: ImageController RequestMapping 제거 * refactor: Transactional 클래스레벨로 추출 * style: spotless * test: ImageController RequestMapping 제거 후 테스트코드 수정 * remove: .gitkeep 삭제 * refactor: 메소드 네이밍 변경 * refactor: MISSION_RECORD_USER_MISMATCH Service 레이어로 추출 * style: conflict 해결 * style: spotless * chore: 공통 응답 포멧 통일 (#116) * chore: config 패키지와 response 패키지 이동 * chore: 공통포멧 응답 통일 * remove: health-check API 제거 (actuator로 대체) * refactor: MethodArgumentNotValidException 예외 메세지 변경 * test: 공통 응답 포멧 변경으로 테스트 코드 수정 * refactor: fail 메서드에 ErrorResponse만 받도록 변경 * style: spotless * test: 공통 응답 변경으로 인한 ImageControllerTest 변경 * style: spotless * feat: 미션 인증 및 완료 사진 업로드 단계 예외케이스 처리 (#114) * chore: RedisConfig에 RedisKeyValueAdapter.EnableKeyspaceEvents.ON_STARTUP 설정 추가 * feat: MissionRecordTTl, Repository 클래스 생성 * chore: RedisExpireEvent 상수 생성 * feat: RedisExpireEventRedisMessageListener 생성 * chore: RedisMessageListenerConfig 생성 * feat: 미션 일지 생성 후 Redis에 TTL 저장 * fix: TTL 10분으로 설정 * style: spotless * refactor: EXPIRATION_TIME 상수 적용과 ttl 변수명 변경 * �fix: Redis Expire Event 수신 안되어 docker-compose Redis 사용 (#128) * feat: docker-compose.yml에 redis 추가 * style: spotless * refactor: 미션 기록 생성 응답 값 response 객체로 Wrapping (#132) * refactor: MissionRecordCreateResponse 생성 * refactor: 미션 기록 생성 응답 값 response 객체로 Wrapping * test: MissionRecordCreateResponse로 응답되도록 테스트 수정 * hotfix: CORS AllowedOrigins 환경 분리 (#136) * hotfix: CORS AllowedOrigins 환경 분리 * hotfix: CORS AllowedOrigins url 범위 변경 * hotfix: CORS문제로 UrlConstants에 www 추가 (#138) hotfix: UrlConstants에 www 추가 * feat: 이미지 업로드 예외케이스에서 업로드 완료시 Redis TTL 삭제 기능 (#131) * feat: 미션 내역 수정 구현 (#123) * fix: 미션 기록 일지 수정 * fix: spotlessApply * feat: 미션 기록 소유권 검증 * fix: 미션, 미션 기록 수정 API return 객체 정적 팩토리 메서드로 변경 * fix: updateMissionRecord 인자 변경 * fix: MissionVisibility 검증 부분 수정 * fix: spotlessApply * fix: spotlessApply * fix: update return 타입 변경 및 변수 할당 * fix: 미션 수정도 동일한 response 형식 * fix: 수정 API 변경으로 인한 테스트 코드 수정 * fix: spotlessApply * feat: OIDC 소셜 로그인 구현 (#119) * chore: 시큐리티 form 로그인 및 세션 등 비활성화 처리 * chore: oauth 의존성 추가 * chore: 시큐리티 yml 파일 작성 * feat: OAuth 정보로 조회하는 메서드 추가 * feat: OAuth 정보 필드를 멤버 엔티티에 추가 * feat: 게스트 멤버 유저 생성 메서드 구현 * chore: 공통 프로파일 분리 * chore: jwt 의존성 추가 * chore: 시큐리티 전용 설정 파일 분리 * feat: 시큐리티 yml에 만료시간 및 발급자 추가 * feat: JwtProperties 추가 * feat: JwtTokenProvider 구현 * feat: 에러코드 추가 * feat: 리프레시 토큰 및 레포지터리 임시 구현 * feat: OIDC 유저 서비스 구현 * feat: 성공 핸들러 임시 추가 * feat: 엑세스 토큰 DTO 추가 * feat: 시큐리티 OAuth 설정 반영 * fix: MemberRole이 게스트 상태를 가지도록 수정 * feat: 게스트 역할 여부 확인을 위한 커스텀 OIDC 유저 구현 * feat: 표준 스코프 스펙과 관계없이 userinfo를 가져오도록 빈 스코프로 설정 * refactor: OIDC 유저 서비스가 OidcUser 인터페이스에 의존하도록 변경 * feat: 시큐리티 관련 상수 클래스 추가 * feat: OIDC 로그인 성공 핸들러 구현 * refactor: 상수 클래스로 대체 * docs: 주석 변경 * fix: 토큰 키가 필요한 시점에 초기화되도록 수정 * fix: 오타 및 포매팅 수정 * refactor: 테스트 시 JPA 관련 빈 로딩 제외를 위해 설정 클래스 분리 * refactor: 리프레시 토큰의 ttl을 인자로 받도록 수정 * test: 리프레시 토큰 레포지터리 테스트 작성 * refactor: token 패키지를 auth 패키지로 변경 * feat: 마지막 로그인 시간 업데이트 기능 구현 * feat: 게스트 멤버 회원가입 구현 * test: 멤버 도메인 유닛 테스트 변경 및 회원가입 테스트 작성 * feat: 회원가입 서비스 및 컨트롤러 구현 * refactor: 필터와 토큰 간 결합도 낮추기 위해 프로바이더와 서비스 분리 * refactor: 리다이렉트 경로 및 상수 수정 * feat: JWT 인증 필터 구현 * feat: 토큰 재발급 로직 구현 * feat: 멤버 가입 DTO 추가 * feat: 토큰 만료 여부 확인 메서드 구현 * style: spotlessApply * fix: 토큰이 있는 경우에만 체크하도록 수정 * refactor: 로컬 환경에서는 디비 스키마 항상 새로 생성 * refactor: 프론트 회원가입 페이지 url 반영 * feat: 허용된 URL 외에는 인증 수행하도록 변경 * feat: JWT 인증 필터 추가 * refactor: 회원가입 필요 여부는 헤더에 담아서 응답하도록 변경 * feat: atk, rtk 둘 다 만료 아닌 경우 rtk 재발급하는 로직 추가 * refactor: 커스텀 헤더 이름 변경 * refactor: 상수 클래스의 인스턴스화 막기 * refactor: 에러코드 위치 변경 * style: 포매팅 수정 * docs: 인증 API 스웨거 태그 추가 * chore: 환경변수 디폴트값 지정 * fix: 누락된 쉼표 추가 * style: 개행 추가 * fix: 컨트롤러 테스트에서 시큐리티 설정 제외 * feat: 애플 키파일로 시크릿 만드는 로직 임시 구현 * chore: 애플 프로바이더 및 클라이언트 정보 추가 * feat: 애플 요청 엔티티 컨버터 구현 * feat: 애플 요청 엔티티 컨버터 V2 구현 * feat: 애플 프로퍼티 로드하는 로직 구현 * docs: TODO 추가 * feat: 에러코드 추가 * feat: OIDC 로그인 실패 핸들러 추가 * feat: 커스텀 OAuth 엑세스 토큰 클라이언트 구현 * refactor: 한 라인에 한번의 작업만 수행하도록 개선 * fix: 오타 수정 * feat: 컨트롤러 테스트 임시 비활성화 처리 * refactor: 컴포넌트 추가 * feat: 시큐리티 설정 추가 * style: spotless 적용 * chore: 엑세스 토큰 시간 변경 * fix: OAuth 관련 설정 비활성화 * fix: OAuth 관련 환경변수 디폴트값 설정 * fix: 필터 모킹 추가 * docs: 주석 수정 * style: spotless 적용 * chore: service 패키지를 application으로 변경 (#141) * chore: service 패키지를 application으로 변경 * fix: long casting 이슈 해결 * feat: 임시 아이디 / 패스워드 로그인 구현 (#143) * refactor: 패키지 이동 * feat: 시큐리티 설정 변경 * refactor: 패키지 이동 경로 변경 * feat: 임시 회원가입 및 로그인 컨트롤러 * feat: 멤버 도메인에 아이디 및 비밀번호 추가 * feat: 임시 회원가입 구현 * refactor: 리퀘스트 패키지로 이동 * refactor: response 패키지로 이동 * feat: 아이디 유효성 검증 및 Transactional 추가 * feat: 임시 회원가입 및 로그인 인가 설정 * style: spotless * feat: 가입 후 id 반환하도록 구현 * refactor: 사용하지 않는 의존성 제거 * feat: 시큐리티 http basic, form login 비활성화 * feat: 로그인 컨트롤러 구현 * feat: 로그인 및 토큰 발급 로직 구현 * fix: 비밀번호 일치 로직 수정 * feat: 로그인 시 게스트 멤버가 아닌지 검증 * fix: 에러 수정 * style: spotless 적용 * refactor: 임시 회원가입 후에도 토큰 발행하도록 수정 * style: spotless * feat: 아이디 중복 체크 구현 * feat: readOnly = true 옵션 추가 * style: spotless * feat: 미션 리스트 조회 시 인증 필요 상태 추가 (#140) * refactor: MissionRecordTtl 클래스명 변경과 Key를 Long 타입으로 변경 Co-authored-by: uiurihappy <[email protected]> Co-authored-by: uwoobeat <[email protected]> * refactor: MissionRecord create시 ttlFinishedAt 추가 Co-authored-by: uiurihappy <[email protected]> Co-authored-by: uwoobeat <[email protected]> * feat: Mission 리스트 조회 시 사용되는 MissionStatus와 Reponse class 생성 Co-authored-by: uiurihappy <[email protected]> Co-authored-by: uwoobeat <[email protected]> * refactor: QueryDsl findAllMission 쿼리메소드 로직과 네이밍 변경 Co-authored-by: uiurihappy <[email protected]> Co-authored-by: uwoobeat <[email protected]> * feat: 미션 목록 조회시 MissionStatus도 반환하는 기능 Co-authored-by: uiurihappy <[email protected]> Co-authored-by: uwoobeat <[email protected]> * style: 사용하지 않는 싱수 제거 Co-authored-by: uiurihappy <[email protected]> Co-authored-by: uwoobeat <[email protected]> * test: Mission 리스트 조회 로직 변경으로 테스트 코드 수정 Co-authored-by: uiurihappy <[email protected]> Co-authored-by: uwoobeat <[email protected]> * style: 미션 리스트 조회 Swagger Operation 변경 Co-authored-by: uiurihappy <[email protected]> Co-authored-by: uwoobeat <[email protected]> * style: 출력문 제거 Co-authored-by: uiurihappy <[email protected]> Co-authored-by: uwoobeat <[email protected]> * style: spotless Co-authored-by: uiurihappy <[email protected]> Co-authored-by: uwoobeat <[email protected]> --------- Co-authored-by: uiurihappy <[email protected]> Co-authored-by: uwoobeat <[email protected]> * feat: Swagger에 RefresgToekn용 SecuritySchemes 추가 (#148) * feat: 미션 기록 하루에 한개만 처리 가능하도록 기능 추가 (#130) * feat: missionId로 해당미션에 오늘 작성된 기록이 있는지 판별하는 existsByMissionIdAndToday 메소드 추가 * feat: 미션 기록 생성 시 오늘 기록된건이 존재하는지 validate 추가 * style: 주석제거 * style: 코드 포메팅 수정 * refactor: 오늘 등록한 미션 일지가 있는지 확인하는 queryDsl 메소드명 변경 * fix: 유틸리티에서 픽스처 및 Mock 인증 삽입 로직 제거 (#149) * fix: 픽스처 삽입 로직 제거 * fix: 시큐리티 mock 인증 삽입 로직 제거 * fix: 테스트 코드 BeforeEach 멤버 생성 로직 추가 --------- Co-authored-by: uwoobeat <[email protected]> Co-authored-by: ybchar <[email protected]> * feat: 진행중인 미션 제거하는 기능 (#153) * feat: 진행중인 미션 제거하는 기능 * fix: 이미 진행중인 미션 삭제에서 예외 제거 * fix: Transactional read only 제거 * move: 이미 진행중인 미션기록들 삭제 MissionRecord로 이동 * refactor: member final 키워드 추가 * remove: 사용하지 않는 의존성 제거 * feat: 회원 탈퇴 로직 구현 (#155) * feat: 회원 탈퇴 로직 구현 * feat: @kdomo 리뷰 반영 * fix: 마지막 로그인 시간 테스트 코드 삭제 * fix: SpringBoot Server TimeZone Asia/Seoul로 설정 (#158) * feat: 마이페이지 프로필 사진 수정과 닉네임 변경 기능 구현 (#157) * feat: member profile presigned URL 생성 * refactor: Profile Embeddable 객체 정적팩토리 메서드 적용 * refactor: OauthInfo Embeddable 객체 정적팩토리 메서드 적용 * feat: member profile 이미지 업로드 완료처리와 닉네임 변경 * style: spotless * remove: 사용하지 않는 메소드 제거 (updateMemberStatus) * style: swagger 응답 예시 값 추가 * refactor: 중복 ImageUrl 생성 코드 중복 제거 * feat: 회원 정보 조회 API (#160) * feat: 회원 정보 조회 API * style: spotless * fix: 진행중인 미션기록 삭제할 때 QueryDsl 메소드 사용하도록 변경 (#162) * fix: 진행중인 미션기록 삭제할 때 QueryDsl 메소드 사용하도록 변경 * feat: Member final 키워드 추가 * hotfix: develop 서버 CORS 모든 요청 허용으로 변경 (#164) * hotfix: develop 서버 CORS 모든 요청 허용으로 변경 * style: spotless * fix: 회원 정보 수정할 때 이미지 nullable 처리 (#166) * fix: imageFileExtension nullable 처리 * fix: 닉네임 Notnull 처리 * fix: 이미지 null로 넘어왔을 경우 닉네임만 수정 * style: spotless * fix: 토큰 만료기간 env로 관리 (#169) * fix: 토큰 만료기간 env로 관리 * fix: 토큰 만료기간 env로 관리 * fix: 토큰 만료기간 default 설정 * feat: 미션 목록 조회 시 인증필요인 경우 MissionRecordId도 같이 응답 (#170) * feat: Mission 리스트 조회 시 응답값에 MissionRecordId 필드 추가 * feat: 인증 필요인 경우 missionRecordId 값 추가 * style: spotless * test: MissionFindAllResponse 필드 추가로 test 수정 * style: spotless * feat: 닉네임 중복검사 (#176) * refactor: 미션기록 삭제 시 `deleteById` 쿼리가 작동하지 않는 문제 개선 (#173) * refactor: 고아 객체 사용하도록 개선 * feat: 현재 진행중인 미션기록 삭제 테스트 * style: spotless * refactor: 엔티티 매니저 제거 * style: spotless * refactor: 테스트 트랜잭션 제거 및 픽스쳐 분리 * fix: 오타 수정 * fix: 토큰 발급 로직 수정 및 발급 토큰을 쿠키로 관리하도록 개선 #171 (#174) * feat: 쿠키 유틸리티 구현 * feat: 토큰 재발급 로직 구현 * feat: CORS 설정에 헤더 추가 * feat: 기존 컨트롤러 쿠키에 토큰 추가 * fix: 임시 회원가입 API로 다시 호출하여 토큰 받을 수 있게 수정 * fix: 오타 수정 * chore: 프로덕션 배포 워크플로 작성 (#179) * chore: production build and deploy script 작성 * rafactor: key 대신 password로 변경 * rafactor: password 사용안하여 key로 변경 * chore: 트리거 릴리즈 태그로 변경 * chore: 이미지 태그 설정 부분 릴리즈 태그 값으로 변경 * chore: production deploy용 워크플로 생성 --------- Co-authored-by: uwoobeat <[email protected]> Co-authored-by: ybchar <[email protected]> Co-authored-by: yb__char <[email protected]> Co-authored-by: Jaehyun Ahn <[email protected]>
- Loading branch information