Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Server Driven 관련 조회 API 구현 #39

Merged
merged 3 commits into from
Jan 17, 2024

Conversation

leeeeeyeon
Copy link
Collaborator

🛰️ Issue Number

#32

🪐 작업 내용

  • 아래 API들을 구현하였습니다. (박스 내부 디자인의 경우 response에 대해 고민이 필요하여 추후 PR로 올리겠습니다.)
    • 박스 디자인 조회
    • 메시지 디자인 조회
    • 편지지 디자인 조회
    • 패키 추천 음악 조회
  • 엔티티를 설계하며 일부 테이블과 컬럼의 이름을 변경하였으며, 그에 따라 ERD를 수정하였습니다.
  • data.sql을 .gitignore에 추가하였습니다. (현재 S3는 퍼블릭으로 공개되어 있기 때문에 이미지 URL을 통해 버킷 정보를 유추하여 접근하는 경우를 예방)

📚 Reference

✅ Check List

  • 코드가 정상적으로 컴파일되나요?
  • 테스트 코드를 통과했나요?
  • merge할 브랜치의 위치를 확인했나요?
  • Label을 지정했나요?

@leeeeeyeon leeeeeyeon added the 🎁 feature New feature or request label Jan 17, 2024
@leeeeeyeon leeeeeyeon self-assigned this Jan 17, 2024
Copy link

sonarcloud bot commented Jan 17, 2024

Quality Gate Passed Quality Gate passed

Kudos, no new issues were introduced!

0 New issues
0 Security Hotspots
No data about Coverage
0.0% Duplication on New Code

See analysis details on SonarCloud

@leeeeeyeon leeeeeyeon merged commit d620ed3 into develop Jan 17, 2024
2 checks passed
@leeeeeyeon leeeeeyeon deleted the feature/server-driven-ui branch January 17, 2024 17:51
leeeeeyeon added a commit that referenced this pull request Feb 8, 2024
* rename: group 이름 변경

* chore: 멀티 모듈 프로젝트 구성

* fix: scanBasePackages 옵션 제거

* style: 주석 추가

* docs: ERD 초안 추가

* feat: 정상 응답에 대한 공통 응답 포맷 제작

* setting: 로컬 DB 개발환경 구축 (#9)

* style: 중복 코드 제거

* feat: 로컬 MySQL 환경 구축

* feat: 로컬 Redis 환경 구축 및 docker-compose 스크립트 작성

* docs: ERD 수정

* feat: 예외처리 응답에 대한 공통 응답 포맷 제작 (#10)

* feat: 공통 Exception 처리

* fix: Exception Stack Trace 추가

* deploy: CI 워크플로우 작성

* feature: 카카오 회원가입 구현 (#11)

* chore: submodule로 설정 파일 관리

* chore: clients 모듈 제거

* feat: 카카오 회원가입 구현

* chore: settings.gradle에서 clients 모듈 제거

* chore: p6spy 의존성 추가 및 출력 포맷 커스텀

* chore: Redis 설정 추가

* feat: KakaoAccount 도메인 추가

* deploy: ECR에 image push하는 스크립트 추가 및 서버 에러 수정 (#15)

* feat: health check API 추가

* remove: application-domain.yml 서브모듈로 이동

* feat: active profile 확인 API 추가

* fix: 카카오 access token이 받아와지지 않는 문제 해결

* feat: jpa와 redis repository 구분해주는 설정 추가

* chore: 서브모듈로부터 domain 모듈의 설정 파일 복사

* style: 주석 수정

* deploy: jib으로 ecr에 image push

* deploy: ECR에 image push하는 스크립트 추가

* deploy: CD 스크립트 트리거 조건 수정

* deploy: id-token 권한을 write으로 추가

* fix: access key를 사용하는 방법으로 AWS credentials 설정

* deploy: Elastic Beanstalk 배포 스크립트 추가

* deploy: CD 스크립트 문법 오류 수정

* chore: jib 빌드 파일 오류 수정

* docs: ERD 수정

* deploy: 이미지 아키텍처를 amd64로 변경

* remove: Docerrun.aws.json 제거

* deploy: EC2의 timezone 변경

* deploy: 80번 포트로 들어오는 요청을 8082번 포트로 전달

* deploy: Dockerrun.aws.json 다시 추가

* deploy: Github Actions 스크립트에서도 Dockerrun.aws.json 관련 명령어 추가

* fix: refresh token를 RDS에 저장하는 방식으로 수정

* chore: 초기 데이터 삽입을 위한 설정 추가

* rename: loginType 변수 이름을 provider로 변경

* feat: 카카오 로그인 구현

* feat: 존재하지 않는 URI에 접근할 경우에 대한 예외 처리 추가

* feat: JWT 재발급 구현

* feat: 카카오 회원탈퇴 구현

* docs: Swagger 연동 및 API 설명 추가 (#27)

* chore: gson 의존성 버전 업데이트

* chore: Swagger 관련 설정 추가

* docs: Swagger API 이름 추가

* docs: 회원가입 API provider 관련 설명 추가

* setting: 개발 서버 에러를 슬랙으로 알림 전송 (#30)

* remove: application-api.yml 제거 및 .gitignore 수정

* chore: slack appender 의존성 추가

* feat: logback.xml 추가

* chore: .gitignore 범위 수정

* fix: code 값이 enum 값과 같도록 수정 (#31)

* feat: 프로필 이미지 조회 구현

* setting: Controller 테스트 코드 작성을 위한 환경 세팅 (#35)

* test: Controller 테스트 코드 작성을 위해 필요한 코드 추가

* test: AdminController 테스트 코드 작성

* fix: JpaAuditing 관련 config Application 실행 코드로부터 분리

* feat: Application의 timezone을 Asia/Seoul로 설정

* fix: Spring Rest Docs 관련 코드 제거

* fix: Jib 빌드 시 테스트 코드 무시 명령 제거

* fix: 로그인 API response 변경 (#38)

* feat: Server Driven 관련 조회 API 구현 (#39)

* feat: Server Driven UI 관련 조회 API 구현 (박스 내부 디자인 제외)

* remove: data.sql .gitignore에 추가

* docs: 엔티티에 맞춰 ERD 컬럼 이름 변경

* fix: 편지지 디자인 조회 API LetterPaper와 매핑되도록 수정 (#40)

* feat: S3 Presigned URL 발급 구현 (#42)

* feat: S3 presigned URL 발급 구현

* refactor: SonarLint에 따라 BasicAWSCredentials를 바로 반환하도록 리팩토링

* feat: 선물박스 보내기 구현 (#43)

* rename: Server Driven UI 관련 도메인 클래스를 admin 패키지로부터 분리

* remove: 자주 사용하지 않는 예외 클래스 제거

* rename: NotSupportedException을 UnsupportedException으로 수정

* style: 공백 포맷팅

* feat: 선물박스 보내기 구현

* test: 선물박스 보내기 API Happy Case에 대한 Controller 테스트 코드 작성

* test: Service 테스트 코드 작성을 위한 환경 세팅

* test: 선물박스 보내기 API Happy Case에 대한 테스트 코드 작성

* docs: ERD 수정

* docs: Swagger 예시 추가

* docs: PR Template 수정

* rename: logback.xml을 logback-spring.xml로 변경

* chore: 빌드 시 submodule 파일을 복사하는 코드 수정

* docs: PR Template 수정

* setting: sentry 연동

* chore: logback.xml에 Sentry Appender 추가

* setting: flyway 연동 (#48)

* fix: 로그인 API 에러 수정 (#52)

* fix: 카카오 회원탈퇴 시 RefreshToken과 KakaoAccount 엔티티 제거

* fix: JWT 발급 시 RefreshToken 갱신 로직 수정

* refactor: findByGiftBoxId 메서드를 findByGiftBox 메서드로 변경

* fix: Member 엔티티의 status 컬럼을 String으로 저장

* chore: flyway 스크립트 업데이트

* docs: PR Template 변경

* chore: 스키마 변경에 따른 submodule 업데이트

* feat: 애플 소셜 로그인 기능 구현 (#53)

* feat: 애플 회원가입 구현

* refactor: append 메서드를 체이닝 방식으로 리팩토링

* feat: 애플 로그인 구현

* feat: 애플 회원탈퇴 구현

* style: 사용하지 않는 의존성 주입 제거

* fix: 애플 API 통신을 위해 @JsonNaming으로 snake case로 컬럼명 변환

* fix: 사용하지 않는 Transasctional 어노테이션 제거

* style: sonarLint에 따라 변수명 변경

* chore: apple revoke-uri 추가

* fix: 설정 파일에 맞게 키 값 수정

* chore: application-test.yml에 애플 uri 값 추가

* chore: flyway 스크립트 업데이트

* style: sonarLint에 따라 private 변수를 메서드 안으로 이동

* �fix: Swagger CORS 문제 해결 (#56)

* fix: Swagger https 설정 추가

* fix: 로컬에서 스웨거를 사용하기 위한 OpenAPIDefinition 추가

* style: 잘못 기입된 주석 수정

* fix: 애플로그인 예외 처리 세분화

* fix: apple client_secret 유효 기간 변경

* style: idToken 출력 로그 추가

* style: idToken 출력 로그 제거

* fix: ApplePublicKey 클래스에 ToString 어노테이션 추가

* deploy: beanstalk-deploy 버전 업데이트

* setting: common 모듈 생성

* remove: 사용하지 않는 Main 클래스 제거

* rename: exception 패키지를 common 모듈로 이동

* chore: common 모듈의 bootJar, jar 옵션 추가

* fix: Server Driven UI를 위한 API 응답값 수정 (#62)

* rename: Repository를 dao 패키지로 이동

* remove: 메시지 디자인 조회 API 제거

* fix: 편지지 조회 API를 편지 봉투 조회 API로 변경

* style: 변수명 표기법 변경

* test: 프로필 이미지 조회 API Controller 테스트 코드 작성

* fix: 박스 디자인 조회 API 응답값 수정

* rename: ProfileImage 엔티티를 member 패키지로 이동

* fix: 프로필 이미지 조회 API에 순서 추가

* remove: common 모듈 분리에 따른 import 변경

* fix: Box 엔티티에 박스 바닥 이미지 URL 추가

* remove: 사용하지 않는 import 제거

* test: Server Driven API Controller와 Service 테스트 코드 작성

* chore: 기획 변경에 따른 데이터 삽입 스크립트 변경

* deploy: 개발 서버 DB 동기화를 위한 flyway 스크립트 추가

* docs: ERD 수정

* setting: QueryDsl 환경 세팅 (#64)

* chore: Deprecated Gradle features warning 해결

* chore: QueryDsl 의존성 추가

* chore: QClass 디렉토리 gitignore에 추가

* feat: QueryDslConfig 클래스 추가

* feat: 스티커 조회 기능 구현 (#66)

* feat: 스티커 조회 기능 구현

* style: 공백 포맷팅

* docs: 스티커 조회 API lastStickerId 예시 변경

* feat: SliceResponse 커스텀

* chore: 스티커 UI 더미데이터 추가

* deploy: 개발 서버 DB 동기화를 위한 flyway 스크립트 추가

* docs: ERD 수정

* docs: 스티커 조회 API Swagger에 Pageable size만 명시

* fix: 선물박스 만들기 API 요청값 변경 (#67)

* fix: 선물박스 만들기 API 요청값 변경

* test: 선물박스 만들기 Controller, Service 테스트 코드 작성

* deploy: 개발 서버 DB 동기화를 위한 flyway 스크립트 추가

* chore: ERD 수정

* style: giftRequest의 imgUrl을 url로 변수 이름 변경 (#70)

* style: giftRequest의 imgUrl을 url로 변수 이름 변경

* style: 백엔드에서만 사용하는 API 스웨거에 설명 추가

* feat: Spring Security, JWT 관련 설정 추가 (#71)

* feat: SecurityConfig에 whitelist 명시

* feat: 테스트 회원가입 기능 추가

* fix: 임시 주석 제거 및 토큰 검증 과정에서 예외 발생 시 에러 로그 출력

* fix: ExpiredJwtException 출력 로그 레벨을 warn으로 변경

* deploy: timezone 설정 명령어에 sudo 추가

* chore: 로깅 dateformat 지정 및 timezone 명시

* fix: Server Driven UI 관련 API에 sequence 기준 정렬 조건 추가 (#76)

* chore: main, test 패키지의 data.sql을 하나로 통합

* fix: 박스 디자인 조회 API 정렬 조건 추가

* fix: 편지 봉투 디자인 조회 API 정렬 조건 추가

* fix: 프로필 이미지 조회 API 정렬 조건 추가

* fix: 스티커 조회 API 정렬 조건 추가

* fix: Music 엔티티에 sequence 추가

* fix: 패키 추천 음악 조회 API sequence 컬럼 및 정렬 조건 추가

* deploy: 테스트 회원가입 API 정상 동작을 위한 flyway 스크립트 작성

* style: application-test.yml과 중복된 classpath 명시 제거

* feat: 나의 프로필 조회 API 구현 (#80)

* feat: 나의 프로필 조회 API 구현

* test: 나의 프로필 조회 API Controller 테스트 코드 작성

* test: 나의 프로필 조회 API Service 테스트 코드 작성

* fix: 마이페이지 엔드 포인트를 케밥 케이스로 변경

* test: 마이페이지 엔드 포인트를 Controller 테스트 케이스에서도 케밥 케이스로 변경

* feat: 유튜브 URL 유효성 검증 API 구현 (#81)

* feat: 유튜브 URL 유효성 검증 API 구현

* fix: isPresent 메서드 부정을 isEmpty 메서드로 변경

* test: Controller 테스트 코드 실패 해결을 위해 YoutubeService MockBean 추가

* �fix: 선물박스 엔티티에 선물박스 이름 추가 (#85)

* fix: GiftBox 엔티티에 선물박스 이름 추가

* deploy: GiftBox 엔티티에 선물박스 이름 추가에 따른 flyway 스크립트 추가

* fix: 패키 추천 음악 조회 API에 제목 추가 (#86)

* �refactor: Receiver 엔티티 분리를 통한 GiftBox-Member 연관관계 변경 (#87)

* refactor: Receiver 엔티티 분리를 통한 GiftBox-Member 연관관계 변경

* deploy: 개발 DB 동기화를 위한 flyway 스크립트 추가

* docs: ERD 변경

* fix: 선물박스 만들기 API에서 선물이 없을 경우 Gift를 null로 저장 (#88)

* fix: gift가 null일 경우 Gift 객체를 null로 저장

* test: 선물이 없을 경우 선물박스 만들기 API Controller, Service 테스트 코드 작성

* fix: 선물박스 엔티티와 편지 봉투 엔티티 수정 (#89)

* rename: GiftBoxResponse를 GiftBoxIdResponse로 변경

* rename: GiftBoxResponse를 GiftBoxIdResponse로 변경

* fix: GiftBox 엔티티에 senderName, receiverName 추가

* fix: Envelope 엔티티에 borderColorCode 추가

* remove: 사용하지 않는 import 제거

* fix: GiftBox 엔티티에 열기 제한을 나타내는 enum 컬럼 추가

* fix: S3 Presigned URL 발급 시 파일 이름 인코딩 추가 (#91)

* feat: 선물박스 열어보기 API 구현 (#92)

* rename: GiftBoxResponse를 GiftBoxIdResponse로 변경

* rename: GiftBoxResponse를 GiftBoxIdResponse로 변경

* fix: GiftBox 엔티티에 senderName, receiverName 추가

* fix: Envelope 엔티티에 borderColorCode 추가

* remove: 사용하지 않는 import 제거

* fix: GiftBox 엔티티에 열기 제한을 나타내는 enum 컬럼 추가

* fix: giftBoxType을 지정하지 않아도 PRIVATE으로 저장되도록 변경

* docs: Swagger에 선물박스 만들기 API description 추가

* feat: 선물박스 열어보기 API 구현

* test: 선물박스 열어보기 API Controller 테스트 코드 작성

* docs: ERD envelope 테이블에 borderColorCode 추가

* refactor: 빌더 메서드 모듈화

* fix: 선물박스 열어보기 API PathVariable value 추가

* fix: 선물박스 만들기 로직 리팩토링, 선물박스 열어보기 예외처리 추가, 테스트 코드 작성

* feat: Swagger 에러 응답값 커스텀 어노테이션 구현 및 제작된 API에 에러 응답값 예시 추가 (#94)

* feat: Swagger 에러 응답값 커스텀 어노테이션 구현

* refactor: 사용하지 않는 인자 제거

* feat: 복수 개의 에러 응답값을 받을 수 있는 커스텀 어노테이션 구현

* remove: 사용하지 않는 ErrorCode 제거

* fix: ErrorCode 이름 변경

* remove: 사용하지 않는 ErrorCode, Exception 제거

* docs: API 에러 응답값 예시 추가

* refactor: Reader, Writer 클래스의 역할 분리 및 멀티 모듈과 패키지 구조 변경 (#97)

* style: stickerId 오타 수정

* rename: reader, writer를 모아둔 패키지명을 domain에서 adaptor로 변경

* refactor: reader, writer가 엔티티를 반환하고 Service에서 DTO로 변환하도록 변경

* rename: adaptor 패키지를 domain 모듈로 이동

* fix: @builder 사용 시 양방향 관계 엔티티가 초기화 될 수 있도록 @Builder.Default 어노테이션 추가

* rename: dao, domain 패키지 생성 및 Repository, Entity 클래스를 패키지로 이동

* feat: 보낸 선물박스 조회 API 구현 (#98)

* test: Repository 테스트 코드 환경 세팅

* feat: 보낸 선물박스 조회 API 구현 및 Controller, Service 클래스명 변경

* test: 보낸 선물박스 조회 관련 페이징 쿼리 메서드 테스트 코드 작성

* feat: 받은 선물박스 조회 API 구현 (#99)

* style: 잘못 작성된 주석 위치 수정

* style: 주석 추가

* docs: Swagger API 설명 수정

* fix: 사용하지 않는 인자 제거

* fix: Receiver 엔티티에서 받은 사람을 member로 변수명 변경

* test: 보낸 선물박스 조회 Repository 테스트 코드 리팩토링

* refactor: Receiver 빌더를 of 메서드로 모듈화

* style: 가짜 선물박스를 만드는 테스트 메서드 이름 변경

* feat: 받은 선물박스 조회 API 구현

* fix: Receiver 엔티티에서 받은 사람을 member로 변수명 변경

* hotfix: apple client_secret 유효 기간 변경

* hotfix: client_secret 출력 로그 추가

* hotfix: zoneId, localDateTime 출력 로그 추가

* hotfix: 사용하지 않는 로그 제거

* fix: 애플로그인 시 authorization_code 대신 identityToken을 받도록 로직 변경 (#104)

* fix: 애플로그인 시 authorization_code 대신 identityToken을 받도록 로직 변경

* deploy: Node.js 16 actions deprecated에 따른 action 버전 변경

* deploy: gradle build action 변경

* feat: 설정 링크 조회 API (#102)

* feat: 설정 링크 조회 API 구현

* test: 설정 링크 조회 API Controller 테스트 코드 작성

* test: 설정 링크 조회 API Service 테스트 코드 작성

* refactor: 정적 패토리 메서드명을 of에서 from으로 변경

* feat: 주고받은 선물박스 조회 API 구현 (#106)

* deploy: CD 스크립트 action 스크립트 버전 업데이트

* fix: 받은 선물박스 조회 시 giftBoxDate로 받은 날짜를 반환하도록 변경

* feat: 주고받은 선물박스 조회 API 구현

* refactor: 주고받은 선물 조회 API 로직 리팩토링

* test: lastGiftBoxId의 표기법 및 타입 변경

* fix: 선물박스를 보낸 사람은 항상 선물박스를 열 수 있도록 수정 (#107)

* fix: 선물박스를 보낸 사람은 항상 선물박스를 열 수 있도록 수정

* chore: Gradle deprecated warning 해결

* fix: 나의 프로필 조회 API에 provider 추가 (#108)

* fix: 프로필 조회 API에 provider 추가

* chore: data.sql 더미데이터 값 변경

* docs: 나의 프로필 조회 API 응답 예시 추가

* docs: 설정 링크 조회 API 응답 예시 추가

* docs: ERD에 setting 테이블 추가

* deploy: CI 스크립트 gradle build 명령어에 scan 옵션 추가

* deploy: CI 스크립트 gradle build 명령어에 scan 옵션 제거

* fix: 요청 값 유효성 검증 추가 (#111)

* feat: MethodArgumentNotValidException 예외 핸들러 추가

* fix: 회원가입 시 닉네임 글자 수 제한 추가

* fix: 선물박스 만들기 API 글자 수 제한 추가

* docs: Swagger에서 로그인 API의 provider에 allowableValues 옵션 추가

* refactor: @RequestParam에서 required=true 제거

* test: 테스트 코드에서 받는 사람, 보내는 사람 글자 수 제한에 맞도록 이름 변경

* fix: 서버 드리븐 UI 확정에 따른 박스 이미지 관련 API 수정 (#113)

* fix: 박스 UI 확정에 따른 엔티티, 응답값 변경

* chore: bottom_img_url 컬럼 제거 flyway 스크립트 추가

* fix: 주고받은 선물박스 API에 받은 사람 이름, 타입 추가 (#115)

* fix: 주고받은 선물박스에 받는 사람 이름 추가 및 Swagger 예시 추가

* fix: 주고받은 선물박스 API 응답값에 선물박스 타입 추가

* fix: 편지 봉투 UI에 봉투 색상 코드 및 투명도 추가 (#118)

* rename: flyway 스크립트 파일명 오타 수정

* fix: 편지 봉투 UI에 봉투 색상과 투명도 데이터 추가

* deploy: CI 스크립트에 Gradle 병렬 빌드 옵션 추가

* deploy: CD 스크립트에 job 이름 자세하게 작성

* fix: 선물박스 열기 API에 boxTop 추가 (#120)

* deploy: dev, prod 서버 Actions CD 스크립트 분리

* deploy: prod 서버 logback 에러를 슬랙, Sentry로 알림 전송

* test: 빌드 실패를 해결하기 위해 lastGiftBoxId 변경

* chore: sentry-logback 의존성 버전 업그레이드

* deploy: logback에 Sentry DSN 환경변수 적용
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🎁 feature New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant