-
Notifications
You must be signed in to change notification settings - Fork 2
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
[OING-58] feat: MemberPost 도메인 entity & repository 구성 #28
Conversation
import com.oing.domain.model.MemberPostComment; | ||
import org.springframework.data.jpa.repository.JpaRepository; | ||
|
||
public interface MemberPostCommentRepository extends JpaRepository<MemberPostComment, String> { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@repository 안넣어도 될까요?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
네 안넣어도 동작되고 Member쪽도 @Repository
는 빼고 구현해되어 있어서 저도 저렇게 했습니다! 이건 회의때 얘기해도 좋을 거 같네요
post/src/main/java/com/oing/domain/model/MemberPostComment.java
Outdated
Show resolved
Hide resolved
Kudos, SonarCloud Quality Gate passed! 0 Bugs No Coverage information |
* [OING-18] feat: 공통 모듈 구축하기 (#5) * chore: add common module * chore: add common module to workflow * feat: add common exception classes * feat: alter DomainException to non abstract class * test: add DomainException unit test * test: add ErrorResponse unit test * chore: fix workflow annotations * [OINT-19] feature: 스프링 시큐리티 설정 (#6) * chore: change root project name * feat: add SpringSecurityConfig * feat: add auth handler filters * feat: add JwtAuthenticationHandler with properties * feat: add WebRequestInterceptor with filters * chore: change root project name * feat: add SpringSecurityConfig * feat: add auth handler filters * feat: add JwtAuthenticationHandler with properties * feat: add WebRequestInterceptor with filters * feat: change response to ErrorResponse * feat: add WebExceptionHandler * style: change line length under max line length * style: change line length under max line length * style: match line convention * [OING-10] chore: code coverage를 위한 Jacoco 설정 (#7) * chore: apply Jacoco for code coverage * chore: exclude specific patterns from Jacoco code coverage * chore: set required formats * fix: Jacoco configuration by moving jacoco afterEvaluate * [OING-23] chore: Jacoco 테스트 커버리지 범위에서 config 모듈 제외 (#8) * [OING-24] chore: Swagger 환경 세팅 (#10) * feat: add SwaggerConfig * feat: add SwaggerConfig environment variable * feat: exclude swagger-related requests from Interceptor path patterns * style: change swagger title * [OING-20] feat: JWT 토큰 관리 컴포넌트 생성 (#9) * feat: add token properties classes * feat: add token related domain classes * feat: add token generator and impl * feat: implement token generator with jwt * feat: add JWT Authenticator * test: add unit test for created classes * [OING-26] chore: CI/CD 파이프라인 워크플로우 개선 (#15) * [OING-27] chore: 배포 파이프라인 이후 슬랙 알림 보내기 * [OING-27] chore: 배포8] chore: PR시 테스트 커버리지 ì측정하기 * [OING-31] fix: SpringDocs (Swagger) 수리하기 (#18) * fix: config fix for swagger * docs: add default url path for swagger * [OING-25] chore: NCP ObjectStorage 세팅 (#16) * chore: add dependency for AWS S3 * chore: add NCP ObjectStorage Config * feat: add File uploader * test: add application.yaml for test * test: add test code for uploadImage * refactor: refact ObjectStorageConfig code * refactor: change FileUploader for presignedUrl * feat: add S3PreSignedUrlProvider * test: add test code for presigned-url * style: delete unused import statement * delete: delete unused util file for test * chore: exclude dto from jacoco test coverage * style: delete redundant code * refactor: refact ObjectStorageProperties file * refactor: refact S3PreSignedUrlProvider code * delete: delete unused file * [OING-21] feat: 기본 oAuth & 멤버 인증 관련 모듈 추가 (#17) * feat: create "POST /v1/auth/social" api * feat: create interface of apple login service * feat: create BaseAuditEntity * feat: add IdentityGenerator and impl * feat: add Member and SocialMember entity * feat: add Member Register logic * feat: add apple provider * feat: report slack on error * feat: only invoke slack on production * chore: add slack webhook conf with local props * feat: refactor yaml properties * docs: add environment example * feat: create "POST /v1/auth/social" api * feat: create interface of apple login service * feat: create BaseAuditEntity * feat: add IdentityGenerator and impl * feat: add Member and SocialMember entity * feat: add Member Register logic * feat: add apple provider * feat: report slack on error * feat: only invoke slack on production * chore: add slack webhook conf with local props * feat: refactor yaml properties * docs: add environment example * test: create test profile * test: add unit test on domain module * test: add object unit test codes * test: add component test codes * fix: override equals hashcode to check array * fix: override tostring * fix: remove setter for entity * fix: not-null on BaseAuditEntity * refactor: refactor codes * test: remove setter test for entity * [OING-46] feat: Member, Post 모듈 추가하기 (#20) * feat: add family, post module * chore: add workflow to check module changes * [OING-32] refactor: S3 PresignedUrl 로직 리팩터링 (#19) * refactor: refact PreSignedUrlResponse * feat: add PreSignedUrlGenerator Interface * fix: fix getPreSignedUrl Test * chore: exclude dto from jacoco test coverage * refactor: delete PreSignedUrlResponse DTO from config * chore: add NCP ev to template file * docs: update environment variables on README.md * chore: fix Qdomains in jacocoTestReport * feat: delete Qdomain * feat: document PreSignedUrlResponse * chore: add dependsOn test in jacocoTestReport * [OING-50] refactor: Config 모듈명 Gateway로 변경 (#21) * [OING-33] feat: DDL 작성 및 flyway 활성화 (#24) * feat: add sql DDL script * feat: enable flyway * fix: change url datatype to TEXT * feat: change emoji to ascii * test: fix s3 test * [OING-54] chore: mysql 환경변수 설정 및 프로덕션 환경설정 (#25) * chore: add mysql password to env * chore: add hikari configurations * chore: disable springdoc in production * chore: add application-dev profile * chore: change ddl-auto to validate * chore: test profile to apply h2 * [OING-57] feat: Member 도메인 entity & repository 구성 (#26) * feat: add entitites for member domain * feat: change BaseAuditEntity to extend BaseEntity * [OING-57] hotfix: Member 도메인 entity & repository 구성 오타 (#27) * [OING-47] feat: Auth 리프레시 API 추가및 경로 변경 (#22) * docs: add more description and example to api docs * feat: add refresh token logic * feat: add refresh token validation logic * style: fixed line style * test: add test code to new dto * [OING-32] refactor: S3 PresignedUrl 로직 리팩터링 (#19) * refactor: refact PreSignedUrlResponse * feat: add PreSignedUrlGenerator Interface * fix: fix getPreSignedUrl Test * chore: exclude dto from jacoco test coverage * refactor: delete PreSignedUrlResponse DTO from config * chore: add NCP ev to template file * docs: update environment variables on README.md * chore: fix Qdomains in jacocoTestReport * feat: delete Qdomain * feat: document PreSignedUrlResponse * chore: add dependsOn test in jacocoTestReport * [OING-50] refactor: Config 모듈명 Gateway로 변경 (#21) * docs: add more description and example to api docs * feat: add refresh token logic * feat: add refresh token validation logic * style: fixed line style * test: add test code to new dto * feat: add new temporary token * feat: add temporary token creation logic * feat: add register flow logic * feat: change api route to /register * refactor: add custom fromString on enum classes --------- Co-authored-by: Jisu Lim <[email protected]> Co-authored-by: sckwon770 <[email protected]> * [OING-40] feat: Feed부분 API 설계하기 (#23) * feat: add Pagination Response and DTO * test: add dto, response test code * feat: add PostFeedController * fix: change package issue * feat: implement mock logic * test: fix test * test: add test to PostFeedResponse * feat: add Member API * [OING-58] feat: MemberPost 도메인 entity & repository 구성 (#28) * feat: add MemberPost Entity * feat: add MemberPostReaction Entity * feat: add MemberPostComment Entity * feat: add Member module dependency * feat: add fetchType to Entity field * feat: add Repository in post module * chore: delete member dependency in post module * test: add domain test in MemberPost module * feat: add index in post table * fix: fix mappedBy in MemberPost * test: fix test error in MemberTest * fix: fix field in MemberPost domain * [OING-40] feature: API 경로 변경 및 Response DTO 변경 (#33) * feat: change api route and controller name * docs: update api docs * feat: add hasNext to PaginationResponse * [OING-62] feat: 가족 구성원 Profile 조회 API 설계 (#29) * feat: add FamilyMemberProfileResponse DTO * feat: add getFamilyMemberProfile API * test: add FamilyMemberProfileResponseTest * refactor: move getFamilyMemberProfile to member module * refactor: move FamilyMemberProfileResponse to member module * style: delete unused file * feat: add Pagination Response and DTO * refactor: cherry-pick PaginationDTO --------- Co-authored-by: ChuYong <[email protected]> * [Suggestion] chore: PR 작성 자동화 (#32) * chore: Add the workflos to automate the pointless writing pr template works * chore: Add last empty line into workflow, pr.yaml * chore: Add base-branch-regex * fix: Fix base-branch-regex to constraint branch condition * [OING-56] feat: Family 모듈 구성 (#31) * [OING-41] feat: 금일 피드 업로드 여부 조회 API 추가 (#30) * feat: Add the mock api - getIsTodayFeedUploadedByUserId * fix: Fix wrong parameter annotation on getIsTodayFeedUploadedByUserId * refactor: Refactor fetchDailyFeeds api whose scope is ME according to code review * refactor: Refactor make mock api to response variously * feat: Add AuthenticationHolder * chore: Add the comment using TokenAuthenticationHolder * chore: Exclude QueryDSL Qdomains from git * chore: Organize module directory structure * fix: Fix compile error at MemberController * chore: Exclude .env file from git * [OING-66] feat: PresignedUrl 요청 API 구현 (#35) * feat: add S3presignedUrl API for image upload * refactor: add RequiredArgsConstructor in PostController * style: modify test code with error * refactor: refact PresignedUrl logic * fix: fix requestPresignedUrl http method * style: rename requestPresignedUrl uri * [OING-63] feat: 1차 와이어프레임 API 설계 (#34) * feat: add family api spec * feat: add member api sepc * feat: add post create logic * feat: add calendar query api * feat: add post query api * feat: add temporary token generate api * feat: change api url * feat: add reaction deletion api * hotfix: remove unused import * [OING-73] feat: family, post api mock 구현 (#37) * feat: mock family api * feat: mock post api * feat: add sort parameter * docs: add description * hotfix: add missing parameter * [OING-71] feat: 회원정보 수정 API 모킹 (#38) * feat: add updateMember mock api * feat: add updateMember mock api * [OING-67] feat: 피드 업로드 API 모킹 (#36) * feat: add V2__modify_Post DDL script * feat: modify column in Post domain * feat: add createPost mock API * test: fix failed test due to added column * refactor: refact S3 presignedUrl Api * refactor: delete unused memberId param in requestPresignedUrl * refactor: change ResponseEntity in requestPresignedUrl * refactor: refact Postmodule code * refactor: refact S3PreSignedUrlProvider * test: fix S3PreSignedUrlProviderTest code * style: change ResponseEntity to DTO * feat: correct merge conflicts * feat: add validation for CreatePostRequest * refact: add validateContent method --------- Co-authored-by: 송영민 (YeongMin Song) <[email protected]> * [OING-68] feat: Post Reaction API 모킹 (#40) * feat: add PostReaction mock API * feat: change PostReaction DTO name * feat: change reactToPost API name * [OING-83] 회원 탈퇴 API 모킹 (#41) * feat: add deleteMember mock api * feat: delete DeleteMemberRequest dto * feat: change deleteMember mock api logic * style: delete /v1/members uri in url-whitelists * [OING-88] feat: Emoji Enum 타입으로 변경 (#43) * feat: add Emoji Enum Class * fix: fix emoji logic * test: fix test due to EnumType * [OING-84] feat: Widget API 구현 (#42) * feat: Add OptimizedImageUrlProvider component at gateway * feat: Add the code of service and repository for calendar controller * feat: Move Calendar controller to gateway modules and Impl getMonthlyCalendar request * refactor: Refactor MemberPostRepository to make method name simply rather than giving meaning in detail * feat: Impl getWeeklyCalendar requst and Substract the dupicated code lines from calendar requests * fix: Remove the code to substract 1 day from end date at calenar request, considering between operator * chore: Fix head branch regex for pr template automation workflow * feat: Add api spec for the single recent family widget * refactor: Exclude family concept from MemberPostService, MemberPostRepository * feat: Impl getSingleRecentFamilyPostWidget request * refactor: Rename memberId to myId * refactor: Change the type of week paramter of getWeeklyCalendar request to Long * refactor: Make the date parameters of CalendarCotroller required true * chore: Add test coverage excluding pattern **.DTO* * fix: Add cdn value at test application yml * refactor: Refactor for loop code to map post to calendar to functional code * refactor: Break the line over 120 characters * refactor: Refactor the complex JPQL code of MemberPostRepository to QueryDSL * refactor: Change the type of paramters of MemberPost code * refactor: Remove implementation class usage, not interface of OptimizedImageUrl component * [OING-70] feat: Calendar API 구현 (#39) * feat: Add OptimizedImageUrlProvider component at gateway * feat: Add the code of service and repository for calendar controller * feat: Move Calendar controller to gateway modules and Impl getMonthlyCalendar request * refactor: Refactor MemberPostRepository to make method name simply rather than giving meaning in detail * feat: Impl getWeeklyCalendar requst and Substract the dupicated code lines from calendar requests * fix: Remove the code to substract 1 day from end date at calenar request, considering between operator * chore: Fix head branch regex for pr template automation workflow * refactor: Exclude family concept from MemberPostService, MemberPostRepository * refactor: Rename memberId to myId * refactor: Change the type of week paramter of getWeeklyCalendar request to Long * refactor: Make the date parameters of CalendarCotroller required true * chore: Add test coverage excluding pattern **.DTO* * fix: Add cdn value at test application yml * refactor: Refactor for loop code to map post to calendar to functional code * refactor: Break the line over 120 characters * refactor: Refactor the complex JPQL code of MemberPostRepository to QueryDSL * refactor: Change the type of paramters of MemberPost code * refactor: Remove implementation class usage, not interface of OptimizedImageUrl component --------- Co-authored-by: 송영민 (YeongMin Song) <[email protected]> * [OING-90] hotfix: MemberService 및 WidgetController에서의 컴파일 에러 (#44) * hotfix: update swagger header * hotfix: add token security * [OING-75] feat: Post 작성 API 구현 (#45) * [OING-79] feat: 멤버 닉네임/프로필 이미지 수정 API 구현 (#47) * feat: add updateMember API * feat: add requestPresignedUrl for profileImg API * feat: add transactional annotation * style: remove getMember method * refactor: split existing logic into two separate APIs * feat: add deleteMemberProfileImage method * style: update imageUrl RequestDTO example * style: change method name for delete ObjectStorage image * refactor: add validateName logic * feat: change queryString to requestBody * feat: move validateName method * feat: add Async to deleteImage logic * style: add newline * [OING-77] feat: Post 조회 관련 API 구현 (#50) * feat: implement GET v1/posts * feat: implement search posts * style: remove unused import * refactor: change to query-dsl style * [OING-81] feat: v1/families 관련 API 구현 (#49) * feat: implement POST /v1/families * feat: implement GET /v1/families/invitation-link * feat; change method name * feat: change link to constant * feat: change to new exception class * [OING-80] feat: 멤버 정보 조회 관련 및 가족 그룹 생성일 조회 API 구현 (#46) * feat: add getFamilyMemberProfile API * feat: add getMember API * feat: add familyCreatedAt in FamiyMemberProfilesResponse DTO * refactor: refact getFamilyMemberProfiles method * style: code cleanup * feat: delete family dependency in member * feat: seperate getFamilyCreatedAt API * style: change default value in getFamilyMemberProfiles * style: delete unused annotation * refactor: refact findFamilyCreatedAt method * style: rename method for getFamilyMembersProfiles * refactor: refact createFamilyMemberProfiles logic * fix: remove sorting for findFamilyMembersProfiles * style: change getFamilyCreatedAt ResponseDto * refact: createFamilyMemberProfiles method logic * [OING-97] CalendarApi와 관련된 에러와 잘못된 설정 해결 (#54) * fix: Add alias name at memberPost.count() to fix runtime QueryDSL query error * refactor: Make param require false at CalendarApi * chore: Add Swagger params description to explain type of CalendarApi * feat: commenting out deleteMemberProfileImage method (#55) * [OING-97] PR54로 구현한 티켓의 런타입 에러 해결을 위한 핫픽스... (#56) * fix: Add alias name at memberPost.count() to fix runtime QueryDSL query error * refactor: Make param require false at CalendarApi * chore: Add Swagger params description to explain type of CalendarApi * fix: Change MemberPostCountDTO type to Class to use the QueryDSL projections field instead of projections bean that occur runtime error * fix: Add NoArgsContructor at MemberPostCountDTO to fix QueryDSL projections QBean runtime error (#57) * [OING-76] feat: Post에 대한 반응 생성/삭제 구현 (#48) * feat: add validate logic for createPostReaction * feat: add createPostReaction API * feat: add deletePostReaction API * refactor: refact post reaction logic in controller * refactor: refact findReaction logic in service * fix: change FetchType Eager to Lazy * [OING-94] fix: createPost 코드 개선 (#51) * refactor: refact createPost code * refactor: delete unused log * feat: add DuplicatePostUploadException * style: add comments for upload time validation * refactor: convert time comparison logic to use LocalDateTime * fix: fix postDate for Asia/Seoul * refactor: refact PostResponse * style: detail InvalidUploadTime Exception * fix: remove extractLocalDate method * style: correct image request dto example * fix: fix validateUploadTime logic to ZonedDateTime * [OING-95] feat: 카카오 인증(로그인) 기능 구현 (#52) * feat: add kakao provider * feat: implement kakao * [OING-92] feat: 회원 탈퇴 API 구현 (#58) * feat: add BaseAuditEntityWithDelete * feat: add member delete basic logic * feat: add findAllSocialMemberByMember method * fix: fix updateDeletedAt() * refact: delete updateDeletedAt method argument * feat: add memberId PathVariable * refactor: refact deleteMember logic * feat: add memberId PathVariable in Put method * fix: fix social login provider test * [OING-100] feat: 내 정보 조회 API & MemberResponse 누락필드 추가 (#59) * feat: move member response to function * feat: add me api * hotfix: fix page count issue (#60) * [OING-102] hotfix: Family 초대 링크 기발급 경우 기존 링크 반환 (#61) * feat: change emoji type name * feat: implement post reaction api * [OING-107] 임시 토큰 통한 회원가입 불가 이슈 해결 (#62) * hotfix: add missing transactional * [OING-108] feature: 응답값 없는 Operation의 기본 응답값 추가 (#63) * feat: add memberdevice domain * feat: add device api * fix: change missing name * [OING-109] feat: Member, MemberPost 엔티티에 imageKey 필드 추가 (#64) * Revert "[OING-109] feat: Member, MemberPost 엔티티에 imageKey 필드 추가 (#64)" This reverts commit 926f381. * Revert "Revert "[OING-109] feat: Member, MemberPost 엔티티에 imageKey 필드 추가 (#64)"" This reverts commit 0bb818d. * [OING-111] 새로운 형태의 Object storage url으로 인해 썸네일 url이 작동하지 못한 오류 해결 #65 * feat: add not found handler * [OING-112] feat: 딥링크 API & 딥링크 가족 가입 API 구현 (#66) * feat: add family join api * feat: add deep link api * feat: add join family feature * Revert "feat: add not found handler" This reverts commit 6bcdaa1. * feat: handle 404 * [OING-113] refactor: 게시물 반응 전체 조회 응답 형식 수정 (#67) * [OING-115] feat: 프로덕션용 설정 및 앱 키 기능 추가 (#68) * feat: fix validation * feat: config production-ready setups * feat: add additional logging * feat: add app version feature * feat: changed log targets * feat: change method not allowed exception * [OING-120] hotfix: 내 가족만 게시물 조회 가능하게 & 앱 키 스웨거 추가 (#69) * feat: add version filter toggle * feat: add app version key in swagger * feat: only query my family * [OING-118] hotfix: 기회원가입자 재회원가입 방지 (#70) * test: jwt 헤더 테스트 깨지는거 해결 * feat: prevent register if already member exists * [OING-119] feat: Post content 공백 존재 검증 로직 추가 (#71) * feat: add spacing validate logic in post * style: change throw InvalidParameterException * test: jwt 헤더 테스트 깨지는거 해결 --------- Co-authored-by: ChuYong <[email protected]> * [OING-122] hotfix: post 등록 시, 내용 길이 검증 수정 (#73) * [OING-121] refactor: 1차 MVP 코드 전체 정리 (#72) * style: clean up code * refactor: common module package cleanup * refactor: family module package cleanup * refactor: member module package cleanup * refactor: post module package cleanup * style: clean up code finally * feat: remove asyncconfig * refactor: refact post module class name * [OING-122] hotfix: post 등록 시, 내용 길이 검증 수정 (#73) * style: clean up code * refactor: common module package cleanup * refactor: family module package cleanup * refactor: member module package cleanup * refactor: post module package cleanup * style: clean up code finally * feat: remove asyncconfig * refactor: refact post module class name --------- Co-authored-by: jisu <[email protected]> Co-authored-by: Jisu Lim <[email protected]> * [OING-124] hotfix: 리프레시 api 작동 안함 해결 (#75) * feat: add links to whitelisted url * fix: change image key extraction logic (#74) * [OING-125] hotfix: 유효하지 않은 토큰에 대해 401 예외 반환하는 핸들러 추가 (#76) * hotfix: add handleAuthenticationFailedException * style: change log message * [OING-125] hotfix: PR76 핫픽스 (#77) * hotfix: add handleAuthenticationFailedException * style: change log message * fix: change 401 to HttpStatus UNAUTHORIZED * [OING-125] hotfix: PR76 핫픽스 2 (#78) * [OING-127] feat: 구글 oAuth 추가 (#79) * [OING-128] refactor: 가족 멤버 프로필 조회 시, 탈퇴한 회원은 응답에서 제외되도록 수정 (#80) * feat: add DeletedAtIsNull to findFamilyMembers * test: fix SocialLoginProviderTest * style: delete unused lines * [OING-129] Widget용 이미지 압축 기능 추가 (#82) * [OING-130] feat: postDate 컬럼 삭제 및 가족이 없는 멤버에 대해 가족 프로필 조회 시, 예외 반환 로직 추가 (#83) * feat: delete postDate column in post * style: change method name * feat: add delete postdate column sql * fix: fix existsByMemberIdAndCreatedAt method * test: fix memberPost test * feat: add FamilyNotFoundException * [OING-129] OING-129 의 컴파일 에러 핫픽스 (#84) * feat: Add getKBImageUrlGenerator at OptimizedImageUrlGenerator and Append image optimizing code at getSingleRecentFamilyPostWidget at WidgetController * fix: Hotfix compile error * [OING-129] hotfix: OING-129 PR의 핫픽스가 머지되는 중에 꼬인 에러 해결 (#85) * feat: Add getKBImageUrlGenerator at OptimizedImageUrlGenerator and Append image optimizing code at getSingleRecentFamilyPostWidget at WidgetController * fix: Hotfix compile error * fix: Fix wrongly twisted merged getKBImageUrlGenerator code * chore: update swarm service name * [OING-129] OING-129 PR에서 이미지 최적화 쿼리를 변경 (#86) * feat: Add getKBImageUrlGenerator at OptimizedImageUrlGenerator and Append image optimizing code at getSingleRecentFamilyPostWidget at WidgetController * fix: Hotfix compile error * fix: Fix wrongly twisted merged getKBImageUrlGenerator code * refactor: Change KB_IMAGE_OPTIMIZER_QUERY_STRING * chore: update prod swarm service name * [OING-131] 위젯 응답 객체에 게시자 이름 추가 (#87) * [OING-129] 이미지 최적화 빈의 NullPointerException 방지 (#88) * [OING-104] test: 월간 캘린더 API 통합테스트 추가 (#81) * feat: Add test code for getMonthlyCalendar of CalendarController * fix: Fix calendar query that cant group the posts daily and Fix test code according to changed calendar query * refactor: Change the integration test, CalendarControllerTest to CalendarApiTest * fix: Add fake token expiration value in applicaiton-test.yaml * fix: Remove post_date column from meber_post insertion sql at CalenarApiTest * hotfix: fix getThumbnailUrlGenerator typo (#90) --------- Co-authored-by: Jisu Lim <[email protected]> Co-authored-by: sckwon770 <[email protected]> Co-authored-by: jisu <[email protected]>
* feat: add MemberPost Entity * feat: add MemberPostReaction Entity * feat: add MemberPostComment Entity * feat: add Member module dependency * feat: add fetchType to Entity field * feat: add Repository in post module * chore: delete member dependency in post module * test: add domain test in MemberPost module * feat: add index in post table * fix: fix mappedBy in MemberPost * test: fix test error in MemberTest * fix: fix field in MemberPost domain
commit 6e21c12 Author: 송영민 <[email protected]> Date: Thu Jan 11 20:12:12 2024 +0900 feat: change variable name commit 3ae270e Author: ChuYong <[email protected]> Date: Thu Jan 11 10:27:29 2024 +0900 feat: add family validation commit cdab2da Author: Jisu Lim <[email protected]> Date: Wed Jan 10 20:09:38 2024 +0900 [OING-135] hotfix: 닉네임 길이 제한 조건 수정 (#92) * fix: fix validateMemberName condition * feat: add/fix @Valid for DTO * feat: add @notblank to CreateNewUserDto commit f207a45 Author: Jisu Lim <[email protected]> Date: Tue Jan 9 18:58:43 2024 +0900 hotfix: fix getThumbnailUrlGenerator typo (#90) commit e232cb0 Author: sckwon770 <[email protected]> Date: Tue Jan 9 17:59:47 2024 +0900 [OING-104] test: 월간 캘린더 API 통합테스트 추가 (#81) * feat: Add test code for getMonthlyCalendar of CalendarController * fix: Fix calendar query that cant group the posts daily and Fix test code according to changed calendar query * refactor: Change the integration test, CalendarControllerTest to CalendarApiTest * fix: Add fake token expiration value in applicaiton-test.yaml * fix: Remove post_date column from meber_post insertion sql at CalenarApiTest commit ccd3e5d Author: sckwon770 <[email protected]> Date: Tue Jan 9 17:59:36 2024 +0900 [OING-129] 이미지 최적화 빈의 NullPointerException 방지 (#88) commit e6ca36f Author: sckwon770 <[email protected]> Date: Tue Jan 9 12:40:22 2024 +0900 [OING-131] 위젯 응답 객체에 게시자 이름 추가 (#87) commit 124e69b Author: 송영민 (YeongMin Song) <[email protected]> Date: Tue Jan 9 01:05:11 2024 +0900 chore: update prod swarm service name commit 2105c51 Author: sckwon770 <[email protected]> Date: Tue Jan 9 00:42:43 2024 +0900 [OING-129] OING-129 PR에서 이미지 최적화 쿼리를 변경 (#86) * feat: Add getKBImageUrlGenerator at OptimizedImageUrlGenerator and Append image optimizing code at getSingleRecentFamilyPostWidget at WidgetController * fix: Hotfix compile error * fix: Fix wrongly twisted merged getKBImageUrlGenerator code * refactor: Change KB_IMAGE_OPTIMIZER_QUERY_STRING commit f7283c0 Author: 송영민 (YeongMin Song) <[email protected]> Date: Tue Jan 9 00:28:55 2024 +0900 chore: update swarm service name commit f2c4819 Author: sckwon770 <[email protected]> Date: Tue Jan 9 00:22:29 2024 +0900 [OING-129] hotfix: OING-129 PR의 핫픽스가 머지되는 중에 꼬인 에러 해결 (#85) * feat: Add getKBImageUrlGenerator at OptimizedImageUrlGenerator and Append image optimizing code at getSingleRecentFamilyPostWidget at WidgetController * fix: Hotfix compile error * fix: Fix wrongly twisted merged getKBImageUrlGenerator code commit e59117a Author: sckwon770 <[email protected]> Date: Tue Jan 9 00:03:45 2024 +0900 [OING-129] OING-129 의 컴파일 에러 핫픽스 (#84) * feat: Add getKBImageUrlGenerator at OptimizedImageUrlGenerator and Append image optimizing code at getSingleRecentFamilyPostWidget at WidgetController * fix: Hotfix compile error commit 3f3c14f Author: Jisu Lim <[email protected]> Date: Tue Jan 9 00:00:18 2024 +0900 [OING-130] feat: postDate 컬럼 삭제 및 가족이 없는 멤버에 대해 가족 프로필 조회 시, 예외 반환 로직 추가 (#83) * feat: delete postDate column in post * style: change method name * feat: add delete postdate column sql * fix: fix existsByMemberIdAndCreatedAt method * test: fix memberPost test * feat: add FamilyNotFoundException commit 0c1e2d6 Author: sckwon770 <[email protected]> Date: Mon Jan 8 23:51:51 2024 +0900 [OING-129] Widget용 이미지 압축 기능 추가 (#82) commit 5a0fcee Author: Jisu Lim <[email protected]> Date: Mon Jan 8 22:02:47 2024 +0900 [OING-128] refactor: 가족 멤버 프로필 조회 시, 탈퇴한 회원은 응답에서 제외되도록 수정 (#80) * feat: add DeletedAtIsNull to findFamilyMembers * test: fix SocialLoginProviderTest * style: delete unused lines commit 37bfa21 Author: 송영민 (YeongMin Song) <[email protected]> Date: Mon Jan 8 12:32:53 2024 +0900 [OING-127] feat: 구글 oAuth 추가 (#79) commit 11b0ea1 Author: Jisu Lim <[email protected]> Date: Sun Jan 7 22:31:58 2024 +0900 [OING-125] hotfix: PR76 핫픽스 2 (#78) commit c4eb3f4 Author: Jisu Lim <[email protected]> Date: Sun Jan 7 22:01:00 2024 +0900 [OING-125] hotfix: PR76 핫픽스 (#77) * hotfix: add handleAuthenticationFailedException * style: change log message * fix: change 401 to HttpStatus UNAUTHORIZED commit 427d8de Author: Jisu Lim <[email protected]> Date: Sun Jan 7 20:29:15 2024 +0900 [OING-125] hotfix: 유효하지 않은 토큰에 대해 401 예외 반환하는 핸들러 추가 (#76) * hotfix: add handleAuthenticationFailedException * style: change log message commit e9950fc Author: Jisu Lim <[email protected]> Date: Sun Jan 7 17:40:39 2024 +0900 fix: change image key extraction logic (#74) commit d1e550a Author: ChuYong <[email protected]> Date: Sun Jan 7 00:21:03 2024 +0900 feat: add links to whitelisted url commit a74981a Author: 송영민 (YeongMin Song) <[email protected]> Date: Sat Jan 6 22:37:09 2024 +0900 [OING-124] hotfix: 리프레시 api 작동 안함 해결 (#75) commit 117e2ba Author: 송영민 (YeongMin Song) <[email protected]> Date: Sat Jan 6 22:05:58 2024 +0900 [OING-121] refactor: 1차 MVP 코드 전체 정리 (#72) * style: clean up code * refactor: common module package cleanup * refactor: family module package cleanup * refactor: member module package cleanup * refactor: post module package cleanup * style: clean up code finally * feat: remove asyncconfig * refactor: refact post module class name * [OING-122] hotfix: post 등록 시, 내용 길이 검증 수정 (#73) * style: clean up code * refactor: common module package cleanup * refactor: family module package cleanup * refactor: member module package cleanup * refactor: post module package cleanup * style: clean up code finally * feat: remove asyncconfig * refactor: refact post module class name --------- Co-authored-by: jisu <[email protected]> Co-authored-by: Jisu Lim <[email protected]> commit be8b3d6 Author: Jisu Lim <[email protected]> Date: Sat Jan 6 17:44:29 2024 +0900 [OING-122] hotfix: post 등록 시, 내용 길이 검증 수정 (#73) commit 7404c5b Author: Jisu Lim <[email protected]> Date: Sat Jan 6 15:48:46 2024 +0900 [OING-119] feat: Post content 공백 존재 검증 로직 추가 (#71) * feat: add spacing validate logic in post * style: change throw InvalidParameterException * test: jwt 헤더 테스트 깨지는거 해결 --------- Co-authored-by: ChuYong <[email protected]> commit 72fd2d6 Author: 송영민 (YeongMin Song) <[email protected]> Date: Sat Jan 6 15:48:34 2024 +0900 [OING-118] hotfix: 기회원가입자 재회원가입 방지 (#70) * test: jwt 헤더 테스트 깨지는거 해결 * feat: prevent register if already member exists commit dfedf89 Author: 송영민 (YeongMin Song) <[email protected]> Date: Sat Jan 6 15:32:06 2024 +0900 [OING-120] hotfix: 내 가족만 게시물 조회 가능하게 & 앱 키 스웨거 추가 (#69) * feat: add version filter toggle * feat: add app version key in swagger * feat: only query my family commit f504371 Author: 송영민 (YeongMin Song) <[email protected]> Date: Fri Jan 5 00:21:29 2024 +0900 [OING-115] feat: 프로덕션용 설정 및 앱 키 기능 추가 (#68) * feat: fix validation * feat: config production-ready setups * feat: add additional logging * feat: add app version feature * feat: changed log targets * feat: change method not allowed exception commit 6a41f66 Author: Jisu Lim <[email protected]> Date: Thu Jan 4 17:43:42 2024 +0900 [OING-113] refactor: 게시물 반응 전체 조회 응답 형식 수정 (#67) commit decfad7 Author: ChuYong <[email protected]> Date: Thu Jan 4 10:26:30 2024 +0900 feat: handle 404 commit 7d46332 Author: ChuYong <[email protected]> Date: Thu Jan 4 10:26:19 2024 +0900 Revert "feat: add not found handler" This reverts commit 6bcdaa1. commit ad7d413 Author: 송영민 (YeongMin Song) <[email protected]> Date: Wed Jan 3 18:56:08 2024 +0900 [OING-112] feat: 딥링크 API & 딥링크 가족 가입 API 구현 (#66) * feat: add family join api * feat: add deep link api * feat: add join family feature commit 6bcdaa1 Author: ChuYong <[email protected]> Date: Wed Jan 3 17:07:43 2024 +0900 feat: add not found handler commit fc0a06e Author: sckwon770 <[email protected]> Date: Wed Jan 3 11:10:43 2024 +0900 [OING-111] 새로운 형태의 Object storage url으로 인해 썸네일 url이 작동하지 못한 오류 해결 #65 commit 1272d89 Author: 송영민 <[email protected]> Date: Tue Jan 2 22:44:13 2024 +0900 Revert "Revert "[OING-109] feat: Member, MemberPost 엔티티에 imageKey 필드 추가 (#64)"" This reverts commit 0bb818d. commit 0bb818d Author: 송영민 <[email protected]> Date: Tue Jan 2 21:54:23 2024 +0900 Revert "[OING-109] feat: Member, MemberPost 엔티티에 imageKey 필드 추가 (#64)" This reverts commit 926f381. commit 926f381 Author: Jisu Lim <[email protected]> Date: Tue Jan 2 21:44:48 2024 +0900 [OING-109] feat: Member, MemberPost 엔티티에 imageKey 필드 추가 (#64) commit 74bec94 Author: 송영민 <[email protected]> Date: Tue Jan 2 21:44:37 2024 +0900 fix: change missing name commit 1b54c74 Author: 송영민 <[email protected]> Date: Tue Jan 2 21:39:41 2024 +0900 feat: add device api commit f28394a Author: 송영민 <[email protected]> Date: Tue Jan 2 21:32:23 2024 +0900 feat: add memberdevice domain commit 95e40f9 Author: 송영민 (YeongMin Song) <[email protected]> Date: Mon Jan 1 18:49:18 2024 +0900 [OING-108] feature: 응답값 없는 Operation의 기본 응답값 추가 (#63) commit f7e1ad1 Author: 송영민 <[email protected]> Date: Mon Jan 1 17:23:27 2024 +0900 hotfix: add missing transactional commit 85b5a5d Author: 송영민 (YeongMin Song) <[email protected]> Date: Mon Jan 1 14:14:47 2024 +0900 [OING-107] 임시 토큰 통한 회원가입 불가 이슈 해결 (#62) commit 864691a Author: ChuYong <[email protected]> Date: Sat Dec 30 14:39:01 2023 +0900 feat: implement post reaction api commit 023b96f Author: ChuYong <[email protected]> Date: Sat Dec 30 14:23:35 2023 +0900 feat: change emoji type name commit e1b0c6a Author: 송영민 (YeongMin Song) <[email protected]> Date: Thu Dec 28 07:09:11 2023 +0900 [OING-102] hotfix: Family 초대 링크 기발급 경우 기존 링크 반환 (#61) commit 7840017 Author: 송영민 (YeongMin Song) <[email protected]> Date: Wed Dec 27 19:04:12 2023 +0900 hotfix: fix page count issue (#60) commit f1136c2 Author: 송영민 (YeongMin Song) <[email protected]> Date: Wed Dec 27 14:47:34 2023 +0900 [OING-100] feat: 내 정보 조회 API & MemberResponse 누락필드 추가 (#59) * feat: move member response to function * feat: add me api commit 641ba3b Author: Jisu Lim <[email protected]> Date: Tue Dec 26 18:57:34 2023 +0900 [OING-92] feat: 회원 탈퇴 API 구현 (#58) * feat: add BaseAuditEntityWithDelete * feat: add member delete basic logic * feat: add findAllSocialMemberByMember method * fix: fix updateDeletedAt() * refact: delete updateDeletedAt method argument * feat: add memberId PathVariable * refactor: refact deleteMember logic * feat: add memberId PathVariable in Put method * fix: fix social login provider test commit c185207 Author: 송영민 (YeongMin Song) <[email protected]> Date: Tue Dec 26 18:31:55 2023 +0900 [OING-95] feat: 카카오 인증(로그인) 기능 구현 (#52) * feat: add kakao provider * feat: implement kakao commit 7b37817 Author: Jisu Lim <[email protected]> Date: Tue Dec 26 18:19:04 2023 +0900 [OING-94] fix: createPost 코드 개선 (#51) * refactor: refact createPost code * refactor: delete unused log * feat: add DuplicatePostUploadException * style: add comments for upload time validation * refactor: convert time comparison logic to use LocalDateTime * fix: fix postDate for Asia/Seoul * refactor: refact PostResponse * style: detail InvalidUploadTime Exception * fix: remove extractLocalDate method * style: correct image request dto example * fix: fix validateUploadTime logic to ZonedDateTime commit 3c384e0 Author: Jisu Lim <[email protected]> Date: Tue Dec 26 18:05:52 2023 +0900 [OING-76] feat: Post에 대한 반응 생성/삭제 구현 (#48) * feat: add validate logic for createPostReaction * feat: add createPostReaction API * feat: add deletePostReaction API * refactor: refact post reaction logic in controller * refactor: refact findReaction logic in service * fix: change FetchType Eager to Lazy commit da3c8f2 Author: sckwon770 <[email protected]> Date: Sun Dec 24 03:41:00 2023 +0900 fix: Add NoArgsContructor at MemberPostCountDTO to fix QueryDSL projections QBean runtime error (#57) commit 095388b Author: sckwon770 <[email protected]> Date: Sun Dec 24 03:22:27 2023 +0900 [OING-97] PR54로 구현한 티켓의 런타입 에러 해결을 위한 핫픽스... (#56) * fix: Add alias name at memberPost.count() to fix runtime QueryDSL query error * refactor: Make param require false at CalendarApi * chore: Add Swagger params description to explain type of CalendarApi * fix: Change MemberPostCountDTO type to Class to use the QueryDSL projections field instead of projections bean that occur runtime error commit 5d636f9 Author: Jisu Lim <[email protected]> Date: Sun Dec 24 03:17:28 2023 +0900 feat: commenting out deleteMemberProfileImage method (#55) commit c237b77 Author: sckwon770 <[email protected]> Date: Sun Dec 24 03:04:00 2023 +0900 [OING-97] CalendarApi와 관련된 에러와 잘못된 설정 해결 (#54) * fix: Add alias name at memberPost.count() to fix runtime QueryDSL query error * refactor: Make param require false at CalendarApi * chore: Add Swagger params description to explain type of CalendarApi commit ee9e23f Author: Jisu Lim <[email protected]> Date: Sun Dec 24 01:03:42 2023 +0900 [OING-80] feat: 멤버 정보 조회 관련 및 가족 그룹 생성일 조회 API 구현 (#46) * feat: add getFamilyMemberProfile API * feat: add getMember API * feat: add familyCreatedAt in FamiyMemberProfilesResponse DTO * refactor: refact getFamilyMemberProfiles method * style: code cleanup * feat: delete family dependency in member * feat: seperate getFamilyCreatedAt API * style: change default value in getFamilyMemberProfiles * style: delete unused annotation * refactor: refact findFamilyCreatedAt method * style: rename method for getFamilyMembersProfiles * refactor: refact createFamilyMemberProfiles logic * fix: remove sorting for findFamilyMembersProfiles * style: change getFamilyCreatedAt ResponseDto * refact: createFamilyMemberProfiles method logic commit 834c7f5 Author: 송영민 (YeongMin Song) <[email protected]> Date: Sat Dec 23 19:39:41 2023 +0900 [OING-81] feat: v1/families 관련 API 구현 (#49) * feat: implement POST /v1/families * feat: implement GET /v1/families/invitation-link * feat; change method name * feat: change link to constant * feat: change to new exception class commit 098dd75 Author: 송영민 (YeongMin Song) <[email protected]> Date: Sat Dec 23 13:24:10 2023 +0900 [OING-77] feat: Post 조회 관련 API 구현 (#50) * feat: implement GET v1/posts * feat: implement search posts * style: remove unused import * refactor: change to query-dsl style commit 16da8a0 Author: Jisu Lim <[email protected]> Date: Thu Dec 21 19:46:24 2023 +0900 [OING-79] feat: 멤버 닉네임/프로필 이미지 수정 API 구현 (#47) * feat: add updateMember API * feat: add requestPresignedUrl for profileImg API * feat: add transactional annotation * style: remove getMember method * refactor: split existing logic into two separate APIs * feat: add deleteMemberProfileImage method * style: update imageUrl RequestDTO example * style: change method name for delete ObjectStorage image * refactor: add validateName logic * feat: change queryString to requestBody * feat: move validateName method * feat: add Async to deleteImage logic * style: add newline commit 53045cb Author: Jisu Lim <[email protected]> Date: Thu Dec 21 18:55:57 2023 +0900 [OING-75] feat: Post 작성 API 구현 (#45) commit 684c19b Author: ChuYong <[email protected]> Date: Mon Dec 18 22:16:07 2023 +0900 hotfix: add token security commit b8908df Author: ChuYong <[email protected]> Date: Mon Dec 18 22:06:24 2023 +0900 hotfix: update swagger header commit da7b0b7 Author: Jisu Lim <[email protected]> Date: Mon Dec 18 17:10:14 2023 +0900 [OING-90] hotfix: MemberService 및 WidgetController에서의 컴파일 에러 (#44) commit 59cf8ab Author: sckwon770 <[email protected]> Date: Mon Dec 18 12:42:08 2023 +0900 [OING-70] feat: Calendar API 구현 (#39) * feat: Add OptimizedImageUrlProvider component at gateway * feat: Add the code of service and repository for calendar controller * feat: Move Calendar controller to gateway modules and Impl getMonthlyCalendar request * refactor: Refactor MemberPostRepository to make method name simply rather than giving meaning in detail * feat: Impl getWeeklyCalendar requst and Substract the dupicated code lines from calendar requests * fix: Remove the code to substract 1 day from end date at calenar request, considering between operator * chore: Fix head branch regex for pr template automation workflow * refactor: Exclude family concept from MemberPostService, MemberPostRepository * refactor: Rename memberId to myId * refactor: Change the type of week paramter of getWeeklyCalendar request to Long * refactor: Make the date parameters of CalendarCotroller required true * chore: Add test coverage excluding pattern **.DTO* * fix: Add cdn value at test application yml * refactor: Refactor for loop code to map post to calendar to functional code * refactor: Break the line over 120 characters * refactor: Refactor the complex JPQL code of MemberPostRepository to QueryDSL * refactor: Change the type of paramters of MemberPost code * refactor: Remove implementation class usage, not interface of OptimizedImageUrl component --------- Co-authored-by: 송영민 (YeongMin Song) <[email protected]> commit d76def0 Author: sckwon770 <[email protected]> Date: Mon Dec 18 12:40:25 2023 +0900 [OING-84] feat: Widget API 구현 (#42) * feat: Add OptimizedImageUrlProvider component at gateway * feat: Add the code of service and repository for calendar controller * feat: Move Calendar controller to gateway modules and Impl getMonthlyCalendar request * refactor: Refactor MemberPostRepository to make method name simply rather than giving meaning in detail * feat: Impl getWeeklyCalendar requst and Substract the dupicated code lines from calendar requests * fix: Remove the code to substract 1 day from end date at calenar request, considering between operator * chore: Fix head branch regex for pr template automation workflow * feat: Add api spec for the single recent family widget * refactor: Exclude family concept from MemberPostService, MemberPostRepository * feat: Impl getSingleRecentFamilyPostWidget request * refactor: Rename memberId to myId * refactor: Change the type of week paramter of getWeeklyCalendar request to Long * refactor: Make the date parameters of CalendarCotroller required true * chore: Add test coverage excluding pattern **.DTO* * fix: Add cdn value at test application yml * refactor: Refactor for loop code to map post to calendar to functional code * refactor: Break the line over 120 characters * refactor: Refactor the complex JPQL code of MemberPostRepository to QueryDSL * refactor: Change the type of paramters of MemberPost code * refactor: Remove implementation class usage, not interface of OptimizedImageUrl component commit 1611521 Author: Jisu Lim <[email protected]> Date: Sat Dec 16 15:47:45 2023 +0900 [OING-88] feat: Emoji Enum 타입으로 변경 (#43) * feat: add Emoji Enum Class * fix: fix emoji logic * test: fix test due to EnumType commit 61cd611 Author: Jisu Lim <[email protected]> Date: Sat Dec 16 12:39:18 2023 +0900 [OING-83] 회원 탈퇴 API 모킹 (#41) * feat: add deleteMember mock api * feat: delete DeleteMemberRequest dto * feat: change deleteMember mock api logic * style: delete /v1/members uri in url-whitelists commit 68b5371 Author: Jisu Lim <[email protected]> Date: Sat Dec 16 12:38:54 2023 +0900 [OING-68] feat: Post Reaction API 모킹 (#40) * feat: add PostReaction mock API * feat: change PostReaction DTO name * feat: change reactToPost API name commit a6ce490 Author: Jisu Lim <[email protected]> Date: Fri Dec 15 18:12:38 2023 +0900 [OING-67] feat: 피드 업로드 API 모킹 (#36) * feat: add V2__modify_Post DDL script * feat: modify column in Post domain * feat: add createPost mock API * test: fix failed test due to added column * refactor: refact S3 presignedUrl Api * refactor: delete unused memberId param in requestPresignedUrl * refactor: change ResponseEntity in requestPresignedUrl * refactor: refact Postmodule code * refactor: refact S3PreSignedUrlProvider * test: fix S3PreSignedUrlProviderTest code * style: change ResponseEntity to DTO * feat: correct merge conflicts * feat: add validation for CreatePostRequest * refact: add validateContent method --------- Co-authored-by: 송영민 (YeongMin Song) <[email protected]> commit 21c8f2e Author: Jisu Lim <[email protected]> Date: Fri Dec 15 14:24:36 2023 +0900 [OING-71] feat: 회원정보 수정 API 모킹 (#38) * feat: add updateMember mock api * feat: add updateMember mock api commit 1919bbe Author: ChuYong <[email protected]> Date: Thu Dec 14 20:15:52 2023 +0900 hotfix: add missing parameter commit 1e03ab5 Author: 송영민 (YeongMin Song) <[email protected]> Date: Thu Dec 14 20:11:57 2023 +0900 [OING-73] feat: family, post api mock 구현 (#37) * feat: mock family api * feat: mock post api * feat: add sort parameter * docs: add description commit d128279 Author: ChuYong <[email protected]> Date: Tue Dec 12 15:43:50 2023 +0900 hotfix: remove unused import commit 09db7c1 Author: 송영민 (YeongMin Song) <[email protected]> Date: Tue Dec 12 14:31:47 2023 +0900 [OING-63] feat: 1차 와이어프레임 API 설계 (#34) * feat: add family api spec * feat: add member api sepc * feat: add post create logic * feat: add calendar query api * feat: add post query api * feat: add temporary token generate api * feat: change api url * feat: add reaction deletion api commit 9e277b0 Author: Jisu Lim <[email protected]> Date: Tue Dec 12 13:29:03 2023 +0900 [OING-66] feat: PresignedUrl 요청 API 구현 (#35) * feat: add S3presignedUrl API for image upload * refactor: add RequiredArgsConstructor in PostController * style: modify test code with error * refactor: refact PresignedUrl logic * fix: fix requestPresignedUrl http method * style: rename requestPresignedUrl uri commit 1d570ed Author: sckwon770 <[email protected]> Date: Mon Dec 11 21:46:57 2023 +0900 [OING-41] feat: 금일 피드 업로드 여부 조회 API 추가 (#30) * feat: Add the mock api - getIsTodayFeedUploadedByUserId * fix: Fix wrong parameter annotation on getIsTodayFeedUploadedByUserId * refactor: Refactor fetchDailyFeeds api whose scope is ME according to code review * refactor: Refactor make mock api to response variously * feat: Add AuthenticationHolder * chore: Add the comment using TokenAuthenticationHolder * chore: Exclude QueryDSL Qdomains from git * chore: Organize module directory structure * fix: Fix compile error at MemberController * chore: Exclude .env file from git commit 0e9f402 Author: sckwon770 <[email protected]> Date: Mon Dec 11 07:18:46 2023 +0900 [OING-56] feat: Family 모듈 구성 (#31) commit 162c73e Author: sckwon770 <[email protected]> Date: Mon Dec 11 02:39:19 2023 +0900 [Suggestion] chore: PR 작성 자동화 (#32) * chore: Add the workflos to automate the pointless writing pr template works * chore: Add last empty line into workflow, pr.yaml * chore: Add base-branch-regex * fix: Fix base-branch-regex to constraint branch condition commit 5715fc4 Author: Jisu Lim <[email protected]> Date: Sat Dec 9 16:37:21 2023 +0900 [OING-62] feat: 가족 구성원 Profile 조회 API 설계 (#29) * feat: add FamilyMemberProfileResponse DTO * feat: add getFamilyMemberProfile API * test: add FamilyMemberProfileResponseTest * refactor: move getFamilyMemberProfile to member module * refactor: move FamilyMemberProfileResponse to member module * style: delete unused file * feat: add Pagination Response and DTO * refactor: cherry-pick PaginationDTO --------- Co-authored-by: ChuYong <[email protected]> commit 46fe9eb Author: 송영민 (YeongMin Song) <[email protected]> Date: Sat Dec 9 16:22:27 2023 +0900 [OING-40] feature: API 경로 변경 및 Response DTO 변경 (#33) * feat: change api route and controller name * docs: update api docs * feat: add hasNext to PaginationResponse commit b1e08f9 Author: Jisu Lim <[email protected]> Date: Sat Dec 9 16:19:12 2023 +0900 [OING-58] feat: MemberPost 도메인 entity & repository 구성 (#28) * feat: add MemberPost Entity * feat: add MemberPostReaction Entity * feat: add MemberPostComment Entity * feat: add Member module dependency * feat: add fetchType to Entity field * feat: add Repository in post module * chore: delete member dependency in post module * test: add domain test in MemberPost module * feat: add index in post table * fix: fix mappedBy in MemberPost * test: fix test error in MemberTest * fix: fix field in MemberPost domain commit a52b47d Author: 송영민 (YeongMin Song) <[email protected]> Date: Sat Dec 9 16:08:52 2023 +0900 [OING-40] feat: Feed부분 API 설계하기 (#23) * feat: add Pagination Response and DTO * test: add dto, response test code * feat: add PostFeedController * fix: change package issue * feat: implement mock logic * test: fix test * test: add test to PostFeedResponse * feat: add Member API commit dc6fbb1 Author: 송영민 (YeongMin Song) <[email protected]> Date: Sat Dec 9 16:07:24 2023 +0900 [OING-47] feat: Auth 리프레시 API 추가및 경로 변경 (#22) * docs: add more description and example to api docs * feat: add refresh token logic * feat: add refresh token validation logic * style: fixed line style * test: add test code to new dto * [OING-32] refactor: S3 PresignedUrl 로직 리팩터링 (#19) * refactor: refact PreSignedUrlResponse * feat: add PreSignedUrlGenerator Interface * fix: fix getPreSignedUrl Test * chore: exclude dto from jacoco test coverage * refactor: delete PreSignedUrlResponse DTO from config * chore: add NCP ev to template file * docs: update environment variables on README.md * chore: fix Qdomains in jacocoTestReport * feat: delete Qdomain * feat: document PreSignedUrlResponse * chore: add dependsOn test in jacocoTestReport * [OING-50] refactor: Config 모듈명 Gateway로 변경 (#21) * docs: add more description and example to api docs * feat: add refresh token logic * feat: add refresh token validation logic * style: fixed line style * test: add test code to new dto * feat: add new temporary token * feat: add temporary token creation logic * feat: add register flow logic * feat: change api route to /register * refactor: add custom fromString on enum classes --------- Co-authored-by: Jisu Lim <[email protected]> Co-authored-by: sckwon770 <[email protected]> commit c40dc1a Author: 송영민 (YeongMin Song) <[email protected]> Date: Fri Dec 8 16:45:52 2023 +0900 [OING-57] hotfix: Member 도메인 entity & repository 구성 오타 (#27) commit 29a4e18 Author: 송영민 (YeongMin Song) <[email protected]> Date: Fri Dec 8 16:38:08 2023 +0900 [OING-57] feat: Member 도메인 entity & repository 구성 (#26) * feat: add entitites for member domain * feat: change BaseAuditEntity to extend BaseEntity commit 71350fd Author: 송영민 (YeongMin Song) <[email protected]> Date: Fri Dec 8 16:00:51 2023 +0900 [OING-54] chore: mysql 환경변수 설정 및 프로덕션 환경설정 (#25) * chore: add mysql password to env * chore: add hikari configurations * chore: disable springdoc in production * chore: add application-dev profile * chore: change ddl-auto to validate * chore: test profile to apply h2 commit a648dc9 Author: 송영민 (YeongMin Song) <[email protected]> Date: Fri Dec 8 15:26:31 2023 +0900 [OING-33] feat: DDL 작성 및 flyway 활성화 (#24) * feat: add sql DDL script * feat: enable flyway * fix: change url datatype to TEXT * feat: change emoji to ascii * test: fix s3 test commit 161755e Author: sckwon770 <[email protected]> Date: Tue Dec 5 21:26:26 2023 +0900 [OING-50] refactor: Config 모듈명 Gateway로 변경 (#21) commit 4678f71 Author: Jisu Lim <[email protected]> Date: Tue Dec 5 19:38:34 2023 +0900 [OING-32] refactor: S3 PresignedUrl 로직 리팩터링 (#19) * refactor: refact PreSignedUrlResponse * feat: add PreSignedUrlGenerator Interface * fix: fix getPreSignedUrl Test * chore: exclude dto from jacoco test coverage * refactor: delete PreSignedUrlResponse DTO from config * chore: add NCP ev to template file * docs: update environment variables on README.md * chore: fix Qdomains in jacocoTestReport * feat: delete Qdomain * feat: document PreSignedUrlResponse * chore: add dependsOn test in jacocoTestReport commit 41217f7 Author: 송영민 (YeongMin Song) <[email protected]> Date: Tue Dec 5 11:13:23 2023 +0900 [OING-46] feat: Member, Post 모듈 추가하기 (#20) * feat: add family, post module * chore: add workflow to check module changes commit 90d72f3 Author: 송영민 (YeongMin Song) <[email protected]> Date: Sun Dec 3 13:51:49 2023 +0900 [OING-21] feat: 기본 oAuth & 멤버 인증 관련 모듈 추가 (#17) * feat: create "POST /v1/auth/social" api * feat: create interface of apple login service * feat: create BaseAuditEntity * feat: add IdentityGenerator and impl * feat: add Member and SocialMember entity * feat: add Member Register logic * feat: add apple provider * feat: report slack on error * feat: only invoke slack on production * chore: add slack webhook conf with local props * feat: refactor yaml properties * docs: add environment example * feat: create "POST /v1/auth/social" api * feat: create interface of apple login service * feat: create BaseAuditEntity * feat: add IdentityGenerator and impl * feat: add Member and SocialMember entity * feat: add Member Register logic * feat: add apple provider * feat: report slack on error * feat: only invoke slack on production * chore: add slack webhook conf with local props * feat: refactor yaml properties * docs: add environment example * test: create test profile * test: add unit test on domain module * test: add object unit test codes * test: add component test codes * fix: override equals hashcode to check array * fix: override tostring * fix: remove setter for entity * fix: not-null on BaseAuditEntity * refactor: refactor codes * test: remove setter test for entity commit 718b8f7 Author: Jisu Lim <[email protected]> Date: Sat Dec 2 17:15:14 2023 +0900 [OING-25] chore: NCP ObjectStorage 세팅 (#16) * chore: add dependency for AWS S3 * chore: add NCP ObjectStorage Config * feat: add File uploader * test: add application.yaml for test * test: add test code for uploadImage * refactor: refact ObjectStorageConfig code * refactor: change FileUploader for presignedUrl * feat: add S3PreSignedUrlProvider * test: add test code for presigned-url * style: delete unused import statement * delete: delete unused util file for test * chore: exclude dto from jacoco test coverage * style: delete redundant code * refactor: refact ObjectStorageProperties file * refactor: refact S3PreSignedUrlProvider code * delete: delete unused file commit 6e818e5 Author: 송영민 (YeongMin Song) <[email protected]> Date: Fri Dec 1 17:59:54 2023 +0900 [OING-31] fix: SpringDocs (Swagger) 수리하기 (#18) * fix: config fix for swagger * docs: add default url path for swagger commit b19b573 Author: 송영민 (YeongMin Song) <[email protected]> Date: Sun Nov 26 22:49:21 2023 +0900 [OING-26] chore: CI/CD 파이프라인 워크플로우 개선 (#15) * [OING-27] chore: 배포 파이프라인 이후 슬랙 알림 보내기 * [OING-27] chore: 배포8] chore: PR시 테스트 커버리지 ì측정하기 commit a86c2fb Author: 송영민 (YeongMin Song) <[email protected]> Date: Sun Nov 26 18:40:23 2023 +0900 [OING-20] feat: JWT 토큰 관리 컴포넌트 생성 (#9) * feat: add token properties classes * feat: add token related domain classes * feat: add token generator and impl * feat: implement token generator with jwt * feat: add JWT Authenticator * test: add unit test for created classes commit 1ea5259 Author: Jisu Lim <[email protected]> Date: Sun Nov 26 17:36:20 2023 +0900 [OING-24] chore: Swagger 환경 세팅 (#10) * feat: add SwaggerConfig * feat: add SwaggerConfig environment variable * feat: exclude swagger-related requests from Interceptor path patterns * style: change swagger title commit 5a8d17d Author: Jisu Lim <[email protected]> Date: Fri Nov 24 18:46:43 2023 +0900 [OING-23] chore: Jacoco 테스트 커버리지 범위에서 config 모듈 제외 (#8) commit 6ec3e26 Author: Jisu Lim <[email protected]> Date: Fri Nov 24 12:04:54 2023 +0900 [OING-10] chore: code coverage를 위한 Jacoco 설정 (#7) * chore: apply Jacoco for code coverage * chore: exclude specific patterns from Jacoco code coverage * chore: set required formats * fix: Jacoco configuration by moving jacoco afterEvaluate commit 143ca89 Author: 송영민 (YeongMin Song) <[email protected]> Date: Fri Nov 24 09:53:08 2023 +0900 [OINT-19] feature: 스프링 시큐리티 설정 (#6) * chore: change root project name * feat: add SpringSecurityConfig * feat: add auth handler filters * feat: add JwtAuthenticationHandler with properties * feat: add WebRequestInterceptor with filters * chore: change root project name * feat: add SpringSecurityConfig * feat: add auth handler filters * feat: add JwtAuthenticationHandler with properties * feat: add WebRequestInterceptor with filters * feat: change response to ErrorResponse * feat: add WebExceptionHandler * style: change line length under max line length * style: change line length under max line length * style: match line convention commit 9984d50 Author: 송영민 (YeongMin Song) <[email protected]> Date: Wed Nov 22 15:04:30 2023 +0900 [OING-18] feat: 공통 모듈 구축하기 (#5) * chore: add common module * chore: add common module to workflow * feat: add common exception classes * feat: alter DomainException to non abstract class * test: add DomainException unit test * test: add ErrorResponse unit test * chore: fix workflow annotations
* [OING-18] feat: 공통 모듈 구축하기 (#5) * chore: add common module * chore: add common module to workflow * feat: add common exception classes * feat: alter DomainException to non abstract class * test: add DomainException unit test * test: add ErrorResponse unit test * chore: fix workflow annotations * [OINT-19] feature: 스프링 시큐리티 설정 (#6) * chore: change root project name * feat: add SpringSecurityConfig * feat: add auth handler filters * feat: add JwtAuthenticationHandler with properties * feat: add WebRequestInterceptor with filters * chore: change root project name * feat: add SpringSecurityConfig * feat: add auth handler filters * feat: add JwtAuthenticationHandler with properties * feat: add WebRequestInterceptor with filters * feat: change response to ErrorResponse * feat: add WebExceptionHandler * style: change line length under max line length * style: change line length under max line length * style: match line convention * [OING-10] chore: code coverage를 위한 Jacoco 설정 (#7) * chore: apply Jacoco for code coverage * chore: exclude specific patterns from Jacoco code coverage * chore: set required formats * fix: Jacoco configuration by moving jacoco afterEvaluate * [OING-23] chore: Jacoco 테스트 커버리지 범위에서 config 모듈 제외 (#8) * [OING-24] chore: Swagger 환경 세팅 (#10) * feat: add SwaggerConfig * feat: add SwaggerConfig environment variable * feat: exclude swagger-related requests from Interceptor path patterns * style: change swagger title * [OING-20] feat: JWT 토큰 관리 컴포넌트 생성 (#9) * feat: add token properties classes * feat: add token related domain classes * feat: add token generator and impl * feat: implement token generator with jwt * feat: add JWT Authenticator * test: add unit test for created classes * [OING-26] chore: CI/CD 파이프라인 워크플로우 개선 (#15) * [OING-27] chore: 배포 파이프라인 이후 슬랙 알림 보내기 * [OING-27] chore: 배포8] chore: PR시 테스트 커버리지 ì측정하기 * [OING-31] fix: SpringDocs (Swagger) 수리하기 (#18) * fix: config fix for swagger * docs: add default url path for swagger * [OING-25] chore: NCP ObjectStorage 세팅 (#16) * chore: add dependency for AWS S3 * chore: add NCP ObjectStorage Config * feat: add File uploader * test: add application.yaml for test * test: add test code for uploadImage * refactor: refact ObjectStorageConfig code * refactor: change FileUploader for presignedUrl * feat: add S3PreSignedUrlProvider * test: add test code for presigned-url * style: delete unused import statement * delete: delete unused util file for test * chore: exclude dto from jacoco test coverage * style: delete redundant code * refactor: refact ObjectStorageProperties file * refactor: refact S3PreSignedUrlProvider code * delete: delete unused file * [OING-21] feat: 기본 oAuth & 멤버 인증 관련 모듈 추가 (#17) * feat: create "POST /v1/auth/social" api * feat: create interface of apple login service * feat: create BaseAuditEntity * feat: add IdentityGenerator and impl * feat: add Member and SocialMember entity * feat: add Member Register logic * feat: add apple provider * feat: report slack on error * feat: only invoke slack on production * chore: add slack webhook conf with local props * feat: refactor yaml properties * docs: add environment example * feat: create "POST /v1/auth/social" api * feat: create interface of apple login service * feat: create BaseAuditEntity * feat: add IdentityGenerator and impl * feat: add Member and SocialMember entity * feat: add Member Register logic * feat: add apple provider * feat: report slack on error * feat: only invoke slack on production * chore: add slack webhook conf with local props * feat: refactor yaml properties * docs: add environment example * test: create test profile * test: add unit test on domain module * test: add object unit test codes * test: add component test codes * fix: override equals hashcode to check array * fix: override tostring * fix: remove setter for entity * fix: not-null on BaseAuditEntity * refactor: refactor codes * test: remove setter test for entity * [OING-46] feat: Member, Post 모듈 추가하기 (#20) * feat: add family, post module * chore: add workflow to check module changes * [OING-32] refactor: S3 PresignedUrl 로직 리팩터링 (#19) * refactor: refact PreSignedUrlResponse * feat: add PreSignedUrlGenerator Interface * fix: fix getPreSignedUrl Test * chore: exclude dto from jacoco test coverage * refactor: delete PreSignedUrlResponse DTO from config * chore: add NCP ev to template file * docs: update environment variables on README.md * chore: fix Qdomains in jacocoTestReport * feat: delete Qdomain * feat: document PreSignedUrlResponse * chore: add dependsOn test in jacocoTestReport * [OING-50] refactor: Config 모듈명 Gateway로 변경 (#21) * [OING-33] feat: DDL 작성 및 flyway 활성화 (#24) * feat: add sql DDL script * feat: enable flyway * fix: change url datatype to TEXT * feat: change emoji to ascii * test: fix s3 test * [OING-54] chore: mysql 환경변수 설정 및 프로덕션 환경설정 (#25) * chore: add mysql password to env * chore: add hikari configurations * chore: disable springdoc in production * chore: add application-dev profile * chore: change ddl-auto to validate * chore: test profile to apply h2 * [OING-57] feat: Member 도메인 entity & repository 구성 (#26) * feat: add entitites for member domain * feat: change BaseAuditEntity to extend BaseEntity * [OING-57] hotfix: Member 도메인 entity & repository 구성 오타 (#27) * [OING-47] feat: Auth 리프레시 API 추가및 경로 변경 (#22) * docs: add more description and example to api docs * feat: add refresh token logic * feat: add refresh token validation logic * style: fixed line style * test: add test code to new dto * [OING-32] refactor: S3 PresignedUrl 로직 리팩터링 (#19) * refactor: refact PreSignedUrlResponse * feat: add PreSignedUrlGenerator Interface * fix: fix getPreSignedUrl Test * chore: exclude dto from jacoco test coverage * refactor: delete PreSignedUrlResponse DTO from config * chore: add NCP ev to template file * docs: update environment variables on README.md * chore: fix Qdomains in jacocoTestReport * feat: delete Qdomain * feat: document PreSignedUrlResponse * chore: add dependsOn test in jacocoTestReport * [OING-50] refactor: Config 모듈명 Gateway로 변경 (#21) * docs: add more description and example to api docs * feat: add refresh token logic * feat: add refresh token validation logic * style: fixed line style * test: add test code to new dto * feat: add new temporary token * feat: add temporary token creation logic * feat: add register flow logic * feat: change api route to /register * refactor: add custom fromString on enum classes --------- Co-authored-by: Jisu Lim <[email protected]> Co-authored-by: sckwon770 <[email protected]> * [OING-40] feat: Feed부분 API 설계하기 (#23) * feat: add Pagination Response and DTO * test: add dto, response test code * feat: add PostFeedController * fix: change package issue * feat: implement mock logic * test: fix test * test: add test to PostFeedResponse * feat: add Member API * [OING-58] feat: MemberPost 도메인 entity & repository 구성 (#28) * feat: add MemberPost Entity * feat: add MemberPostReaction Entity * feat: add MemberPostComment Entity * feat: add Member module dependency * feat: add fetchType to Entity field * feat: add Repository in post module * chore: delete member dependency in post module * test: add domain test in MemberPost module * feat: add index in post table * fix: fix mappedBy in MemberPost * test: fix test error in MemberTest * fix: fix field in MemberPost domain * [OING-40] feature: API 경로 변경 및 Response DTO 변경 (#33) * feat: change api route and controller name * docs: update api docs * feat: add hasNext to PaginationResponse * [OING-62] feat: 가족 구성원 Profile 조회 API 설계 (#29) * feat: add FamilyMemberProfileResponse DTO * feat: add getFamilyMemberProfile API * test: add FamilyMemberProfileResponseTest * refactor: move getFamilyMemberProfile to member module * refactor: move FamilyMemberProfileResponse to member module * style: delete unused file * feat: add Pagination Response and DTO * refactor: cherry-pick PaginationDTO --------- Co-authored-by: ChuYong <[email protected]> * [Suggestion] chore: PR 작성 자동화 (#32) * chore: Add the workflos to automate the pointless writing pr template works * chore: Add last empty line into workflow, pr.yaml * chore: Add base-branch-regex * fix: Fix base-branch-regex to constraint branch condition * [OING-56] feat: Family 모듈 구성 (#31) * [OING-41] feat: 금일 피드 업로드 여부 조회 API 추가 (#30) * feat: Add the mock api - getIsTodayFeedUploadedByUserId * fix: Fix wrong parameter annotation on getIsTodayFeedUploadedByUserId * refactor: Refactor fetchDailyFeeds api whose scope is ME according to code review * refactor: Refactor make mock api to response variously * feat: Add AuthenticationHolder * chore: Add the comment using TokenAuthenticationHolder * chore: Exclude QueryDSL Qdomains from git * chore: Organize module directory structure * fix: Fix compile error at MemberController * chore: Exclude .env file from git * [OING-66] feat: PresignedUrl 요청 API 구현 (#35) * feat: add S3presignedUrl API for image upload * refactor: add RequiredArgsConstructor in PostController * style: modify test code with error * refactor: refact PresignedUrl logic * fix: fix requestPresignedUrl http method * style: rename requestPresignedUrl uri * [OING-63] feat: 1차 와이어프레임 API 설계 (#34) * feat: add family api spec * feat: add member api sepc * feat: add post create logic * feat: add calendar query api * feat: add post query api * feat: add temporary token generate api * feat: change api url * feat: add reaction deletion api * hotfix: remove unused import * [OING-73] feat: family, post api mock 구현 (#37) * feat: mock family api * feat: mock post api * feat: add sort parameter * docs: add description * hotfix: add missing parameter * [OING-71] feat: 회원정보 수정 API 모킹 (#38) * feat: add updateMember mock api * feat: add updateMember mock api * [OING-67] feat: 피드 업로드 API 모킹 (#36) * feat: add V2__modify_Post DDL script * feat: modify column in Post domain * feat: add createPost mock API * test: fix failed test due to added column * refactor: refact S3 presignedUrl Api * refactor: delete unused memberId param in requestPresignedUrl * refactor: change ResponseEntity in requestPresignedUrl * refactor: refact Postmodule code * refactor: refact S3PreSignedUrlProvider * test: fix S3PreSignedUrlProviderTest code * style: change ResponseEntity to DTO * feat: correct merge conflicts * feat: add validation for CreatePostRequest * refact: add validateContent method --------- Co-authored-by: 송영민 (YeongMin Song) <[email protected]> * [OING-68] feat: Post Reaction API 모킹 (#40) * feat: add PostReaction mock API * feat: change PostReaction DTO name * feat: change reactToPost API name * [OING-83] 회원 탈퇴 API 모킹 (#41) * feat: add deleteMember mock api * feat: delete DeleteMemberRequest dto * feat: change deleteMember mock api logic * style: delete /v1/members uri in url-whitelists * [OING-88] feat: Emoji Enum 타입으로 변경 (#43) * feat: add Emoji Enum Class * fix: fix emoji logic * test: fix test due to EnumType * [OING-84] feat: Widget API 구현 (#42) * feat: Add OptimizedImageUrlProvider component at gateway * feat: Add the code of service and repository for calendar controller * feat: Move Calendar controller to gateway modules and Impl getMonthlyCalendar request * refactor: Refactor MemberPostRepository to make method name simply rather than giving meaning in detail * feat: Impl getWeeklyCalendar requst and Substract the dupicated code lines from calendar requests * fix: Remove the code to substract 1 day from end date at calenar request, considering between operator * chore: Fix head branch regex for pr template automation workflow * feat: Add api spec for the single recent family widget * refactor: Exclude family concept from MemberPostService, MemberPostRepository * feat: Impl getSingleRecentFamilyPostWidget request * refactor: Rename memberId to myId * refactor: Change the type of week paramter of getWeeklyCalendar request to Long * refactor: Make the date parameters of CalendarCotroller required true * chore: Add test coverage excluding pattern **.DTO* * fix: Add cdn value at test application yml * refactor: Refactor for loop code to map post to calendar to functional code * refactor: Break the line over 120 characters * refactor: Refactor the complex JPQL code of MemberPostRepository to QueryDSL * refactor: Change the type of paramters of MemberPost code * refactor: Remove implementation class usage, not interface of OptimizedImageUrl component * [OING-70] feat: Calendar API 구현 (#39) * feat: Add OptimizedImageUrlProvider component at gateway * feat: Add the code of service and repository for calendar controller * feat: Move Calendar controller to gateway modules and Impl getMonthlyCalendar request * refactor: Refactor MemberPostRepository to make method name simply rather than giving meaning in detail * feat: Impl getWeeklyCalendar requst and Substract the dupicated code lines from calendar requests * fix: Remove the code to substract 1 day from end date at calenar request, considering between operator * chore: Fix head branch regex for pr template automation workflow * refactor: Exclude family concept from MemberPostService, MemberPostRepository * refactor: Rename memberId to myId * refactor: Change the type of week paramter of getWeeklyCalendar request to Long * refactor: Make the date parameters of CalendarCotroller required true * chore: Add test coverage excluding pattern **.DTO* * fix: Add cdn value at test application yml * refactor: Refactor for loop code to map post to calendar to functional code * refactor: Break the line over 120 characters * refactor: Refactor the complex JPQL code of MemberPostRepository to QueryDSL * refactor: Change the type of paramters of MemberPost code * refactor: Remove implementation class usage, not interface of OptimizedImageUrl component --------- Co-authored-by: 송영민 (YeongMin Song) <[email protected]> * [OING-90] hotfix: MemberService 및 WidgetController에서의 컴파일 에러 (#44) * hotfix: update swagger header * hotfix: add token security * [OING-75] feat: Post 작성 API 구현 (#45) * [OING-79] feat: 멤버 닉네임/프로필 이미지 수정 API 구현 (#47) * feat: add updateMember API * feat: add requestPresignedUrl for profileImg API * feat: add transactional annotation * style: remove getMember method * refactor: split existing logic into two separate APIs * feat: add deleteMemberProfileImage method * style: update imageUrl RequestDTO example * style: change method name for delete ObjectStorage image * refactor: add validateName logic * feat: change queryString to requestBody * feat: move validateName method * feat: add Async to deleteImage logic * style: add newline * [OING-77] feat: Post 조회 관련 API 구현 (#50) * feat: implement GET v1/posts * feat: implement search posts * style: remove unused import * refactor: change to query-dsl style * [OING-81] feat: v1/families 관련 API 구현 (#49) * feat: implement POST /v1/families * feat: implement GET /v1/families/invitation-link * feat; change method name * feat: change link to constant * feat: change to new exception class * [OING-80] feat: 멤버 정보 조회 관련 및 가족 그룹 생성일 조회 API 구현 (#46) * feat: add getFamilyMemberProfile API * feat: add getMember API * feat: add familyCreatedAt in FamiyMemberProfilesResponse DTO * refactor: refact getFamilyMemberProfiles method * style: code cleanup * feat: delete family dependency in member * feat: seperate getFamilyCreatedAt API * style: change default value in getFamilyMemberProfiles * style: delete unused annotation * refactor: refact findFamilyCreatedAt method * style: rename method for getFamilyMembersProfiles * refactor: refact createFamilyMemberProfiles logic * fix: remove sorting for findFamilyMembersProfiles * style: change getFamilyCreatedAt ResponseDto * refact: createFamilyMemberProfiles method logic * [OING-97] CalendarApi와 관련된 에러와 잘못된 설정 해결 (#54) * fix: Add alias name at memberPost.count() to fix runtime QueryDSL query error * refactor: Make param require false at CalendarApi * chore: Add Swagger params description to explain type of CalendarApi * feat: commenting out deleteMemberProfileImage method (#55) * [OING-97] PR54로 구현한 티켓의 런타입 에러 해결을 위한 핫픽스... (#56) * fix: Add alias name at memberPost.count() to fix runtime QueryDSL query error * refactor: Make param require false at CalendarApi * chore: Add Swagger params description to explain type of CalendarApi * fix: Change MemberPostCountDTO type to Class to use the QueryDSL projections field instead of projections bean that occur runtime error * fix: Add NoArgsContructor at MemberPostCountDTO to fix QueryDSL projections QBean runtime error (#57) * [OING-76] feat: Post에 대한 반응 생성/삭제 구현 (#48) * feat: add validate logic for createPostReaction * feat: add createPostReaction API * feat: add deletePostReaction API * refactor: refact post reaction logic in controller * refactor: refact findReaction logic in service * fix: change FetchType Eager to Lazy * [OING-94] fix: createPost 코드 개선 (#51) * refactor: refact createPost code * refactor: delete unused log * feat: add DuplicatePostUploadException * style: add comments for upload time validation * refactor: convert time comparison logic to use LocalDateTime * fix: fix postDate for Asia/Seoul * refactor: refact PostResponse * style: detail InvalidUploadTime Exception * fix: remove extractLocalDate method * style: correct image request dto example * fix: fix validateUploadTime logic to ZonedDateTime * [OING-95] feat: 카카오 인증(로그인) 기능 구현 (#52) * feat: add kakao provider * feat: implement kakao * [OING-92] feat: 회원 탈퇴 API 구현 (#58) * feat: add BaseAuditEntityWithDelete * feat: add member delete basic logic * feat: add findAllSocialMemberByMember method * fix: fix updateDeletedAt() * refact: delete updateDeletedAt method argument * feat: add memberId PathVariable * refactor: refact deleteMember logic * feat: add memberId PathVariable in Put method * fix: fix social login provider test * [OING-100] feat: 내 정보 조회 API & MemberResponse 누락필드 추가 (#59) * feat: move member response to function * feat: add me api * hotfix: fix page count issue (#60) * [OING-102] hotfix: Family 초대 링크 기발급 경우 기존 링크 반환 (#61) * feat: change emoji type name * feat: implement post reaction api * [OING-107] 임시 토큰 통한 회원가입 불가 이슈 해결 (#62) * hotfix: add missing transactional * [OING-108] feature: 응답값 없는 Operation의 기본 응답값 추가 (#63) * feat: add memberdevice domain * feat: add device api * fix: change missing name * [OING-109] feat: Member, MemberPost 엔티티에 imageKey 필드 추가 (#64) * Revert "[OING-109] feat: Member, MemberPost 엔티티에 imageKey 필드 추가 (#64)" This reverts commit 926f381. * Revert "Revert "[OING-109] feat: Member, MemberPost 엔티티에 imageKey 필드 추가 (#64)"" This reverts commit 0bb818d. * [OING-111] 새로운 형태의 Object storage url으로 인해 썸네일 url이 작동하지 못한 오류 해결 #65 * feat: add not found handler * [OING-112] feat: 딥링크 API & 딥링크 가족 가입 API 구현 (#66) * feat: add family join api * feat: add deep link api * feat: add join family feature * Revert "feat: add not found handler" This reverts commit 6bcdaa1. * feat: handle 404 * [OING-113] refactor: 게시물 반응 전체 조회 응답 형식 수정 (#67) * [OING-115] feat: 프로덕션용 설정 및 앱 키 기능 추가 (#68) * feat: fix validation * feat: config production-ready setups * feat: add additional logging * feat: add app version feature * feat: changed log targets * feat: change method not allowed exception * [OING-120] hotfix: 내 가족만 게시물 조회 가능하게 & 앱 키 스웨거 추가 (#69) * feat: add version filter toggle * feat: add app version key in swagger * feat: only query my family * [OING-118] hotfix: 기회원가입자 재회원가입 방지 (#70) * test: jwt 헤더 테스트 깨지는거 해결 * feat: prevent register if already member exists * [OING-119] feat: Post content 공백 존재 검증 로직 추가 (#71) * feat: add spacing validate logic in post * style: change throw InvalidParameterException * test: jwt 헤더 테스트 깨지는거 해결 --------- Co-authored-by: ChuYong <[email protected]> * [OING-122] hotfix: post 등록 시, 내용 길이 검증 수정 (#73) * [OING-121] refactor: 1차 MVP 코드 전체 정리 (#72) * style: clean up code * refactor: common module package cleanup * refactor: family module package cleanup * refactor: member module package cleanup * refactor: post module package cleanup * style: clean up code finally * feat: remove asyncconfig * refactor: refact post module class name * [OING-122] hotfix: post 등록 시, 내용 길이 검증 수정 (#73) * style: clean up code * refactor: common module package cleanup * refactor: family module package cleanup * refactor: member module package cleanup * refactor: post module package cleanup * style: clean up code finally * feat: remove asyncconfig * refactor: refact post module class name --------- Co-authored-by: jisu <[email protected]> Co-authored-by: Jisu Lim <[email protected]> * [OING-124] hotfix: 리프레시 api 작동 안함 해결 (#75) * feat: add links to whitelisted url * fix: change image key extraction logic (#74) * [OING-125] hotfix: 유효하지 않은 토큰에 대해 401 예외 반환하는 핸들러 추가 (#76) * hotfix: add handleAuthenticationFailedException * style: change log message * [OING-125] hotfix: PR76 핫픽스 (#77) * hotfix: add handleAuthenticationFailedException * style: change log message * fix: change 401 to HttpStatus UNAUTHORIZED * [OING-125] hotfix: PR76 핫픽스 2 (#78) * [OING-127] feat: 구글 oAuth 추가 (#79) * [OING-128] refactor: 가족 멤버 프로필 조회 시, 탈퇴한 회원은 응답에서 제외되도록 수정 (#80) * feat: add DeletedAtIsNull to findFamilyMembers * test: fix SocialLoginProviderTest * style: delete unused lines * [OING-129] Widget용 이미지 압축 기능 추가 (#82) * [OING-130] feat: postDate 컬럼 삭제 및 가족이 없는 멤버에 대해 가족 프로필 조회 시, 예외 반환 로직 추가 (#83) * feat: delete postDate column in post * style: change method name * feat: add delete postdate column sql * fix: fix existsByMemberIdAndCreatedAt method * test: fix memberPost test * feat: add FamilyNotFoundException * [OING-129] OING-129 의 컴파일 에러 핫픽스 (#84) * feat: Add getKBImageUrlGenerator at OptimizedImageUrlGenerator and Append image optimizing code at getSingleRecentFamilyPostWidget at WidgetController * fix: Hotfix compile error * [OING-129] hotfix: OING-129 PR의 핫픽스가 머지되는 중에 꼬인 에러 해결 (#85) * feat: Add getKBImageUrlGenerator at OptimizedImageUrlGenerator and Append image optimizing code at getSingleRecentFamilyPostWidget at WidgetController * fix: Hotfix compile error * fix: Fix wrongly twisted merged getKBImageUrlGenerator code * chore: update swarm service name * [OING-129] OING-129 PR에서 이미지 최적화 쿼리를 변경 (#86) * feat: Add getKBImageUrlGenerator at OptimizedImageUrlGenerator and Append image optimizing code at getSingleRecentFamilyPostWidget at WidgetController * fix: Hotfix compile error * fix: Fix wrongly twisted merged getKBImageUrlGenerator code * refactor: Change KB_IMAGE_OPTIMIZER_QUERY_STRING * chore: update prod swarm service name * [OING-131] 위젯 응답 객체에 게시자 이름 추가 (#87) * test: add MemberControllerTest for change profile info * test: add MemberControllerTest for get Member Profile info * test: add MemberControllerTest for memberDelete * test: add MemberControllerTest for exception and presignedUrl * [OING-129] 이미지 최적화 빈의 NullPointerException 방지 (#88) * [OING-104] test: 월간 캘린더 API 통합테스트 추가 (#81) * feat: Add test code for getMonthlyCalendar of CalendarController * fix: Fix calendar query that cant group the posts daily and Fix test code according to changed calendar query * refactor: Change the integration test, CalendarControllerTest to CalendarApiTest * fix: Add fake token expiration value in applicaiton-test.yaml * fix: Remove post_date column from meber_post insertion sql at CalenarApiTest * test: add additional test for nickname validate * test: add additional test for nickname validate * fix: fix getThumbnailUrlGenerator typo * hotfix: fix getThumbnailUrlGenerator typo (#90) * [OING-135] hotfix: 닉네임 길이 제한 조건 수정 (#92) * fix: fix validateMemberName condition * feat: add/fix @Valid for DTO * feat: add @notblank to CreateNewUserDto * test: fix Nickname validate test * test: add MemberControllerTest for change profile info * test: add MemberControllerTest for get Member Profile info * test: add MemberControllerTest for memberDelete * test: add additional test for nickname validate * test: add additional test for nickname validate * fix: fix getThumbnailUrlGenerator typo * hotfix: fix getThumbnailUrlGenerator typo (#90) * [OING-135] hotfix: 닉네임 길이 제한 조건 수정 (#92) * fix: fix validateMemberName condition * feat: add/fix @Valid for DTO * feat: add @notblank to CreateNewUserDto * [OING-135] hotfix: 닉네임 길이 제한 조건 수정 (#92) * fix: fix validateMemberName condition * feat: add/fix @Valid for DTO * feat: add @notblank to CreateNewUserDto * test: fix Nickname validate test * test: remove spy --------- Co-authored-by: 송영민 (YeongMin Song) <[email protected]> Co-authored-by: sckwon770 <[email protected]>
* docs: add new properties to application local template * fix: Fix broken integration test of CalendarApiTest due to changed FamilyApi (#96) * [OING-126] test: 회원 정보수정/조회/탈퇴에 대한 단위 테스트 코드 추가 (#89) * [OING-18] feat: 공통 모듈 구축하기 (#5) * chore: add common module * chore: add common module to workflow * feat: add common exception classes * feat: alter DomainException to non abstract class * test: add DomainException unit test * test: add ErrorResponse unit test * chore: fix workflow annotations * [OINT-19] feature: 스프링 시큐리티 설정 (#6) * chore: change root project name * feat: add SpringSecurityConfig * feat: add auth handler filters * feat: add JwtAuthenticationHandler with properties * feat: add WebRequestInterceptor with filters * chore: change root project name * feat: add SpringSecurityConfig * feat: add auth handler filters * feat: add JwtAuthenticationHandler with properties * feat: add WebRequestInterceptor with filters * feat: change response to ErrorResponse * feat: add WebExceptionHandler * style: change line length under max line length * style: change line length under max line length * style: match line convention * [OING-10] chore: code coverage를 위한 Jacoco 설정 (#7) * chore: apply Jacoco for code coverage * chore: exclude specific patterns from Jacoco code coverage * chore: set required formats * fix: Jacoco configuration by moving jacoco afterEvaluate * [OING-23] chore: Jacoco 테스트 커버리지 범위에서 config 모듈 제외 (#8) * [OING-24] chore: Swagger 환경 세팅 (#10) * feat: add SwaggerConfig * feat: add SwaggerConfig environment variable * feat: exclude swagger-related requests from Interceptor path patterns * style: change swagger title * [OING-20] feat: JWT 토큰 관리 컴포넌트 생성 (#9) * feat: add token properties classes * feat: add token related domain classes * feat: add token generator and impl * feat: implement token generator with jwt * feat: add JWT Authenticator * test: add unit test for created classes * [OING-26] chore: CI/CD 파이프라인 워크플로우 개선 (#15) * [OING-27] chore: 배포 파이프라인 이후 슬랙 알림 보내기 * [OING-27] chore: 배포8] chore: PR시 테스트 커버리지 ì측정하기 * [OING-31] fix: SpringDocs (Swagger) 수리하기 (#18) * fix: config fix for swagger * docs: add default url path for swagger * [OING-25] chore: NCP ObjectStorage 세팅 (#16) * chore: add dependency for AWS S3 * chore: add NCP ObjectStorage Config * feat: add File uploader * test: add application.yaml for test * test: add test code for uploadImage * refactor: refact ObjectStorageConfig code * refactor: change FileUploader for presignedUrl * feat: add S3PreSignedUrlProvider * test: add test code for presigned-url * style: delete unused import statement * delete: delete unused util file for test * chore: exclude dto from jacoco test coverage * style: delete redundant code * refactor: refact ObjectStorageProperties file * refactor: refact S3PreSignedUrlProvider code * delete: delete unused file * [OING-21] feat: 기본 oAuth & 멤버 인증 관련 모듈 추가 (#17) * feat: create "POST /v1/auth/social" api * feat: create interface of apple login service * feat: create BaseAuditEntity * feat: add IdentityGenerator and impl * feat: add Member and SocialMember entity * feat: add Member Register logic * feat: add apple provider * feat: report slack on error * feat: only invoke slack on production * chore: add slack webhook conf with local props * feat: refactor yaml properties * docs: add environment example * feat: create "POST /v1/auth/social" api * feat: create interface of apple login service * feat: create BaseAuditEntity * feat: add IdentityGenerator and impl * feat: add Member and SocialMember entity * feat: add Member Register logic * feat: add apple provider * feat: report slack on error * feat: only invoke slack on production * chore: add slack webhook conf with local props * feat: refactor yaml properties * docs: add environment example * test: create test profile * test: add unit test on domain module * test: add object unit test codes * test: add component test codes * fix: override equals hashcode to check array * fix: override tostring * fix: remove setter for entity * fix: not-null on BaseAuditEntity * refactor: refactor codes * test: remove setter test for entity * [OING-46] feat: Member, Post 모듈 추가하기 (#20) * feat: add family, post module * chore: add workflow to check module changes * [OING-32] refactor: S3 PresignedUrl 로직 리팩터링 (#19) * refactor: refact PreSignedUrlResponse * feat: add PreSignedUrlGenerator Interface * fix: fix getPreSignedUrl Test * chore: exclude dto from jacoco test coverage * refactor: delete PreSignedUrlResponse DTO from config * chore: add NCP ev to template file * docs: update environment variables on README.md * chore: fix Qdomains in jacocoTestReport * feat: delete Qdomain * feat: document PreSignedUrlResponse * chore: add dependsOn test in jacocoTestReport * [OING-50] refactor: Config 모듈명 Gateway로 변경 (#21) * [OING-33] feat: DDL 작성 및 flyway 활성화 (#24) * feat: add sql DDL script * feat: enable flyway * fix: change url datatype to TEXT * feat: change emoji to ascii * test: fix s3 test * [OING-54] chore: mysql 환경변수 설정 및 프로덕션 환경설정 (#25) * chore: add mysql password to env * chore: add hikari configurations * chore: disable springdoc in production * chore: add application-dev profile * chore: change ddl-auto to validate * chore: test profile to apply h2 * [OING-57] feat: Member 도메인 entity & repository 구성 (#26) * feat: add entitites for member domain * feat: change BaseAuditEntity to extend BaseEntity * [OING-57] hotfix: Member 도메인 entity & repository 구성 오타 (#27) * [OING-47] feat: Auth 리프레시 API 추가및 경로 변경 (#22) * docs: add more description and example to api docs * feat: add refresh token logic * feat: add refresh token validation logic * style: fixed line style * test: add test code to new dto * [OING-32] refactor: S3 PresignedUrl 로직 리팩터링 (#19) * refactor: refact PreSignedUrlResponse * feat: add PreSignedUrlGenerator Interface * fix: fix getPreSignedUrl Test * chore: exclude dto from jacoco test coverage * refactor: delete PreSignedUrlResponse DTO from config * chore: add NCP ev to template file * docs: update environment variables on README.md * chore: fix Qdomains in jacocoTestReport * feat: delete Qdomain * feat: document PreSignedUrlResponse * chore: add dependsOn test in jacocoTestReport * [OING-50] refactor: Config 모듈명 Gateway로 변경 (#21) * docs: add more description and example to api docs * feat: add refresh token logic * feat: add refresh token validation logic * style: fixed line style * test: add test code to new dto * feat: add new temporary token * feat: add temporary token creation logic * feat: add register flow logic * feat: change api route to /register * refactor: add custom fromString on enum classes --------- Co-authored-by: Jisu Lim <[email protected]> Co-authored-by: sckwon770 <[email protected]> * [OING-40] feat: Feed부분 API 설계하기 (#23) * feat: add Pagination Response and DTO * test: add dto, response test code * feat: add PostFeedController * fix: change package issue * feat: implement mock logic * test: fix test * test: add test to PostFeedResponse * feat: add Member API * [OING-58] feat: MemberPost 도메인 entity & repository 구성 (#28) * feat: add MemberPost Entity * feat: add MemberPostReaction Entity * feat: add MemberPostComment Entity * feat: add Member module dependency * feat: add fetchType to Entity field * feat: add Repository in post module * chore: delete member dependency in post module * test: add domain test in MemberPost module * feat: add index in post table * fix: fix mappedBy in MemberPost * test: fix test error in MemberTest * fix: fix field in MemberPost domain * [OING-40] feature: API 경로 변경 및 Response DTO 변경 (#33) * feat: change api route and controller name * docs: update api docs * feat: add hasNext to PaginationResponse * [OING-62] feat: 가족 구성원 Profile 조회 API 설계 (#29) * feat: add FamilyMemberProfileResponse DTO * feat: add getFamilyMemberProfile API * test: add FamilyMemberProfileResponseTest * refactor: move getFamilyMemberProfile to member module * refactor: move FamilyMemberProfileResponse to member module * style: delete unused file * feat: add Pagination Response and DTO * refactor: cherry-pick PaginationDTO --------- Co-authored-by: ChuYong <[email protected]> * [Suggestion] chore: PR 작성 자동화 (#32) * chore: Add the workflos to automate the pointless writing pr template works * chore: Add last empty line into workflow, pr.yaml * chore: Add base-branch-regex * fix: Fix base-branch-regex to constraint branch condition * [OING-56] feat: Family 모듈 구성 (#31) * [OING-41] feat: 금일 피드 업로드 여부 조회 API 추가 (#30) * feat: Add the mock api - getIsTodayFeedUploadedByUserId * fix: Fix wrong parameter annotation on getIsTodayFeedUploadedByUserId * refactor: Refactor fetchDailyFeeds api whose scope is ME according to code review * refactor: Refactor make mock api to response variously * feat: Add AuthenticationHolder * chore: Add the comment using TokenAuthenticationHolder * chore: Exclude QueryDSL Qdomains from git * chore: Organize module directory structure * fix: Fix compile error at MemberController * chore: Exclude .env file from git * [OING-66] feat: PresignedUrl 요청 API 구현 (#35) * feat: add S3presignedUrl API for image upload * refactor: add RequiredArgsConstructor in PostController * style: modify test code with error * refactor: refact PresignedUrl logic * fix: fix requestPresignedUrl http method * style: rename requestPresignedUrl uri * [OING-63] feat: 1차 와이어프레임 API 설계 (#34) * feat: add family api spec * feat: add member api sepc * feat: add post create logic * feat: add calendar query api * feat: add post query api * feat: add temporary token generate api * feat: change api url * feat: add reaction deletion api * hotfix: remove unused import * [OING-73] feat: family, post api mock 구현 (#37) * feat: mock family api * feat: mock post api * feat: add sort parameter * docs: add description * hotfix: add missing parameter * [OING-71] feat: 회원정보 수정 API 모킹 (#38) * feat: add updateMember mock api * feat: add updateMember mock api * [OING-67] feat: 피드 업로드 API 모킹 (#36) * feat: add V2__modify_Post DDL script * feat: modify column in Post domain * feat: add createPost mock API * test: fix failed test due to added column * refactor: refact S3 presignedUrl Api * refactor: delete unused memberId param in requestPresignedUrl * refactor: change ResponseEntity in requestPresignedUrl * refactor: refact Postmodule code * refactor: refact S3PreSignedUrlProvider * test: fix S3PreSignedUrlProviderTest code * style: change ResponseEntity to DTO * feat: correct merge conflicts * feat: add validation for CreatePostRequest * refact: add validateContent method --------- Co-authored-by: 송영민 (YeongMin Song) <[email protected]> * [OING-68] feat: Post Reaction API 모킹 (#40) * feat: add PostReaction mock API * feat: change PostReaction DTO name * feat: change reactToPost API name * [OING-83] 회원 탈퇴 API 모킹 (#41) * feat: add deleteMember mock api * feat: delete DeleteMemberRequest dto * feat: change deleteMember mock api logic * style: delete /v1/members uri in url-whitelists * [OING-88] feat: Emoji Enum 타입으로 변경 (#43) * feat: add Emoji Enum Class * fix: fix emoji logic * test: fix test due to EnumType * [OING-84] feat: Widget API 구현 (#42) * feat: Add OptimizedImageUrlProvider component at gateway * feat: Add the code of service and repository for calendar controller * feat: Move Calendar controller to gateway modules and Impl getMonthlyCalendar request * refactor: Refactor MemberPostRepository to make method name simply rather than giving meaning in detail * feat: Impl getWeeklyCalendar requst and Substract the dupicated code lines from calendar requests * fix: Remove the code to substract 1 day from end date at calenar request, considering between operator * chore: Fix head branch regex for pr template automation workflow * feat: Add api spec for the single recent family widget * refactor: Exclude family concept from MemberPostService, MemberPostRepository * feat: Impl getSingleRecentFamilyPostWidget request * refactor: Rename memberId to myId * refactor: Change the type of week paramter of getWeeklyCalendar request to Long * refactor: Make the date parameters of CalendarCotroller required true * chore: Add test coverage excluding pattern **.DTO* * fix: Add cdn value at test application yml * refactor: Refactor for loop code to map post to calendar to functional code * refactor: Break the line over 120 characters * refactor: Refactor the complex JPQL code of MemberPostRepository to QueryDSL * refactor: Change the type of paramters of MemberPost code * refactor: Remove implementation class usage, not interface of OptimizedImageUrl component * [OING-70] feat: Calendar API 구현 (#39) * feat: Add OptimizedImageUrlProvider component at gateway * feat: Add the code of service and repository for calendar controller * feat: Move Calendar controller to gateway modules and Impl getMonthlyCalendar request * refactor: Refactor MemberPostRepository to make method name simply rather than giving meaning in detail * feat: Impl getWeeklyCalendar requst and Substract the dupicated code lines from calendar requests * fix: Remove the code to substract 1 day from end date at calenar request, considering between operator * chore: Fix head branch regex for pr template automation workflow * refactor: Exclude family concept from MemberPostService, MemberPostRepository * refactor: Rename memberId to myId * refactor: Change the type of week paramter of getWeeklyCalendar request to Long * refactor: Make the date parameters of CalendarCotroller required true * chore: Add test coverage excluding pattern **.DTO* * fix: Add cdn value at test application yml * refactor: Refactor for loop code to map post to calendar to functional code * refactor: Break the line over 120 characters * refactor: Refactor the complex JPQL code of MemberPostRepository to QueryDSL * refactor: Change the type of paramters of MemberPost code * refactor: Remove implementation class usage, not interface of OptimizedImageUrl component --------- Co-authored-by: 송영민 (YeongMin Song) <[email protected]> * [OING-90] hotfix: MemberService 및 WidgetController에서의 컴파일 에러 (#44) * hotfix: update swagger header * hotfix: add token security * [OING-75] feat: Post 작성 API 구현 (#45) * [OING-79] feat: 멤버 닉네임/프로필 이미지 수정 API 구현 (#47) * feat: add updateMember API * feat: add requestPresignedUrl for profileImg API * feat: add transactional annotation * style: remove getMember method * refactor: split existing logic into two separate APIs * feat: add deleteMemberProfileImage method * style: update imageUrl RequestDTO example * style: change method name for delete ObjectStorage image * refactor: add validateName logic * feat: change queryString to requestBody * feat: move validateName method * feat: add Async to deleteImage logic * style: add newline * [OING-77] feat: Post 조회 관련 API 구현 (#50) * feat: implement GET v1/posts * feat: implement search posts * style: remove unused import * refactor: change to query-dsl style * [OING-81] feat: v1/families 관련 API 구현 (#49) * feat: implement POST /v1/families * feat: implement GET /v1/families/invitation-link * feat; change method name * feat: change link to constant * feat: change to new exception class * [OING-80] feat: 멤버 정보 조회 관련 및 가족 그룹 생성일 조회 API 구현 (#46) * feat: add getFamilyMemberProfile API * feat: add getMember API * feat: add familyCreatedAt in FamiyMemberProfilesResponse DTO * refactor: refact getFamilyMemberProfiles method * style: code cleanup * feat: delete family dependency in member * feat: seperate getFamilyCreatedAt API * style: change default value in getFamilyMemberProfiles * style: delete unused annotation * refactor: refact findFamilyCreatedAt method * style: rename method for getFamilyMembersProfiles * refactor: refact createFamilyMemberProfiles logic * fix: remove sorting for findFamilyMembersProfiles * style: change getFamilyCreatedAt ResponseDto * refact: createFamilyMemberProfiles method logic * [OING-97] CalendarApi와 관련된 에러와 잘못된 설정 해결 (#54) * fix: Add alias name at memberPost.count() to fix runtime QueryDSL query error * refactor: Make param require false at CalendarApi * chore: Add Swagger params description to explain type of CalendarApi * feat: commenting out deleteMemberProfileImage method (#55) * [OING-97] PR54로 구현한 티켓의 런타입 에러 해결을 위한 핫픽스... (#56) * fix: Add alias name at memberPost.count() to fix runtime QueryDSL query error * refactor: Make param require false at CalendarApi * chore: Add Swagger params description to explain type of CalendarApi * fix: Change MemberPostCountDTO type to Class to use the QueryDSL projections field instead of projections bean that occur runtime error * fix: Add NoArgsContructor at MemberPostCountDTO to fix QueryDSL projections QBean runtime error (#57) * [OING-76] feat: Post에 대한 반응 생성/삭제 구현 (#48) * feat: add validate logic for createPostReaction * feat: add createPostReaction API * feat: add deletePostReaction API * refactor: refact post reaction logic in controller * refactor: refact findReaction logic in service * fix: change FetchType Eager to Lazy * [OING-94] fix: createPost 코드 개선 (#51) * refactor: refact createPost code * refactor: delete unused log * feat: add DuplicatePostUploadException * style: add comments for upload time validation * refactor: convert time comparison logic to use LocalDateTime * fix: fix postDate for Asia/Seoul * refactor: refact PostResponse * style: detail InvalidUploadTime Exception * fix: remove extractLocalDate method * style: correct image request dto example * fix: fix validateUploadTime logic to ZonedDateTime * [OING-95] feat: 카카오 인증(로그인) 기능 구현 (#52) * feat: add kakao provider * feat: implement kakao * [OING-92] feat: 회원 탈퇴 API 구현 (#58) * feat: add BaseAuditEntityWithDelete * feat: add member delete basic logic * feat: add findAllSocialMemberByMember method * fix: fix updateDeletedAt() * refact: delete updateDeletedAt method argument * feat: add memberId PathVariable * refactor: refact deleteMember logic * feat: add memberId PathVariable in Put method * fix: fix social login provider test * [OING-100] feat: 내 정보 조회 API & MemberResponse 누락필드 추가 (#59) * feat: move member response to function * feat: add me api * hotfix: fix page count issue (#60) * [OING-102] hotfix: Family 초대 링크 기발급 경우 기존 링크 반환 (#61) * feat: change emoji type name * feat: implement post reaction api * [OING-107] 임시 토큰 통한 회원가입 불가 이슈 해결 (#62) * hotfix: add missing transactional * [OING-108] feature: 응답값 없는 Operation의 기본 응답값 추가 (#63) * feat: add memberdevice domain * feat: add device api * fix: change missing name * [OING-109] feat: Member, MemberPost 엔티티에 imageKey 필드 추가 (#64) * Revert "[OING-109] feat: Member, MemberPost 엔티티에 imageKey 필드 추가 (#64)" This reverts commit 926f381. * Revert "Revert "[OING-109] feat: Member, MemberPost 엔티티에 imageKey 필드 추가 (#64)"" This reverts commit 0bb818d. * [OING-111] 새로운 형태의 Object storage url으로 인해 썸네일 url이 작동하지 못한 오류 해결 #65 * feat: add not found handler * [OING-112] feat: 딥링크 API & 딥링크 가족 가입 API 구현 (#66) * feat: add family join api * feat: add deep link api * feat: add join family feature * Revert "feat: add not found handler" This reverts commit 6bcdaa1. * feat: handle 404 * [OING-113] refactor: 게시물 반응 전체 조회 응답 형식 수정 (#67) * [OING-115] feat: 프로덕션용 설정 및 앱 키 기능 추가 (#68) * feat: fix validation * feat: config production-ready setups * feat: add additional logging * feat: add app version feature * feat: changed log targets * feat: change method not allowed exception * [OING-120] hotfix: 내 가족만 게시물 조회 가능하게 & 앱 키 스웨거 추가 (#69) * feat: add version filter toggle * feat: add app version key in swagger * feat: only query my family * [OING-118] hotfix: 기회원가입자 재회원가입 방지 (#70) * test: jwt 헤더 테스트 깨지는거 해결 * feat: prevent register if already member exists * [OING-119] feat: Post content 공백 존재 검증 로직 추가 (#71) * feat: add spacing validate logic in post * style: change throw InvalidParameterException * test: jwt 헤더 테스트 깨지는거 해결 --------- Co-authored-by: ChuYong <[email protected]> * [OING-122] hotfix: post 등록 시, 내용 길이 검증 수정 (#73) * [OING-121] refactor: 1차 MVP 코드 전체 정리 (#72) * style: clean up code * refactor: common module package cleanup * refactor: family module package cleanup * refactor: member module package cleanup * refactor: post module package cleanup * style: clean up code finally * feat: remove asyncconfig * refactor: refact post module class name * [OING-122] hotfix: post 등록 시, 내용 길이 검증 수정 (#73) * style: clean up code * refactor: common module package cleanup * refactor: family module package cleanup * refactor: member module package cleanup * refactor: post module package cleanup * style: clean up code finally * feat: remove asyncconfig * refactor: refact post module class name --------- Co-authored-by: jisu <[email protected]> Co-authored-by: Jisu Lim <[email protected]> * [OING-124] hotfix: 리프레시 api 작동 안함 해결 (#75) * feat: add links to whitelisted url * fix: change image key extraction logic (#74) * [OING-125] hotfix: 유효하지 않은 토큰에 대해 401 예외 반환하는 핸들러 추가 (#76) * hotfix: add handleAuthenticationFailedException * style: change log message * [OING-125] hotfix: PR76 핫픽스 (#77) * hotfix: add handleAuthenticationFailedException * style: change log message * fix: change 401 to HttpStatus UNAUTHORIZED * [OING-125] hotfix: PR76 핫픽스 2 (#78) * [OING-127] feat: 구글 oAuth 추가 (#79) * [OING-128] refactor: 가족 멤버 프로필 조회 시, 탈퇴한 회원은 응답에서 제외되도록 수정 (#80) * feat: add DeletedAtIsNull to findFamilyMembers * test: fix SocialLoginProviderTest * style: delete unused lines * [OING-129] Widget용 이미지 압축 기능 추가 (#82) * [OING-130] feat: postDate 컬럼 삭제 및 가족이 없는 멤버에 대해 가족 프로필 조회 시, 예외 반환 로직 추가 (#83) * feat: delete postDate column in post * style: change method name * feat: add delete postdate column sql * fix: fix existsByMemberIdAndCreatedAt method * test: fix memberPost test * feat: add FamilyNotFoundException * [OING-129] OING-129 의 컴파일 에러 핫픽스 (#84) * feat: Add getKBImageUrlGenerator at OptimizedImageUrlGenerator and Append image optimizing code at getSingleRecentFamilyPostWidget at WidgetController * fix: Hotfix compile error * [OING-129] hotfix: OING-129 PR의 핫픽스가 머지되는 중에 꼬인 에러 해결 (#85) * feat: Add getKBImageUrlGenerator at OptimizedImageUrlGenerator and Append image optimizing code at getSingleRecentFamilyPostWidget at WidgetController * fix: Hotfix compile error * fix: Fix wrongly twisted merged getKBImageUrlGenerator code * chore: update swarm service name * [OING-129] OING-129 PR에서 이미지 최적화 쿼리를 변경 (#86) * feat: Add getKBImageUrlGenerator at OptimizedImageUrlGenerator and Append image optimizing code at getSingleRecentFamilyPostWidget at WidgetController * fix: Hotfix compile error * fix: Fix wrongly twisted merged getKBImageUrlGenerator code * refactor: Change KB_IMAGE_OPTIMIZER_QUERY_STRING * chore: update prod swarm service name * [OING-131] 위젯 응답 객체에 게시자 이름 추가 (#87) * test: add MemberControllerTest for change profile info * test: add MemberControllerTest for get Member Profile info * test: add MemberControllerTest for memberDelete * test: add MemberControllerTest for exception and presignedUrl * [OING-129] 이미지 최적화 빈의 NullPointerException 방지 (#88) * [OING-104] test: 월간 캘린더 API 통합테스트 추가 (#81) * feat: Add test code for getMonthlyCalendar of CalendarController * fix: Fix calendar query that cant group the posts daily and Fix test code according to changed calendar query * refactor: Change the integration test, CalendarControllerTest to CalendarApiTest * fix: Add fake token expiration value in applicaiton-test.yaml * fix: Remove post_date column from meber_post insertion sql at CalenarApiTest * test: add additional test for nickname validate * test: add additional test for nickname validate * fix: fix getThumbnailUrlGenerator typo * hotfix: fix getThumbnailUrlGenerator typo (#90) * [OING-135] hotfix: 닉네임 길이 제한 조건 수정 (#92) * fix: fix validateMemberName condition * feat: add/fix @Valid for DTO * feat: add @notblank to CreateNewUserDto * test: fix Nickname validate test * test: add MemberControllerTest for change profile info * test: add MemberControllerTest for get Member Profile info * test: add MemberControllerTest for memberDelete * test: add additional test for nickname validate * test: add additional test for nickname validate * fix: fix getThumbnailUrlGenerator typo * hotfix: fix getThumbnailUrlGenerator typo (#90) * [OING-135] hotfix: 닉네임 길이 제한 조건 수정 (#92) * fix: fix validateMemberName condition * feat: add/fix @Valid for DTO * feat: add @notblank to CreateNewUserDto * [OING-135] hotfix: 닉네임 길이 제한 조건 수정 (#92) * fix: fix validateMemberName condition * feat: add/fix @Valid for DTO * feat: add @notblank to CreateNewUserDto * test: fix Nickname validate test * test: remove spy --------- Co-authored-by: 송영민 (YeongMin Song) <[email protected]> Co-authored-by: sckwon770 <[email protected]> * fix: update filter condition * [OING-142] feat: 댓글 기능 설계 & 구현 & 테스트 (#97) * fix: fix generic response return issue * feat: structure api document * feat: update dto * feat: implement crud * feat: add some validations * feat: add family validation * test: add MemberPostCommentControllerTest * test: add MemberPostCommentControllerTest * test: add MemberPostCommentApiTest * feat: add count to member post * fix: update exception type * [OING-143] feat: 회원탈퇴 이유 기능 추가 (#98) * feat: add quit reason feature * test: add MemberQuitReasonServiceTest * test: add MemberApiTest with quit * feat: change type to enum * feat: allow multi cause * test: fix test * feat: add dayOfBirth in FamilyMemberProfileResponse (#103) * [OING-148] feat: Post 삭제 기능 추가 (#102) * feat: add DeleteMemberPost Api * refactor: add EventListener for DeleteMemberPost * [OING-147] feat: 리얼 이모지 테이블 클래스 및 리얼 이모지 API 틀 추가 (#101) * chore: add real emoji tbl migration file * feat: add RealEmoji Entity class * feat: add RealEmojiApi class * test: add additional field * feat: add PostRealEmojiResponse * feat: add RealEmoji Controller class * fix: change MemberPostRealEmoji's realEmoji Type * fix: change MemberPostRealEmoji's realEmoji relationship * style: change realEmoji dto * fix: delete BodyRequest in deleteRealEmoji API * refactor: refact RealEmojiApi uri * fix: fix comment saving issue * [OING-144] feat: 가족 탈퇴 API 추가 (#99) * [OING-105] feat: 캘린더 API를 위한 테스트 추가 (#104) * feat: Add the integration test for weekly calendarApiTest * feat: Add edge case of the integration test at CalendarApiTest * feat: Add unit test for CalendarController * feat: Add DataJpaTest for MemberPostRepositoryCustom methods for calendar * refactor: Change variable name from User to Member * [OING-151] feat: 회원의 리얼이모지 POST/PUT API 구현 (#105) * feat: add requestPresignedUrl for RealEmoji * feat: add MemberRealEmoji Post/Put API * feat: add MemberRealEmoji post/put api test * feat: add MemberRealEmoji post/put Integration test * fix: fix MemberRealEmojiControllerTest * test: add additional unit test code * style: add line * docs: README, LICENSE 추가 * fix: fix saved time issue * [OING-156] refactor: 이미지의 예상되지 않은 url 패턴으로 인한 OptimizedImageProvider의 런타임 예외를 방지 (#108) * [OING-146] feat: 현재 어플리케이션 최신버전 유무 API 추가 (#100) * [OING-154] feat: 회원의 리얼이모지 조회 API 구현 (#109) * test: fix createPostComment test * feat: add getMemberRealEmoji api * style: modify description * test: add getMemberRealEmoji test * test: add getMemberRealEmoji integration test * [OING-161] test: 피드 리액션 등록/삭제/남긴 멤버 조회 기능 테스트 코드 작성 (#111) * test: add MemberPostReactionController unit test * test: add MemberPostReactionController integration test * [OING-159] feat: 피드에 등록된 리얼이모지 리스트 조회 API 모킹 (#110) * [OING-153] feat: 피드 리얼이모지 POST/DELETE API 구현 (#106) * feat: add createPostRealEmoji Api * feat: add deletePostRealEmoji Api * test: add MemberPostRealEmoji unit test * test: add MemberPostRealEmoji integration test --------- Co-authored-by: 송영민 (YeongMin Song) <[email protected]> * [OING-158] feat: 피드 리얼이모지 조회 API 구현 (#113) * feat: add getMemberPostRealEmoji api * style: change dto name * refactor: refact getPostRealEmojiMembers code * test: add MemberPostRealEmojiController get api unit test * test: add MemberPostRealEmojiController get api integration test * [OING-162] test: Post PresignedUrl/POST/DELETE 테스트 코드 추가 (#112) * test: add MemberPostController test * test: add MemberPostController integration test * test: add MemberPostRepository test --------- Co-authored-by: 송영민 (YeongMin Song) <[email protected]> Co-authored-by: sckwon770 <[email protected]>
❓ 기능 추가 배경
MemberPost 도메인 DDL 기반 모델을 구성했습니다.
➕ 추가/변경된 기능
🥺 리뷰어에게 하고싶은 말
수정해야 할 부분이 있는지 확인해주세요. 🥲
🔗 참조 or 관련된 이슈
https://no5ing.atlassian.net/browse/OING-58