Skip to content

Commit 039e4b6

Browse files
comforestseung-00
andcommitted
0.0.1 운영 배포 (#86)
* chore: Gihub CODEOWNERS * chore: GitHub Action CI feat 브렌치도 추가 * fix: BooJar build 에러 수정 (#13) * fix: BooJar build 에러 수정 * chore: CI에 Gradle Build 추가 * APIDOC - Base (#19) * ApiDoc-1 RestDoc 적용하기 (#11) * test: RestDocs 세팅 * feat: swagger generate * docs: Swagger 관련하여 Readme 작성 * fix: BooJar build 에러 수정 * chore: CI에 Gradle Build 추가 * APIDOC-2 자체 Kotlin DSL 만들어 보기 with 토스 (#12) * test: RestDocs 세팅 * feat: swagger generate * docs: Swagger 관련하여 Readme 작성 * feat: Controller 테스트 DSL * docs: README에 토스 블로그 관련 이야기 추가 * fix: this 스코프로 인한 버그 수정 * fix: BooJar build 에러 수정 * chore: CI에 Gradle Build 추가 * feat: OpenApiTag Enum 추가 * feat: Enum Type 지원 * Feat/auth (#26) * ApiDoc-1 RestDoc 적용하기 (#11) * test: RestDocs 세팅 * feat: swagger generate * docs: Swagger 관련하여 Readme 작성 * fix: BooJar build 에러 수정 * chore: CI에 Gradle Build 추가 * APIDOC-2 자체 Kotlin DSL 만들어 보기 with 토스 (#12) * test: RestDocs 세팅 * feat: swagger generate * docs: Swagger 관련하여 Readme 작성 * feat: Controller 테스트 DSL * docs: README에 토스 블로그 관련 이야기 추가 * fix: this 스코프로 인한 버그 수정 * fix: BooJar build 에러 수정 * chore: CI에 Gradle Build 추가 * feat: OpenApiTag Enum 추가 * feat: Enum Type 지원 * Auth-1 Token 관련 기능 (#8) * feat: TokenUtils 추가 * test: TokenUtils 관련 테스트 코드 작성 * fix: 코드 리뷰 반영 * Auth-2 Token Policy (#9) * feat: TokenUtils 추가 * test: TokenUtils 관련 테스트 코드 작성 * feat: Auth Core Port 추상화 객체 * feat: Token Policy * test: TokenPolicy * fix: 코드 리뷰 반영 * Auth-3 Core 모듈 제작 (#10) * feat: TokenUtils 추가 * test: TokenUtils 관련 테스트 코드 작성 * feat: Auth Core Port 추상화 객체 * feat: Token Policy * test: TokenPolicy * feat: Token Service * feat: Auth Core Service * style: ktlint * fix: 코드 리뷰 반영 * style: test class public 처리 * Auth-4-RDB JPA 구현 (#14) * feat: TokenUtils 추가 * test: TokenUtils 관련 테스트 코드 작성 * feat: Auth Core Port 추상화 객체 * feat: Token Policy * test: TokenPolicy * feat: Token Service * feat: Auth Core Service * style: ktlint * fix: 코드 리뷰 반영 * style: test class public 처리 * style: kotlinPluginVersion -> kotlinVersion * feat: RDB Gradle 세팅 * feat: UserEntity * feat: AuthSocialEntity * feat: Auth Token 관련 Entity * fix: Jpa 관련 객체들 internal 변경 * fix: User.name nullable 로 변경 * fix: db 필드명 변경 * style: expiredAt으로 네이밍 변경 * style: updatedAt 으로 통일 * fix: token Binary 타입 * fix: UserEntity Table 명 user -> users 로 변경 * fix: columnDefinition = BINARY 는 길이 명시 * Auth-5: Port Out 구현체 (#15) * feat: TokenUtils 추가 * test: TokenUtils 관련 테스트 코드 작성 * feat: Auth Core Port 추상화 객체 * feat: Token Policy * test: TokenPolicy * feat: Token Service * feat: Auth Core Service * style: ktlint * fix: 코드 리뷰 반영 * style: test class public 처리 * style: kotlinPluginVersion -> kotlinVersion * feat: RDB Gradle 세팅 * feat: UserEntity * feat: AuthSocialEntity * feat: Auth Token 관련 Entity * fix: Jpa 관련 객체들 internal 변경 * feat: TokenCommandRepositoryImpl 구현 * fix: User.name nullable 로 변경 * feat: AuthCommandRepositoryImpl 구현 * feat: AuthQueryRepositoryImpl 구현 * style: ktlint 적용 * fix: db 필드명 변경 * style: expiredAt으로 네이밍 변경 * style: expiredAt으로 네이밍 변경 * style: updatedAt 으로 통일 * fix: token Binary 타입 * Auth-6 Auth Controller 생성 (#20) * feat: TokenUtils 추가 * test: TokenUtils 관련 테스트 코드 작성 * feat: Auth Core Port 추상화 객체 * feat: Token Policy * test: TokenPolicy * feat: Token Service * feat: Auth Core Service * style: ktlint * fix: 코드 리뷰 반영 * test: RestDocs 세팅 * feat: swagger generate * docs: Swagger 관련하여 Readme 작성 * feat: Controller 테스트 DSL * docs: README에 토스 블로그 관련 이야기 추가 * fix: this 스코프로 인한 버그 수정 * fix: BooJar build 에러 수정 * style: test class public 처리 * chore: CI에 Gradle Build 추가 * style: kotlinPluginVersion -> kotlinVersion * feat: RDB Gradle 세팅 * feat: UserEntity * feat: AuthSocialEntity * feat: Auth Token 관련 Entity * fix: Jpa 관련 객체들 internal 변경 * feat: TokenCommandRepositoryImpl 구현 * fix: User.name nullable 로 변경 * feat: AuthCommandRepositoryImpl 구현 * feat: AuthQueryRepositoryImpl 구현 * style: ktlint 적용 * feat: OpenApiTag Enum 추가 * fix: db 필드명 변경 * feat: Enum Type 지원 * feat: /v1/auth/login * test: /v1/auth/login * style: expiredAt으로 네이밍 변경 * style: expiredAt으로 네이밍 변경 * style: updatedAt 으로 통일 * fix: token Binary 타입 * feat: Exception Handler * Auth-7 Auth Mock API 생성 (#21) * feat: TokenUtils 추가 * test: TokenUtils 관련 테스트 코드 작성 * feat: Auth Core Port 추상화 객체 * feat: Token Policy * test: TokenPolicy * feat: Token Service * feat: Auth Core Service * style: ktlint * fix: 코드 리뷰 반영 * test: RestDocs 세팅 * feat: swagger generate * docs: Swagger 관련하여 Readme 작성 * feat: Controller 테스트 DSL * docs: README에 토스 블로그 관련 이야기 추가 * fix: this 스코프로 인한 버그 수정 * fix: BooJar build 에러 수정 * style: test class public 처리 * chore: CI에 Gradle Build 추가 * style: kotlinPluginVersion -> kotlinVersion * feat: RDB Gradle 세팅 * feat: UserEntity * feat: AuthSocialEntity * feat: Auth Token 관련 Entity * fix: Jpa 관련 객체들 internal 변경 * feat: TokenCommandRepositoryImpl 구현 * fix: User.name nullable 로 변경 * feat: AuthCommandRepositoryImpl 구현 * feat: AuthQueryRepositoryImpl 구현 * style: ktlint 적용 * feat: OpenApiTag Enum 추가 * fix: db 필드명 변경 * feat: Enum Type 지원 * feat: /v1/auth/login * test: /v1/auth/login * style: expiredAt으로 네이밍 변경 * style: expiredAt으로 네이밍 변경 * style: updatedAt 으로 통일 * fix: token Binary 타입 * feat: /v1/auth/login Mock API * style: ktlint * feat: Exception Handler * fix: user_id -> users_id * refactor: SocialLoginClient Facade 패턴으로 변경 * test: SocialLoginClient 변경점 적용 * Auth-8 패키지명 변경 (#22) * feat: TokenUtils 추가 * test: TokenUtils 관련 테스트 코드 작성 * feat: Auth Core Port 추상화 객체 * feat: Token Policy * test: TokenPolicy * feat: Token Service * feat: Auth Core Service * style: ktlint * fix: 코드 리뷰 반영 * test: RestDocs 세팅 * feat: swagger generate * docs: Swagger 관련하여 Readme 작성 * feat: Controller 테스트 DSL * docs: README에 토스 블로그 관련 이야기 추가 * fix: this 스코프로 인한 버그 수정 * fix: BooJar build 에러 수정 * style: test class public 처리 * chore: CI에 Gradle Build 추가 * style: kotlinPluginVersion -> kotlinVersion * feat: RDB Gradle 세팅 * feat: UserEntity * feat: AuthSocialEntity * feat: Auth Token 관련 Entity * fix: Jpa 관련 객체들 internal 변경 * feat: TokenCommandRepositoryImpl 구현 * fix: User.name nullable 로 변경 * feat: AuthCommandRepositoryImpl 구현 * feat: AuthQueryRepositoryImpl 구현 * style: ktlint 적용 * feat: OpenApiTag Enum 추가 * fix: db 필드명 변경 * feat: Enum Type 지원 * feat: /v1/auth/login * test: /v1/auth/login * style: expiredAt으로 네이밍 변경 * style: expiredAt으로 네이밍 변경 * style: updatedAt 으로 통일 * fix: token Binary 타입 * feat: /v1/auth/login Mock API * style: ktlint * feat: Exception Handler * fix: user_id -> users_id * fix: 패키지명 변경 com.yapp.bol * feat: WebApplication scan Package 변경 * fix: gradle 에서 mainClass package 변경 * fix: Gradle Root Project Name 변경 * refactor: SocialLoginClient Facade 패턴으로 변경 * Merge branch 'feat/auth-7-mock' into feat/package * test: SocialLoginClient 변경점 적용 * fix: 빌드 버그 수정 * test: 필요 없는 테스트 코드 제거 * Auth-9 네이버 로그인 (#23) * feat: TokenUtils 추가 * test: TokenUtils 관련 테스트 코드 작성 * feat: Auth Core Port 추상화 객체 * feat: Token Policy * test: TokenPolicy * feat: Token Service * feat: Auth Core Service * style: ktlint * fix: 코드 리뷰 반영 * test: RestDocs 세팅 * feat: swagger generate * docs: Swagger 관련하여 Readme 작성 * feat: Controller 테스트 DSL * docs: README에 토스 블로그 관련 이야기 추가 * fix: this 스코프로 인한 버그 수정 * fix: BooJar build 에러 수정 * style: test class public 처리 * chore: CI에 Gradle Build 추가 * style: kotlinPluginVersion -> kotlinVersion * feat: RDB Gradle 세팅 * feat: UserEntity * feat: AuthSocialEntity * feat: Auth Token 관련 Entity * fix: Jpa 관련 객체들 internal 변경 * feat: TokenCommandRepositoryImpl 구현 * fix: User.name nullable 로 변경 * feat: AuthCommandRepositoryImpl 구현 * feat: AuthQueryRepositoryImpl 구현 * style: ktlint 적용 * feat: OpenApiTag Enum 추가 * fix: db 필드명 변경 * feat: Enum Type 지원 * feat: /v1/auth/login * test: /v1/auth/login * style: expiredAt으로 네이밍 변경 * style: expiredAt으로 네이밍 변경 * style: updatedAt 으로 통일 * fix: token Binary 타입 * feat: /v1/auth/login Mock API * style: ktlint * feat: Exception Handler * fix: user_id -> users_id * fix: 패키지명 변경 com.yapp.bol * feat: Naver Login Client 제작 * feat: 네이버 로그인 기능 * feat: WebApplication scan Package 변경 * fix: Login Type에서 Naver Access Token으로 변경 * fix: gradle 에서 mainClass package 변경 * fix: SocialUser 관련 테스트 * feat: mock 제거 * style: Base URL 상수처리 * fix: Gradle Root Project Name 변경 * refactor: SocialLoginClient Facade 패턴으로 변경 * Merge branch 'feat/auth-7-mock' into feat/package * test: SocialLoginClient 변경점 적용 * Auth 카카오 로그인 (#25) * feat: kakao login client 추가 * refactor: Kakao LoginType 네이밍 변경 * refactor: 불필요한 어노테이션 제거 * refactor: ktlint 반영 * Auth-10 Refresh Token으로 토큰 갱신 (#24) * feat: TokenUtils 추가 * test: TokenUtils 관련 테스트 코드 작성 * feat: Auth Core Port 추상화 객체 * feat: Token Policy * test: TokenPolicy * feat: Token Service * feat: Auth Core Service * style: ktlint * fix: 코드 리뷰 반영 * test: RestDocs 세팅 * feat: swagger generate * docs: Swagger 관련하여 Readme 작성 * feat: Controller 테스트 DSL * docs: README에 토스 블로그 관련 이야기 추가 * fix: this 스코프로 인한 버그 수정 * fix: BooJar build 에러 수정 * style: test class public 처리 * chore: CI에 Gradle Build 추가 * style: kotlinPluginVersion -> kotlinVersion * feat: RDB Gradle 세팅 * feat: UserEntity * feat: AuthSocialEntity * feat: Auth Token 관련 Entity * fix: Jpa 관련 객체들 internal 변경 * feat: TokenCommandRepositoryImpl 구현 * fix: User.name nullable 로 변경 * feat: AuthCommandRepositoryImpl 구현 * feat: AuthQueryRepositoryImpl 구현 * style: ktlint 적용 * feat: OpenApiTag Enum 추가 * fix: db 필드명 변경 * feat: Enum Type 지원 * feat: /v1/auth/login * test: /v1/auth/login * style: expiredAt으로 네이밍 변경 * style: expiredAt으로 네이밍 변경 * style: updatedAt 으로 통일 * fix: token Binary 타입 * feat: /v1/auth/login Mock API * style: ktlint * feat: Exception Handler * fix: user_id -> users_id * fix: 패키지명 변경 com.yapp.bol * feat: Naver Login Client 제작 * feat: 네이버 로그인 기능 * feat: WebApplication scan Package 변경 * fix: Login Type에서 Naver Access Token으로 변경 * fix: gradle 에서 mainClass package 변경 * fix: SocialUser 관련 테스트 * feat: mock 제거 * style: Base URL 상수처리 * feat: Refresh Token Login Core Module * feat: Adapter Out 구현 * fix: Gradle Root Project Name 변경 * refactor: SocialLoginClient Facade 패턴으로 변경 * Merge branch 'feat/auth-7-mock' into feat/package * test: SocialLoginClient 변경점 적용 * test: Token Service Test 생성자 수정 * style: loginByRefreshToken 네이밍 변경 * sandbox-1: 도커파일 작성 (#16) * feat: web adapter 빌드에 필요한 종속성 추가 * feat: Dockerfile 추가 * fix: Docker 빌드시 Swagger 파일 포함 시키기 --------- Co-authored-by: HoYeon Lee <[email protected]> (cherry picked from commit 85d4545abb4138b10510897ce9ec022569eaabf3) * sandbox-2: sandbox DB 세팅 (#17) * feat: Dockerfile 수정 * feat: sandbox DB 세팅 (cherry picked from commit 82ef93dd6cfcf52d3dfe437e8bc7a8a768bc12f0) * sandbox-3: sandbox CD 파이프라인 세팅 (#18) * faet: cd 파이프라인 구축 * faet: 도커 이미지 태그로 workflow run number 사용하도록 수정 * feat: ci-cd 브랜치명 sandbox 로 변경 * feat: 배포 파일 PHASE 환경 변수 사용 * feat: 배포 secrets 수정 (cherry picked from commit 976cbfa5ba03b2745639f9f333aafd7250560303) * fix: 사용하지 않는 package 제거 --------- Co-authored-by: SeungYoung Oh <[email protected]> * Swagger 기본 설명 수정 (#27) * ApiDoc-1 RestDoc 적용하기 (#11) * test: RestDocs 세팅 * feat: swagger generate * docs: Swagger 관련하여 Readme 작성 * fix: BooJar build 에러 수정 * chore: CI에 Gradle Build 추가 * APIDOC-2 자체 Kotlin DSL 만들어 보기 with 토스 (#12) * test: RestDocs 세팅 * feat: swagger generate * docs: Swagger 관련하여 Readme 작성 * feat: Controller 테스트 DSL * docs: README에 토스 블로그 관련 이야기 추가 * fix: this 스코프로 인한 버그 수정 * fix: BooJar build 에러 수정 * chore: CI에 Gradle Build 추가 * feat: OpenApiTag Enum 추가 * feat: Enum Type 지원 * Auth-1 Token 관련 기능 (#8) * feat: TokenUtils 추가 * test: TokenUtils 관련 테스트 코드 작성 * fix: 코드 리뷰 반영 * Auth-2 Token Policy (#9) * feat: TokenUtils 추가 * test: TokenUtils 관련 테스트 코드 작성 * feat: Auth Core Port 추상화 객체 * feat: Token Policy * test: TokenPolicy * fix: 코드 리뷰 반영 * Auth-3 Core 모듈 제작 (#10) * feat: TokenUtils 추가 * test: TokenUtils 관련 테스트 코드 작성 * feat: Auth Core Port 추상화 객체 * feat: Token Policy * test: TokenPolicy * feat: Token Service * feat: Auth Core Service * style: ktlint * fix: 코드 리뷰 반영 * style: test class public 처리 * Auth-4-RDB JPA 구현 (#14) * feat: TokenUtils 추가 * test: TokenUtils 관련 테스트 코드 작성 * feat: Auth Core Port 추상화 객체 * feat: Token Policy * test: TokenPolicy * feat: Token Service * feat: Auth Core Service * style: ktlint * fix: 코드 리뷰 반영 * style: test class public 처리 * style: kotlinPluginVersion -> kotlinVersion * feat: RDB Gradle 세팅 * feat: UserEntity * feat: AuthSocialEntity * feat: Auth Token 관련 Entity * fix: Jpa 관련 객체들 internal 변경 * fix: User.name nullable 로 변경 * fix: db 필드명 변경 * style: expiredAt으로 네이밍 변경 * style: updatedAt 으로 통일 * fix: token Binary 타입 * fix: UserEntity Table 명 user -> users 로 변경 * fix: columnDefinition = BINARY 는 길이 명시 * Auth-5: Port Out 구현체 (#15) * feat: TokenUtils 추가 * test: TokenUtils 관련 테스트 코드 작성 * feat: Auth Core Port 추상화 객체 * feat: Token Policy * test: TokenPolicy * feat: Token Service * feat: Auth Core Service * style: ktlint * fix: 코드 리뷰 반영 * style: test class public 처리 * style: kotlinPluginVersion -> kotlinVersion * feat: RDB Gradle 세팅 * feat: UserEntity * feat: AuthSocialEntity * feat: Auth Token 관련 Entity * fix: Jpa 관련 객체들 internal 변경 * feat: TokenCommandRepositoryImpl 구현 * fix: User.name nullable 로 변경 * feat: AuthCommandRepositoryImpl 구현 * feat: AuthQueryRepositoryImpl 구현 * style: ktlint 적용 * fix: db 필드명 변경 * style: expiredAt으로 네이밍 변경 * style: expiredAt으로 네이밍 변경 * style: updatedAt 으로 통일 * fix: token Binary 타입 * Auth-6 Auth Controller 생성 (#20) * feat: TokenUtils 추가 * test: TokenUtils 관련 테스트 코드 작성 * feat: Auth Core Port 추상화 객체 * feat: Token Policy * test: TokenPolicy * feat: Token Service * feat: Auth Core Service * style: ktlint * fix: 코드 리뷰 반영 * test: RestDocs 세팅 * feat: swagger generate * docs: Swagger 관련하여 Readme 작성 * feat: Controller 테스트 DSL * docs: README에 토스 블로그 관련 이야기 추가 * fix: this 스코프로 인한 버그 수정 * fix: BooJar build 에러 수정 * style: test class public 처리 * chore: CI에 Gradle Build 추가 * style: kotlinPluginVersion -> kotlinVersion * feat: RDB Gradle 세팅 * feat: UserEntity * feat: AuthSocialEntity * feat: Auth Token 관련 Entity * fix: Jpa 관련 객체들 internal 변경 * feat: TokenCommandRepositoryImpl 구현 * fix: User.name nullable 로 변경 * feat: AuthCommandRepositoryImpl 구현 * feat: AuthQueryRepositoryImpl 구현 * style: ktlint 적용 * feat: OpenApiTag Enum 추가 * fix: db 필드명 변경 * feat: Enum Type 지원 * feat: /v1/auth/login * test: /v1/auth/login * style: expiredAt으로 네이밍 변경 * style: expiredAt으로 네이밍 변경 * style: updatedAt 으로 통일 * fix: token Binary 타입 * feat: Exception Handler * Auth-7 Auth Mock API 생성 (#21) * feat: TokenUtils 추가 * test: TokenUtils 관련 테스트 코드 작성 * feat: Auth Core Port 추상화 객체 * feat: Token Policy * test: TokenPolicy * feat: Token Service * feat: Auth Core Service * style: ktlint * fix: 코드 리뷰 반영 * test: RestDocs 세팅 * feat: swagger generate * docs: Swagger 관련하여 Readme 작성 * feat: Controller 테스트 DSL * docs: README에 토스 블로그 관련 이야기 추가 * fix: this 스코프로 인한 버그 수정 * fix: BooJar build 에러 수정 * style: test class public 처리 * chore: CI에 Gradle Build 추가 * style: kotlinPluginVersion -> kotlinVersion * feat: RDB Gradle 세팅 * feat: UserEntity * feat: AuthSocialEntity * feat: Auth Token 관련 Entity * fix: Jpa 관련 객체들 internal 변경 * feat: TokenCommandRepositoryImpl 구현 * fix: User.name nullable 로 변경 * feat: AuthCommandRepositoryImpl 구현 * feat: AuthQueryRepositoryImpl 구현 * style: ktlint 적용 * feat: OpenApiTag Enum 추가 * fix: db 필드명 변경 * feat: Enum Type 지원 * feat: /v1/auth/login * test: /v1/auth/login * style: expiredAt으로 네이밍 변경 * style: expiredAt으로 네이밍 변경 * style: updatedAt 으로 통일 * fix: token Binary 타입 * feat: /v1/auth/login Mock API * style: ktlint * feat: Exception Handler * fix: user_id -> users_id * refactor: SocialLoginClient Facade 패턴으로 변경 * test: SocialLoginClient 변경점 적용 * Auth-8 패키지명 변경 (#22) * feat: TokenUtils 추가 * test: TokenUtils 관련 테스트 코드 작성 * feat: Auth Core Port 추상화 객체 * feat: Token Policy * test: TokenPolicy * feat: Token Service * feat: Auth Core Service * style: ktlint * fix: 코드 리뷰 반영 * test: RestDocs 세팅 * feat: swagger generate * docs: Swagger 관련하여 Readme 작성 * feat: Controller 테스트 DSL * docs: README에 토스 블로그 관련 이야기 추가 * fix: this 스코프로 인한 버그 수정 * fix: BooJar build 에러 수정 * style: test class public 처리 * chore: CI에 Gradle Build 추가 * style: kotlinPluginVersion -> kotlinVersion * feat: RDB Gradle 세팅 * feat: UserEntity * feat: AuthSocialEntity * feat: Auth Token 관련 Entity * fix: Jpa 관련 객체들 internal 변경 * feat: TokenCommandRepositoryImpl 구현 * fix: User.name nullable 로 변경 * feat: AuthCommandRepositoryImpl 구현 * feat: AuthQueryRepositoryImpl 구현 * style: ktlint 적용 * feat: OpenApiTag Enum 추가 * fix: db 필드명 변경 * feat: Enum Type 지원 * feat: /v1/auth/login * test: /v1/auth/login * style: expiredAt으로 네이밍 변경 * style: expiredAt으로 네이밍 변경 * style: updatedAt 으로 통일 * fix: token Binary 타입 * feat: /v1/auth/login Mock API * style: ktlint * feat: Exception Handler * fix: user_id -> users_id * fix: 패키지명 변경 com.yapp.bol * feat: WebApplication scan Package 변경 * fix: gradle 에서 mainClass package 변경 * fix: Gradle Root Project Name 변경 * refactor: SocialLoginClient Facade 패턴으로 변경 * Merge branch 'feat/auth-7-mock' into feat/package * test: SocialLoginClient 변경점 적용 * fix: 빌드 버그 수정 * test: 필요 없는 테스트 코드 제거 * Auth-9 네이버 로그인 (#23) * feat: TokenUtils 추가 * test: TokenUtils 관련 테스트 코드 작성 * feat: Auth Core Port 추상화 객체 * feat: Token Policy * test: TokenPolicy * feat: Token Service * feat: Auth Core Service * style: ktlint * fix: 코드 리뷰 반영 * test: RestDocs 세팅 * feat: swagger generate * docs: Swagger 관련하여 Readme 작성 * feat: Controller 테스트 DSL * docs: README에 토스 블로그 관련 이야기 추가 * fix: this 스코프로 인한 버그 수정 * fix: BooJar build 에러 수정 * style: test class public 처리 * chore: CI에 Gradle Build 추가 * style: kotlinPluginVersion -> kotlinVersion * feat: RDB Gradle 세팅 * feat: UserEntity * feat: AuthSocialEntity * feat: Auth Token 관련 Entity * fix: Jpa 관련 객체들 internal 변경 * feat: TokenCommandRepositoryImpl 구현 * fix: User.name nullable 로 변경 * feat: AuthCommandRepositoryImpl 구현 * feat: AuthQueryRepositoryImpl 구현 * style: ktlint 적용 * feat: OpenApiTag Enum 추가 * fix: db 필드명 변경 * feat: Enum Type 지원 * feat: /v1/auth/login * test: /v1/auth/login * style: expiredAt으로 네이밍 변경 * style: expiredAt으로 네이밍 변경 * style: updatedAt 으로 통일 * fix: token Binary 타입 * feat: /v1/auth/login Mock API * style: ktlint * feat: Exception Handler * fix: user_id -> users_id * fix: 패키지명 변경 com.yapp.bol * feat: Naver Login Client 제작 * feat: 네이버 로그인 기능 * feat: WebApplication scan Package 변경 * fix: Login Type에서 Naver Access Token으로 변경 * fix: gradle 에서 mainClass package 변경 * fix: SocialUser 관련 테스트 * feat: mock 제거 * style: Base URL 상수처리 * fix: Gradle Root Project Name 변경 * refactor: SocialLoginClient Facade 패턴으로 변경 * Merge branch 'feat/auth-7-mock' into feat/package * test: SocialLoginClient 변경점 적용 * Auth 카카오 로그인 (#25) * feat: kakao login client 추가 * refactor: Kakao LoginType 네이밍 변경 * refactor: 불필요한 어노테이션 제거 * refactor: ktlint 반영 * Auth-10 Refresh Token으로 토큰 갱신 (#24) * feat: TokenUtils 추가 * test: TokenUtils 관련 테스트 코드 작성 * feat: Auth Core Port 추상화 객체 * feat: Token Policy * test: TokenPolicy * feat: Token Service * feat: Auth Core Service * style: ktlint * fix: 코드 리뷰 반영 * test: RestDocs 세팅 * feat: swagger generate * docs: Swagger 관련하여 Readme 작성 * feat: Controller 테스트 DSL * docs: README에 토스 블로그 관련 이야기 추가 * fix: this 스코프로 인한 버그 수정 * fix: BooJar build 에러 수정 * style: test class public 처리 * chore: CI에 Gradle Build 추가 * style: kotlinPluginVersion -> kotlinVersion * feat: RDB Gradle 세팅 * feat: UserEntity * feat: AuthSocialEntity * feat: Auth Token 관련 Entity * fix: Jpa 관련 객체들 internal 변경 * feat: TokenCommandRepositoryImpl 구현 * fix: User.name nullable 로 변경 * feat: AuthCommandRepositoryImpl 구현 * feat: AuthQueryRepositoryImpl 구현 * style: ktlint 적용 * feat: OpenApiTag Enum 추가 * fix: db 필드명 변경 * feat: Enum Type 지원 * feat: /v1/auth/login * test: /v1/auth/login * style: expiredAt으로 네이밍 변경 * style: expiredAt으로 네이밍 변경 * style: updatedAt 으로 통일 * fix: token Binary 타입 * feat: /v1/auth/login Mock API * style: ktlint * feat: Exception Handler * fix: user_id -> users_id * fix: 패키지명 변경 com.yapp.bol * feat: Naver Login Client 제작 * feat: 네이버 로그인 기능 * feat: WebApplication scan Package 변경 * fix: Login Type에서 Naver Access Token으로 변경 * fix: gradle 에서 mainClass package 변경 * fix: SocialUser 관련 테스트 * feat: mock 제거 * style: Base URL 상수처리 * feat: Refresh Token Login Core Module * feat: Adapter Out 구현 * fix: Gradle Root Project Name 변경 * refactor: SocialLoginClient Facade 패턴으로 변경 * Merge branch 'feat/auth-7-mock' into feat/package * test: SocialLoginClient 변경점 적용 * test: Token Service Test 생성자 수정 * style: loginByRefreshToken 네이밍 변경 * docs: Swagger 설명 --------- Co-authored-by: SeungYoung Oh <[email protected]> * fix: PR Template 지라로 변경 (#28) * fix: PR Template 지라로 변경 * fix: 버그 수정 * doc: PR Template Jira * BOL-67 fix: sandbox 배포 안 되는 이슈 수정 (#29) * BOL-19: Spring Security 설정 (#31) * BOL-19 feat: Security 기초 골격 * BOL-19 fix: Exception Handler에 status 추가 * BOL-19 feat: Auth Error Handling * BOL-19 feat: Auth WhiteList에 swagger 추가 * BOL-19 feat: @PreAuthorization 활성화 * BOL-19 feat: UserInfo Argument Resolver * BOL-19 fix: TokenAuthenticationFilter 수정 * Revert "BOL-19 feat: UserInfo Argument Resolver" This reverts commit 0456ee3f65b29d00611ef6080b38654d4368bbcc. * BOL-19 feat: Security Help Function * BOL-19 fix: 코드 리뷰 반영 * BOL-45: File Upload/Download API (#30) * fix: PR Template 지라로 변경 * BOL-45 chore: Dokcer build 때, Aws Secret Key 추가 * BOL-45 docs: File Api Swaager Tag 변경 * BOL-45 fix: SpringBootApplication 추가 * BOL-45 style: max_line 제거 * BOL-45 test: upload file 테스트 코드 * BOL-45 feat: File upload 기본 로직 * BOL-45 feat: file port-out 구현체 * BOL-45 chore: Aws Key 변경 (cherry picked from commit cb357e3e243569cd05d480785d2d5b734e66714c) * BOL-45 feat: Host Url 추가 * BOL-45 fix: Exception Handler에 status 추가 * BOL-45 feat: File Download Api * BOL-45 style: ktlint * BOL-45 test: Test를 위해 Properties 분리 * BOL-19 feat: Security 기초 골격 * BOL-19 fix: Exception Handler에 status 추가 * BOL-19 feat: Auth Error Handling * BOL-19 feat: Auth WhiteList에 swagger 추가 * BOL-19 feat: @PreAuthorization 활성화 * BOL-19 feat: UserInfo Argument Resolver * BOL-19 fix: TokenAuthenticationFilter 수정 * Revert "BOL-19 feat: UserInfo Argument Resolver" This reverts commit 0456ee3f65b29d00611ef6080b38654d4368bbcc. * BOL-19 feat: Security Help Function * BOL-45 feat: File Controller에 Security 추가 * BOL-45 test: File Security Test * BOL-45 feat: FilePurpose에 MATCH_IMAGE 추가 * BOL-45 style: Style waring 고침 * BOL-12 구글 로그인 (#32) * fix: PR Template 지라로 변경 * BOL-45 chore: Dokcer build 때, Aws Secret Key 추가 * BOL-45 docs: File Api Swaager Tag 변경 * BOL-45 fix: SpringBootApplication 추가 * BOL-45 style: max_line 제거 * BOL-45 test: upload file 테스트 코드 * BOL-45 feat: File upload 기본 로직 * BOL-45 feat: file port-out 구현체 * BOL-45 chore: Aws Key 변경 (cherry picked from commit cb357e3e243569cd05d480785d2d5b734e66714c) * BOL-45 feat: Host Url 추가 * BOL-45 fix: Exception Handler에 status 추가 * BOL-45 feat: File Download Api * BOL-45 style: ktlint * BOL-45 test: Test를 위해 Properties 분리 * BOL-19 feat: Security 기초 골격 * BOL-19 fix: Exception Handler에 status 추가 * BOL-19 feat: Auth Error Handling * BOL-19 feat: Auth WhiteList에 swagger 추가 * BOL-19 feat: @PreAuthorization 활성화 * BOL-19 feat: UserInfo Argument Resolver * BOL-19 fix: TokenAuthenticationFilter 수정 * Revert "BOL-19 feat: UserInfo Argument Resolver" This reverts commit 0456ee3f65b29d00611ef6080b38654d4368bbcc. * BOL-19 feat: Security Help Function * BOL-45 feat: File Controller에 Security 추가 * BOL-45 test: File Security Test * BOL-45 feat: FilePurpose에 MATCH_IMAGE 추가 * BOL-12 feat: Google Login Mock * BOL-12 feat: Google Id Token Verification * BOL-12 chore: Google Client Id - github Secret 추가 * BOL-12 fix: JwtUtils 테스트 꺠짐 해결 * BOL-12 chore: Google Client Id - github Secret 추가 * BOL-12 feat: Google Client Id application.yml 에 추가 * BOL-12 style: 코드리뷰 반영 * BOL-92 feat: Game Domain 생성 * BOL-92 feat: Port interface 생성 * BOL-35 그룹 생성 (#39) * BOL-35 그룹 생성- 도메인 객체 추가 (#34) * BOL-35 Group 도메인 추가 * BOL-35 Member, Members 도메인 추가 * BOL-35 refactor: 불필요한 생성자 메서드 제거 * BOL-35 refactor: club -> organization 으로 네이밍 변경 * BOL-35 refactor: Members 수정 * BOL-35 refactor: Group 코드 수정 * BOL-35 refactor: MemberRole 추가 * BOL-35 refactor: Members -> MemberList 로 변경 * BOL-35 refactor: 불필요한 생성자 메서드 제거 * BOL-35 그룹 생성- port-out, adapter-out 추가 (#35) * BOL-35 MemberList 기본 생성자 추가 * BOL-35 feat: jpa database 버전 수정 * BOL-35 feat: group repository port-out 추가 * BOL-35 feat: member repository port-out 추가 * BOL-35 feat: GroupEntity 추가 * BOL-35 feat: MemberEntity 추가 * BOL-35 feat: GroupRepository 추가 * BOL-35 feat: MemberRepository * BOL-35 feat: group, member ddl sql 추가 * BOL-35 refactor: 코드 위치 변경 및 자잘한 수정 * BOL-35 feat: 리뷰 1차 반영 * BOL-35 그룹 생성- 어댑터 추가 (#36) * BOL-35 feat: GroupEntity 추가 * BOL-35 feat: GroupRepository 추가 * BOL-35 feat: MemberRepository * BOL-35 feat: group, member ddl sql 추가 * BOL-35 refactor: 코드 위치 변경 및 자잘한 수정 * BOL-35 feat: 리뷰 1차 반영 * BOL-35 refactor: 코드 위치 변경 및 자잘한 수정 * BOL-35 feat: group port-in 추가 * BOL-35 feat: group adapter-in 추가 * BOL-35 feat: group ServiceImpl 추가 * BOL-35 feat: member port-in 추가 * BOL-35 feat: member adapter-in 추가 * BOL-35 feat: member ServiceImpl 추가 * BOL-35 test: controller 테스트 코드 깨진 부분 수정 * BOL-35 test: ControllerTest queryParameters 수정 * BOL-35 test: 그룹, 멤버 swagger ui identifier 수정 * BOL-35 refactor: 멤버 서비스 변수명, 함수명 변경 * BOL-35 feat: MemberList 도메인 닉네임 중복 관련 로직 추가 * BOL-35 fix: ownerId 요청에서 제거 * BOL-35 fix: 엔티티 매핑 부분 수정 * BOL-35 feat: 그룹 생성 성공 응답값 수정 * BOL-35 fix: 닉네임 중복 체크 로직 수정 * BOL-35 feat: 리뷰 반영 * BOL-35 chore: 충돌 해결 커밋 * BOL-35 그룹 생성- 엔티티 연관관계 제거 및 도메인 객체 수정 (#38) * BOL-35 feat: GroupEntity 추가 * BOL-35 feat: GroupRepository 추가 * BOL-35 feat: MemberRepository * BOL-35 feat: group, member ddl sql 추가 * BOL-35 refactor: 코드 위치 변경 및 자잘한 수정 * BOL-35 feat: 리뷰 1차 반영 * BOL-35 refactor: 코드 위치 변경 및 자잘한 수정 * BOL-35 refactor: 멤버 서비스 변수명, 함수명 변경 * BOL-35 feat: MemberList 도메인 닉네임 중복 관련 로직 추가 * BOL-35 chore: 충돌 해결 커밋 * feat: 그룹 도메인, 엔티티에서 멤버 도메인, 엔티티 분리 * feat: Group, Member 도메인 수정 * feat: Group, Member 클래스 수정 * refactor: not() 적용 * feat: Group, Member port, adapter out 수정 * feat: Group, Member port, adapter in 수정 * BOL-35 refactor: 불필요한 @Repository 제거 * BOL-35 refactor: MemberCommandRepositoryImpl 코드 스타일 수정 * BOL-35 test: group controller test 터진거 해결 * BOL-35 refactor: 리뷰 반영 * BOL-35 fix: 충돌 에러 해결 * BOL-35 style: new line 수정 * BOL-68 feat: Value Class 도입 * BOL-68 feat: Controller 도 value class 사용 * BOL-68 feat:Member Domain, Host, Guest 개념 추가 * BOL-68 feat: createMember 처리 * BOL-68 fix: Member에서 GroupId 제거 * BOL-68 chore: local도 sanbox db 보도록 수정 * BOL-68 fix: Entity 에서는 Value class 제거 * BOL-68 fix: Create Group, Transactional 에서 관리 * BOL-68 feat: Host Member 추가 * BOL-68 test: 깨진 테스트 수정 * BOL-68 test: 꺠진 테스트 수정 * BOL-68 feat: Join Group Core * BOL-68 feat: Join Group Api * BOL-93 feat: Guest Port-out * BOL-93 feat: Guest adpater-in * BOL-93 feat: Guest Core * BOL-93 fix: 오류 수정 * BOL-68 fix: 그룹 중복 가입 방지 * BOL-93 test: 테스트 실패 수정 * BOL-68 fix: /v1/group/{groupId}/host * BOL-93 fix: /v1/group/{groupId}/guest * BOL-92 1. Game Domain 객체 (#40) * BOL-92 feat: Game Domain 생성 * BOL-92 feat: Port interface 생성 * BOL-92 2. Game - AdpaterOut (#41) * BOL-92 feat: SQL 문 생성 * BOL-92 feat: Game Jpa 클래스 * BOL-92 fix: Entity 에서도 value class 사용하기 * BOL-92 3. Game AdpaterIn / Core (#42) * BOL-92 feat: SQL 문 생성 * BOL-92 feat: Game Jpa 클래스 * BOL-92 feat: Core - Game Service Impl * BOL-92 feat: Adpater In - GameController * BOL-92 test: /v1/game/{groupId} * BOL-92 fix: Entity 에서도 value class 사용하기 * BOL-92 fix: Game Entity use value class * BOL-92 fix: url * BOL-68 fix: Join Group Nickname NotNull 로 변경 * test: Join Group Test * test: Add Guest 테스트 * feat: 누락된 변환 추가 * BOL-92-4 : File Name 처리 (#43) * BOL-92 feat: SQL 문 생성 * BOL-92 feat: Game Jpa 클래스 * BOL-92 feat: Core - Game Service Impl * BOL-92 feat: Adpater In - GameController * BOL-92 test: /v1/game/{groupId} * BOL-92 fix: Entity 에서도 value class 사용하기 * BOL-92 fix: Game Entity use value class * BOL-92 feat: File Name Converter * BOL-92 test: File Name Converter 추가 * BOL-92 fix: FileNameConverter에 http:// 추가 * BOL-92 fix: url * BOL-92 fix: FileName converter adpater-out으로 이동 * BOL-68-1 Value Class 도입 (#44) * BOL-68 feat: Value Class 도입 * BOL-68 feat: Controller 도 value class 사용 * BOL-68 fix: Entity 에서는 Value class 제거 * BOL-68 test: 꺠진 테스트 수정 * feat: 누락된 변환 추가 * fix: File UserId Error 수정 * BOL-68-2 feat:Member Domain, Host, Guest 개념 추가 (#46) * BOL-68 feat: Value Class 도입 * BOL-68 feat: Controller 도 value class 사용 * BOL-68 feat:Member Domain, Host, Guest 개념 추가 * BOL-68 fix: Entity 에서는 Value class 제거 * BOL-68 test: 꺠진 테스트 수정 * feat: 누락된 변환 추가 * fix: 코드리뷰 간단한거 수정 * feat: ParticipantMember 추가 * style: ktlin 적용 * BOL-68-3 createMember 로직 정리 (#47) * BOL-68 feat: Value Class 도입 * BOL-68 feat: Controller 도 value class 사용 * BOL-68 feat:Member Domain, Host, Guest 개념 추가 * BOL-68 feat: createMember 처리 * BOL-68 fix: Member에서 GroupId 제거 * BOL-68 fix: Entity 에서는 Value class 제거 * BOL-68 fix: Create Group, Transactional 에서 관리 * BOL-68 feat: Host Member 추가 * BOL-68 test: 깨진 테스트 수정 * BOL-68 test: 꺠진 테스트 수정 * BOL-68 fix: 그룹 중복 가입 방지 * feat: 누락된 변환 추가 * BOL-68-4 그룹 가입 API (#48) * BOL-68 feat: Value Class 도입 * BOL-68 feat: Controller 도 value class 사용 * BOL-68 feat:Member Domain, Host, Guest 개념 추가 * BOL-68 feat: createMember 처리 * BOL-68 fix: Member에서 GroupId 제거 * BOL-68 fix: Entity 에서는 Value class 제거 * BOL-68 fix: Create Group, Transactional 에서 관리 * BOL-68 feat: Host Member 추가 * BOL-68 test: 깨진 테스트 수정 * BOL-68 test: 꺠진 테스트 수정 * BOL-68 feat: Join Group Core * BOL-68 feat: Join Group Api * BOL-68 fix: 그룹 중복 가입 방지 * BOL-68 fix: /v1/group/{groupId}/host * BOL-68 fix: Join Group Nickname NotNull 로 변경 * test: Join Group Test * feat: 누락된 변환 추가 * fix: Exception 사용하지 않는것 제거 * fix: GroupId 적용 * BOL-60 그룹 검색 API (#45) * BOL-60 feat: BaseGroup 추가 * BOL-60 feat: GroupWithMemberCount 추가 * BOL-60 feat: MemberList 에 getSize 메서드 추가 * BOL-60 feat: ApplicationSlice 도메인 추가 * BOL-60 feat: MemberService, GroupService port 추가 * BOL-60 feat: GroupQueryRepositoryImpl findByNameLike 메서드 추가 * BOL-60 feat: Group, Member 검색 메서드 추가 * BOL-60 feat: Group 검색 컨트롤러 추가 * BOL-60 test: Group 검색 Controller 테스트 query param 추가 * BOL-60 test: Group 검색 Controller 테스트 수정 * BOL-60 feat: SearchGroupResponse 제거 * BOL-60 refactor: Group dto 수정 * BOL-60 refactor: ApplicationSlice -> PaginationCursor 이름 변경 * BOL-60 feat: @RequestParam 어노테이션 추가 * BOL-60 feat: organization optional 로 수정 * BOL-60 style: ktlintFormat 적용 * BOL-60 feat: GroupEntity 타입 수정 * BOL-60 feat: Group 타입 수정 * BOL-60 그룹 검색 API, 그룹 전체 검색 가능하도록 수정 (#50) * BOL-35 그룹 생성- 어댑터 추가 (#36) * BOL-35 feat: GroupEntity 추가 * BOL-35 feat: GroupRepository 추가 * BOL-35 feat: MemberRepository * BOL-35 feat: group, member ddl sql 추가 * BOL-35 refactor: 코드 위치 변경 및 자잘한 수정 * BOL-35 feat: 리뷰 1차 반영 * BOL-35 refactor: 코드 위치 변경 및 자잘한 수정 * BOL-35 feat: group port-in 추가 * BOL-35 feat: group adapter-in 추가 * BOL-35 feat: group ServiceImpl 추가 * BOL-35 feat: member port-in 추가 * BOL-35 feat: member adapter-in 추가 * BOL-35 feat: member ServiceImpl 추가 * BOL-35 test: controller 테스트 코드 깨진 부분 수정 * BOL-35 test: ControllerTest queryParameters 수정 * BOL-35 test: 그룹, 멤버 swagger ui identifier 수정 * BOL-35 refactor: 멤버 서비스 변수명, 함수명 변경 * BOL-35 feat: MemberList 도메인 닉네임 중복 관련 로직 추가 * BOL-35 fix: ownerId 요청에서 제거 * BOL-35 fix: 엔티티 매핑 부분 수정 * BOL-35 feat: 그룹 생성 성공 응답값 수정 * BOL-35 fix: 닉네임 중복 체크 로직 수정 * BOL-35 feat: 리뷰 반영 * BOL-35 chore: 충돌 해결 커밋 * BOL-35 그룹 생성- 엔티티 연관관계 제거 및 도메인 객체 수정 (#38) * BOL-35 feat: GroupEntity 추가 * BOL-35 feat: GroupRepository 추가 * BOL-35 feat: MemberRepository * BOL-35 feat: group, member ddl sql 추가 * BOL-35 refactor: 코드 위치 변경 및 자잘한 수정 * BOL-35 feat: 리뷰 1차 반영 * BOL-35 refactor: 코드 위치 변경 및 자잘한 수정 * BOL-35 refactor: 멤버 서비스 변수명, 함수명 변경 * BOL-35 feat: MemberList 도메인 닉네임 중복 관련 로직 추가 * BOL-35 chore: 충돌 해결 커밋 * feat: 그룹 도메인, 엔티티에서 멤버 도메인, 엔티티 분리 * feat: Group, Member 도메인 수정 * feat: Group, Member 클래스 수정 * refactor: not() 적용 * feat: Group, Member port, adapter out 수정 * feat: Group, Member port, adapter in 수정 * BOL-35 refactor: 불필요한 @Repository 제거 * BOL-35 refactor: MemberCommandRepositoryImpl 코드 스타일 수정 * BOL-35 test: group controller test 터진거 해결 * BOL-35 refactor: 리뷰 반영 * BOL-60 feat: BaseGroup 추가 * BOL-60 feat: GroupWithMemberCount 추가 * BOL-60 feat: ApplicationSlice 도메인 추가 * BOL-60 feat: Group 검색 컨트롤러 추가 * BOL-60 feat: SearchGroupResponse 제거 * BOL-60 feat: Group 검색 컨트롤러 추가 * BOL-60 feat: SearchGroupResponse 제거 * BOL-60 refactor: Group dto 수정 * BOL-60 refactor: ApplicationSlice -> PaginationCursor 이름 변경 * BOL-60 feat: organization optional 로 수정 * BOL-60 style: ktlintFormat 적용 * BOL-60 feat: GroupQueryRepositoryImpl findByNameLike 메서드 수정 * BOL-60 feat: GroupService 수정 * BOL-60 feat: Group Controller 수정 * BOL-60 feat: Group 검색 API end point 수정 * BOL-68 그룹 가입 (#51) * BOL-68 chore: local도 sanbox db 보도록 수정 * BOL-68-1 Value Class 도입 (#44) * BOL-68 feat: Value Class 도입 * BOL-68 feat: Controller 도 value class 사용 * BOL-68 fix: Entity 에서는 Value class 제거 * BOL-68 test: 꺠진 테스트 수정 * feat: 누락된 변환 추가 * fix: File UserId Error 수정 * BOL-68-2 feat:Member Domain, Host, Guest 개념 추가 (#46) * BOL-68 feat: Value Class 도입 * BOL-68 feat: Controller 도 value class 사용 * BOL-68 feat:Member Domain, Host, Guest 개념 추가 * BOL-68 fix: Entity 에서는 Value class 제거 * BOL-68 test: 꺠진 테스트 수정 * feat: 누락된 변환 추가 * fix: 코드리뷰 간단한거 수정 * feat: ParticipantMember 추가 * style: ktlin 적용 * BOL-68-3 createMember 로직 정리 (#47) * BOL-68 feat: Value Class 도입 * BOL-68 feat: Controller 도 value class 사용 * BOL-68 feat:Member Domain, Host, Guest 개념 추가 * BOL-68 feat: createMember 처리 * BOL-68 fix: Member에서 GroupId 제거 * BOL-68 fix: Entity 에서는 Value class 제거 * BOL-68 fix: Create Group, Transactional 에서 관리 * BOL-68 feat: Host Member 추가 * BOL-68 test: 깨진 테스트 수정 * BOL-68 test: 꺠진 테스트 수정 * BOL-68 fix: 그룹 중복 가입 방지 * feat: 누락된 변환 추가 * BOL-68-4 그룹 가입 API (#48) * BOL-68 feat: Value Class 도입 * BOL-68 feat: Controller 도 value class 사용 * BOL-68 feat:Member Domain, Host, Guest 개념 추가 * BOL-68 feat: createMember 처리 * BOL-68 fix: Member에서 GroupId 제거 * BOL-68 fix: Entity 에서는 Value class 제거 * BOL-68 fix: Create Group, Transactional 에서 관리 * BOL-68 feat: Host Member 추가 * BOL-68 test: 깨진 테스트 수정 * BOL-68 test: 꺠진 테스트 수정 * BOL-68 feat: Join Group Core * BOL-68 feat: Join Group Api * BOL-68 fix: 그룹 중복 가입 방지 * BOL-68 fix: /v1/group/{groupId}/host * BOL-68 fix: Join Group Nickname NotNull 로 변경 * test: Join Group Test * feat: 누락된 변환 추가 * fix: Exception 사용하지 않는것 제거 --------- Co-authored-by: SeungYoung Oh <[email protected]> * BOL-92 게임 목록 내려주기 (#52) * BOL-92 feat: Game Domain 생성 * BOL-92 feat: Port interface 생성 * BOL-68 chore: local도 sanbox db 보도록 수정 * BOL-92 2. Game - AdpaterOut (#41) * BOL-92 feat: SQL 문 생성 * BOL-92 feat: Game Jpa 클래스 * BOL-92 fix: Entity 에서도 value class 사용하기 * BOL-92 3. Game AdpaterIn / Core (#42) * BOL-92 feat: SQL 문 생성 * BOL-92 feat: Game Jpa 클래스 * BOL-92 feat: Core - Game Service Impl * BOL-92 feat: Adpater In - GameController * BOL-92 test: /v1/game/{groupId} * BOL-92 fix: Entity 에서도 value class 사용하기 * BOL-92 fix: Game Entity use value class * BOL-92 fix: url * BOL-92-4 : File Name 처리 (#43) * BOL-92 feat: SQL 문 생성 * BOL-92 feat: Game Jpa 클래스 * BOL-92 feat: Core - Game Service Impl * BOL-92 feat: Adpater In - GameController * BOL-92 test: /v1/game/{groupId} * BOL-92 fix: Entity 에서도 value class 사용하기 * BOL-92 fix: Game Entity use value class * BOL-92 feat: File Name Converter * BOL-92 test: File Name Converter 추가 * BOL-92 fix: FileNameConverter에 http:// 추가 * BOL-92 fix: url * BOL-92 fix: FileName converter adpater-out으로 이동 * BOL-68-1 Value Class 도입 (#44) * BOL-68 feat: Value Class 도입 * BOL-68 feat: Controller 도 value class 사용 * BOL-68 fix: Entity 에서는 Value class 제거 * BOL-68 test: 꺠진 테스트 수정 * feat: 누락된 변환 추가 * fix: File UserId Error 수정 * BOL-68-2 feat:Member Domain, Host, Guest 개념 추가 (#46) * BOL-68 feat: Value Class 도입 * BOL-68 feat: Controller 도 value class 사용 * BOL-68 feat:Member Domain, Host, Guest 개념 추가 * BOL-68 fix: Entity 에서는 Value class 제거 * BOL-68 test: 꺠진 테스트 수정 * feat: 누락된 변환 추가 * fix: 코드리뷰 간단한거 수정 * feat: ParticipantMember 추가 * style: ktlin 적용 * BOL-68-3 createMember 로직 정리 (#47) * BOL-68 feat: Value Class 도입 * BOL-68 feat: Controller 도 value class 사용 * BOL-68 feat:Member Domain, Host, Guest 개념 추가 * BOL-68 feat: createMember 처리 * BOL-68 fix: Member에서 GroupId 제거 * BOL-68 fix: Entity 에서는 Value class 제거 * BOL-68 fix: Create Group, Transactional 에서 관리 * BOL-68 feat: Host Member 추가 * BOL-68 test: 깨진 테스트 수정 * BOL-68 test: 꺠진 테스트 수정 * BOL-68 fix: 그룹 중복 가입 방지 * feat: 누락된 변환 추가 * BOL-68-4 그룹 가입 API (#48) * BOL-68 feat: Value Class 도입 * BOL-68 feat: Controller 도 value class 사용 * BOL-68 feat:Member Domain, Host, Guest 개념 추가 * BOL-68 feat: createMember 처리 * BOL-68 fix: Member에서 GroupId 제거 * BOL-68 fix: Entity 에서는 Value class 제거 * BOL-68 fix: Create Group, Transactional 에서 관리 * BOL-68 feat: Host Member 추가 * BOL-68 test: 깨진 테스트 수정 * BOL-68 test: 꺠진 테스트 수정 * BOL-68 feat: Join Group Core * BOL-68 feat: Join Group Api * BOL-68 fix: 그룹 중복 가입 방지 * BOL-68 fix: /v1/group/{groupId}/host * BOL-68 fix: Join Group Nickname NotNull 로 변경 * test: Join Group Test * feat: 누락된 변환 추가 * fix: Exception 사용하지 않는것 제거 * fix: GroupId 적용 --------- Co-authored-by: SeungYoung Oh <[email protected]> * BOL-112 내 정보 가져오기 (#53) * feat: 내 정보 가져오기 * fix: User 닉네임 nullable * style: ktlint * BOL-94-1 맴버 목록 가져오기 기초 작업 (#54) * feat: 내 정보 가져오기 * fix: User 닉네임 nullable * style: ktlint * feat: Cursor 기능 골격 * feat: Member 에 Level 추가 * BOL-94-2 맴버 목록 가져오기 (#55) * feat: 내 정보 가져오기 * fix: User 닉네임 nullable * style: ktlint * feat: Cursor 기능 골격 * feat: Member 에 Level 추가 * feat: Member List pagination 으로 가져오기 * test: GET /v1/group/{groupId}/member * test: 맴버 조회 로직 테스트 * refactor: rename function * feat: QueryDsl 도입 * feat: Member 목록 nickname 검색 추가 * test: 실패 케이스 수정 * feat: group 수정 * 그룹 생성시 auth 쓰도록 수정 * 그룹 생성 응답에서 소속 nullable 으로 수정 * feat: 불필요한 파일 삭제 * BOL-93 게스트 추가 API (#49) * BOL-92 feat: Game Domain 생성 * BOL-92 feat: Port interface 생성 * BOL-68 feat: Value Class 도입 * BOL-68 feat: Controller 도 value class 사용 * BOL-68 feat:Member Domain, Host, Guest 개념 추가 * BOL-68 feat: createMember 처리 * BOL-68 fix: Member에서 GroupId 제거 * BOL-68 chore: local도 sanbox db 보도록 수정 * BOL-68 fix: Entity 에서는 Value class 제거 * BOL-68 fix: Create Group, Transactional 에서 관리 * BOL-68 feat: Host Member 추가 * BOL-68 test: 깨진 테스트 수정 * BOL-68 test: 꺠진 테스트 수정 * BOL-68 feat: Join Group Core * BOL-68 feat: Join Group Api * BOL-93 feat: Guest Port-out * BOL-93 feat: Guest adpater-in * BOL-93 feat: Guest Core * BOL-93 fix: 오류 수정 * BOL-68 fix: 그룹 중복 가입 방지 * BOL-93 test: 테스트 실패 수정 * BOL-68 fix: /v1/group/{groupId}/host * BOL-93 fix: /v1/group/{groupId}/guest * BOL-92 2. Game - AdpaterOut (#41) * BOL-92 feat: SQL 문 생성 * BOL-92 feat: Game Jpa 클래스 * BOL-92 fix: Entity 에서도 value class 사용하기 * BOL-92 3. Game AdpaterIn / Core (#42) * BOL-92 feat: SQL 문 생성 * BOL-92 feat: Game Jpa 클래스 * BOL-92 feat: Core - Game Service Impl * BOL-92 feat: Adpater In - GameController * BOL-92 test: /v1/game/{groupId} * BOL-92 fix: Entity 에서도 value class 사용하기 * BOL-92 fix: Game Entity use value class * BOL-92 fix: url * BOL-68 fix: Join Group Nickname NotNull 로 변경 * test: Join Group Test * test: Add Guest 테스트 * feat: 누락된 변환 추가 * BOL-92-4 : File Name 처리 (#43) * BOL-92 feat: SQL 문 생성 * BOL-92 feat: Game Jpa 클래스 * BOL-92 feat: Core - Game Service Impl * BOL-92 feat: Adpater In - GameController * BOL-92 test: /v1/game/{groupId} * BOL-92 fix: Entity 에서도 value class 사용하기 * BOL-92 fix: Game Entity use value class * BOL-92 feat: File Name Converter * BOL-92 test: File Name Converter 추가 * BOL-92 fix: FileNameConverter에 http:// 추가 * BOL-92 fix: url * BOL-92 fix: FileName converter adpater-out으로 이동 * BOL-68-1 Value Class 도입 (#44) * BOL-68 feat: Value Class 도입 * BOL-68 feat: Controller 도 value class 사용 * BOL-68 fix: Entity 에서는 Value class 제거 * BOL-68 test: 꺠진 테스트 수정 * feat: 누락된 변환 추가 * fix: File UserId Error 수정 * BOL-68-2 feat:Member Domain, Host, Guest 개념 추가 (#46) * BOL-68 feat: Value Class 도입 * BOL-68 feat: Controller 도 value class 사용 * BOL-68 feat:Member Domain, Host, Guest 개념 추가 * BOL-68 fix: Entity 에서는 Value class 제거 * BOL-68 test: 꺠진 테스트 수정 * feat: 누락된 변환 추가 * fix: 코드리뷰 간단한거 수정 * feat: ParticipantMember 추가 * style: ktlin 적용 * BOL-68-3 createMember 로직 정리 (#47) * BOL-68 feat: Value Class 도입 * BOL-68 feat: Controller 도 value class 사용 * BOL-68 feat:Member Domain, Host, Guest 개념 추가 * BOL-68 feat: createMember 처리 * BOL-68 fix: Member에서 GroupId 제거 * BOL-68 fix: Entity 에서는 Value class 제거 * BOL-68 fix: Create Group, Transactional 에서 관리 * BOL-68 feat: Host Member 추가 * BOL-68 test: 깨진 테스트 수정 * BOL-68 test: 꺠진 테스트 수정 * BOL-68 fix: 그룹 중복 가입 방지 * feat: 누락된 변환 추가 * BOL-68-4 그룹 가입 API (#48) * BOL-68 feat: Value Class 도입 * BOL-68 feat: Controller 도 value class 사용 * BOL-68 feat:Member Domain, Host, Guest 개념 추가 * BOL-68 feat: createMember 처리 * BOL-68 fix: Member에서 GroupId 제거 * BOL-68 fix: Entity 에서는 Value class 제거 * BOL-68 fix: Create Group, Transactional 에서 관리 * BOL-68 feat: Host Member 추가 * BOL-68 test: 깨진 테스트 수정 * BOL-68 test: 꺠진 테스트 수정 * BOL-68 feat: Join Group Core * BOL-68 feat: Join Group Api * BOL-68 fix: 그룹 중복 가입 방지 * BOL-68 fix: /v1/group/{groupId}/host * BOL-68 fix: Join Group Nickname NotNull 로 변경 * test: Join Group Test * feat: 누락된 변환 추가 * fix: Exception 사용하지 않는것 제거 * fix: GroupId 적용 * BOL-112 내 정보 가져오기 (#53) * feat: 내 정보 가져오기 * fix: User 닉네임 nullable * style: ktlint * BOL-94-1 맴버 목록 가져오기 기초 작업 (#54) * feat: 내 정보 가져오기 * fix: User 닉네임 nullable * style: ktlint * feat: Cursor 기능 골격 * feat: Member 에 Level 추가 * BOL-94-2 맴버 목록 가져오기 (#55) * feat: 내 정보 가져오기 * fix: User 닉네임 nullable * style: ktlint * feat: Cursor 기능 골격 * feat: Member 에 Level 추가 * feat: Member List pagination 으로 가져오기 * test: GET /v1/group/{groupId}/member * test: 맴버 조회 로직 테스트 * refactor: rename function * feat: QueryDsl 도입 * feat: Member 목록 nickname 검색 추가 * test: 실패 케이스 수정 --------- Co-authored-by: SeungYoung Oh <[email protected]> * 커서 기반 페이지네이션 리팩터링 (#59) * 커서 기반 페이지네이션 리팩터링 - dto, port 수정 (#56) * BOL-124 refactor: 커서 요청 dto 이름 및 위치 변경 * BOL-124 refactor: 변경된 커서 요청 dto 포트에 적용 * 커서 기반 페이지네이션 리팩터링 - adapter (#57) * BOL-124 refactor: 커서 요청 dto 이름 및 위치 변경 * BOL-124 refactor: 변경된 커서 요청 dto 포트에 적용 * BOL-124 refactor: core -> adapter out 으로 페이지네이션 로직 이동 * BOL-124 refactor: 변경된 커서 dto 컨트롤러에 적용 * 커서 기반 페이지네이션 리팩터링 - 패키지 위치, 네이밍 변경 (#58) * BOL-124 refactor: 커서 관련 클래스 디렉토리 이동 * BOL-124 refactor: 커서 관련 domain 네이밍 변경 * BOL-124 docs: Naming Convention 추가 --------- Co-authored-by: HoYeon Lee <[email protected]> --------- Co-authored-by: HoYeon Lee <[email protected]> * chore: http host url (cherry picked from commit 022bad63c489cbe101ee4324109ad0ac3dd34ce1) * fix: 그룹 rest doc identifier 수정 (#61) * 멤버 닉네임 검사 API 수정 (#64) * feat: ci fix/* 브랜치도 동작하도록 수정 * feat: Member 닉네임 최소 길이 검사 추가 * feat: 멤버 닉네임 검사 API 길이 체크 로직 추가 * feat: 멤버 닉네임 검사 swagger 수정 * BOL-109 feat: 가입한 그룹 목록 가져오기 (#60) * BOL-109 feat: 가입한 그룹 목록 가져오기 * BOL-109 refactor: GroupResponse 위치 변경 * 매치 관련 테이블을 설계 (#63) * BOL-127 feat: SeasonEntity 추가 * BOL-127 feat: GameMemberEntity 추가 * BOL-127 feat: MatchEntity 추가 * BOL-127 feat: MatchMemberEntity 추가 * BOL-127 feat: MatchEntity 불필요한 필드 삭제 * BOL-127 feat: MatchMemberEntity 불필요한 필드 삭제 * BOL-127 feat: 컬럼명, 테이블명 변경 엔티티에 반영 * BOL-127 feat: 매치 관련 ddl query 추가 * BOL-127 chore: 불필요한 sql 파일 삭제 * BOL-127 feat: game_member table ddl 쿼리 추가 * BOL-116 fix: 그룹 소속으로 검색하기 (#62) * BOL-116 fix: 그룹 소속으로 검색하기 * BOL-116 fix: Group 검색 name -> keyword로 변경 * BOL-116 fix: Compile Error * BOL-94 fix: 맴버 조회 시 EmptyList 에러 해결 (#65) * BOL-94 fix: Empty 조회 에러 해결 * BOL-94 test: 맴버 조회 시 목록 없음 케이스 추가 * BOL-94 style: ktlint * fix: jpa OneToOne 연관관계 오류 해결 (#67) * BOL-146 feat: Group Default File Image 가져오기 (#66) * BOL-146 fix: FileReponse 클래스 명 변경 * BOL-146 feat: Group Default File Image 가져오기 * BOL-153 feat: Auth Api 에 남은 온보딩 보여주기 (#68) * BOL-155 그룹 상세 정보 보기 API (#71) * BOL-155 refactor: Group Domain * BOL-155 feat: Group Owner 가져오기 * BOL-155 feat: get Group With Member Count * BOL-155 feat: /v1/group/{groupId} * BOL-155 fix: Test 실패 케이스 * BOL-150 유저 정보 변경 API (in 온보딩) (#70) * BOL-150 feat: Put User Info * BOL-150 test: PUT /v1/user/me * BOL-150 feat: Nickname Validator Blank 체크 * BOL-150 style: User Entity Setter 사용하기 * BOL-160 feat: 엑세스 코드 검증 API (#72) * BOL-188 feat: File Purpose에 Game 이미지 추가 (#78) * BOL-188 feat: File Purpose에 Game 이미지 추가 * BOL-188 docs: Game DML 작성 * BOL-95 매치 기록 > 엔티티 수정 (#73) * BOL-95 feat: GameClient 의 id 수정 * BOL-95 feat: GameEntity 생성자 메서드 추가 * BOL-95 feat: SeasonEntity 기능 추가 * 생성자 메서드 추가 * 변환 메서드 추가 * BOL-95 feat: GameMemberEntity 기능 추가 * 생성자 메서드 추가 * 변환 메서드 추가 * BOL-95 feat: MatchMemberEntity 기능 추가 * 생성자 메서드 추가 * 변환 메서드 추가 * BOL-95 feat: MatchMemberEntity 기능 추가 * 생성자 메서드 추가 * 변환 메서드 추가 * BOL-95 매치 기록 > port-out, adapter-out 추가 (#74) * BOL-95 feat: GameMember Repository 추가 * BOL-95 feat: Season Repository 추가 * BOL-95 feat: MatchMember Repository 추가 * BOL-95 feat: Match Repository 추가 * BOL-95 feat: GameMember port out 추가 * BOL-95 feat: Season port out 추가 * BOL-95 feat: Match port out 추가 * BOL-95 매치 기록 > 도메인 클래스 추가 (#75) * BOL-95 feat: GameMember Repository 추가 * BOL-95 feat: Season Repository 추가 * BOL-95 feat: MatchMember Repository 추가 * BOL-95 feat: Match Repository 추가 * BOL-95 feat: GameMember port out 추가 * BOL-95 feat: Season port out 추가 * BOL-95 feat: Match port out 추가 * BOL-95 feat: Season 도메인 추가 * BOL-95 feat: Match 도메인 추가 * BOL-95 feat: MatchMember 도메인 추가 * BOL-95 feat: GameMember 도메인 추가 * BOL-95 매치 기록 > 서비스 클래스 추가 (#76) * BOL-95 feat: GameMember Repository 추가 * BOL-95 feat: Season Repository 추가 * BOL-95 feat: MatchMember Repository 추가 * BOL-95 feat: Match Repository 추가 * BOL-95 feat: GameMember port out 추가 * BOL-95 feat: Season port out 추가 * BOL-95 feat: Match port out 추가 * BOL-95 feat: Season 도메인 추가 * BOL-95 feat: Match 도메인 추가 * BOL-95 feat: MatchMember 도메인 추가 * BOL-95 feat: GameMember 도메인 추가 * BOL-95 feat: GameMemberService 추가 * BOL-95 feat: CreateMatchDto 추가 * BOL-95 feat: MatchService 추가 * BOL-95 feat: SeasonService 추가 * BOL-95 feat: MatchWithMatchMemberList 추가 * BOL-95 test: GameMemberTest 추가 * BOL-95 feat: GameMemberServiceImpl 추가 * BOL-95 feat: MatchServiceImpl 추가 * BOL-95 feat: SeasonServiceImpl 추가 * BOL-95 feat: MatchMember 예외 클래스 추가 * BOL-95 매치 기록 > adapter-in 추가 (#77) * BOL-95 feat: GameMember Repository 추가 * BOL-95 feat: Season Repository 추가 * BOL-95 feat: MatchMember Repository 추가 * BOL-95 feat: Match Repository 추가 * BOL-95 feat: GameMember port out 추가 * BOL-95 feat: Season port out 추가 * BOL-95 feat: Match port out 추가 * BOL-95 feat: Season 도메인 추가 * BOL-95 feat: Match 도메인 추가 * BOL-95 feat: MatchMember 도메인 추가 * BOL-95 feat: GameMember 도메인 추가 * BOL-95 feat: GameMemberService 추가 * BOL-95 feat: CreateMatchDto 추가 * BOL-95 feat: MatchService 추가 * BOL-95 feat: SeasonService 추가 * BOL-95 feat: MatchWithMatchMemberList 추가 * BOL-95 test: GameMemberTest 추가 * BOL-95 feat: GameMemberServiceImpl 추가 * BOL-95 feat: MatchServiceImpl 추가 * BOL-95 feat: SeasonServiceImpl 추가 * BOL-95 feat: MatchMember 예외 클래스 추가 * BOL-95 feat: CreateMatchRequest 추가 * BOL-95 feat: MatchController 추가 * BOL-95 feat: MatchControllerTest 추가 * BOL-95 feat: CreateMatchRequest 수정 * BOL-95 test: MatchControllerTest 수정 * BOL-95 매치 기록 > 리팩터링 (#79) * BOL-95 feat: GameMember Repository 추가 * BOL-95 feat: Season Repository 추가 * BOL-95 feat: MatchMember Repository 추가 * BOL-95 feat: Match Repository 추가 * BOL-95 feat: GameMember port out 추가 * BOL-95 feat: Season port out 추가 * BOL-95 feat: Match port out 추가 * BOL-95 feat: Season 도메인 추가 * BOL-95 feat: Match 도메인 추가 * BOL-95 feat: MatchMember 도메인 추가 * BOL-95 feat: GameMember 도메인 추가 * BOL-95 feat: GameMemberService 추가 * BOL-95 feat: CreateMatchDto 추가 * BOL-95 feat: MatchService 추가 * BOL-95 feat: SeasonService 추가 * BOL-95 feat: MatchWithMatchMemberList 추가 * BOL-95 test: GameMemberTest 추가 * BOL-95 feat: GameMemberServiceImpl 추가 * BOL-95 feat: MatchServiceImpl 추가 * BOL-95 feat: SeasonServiceImpl 추가 * BOL-95 feat: MatchMember 예외 클래스 추가 * BOL-95 feat: CreateMatchRequest 추가 * BOL-95 feat: MatchController 추가 * BOL-95 feat: MatchControllerTest 추가 * BOL-95 feat: CreateMatchRequest 수정 * BOL-95 test: MatchControllerTest 수정 * BOL-95 refactor: Match, MatchMember 연관관계 설정 * BOL-95 refactor: Match core, port, adapter 수정 * 연관관계 매핑에 따라 Match, MatchMember Cascade 로 동작하도록 수정 * BOL-95 refactor: GameMemberService 에 Match 계산 로직 위임 * BOL-95 feat: DateTimeUtils 추가 * BOL-95 feat: InvalidDateTimeException 예외 클래스 추가 * BOL-95 feat: GameMember 점수 계산 로직 추가 * BOL-95 test: GameMemberTest 테스트 코드 추가 * BOL-95 test: DateTimeUtils 테스트 코드 추가 * BOL-95 feat: match service 로직 수정 * BOL-95 feat: match sql 쿼리문 수정 * BOL-95 feat: Match 생성시 날짜 형식 변경 * BOL-95 chore: 불필요한 클래스 제거 * BOL-95 feat: 양방향 연관관계 추가 * BOL-95 feat: MatchMember ddl 추가 * BOL-95 refactor: 불필요한 DateTimeUtils 할당 삭제 * BOL-95 refactor: processMatch 네이밍 변경 * BOL-95 chore: 불필요한 파일 삭제 * BOL-95 매치 기록 > game 최소 인원 검증 로직 추가 (#80) * BOL-95 feat: InvalidMatchMemberException 예외 내용 변경 * BOL-95 feat: game member size 체크하는 기능 추가 * BOL-328 Production 환경 세팅 (#83) * BOL-133 feat: sql 빠진 ddl 추가 * BOL-328 feat: application-rdb prod 설정 추가 * BOL-328 feat: sandbox ci/cd pipeline 수정 * BOL-328 feat: Dockerfile 수정 * BOL-328 feat: production ci/cd pipeline 수정 * BOL-328 feat: 테스트용으로 주석처리 한 부분 수정 * BOL-328 chore: 운영 배포에 필요한 application.yml 값 추가 * BOL-328 chore: 운영 컨테이너 포트 변경 --------- Co-authored-by: HoYeon Lee <[email protected]> * BoL-161 feat: 이용약관 API (#82) * BOL-161 feat: Terms 기본 베이스 세팅 * BOL-161 feat: 약관 가져오기 API * BOL-161 fix: isOptional 위치 변경 * BOL-161 test: Compile Error 수정 * BOL-16 feat: Agreed Terms Rdb 세팅 * BOL-16 feat: 약관 동의 * BOL-16 feat: 이용 약관 관련 API * BOL-16 feat: 비동의 정보도 저장 * BOL-161 feat: Onboarding 상태 조회하기 * BOL-161 style: ktlint * BOL-161 fix: 약관 동의 버그 수정 * BOL-161 feat: 설정 화면에서 사용할 약관 목록 * BOL-161 style: ktlint * BOL-161 test: fix error * BOL-108 리더보드 API (#69) * BOL-127 feat: SeasonEntity 추가 * BOL-127 feat: GameMemberEntity 추가 * BOL-127 feat: MatchEntity 추가 * BOL-127 feat: MatchMemberEntity 추가 * BOL-108 feat: 리더 보드 API Mock * BOL-127 feat: MatchEntity 불필요한 필드 삭제 * BOL-127 feat: MatchMemberEntity 불필요한 필드 삭제 * BOL-127 feat: 컬럼명, 테이블명 변경 엔티티에 반영 * BOL-127 feat: 매치 관련 ddl query 추가 * BOL-127 chore: 불필요한 sql 파일 삭제 * BOL-108 feat: 리더보드 가져오기 DB 연동 * fix: jpa OneToOne 연관관계 오류 해결 * BOL-108 fix: Member Mapping 에러 수정 * BOL-108 feat: 리더보드 순위 정렬 * BOL-108 fix: rank not null * BOL-108 feat: 최근 업데이트 맴버 목록 MOCK API * BOL-108 feat: 최근 1시간 변경 여부 * BOL-108 feat: 리더보드에 승점 추가 * BOL-108 feat: 리더보드에 Member Role 추가 * BOL-108 fix: 리더보드 이상하게 나오는거 수정 --------- Co-authored-by: SeungYoung Oh <[email protected]> * BOL-241 멤버 닉네임 제약 추가 (#84) * BOL-133 feat: sql 빠진 ddl 추가 * BOL-328 feat: application-rdb prod 설정 추가 * BOL-328 feat: sandbox ci/cd pipeline 수정 * BOL-328 feat: Dockerfile 수정 * BOL-328 feat: production ci/cd pipeline 수정 * BOL-328 feat: 테스트용으로 주석처리 한 부분 수정 * BOL-241 feat: NicknameValidator 에 regex 함수 추가 및 리팩터링 * BOL-241 feat: MemberService 닉네임 검사 로직 위임 * BOL-241 feat: UserServiceImpl 수정 * BOL-241 fix: Member 닉네임 검증 에러 수정 --------- Co-authored-by: HoYeon Lee <[email protected]> --------- Co-authored-by: SeungYoung Oh <[email protected]>
1 parent 0752c6c commit 039e4b6

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+2258
-147
lines changed

adapter-in/web/src/main/kotlin/com/yapp/bol/auth/AuthController.kt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package com.yapp.bol.auth
22

33
import com.yapp.bol.auth.dto.LoginRequest
44
import com.yapp.bol.auth.dto.LoginResponse
5-
import com.yapp.bol.onboarding.OnboardingService
65
import org.springframework.web.bind.annotation.PostMapping
76
import org.springframework.web.bind.annotation.RequestBody
87
import org.springframework.web.bind.annotation.RequestMapping
@@ -12,7 +11,6 @@ import org.springframework.web.bind.annotation.RestController
1211
@RequestMapping("/v1/auth")
1312
class AuthController(
1413
private val authService: AuthService,
15-
private val onboardingService: OnboardingService,
1614
) {
1715
@PostMapping("/login")
1816
fun login(@RequestBody request: LoginRequest): LoginResponse {
@@ -21,7 +19,6 @@ class AuthController(
2119
return LoginResponse(
2220
accessToken = authToken.accessToken.value,
2321
refreshToken = authToken.refreshToken?.value,
24-
onboarding = onboardingService.getRemainOnboarding(authToken.accessToken.userId)
2522
)
2623
}
2724
}
Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
package com.yapp.bol.auth.dto
22

33
import com.fasterxml.jackson.annotation.JsonInclude
4-
import com.yapp.bol.onboarding.OnboardingType
54

65
@JsonInclude(JsonInclude.Include.NON_NULL)
76
data class LoginResponse(
87
val accessToken: String,
98
val refreshToken: String?,
10-
val onboarding: List<OnboardingType>,
119
)

adapter-in/web/src/main/kotlin/com/yapp/bol/group/GroupController.kt

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,18 @@ package com.yapp.bol.group
33
import com.yapp.bol.auth.getSecurityUserIdOrThrow
44
import com.yapp.bol.file.FileService
55
import com.yapp.bol.file.dto.FileResponse
6+
import com.yapp.bol.game.GameId
67
import com.yapp.bol.group.dto.CheckAccessCodeRequest
78
import com.yapp.bol.group.dto.CheckAccessCodeResponse
89
import com.yapp.bol.group.dto.CreateGroupRequest
910
import com.yapp.bol.group.dto.CreateGroupResponse
1011
import com.yapp.bol.group.dto.GroupDetailResponse
1112
import com.yapp.bol.group.dto.GroupListResponse
13+
import com.yapp.bol.group.dto.LeaderBoardResponse
1214
import com.yapp.bol.group.dto.toCreateGroupResponse
1315
import com.yapp.bol.group.dto.toDto
1416
import com.yapp.bol.group.dto.toListResponse
17+
import com.yapp.bol.group.dto.toResponse
1518
import com.yapp.bol.pagination.offset.PaginationOffsetResponse
1619
import org.springframework.security.access.prepost.PreAuthorize
1720
import org.springframework.web.bind.annotation.GetMapping
@@ -61,6 +64,15 @@ class GroupController(
6164
pageSize = pageSize,
6265
).mapContents { it.toListResponse() }
6366

67+
@GetMapping("/{groupId}/game/{gameId}")
68+
fun getLeaderboard(
69+
@PathVariable groupId: GroupId,
70+
@PathVariable gameId: GameId,
71+
): LeaderBoardResponse {
72+
val list = groupService.getLeaderBoard(groupId, gameId).mapIndexed { index, it -> it.toResponse(index + 1) }
73+
return LeaderBoardResponse(list)
74+
}
75+
6476
@PreAuthorize("isAuthenticated()")
6577
@GetMapping("/{groupId}")
6678
fun getGroup(
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
package com.yapp.bol.group.dto
2+
3+
import com.yapp.bol.group.LeaderBoardMember
4+
import com.yapp.bol.group.member.MemberId
5+
import com.yapp.bol.group.member.MemberRole
6+
7+
data class LeaderBoardResponse(
8+
val contents: List<RankMemberResponse>
9+
)
10+
11+
data class RankMemberResponse(
12+
val id: MemberId,
13+
val nickname: String,
14+
val role: MemberRole,
15+
val rank: Int?,
16+
val score: Int?,
17+
val matchCount: Int?,
18+
val isChangeRecent: Boolean,
19+
)
20+
21+
fun LeaderBoardMember.toResponse(rank: Int): RankMemberResponse = RankMemberResponse(
22+
id = this.member.id,
23+
nickname = this.member.nickname,
24+
role = this.member.role,
25+
rank = if (this.score == null) null else rank,
26+
score = this.score,
27+
matchCount = this.matchCount,
28+
isChangeRecent = this.isChangeRecent,
29+
)
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package com.yapp.bol.setting
2+
3+
import com.yapp.bol.terms.TermsService
4+
import com.yapp.bol.terms.dto.TermsResponse
5+
import com.yapp.bol.terms.dto.toResponse
6+
import org.springframework.beans.factory.annotation.Value
7+
import org.springframework.web.bind.annotation.GetMapping
8+
import org.springframework.web.bind.annotation.RequestMapping
9+
import org.springframework.web.bind.annotation.RestController
10+
11+
@RestController
12+
@RequestMapping("/v1/setting")
13+
class SettingController(
14+
@Value("\${bol.server.host}") private val host: String,
15+
private val termsService: TermsService,
16+
) {
17+
@GetMapping("/terms")
18+
fun getSetting(): TermsResponse {
19+
return TermsResponse(termsService.getWholeTerms().map { it.toResponse(host) })
20+
}
21+
}
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
package com.yapp.bol.terms
2+
3+
import com.yapp.bol.EmptyResponse
4+
import com.yapp.bol.auth.getSecurityUserIdOrThrow
5+
import com.yapp.bol.terms.dto.AgreeTermsRequest
6+
import com.yapp.bol.terms.dto.TermsResponse
7+
import com.yapp.bol.terms.dto.toResponse
8+
import org.springframework.beans.factory.annotation.Value
9+
import org.springframework.security.access.prepost.PreAuthorize
10+
import org.springframework.web.bind.annotation.GetMapping
11+
import org.springframework.web.bind.annotation.PostMapping
12+
import org.springframework.web.bind.annotation.RequestBody
13+
import org.springframework.web.bind.annotation.RequestMapping
14+
import org.springframework.web.bind.annotation.RestController
15+
16+
@RestController
17+
@RequestMapping("/v1/terms")
18+
class TermsController(
19+
@Value("\${bol.server.host}") private val host: String,
20+
private val termsService: TermsService,
21+
) {
22+
23+
@GetMapping
24+
@PreAuthorize("isAuthenticated()")
25+
fun getTerms(): TermsResponse {
26+
val userId = getSecurityUserIdOrThrow()
27+
val list = termsService.getNeedTermsAgreeList(userId)
28+
return TermsResponse(
29+
list.map { it.toResponse(host) }
30+
)
31+
}
32+
33+
@PostMapping
34+
@PreAuthorize("isAuthenticated()")
35+
fun agreeTerms(
36+
@RequestBody request: AgreeTermsRequest,
37+
): EmptyResponse {
38+
val userId = getSecurityUserIdOrThrow()
39+
40+
val termsInfo = mutableListOf<TermsAgreeInfo>()
41+
42+
request.agree?.forEach {
43+
termsInfo.add(TermsAgreeInfo(it, true))
44+
}
45+
46+
request.disagree?.forEach {
47+
termsInfo.add(TermsAgreeInfo(it, false))
48+
}
49+
50+
termsService.agreeTerms(userId, termsInfo)
51+
52+
return EmptyResponse
53+
}
54+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package com.yapp.bol.terms.dto
2+
3+
import com.yapp.bol.terms.TermsCode
4+
5+
data class AgreeTermsRequest(
6+
val agree: List<TermsCode>?,
7+
val disagree: List<TermsCode>?,
8+
)
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package com.yapp.bol.terms.dto
2+
3+
import com.yapp.bol.terms.TermsCode
4+
5+
data class TermsResponse(
6+
val contents: List<TermsItemResponse>
7+
)
8+
9+
data class TermsItemResponse(
10+
val code: TermsCode,
11+
val title: String,
12+
val url: String,
13+
val isRequired: Boolean,
14+
)
15+
16+
fun TermsCode.toResponse(host: String): TermsItemResponse = TermsItemResponse(
17+
code = this,
18+
title = this.title,
19+
url = "$host/${this.path}",
20+
isRequired = this.isRequired,
21+
)

adapter-in/web/src/main/kotlin/com/yapp/bol/user/UserController.kt

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ import com.yapp.bol.UnknownException
55
import com.yapp.bol.auth.getSecurityUserIdOrThrow
66
import com.yapp.bol.group.GroupService
77
import com.yapp.bol.group.dto.toResponse
8+
import com.yapp.bol.onboarding.OnboardingService
9+
import com.yapp.bol.user.dto.CheckOnboardResponse
810
import com.yapp.bol.user.dto.JoinedGroupResponse
911
import com.yapp.bol.user.dto.MyInfoResponse
1012
import com.yapp.bol.user.dto.PutUserInfoRequest
@@ -21,8 +23,18 @@ import org.springframework.web.bind.annotation.RestController
2123
class UserController(
2224
private val userService: UserService,
2325
private val groupService: GroupService,
26+
private val onboardingService: OnboardingService
2427
) {
2528

29+
@PreAuthorize("isAuthenticated()")
30+
@GetMapping("/me/onboarding")
31+
fun checkOnboard(): CheckOnboardResponse {
32+
val userId = getSecurityUserIdOrThrow()
33+
val onboardList = onboardingService.getRemainOnboarding(userId)
34+
35+
return CheckOnboardResponse(onboardList)
36+
}
37+
2638
@PreAuthorize("isAuthenticated()")
2739
@GetMapping("/me")
2840
fun getMe(): MyInfoResponse {
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package com.yapp.bol.user.dto
2+
3+
import com.yapp.bol.onboarding.OnboardingType
4+
5+
data class CheckOnboardResponse(
6+
val onboarding: List<OnboardingType>
7+
)

0 commit comments

Comments
 (0)