-
Notifications
You must be signed in to change notification settings - Fork 6
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
[ALL] S3 도입을 통한 이미지 업로드 기능 추가 #386
Comments
kpeel5839
added a commit
that referenced
this issue
Sep 11, 2023
* chore : S3 의존성 추가 * feat : Amazon S3 Component 추가 * feat : S3 에 업로드 될 Image 의 이름을 설정해주는 ImageName 과 UploadFile 추가 * feat : S3 에 업로드 될 Image 의 이름을 설정해주는 ImageNae 과 UploadFile 추가 * feat : 파일을 업로드하고 해당하는 URL 을 반환하는 Service 구현 * chore : s3 환경 설정 추가 * feat : String image -> MultipartFile image 로 변경 * feat : @RequestPart 적용 및 S3 upload 로직 추가 * chore : Test 시 Profile 설정 * test : 테스트 시 S3 에 접근하지 않도록 하기 위해 Profile 별로 S3Service Bean 구분 * test : 추가된 Image 저장 기능에 맞춰 일부 Test 수정 * chore : S3, CloudFront 환경설정 적용 * test : RestDocs 수정중
GC-Park
added a commit
that referenced
this issue
Sep 14, 2023
This was referenced Sep 15, 2023
GC-Park
added a commit
that referenced
this issue
Sep 19, 2023
GC-Park
added a commit
that referenced
this issue
Sep 19, 2023
* feat: 지도 추가 때 필요한 이미지 s3 적용 * feat: pin 생성에서 이미지 s3 적용 * feat: 핀 디테일 페이지에서 핀 사진 추가 구현 * refator: prettier 적용 * refactor: 잘못된 경로 수정 * refactor: 필요없는 console.log 삭제 * refactor: event handler method명 컨벤션에 맞게 수정 * refactor: 변경이 필요한 컴포넌트, 변수 이름 수정 * refactor: alt 및 error 처리 시 알림 메시지 사용자가 이해하기 쉽도록 수정 * refactor: 인라인 스타일 태그 styled component로 수정 * refactor: 지도 만들 때 기본 이미지 설정 해주도록 수정 * fix: 핀 이미지 추가할 때 무한 렌더링 에러 해결 * refactor: type 이름 컨벤션에 맞게 수정 * refactor: 필요없는 type 삭제 * refactor: postApi와 postFormApi 합치기 및 필요없는 코드 삭제 * fix: 핀 추가할 때 이미지 여러개 등록하면 하나만 등록되는 에러 해결 * refactor: 지도, 핀 추가 시 이미지 필수 아니도록 설정
jiwonh423
pushed a commit
that referenced
this issue
Sep 21, 2023
* [BE] Fix/#366 테스트 수행 시 로그 패턴 깨지는 오류 해결 (#367) * fix: 테스트 로그 패턴 설정 오류 수정 - 잘못된 로그 패턴 설정으로 인한 'LOG_PATTERN IS_UNDEFINED' 메시지 출력 오류 수정 * chore: 프론트엔드, 백엔드 develop 분리에 따른 워크플로우 수정 * fix: 테스트 로그 설정 파일명 변경 - springProperty 지원을 위해 파일명 변경 * feat: 로그 내용 및 설정 보완(색상 적용) - 로그에서 로거, 레벨, PID 확인 가능하도록 내용 보완 - 테스트 로그의 경우 프로젝트 패키지에 해당하는 로그만 DEBUG 레벨로 설정 - 콘솔 로그 색상 적용 * feat: 로그 내용 보완 - 스레드 출력하도록 수정 * refactor: DataBaseCleanup JdbcTemplate 적용 (#371) * [BE] Refactor/#376 로깅 환경 개선을 위한 설정 파일 리팩터링 (#377) * refactor: 로깅 전략 보완에 따른 설정 파일 수정 - 운영 환경 별 로그 종류(콘솔, 파일), 레벨 변경 (PR 첨부 설명 참조) - logback-spring.xml 에서 Appender 분리 - application-*.xml 에서 로그 패턴 값 삭제 * chore: 에러 로그 슬랙 알림을 위한 의존성 추가, 관련 주석 작성 * remove: 테스트 설정 파일에 불필요한 로그 설정 삭제 * style: 불필요한 빈 줄 삭제 * chore: 콘솔 파일 로그 설정 삭제로 인한 불필요한 설정 삭제 * chore: 로그 파일 롤링 용량 설정 모든 레벨 통일 * [BE] Chore/#372 submodule 적용 (#375) * chore: submodule 적용 Co-authored-by: jaeyeon kim <jakind@naver.com> * chore: workflow access token 적용 Co-authored-by: jaeyeon kim <jakind@naver.com> --------- Co-authored-by: jaeyeon kim <jakind@naver.com> Co-authored-by: yoondgu <doyou2ing@naver.com> * feat: 운영 서버 500 에러 슬랙 알림 적용, 로컬 환경변수 서브모듈에 저장 (#379) * hotfix: yml 문법으로 인한 오류 수정 (#381) * fix: 워크플로우 서브모듈 문제 해결 (#384) * chore: 워크플로우 서브모듈 문제 해결 확인을 위한 push (#385) * Feat/#386 image (#391) * chore : S3 의존성 추가 * feat : Amazon S3 Component 추가 * feat : S3 에 업로드 될 Image 의 이름을 설정해주는 ImageName 과 UploadFile 추가 * feat : S3 에 업로드 될 Image 의 이름을 설정해주는 ImageNae 과 UploadFile 추가 * feat : 파일을 업로드하고 해당하는 URL 을 반환하는 Service 구현 * chore : s3 환경 설정 추가 * feat : String image -> MultipartFile image 로 변경 * feat : @RequestPart 적용 및 S3 upload 로직 추가 * chore : Test 시 Profile 설정 * test : 테스트 시 S3 에 접근하지 않도록 하기 위해 Profile 별로 S3Service Bean 구분 * test : 추가된 Image 저장 기능에 맞춰 일부 Test 수정 * chore : S3, CloudFront 환경설정 적용 * test : RestDocs 수정중 * refactor : S3 Bean 추가 (#396) * [BE] Refactor/#390 지도 및 핀 상세 조회 API에 수정 권한 여부 필드 추가 (#392) * feat: 토픽 상세 조회 내용에 수정 권한 추가 * refactor: 토픽 상세 조회 DTO 정적 팩터리 메서드명 수정 * feat: 핀 상세 조회 내용에 수정 권한 추가 * fix: 토픽 RestDocs 깨지는 문제 수정, API 목차 순서 조정 - 목록 조회 API 기준으로 순서 조정, API 네이밍 보완 * refactor: 토픽, 핀 수정 권한 여부 필드명 직관적으로 수정 - hasUpdatePermission -> canUpdate * refactor: Guest 전용 토픽 상세조회 DTO 정적 팩터리 메서드 정의 * refactor: 메서드 순서 정리, Guest 전용 토픽 조회 DTO 정적 팩터리 메서드 정의 * refactor: Guest 전용 토픽 List 조회 DTO 정적 팩터리 메서드 정의 * refactor: Info, Debug 레벨 커스텀 로그만 출력하도록 변경 (#397) * feat : pin 생성시 image upload 기능 추가 (#401) * [BE] Feat/#378 Admin API 구현 (#405) * feat: 전체 회원 조회 기능 구현 * feat: 회원 삭제(탈퇴) 기능 구현 * feat: 회원 삭제(탈퇴)시 Pin/Topic Soft-deleting 구현 * refactor: Admin DTO 분리 * feat: Member 상세 정보 조회 기능 구현 * feat: Topic 삭제 및 이미지 삭제 기능 구현 * feat: Pin 삭제 및 이미지 삭제 기능 구현 * feat: Admin API 구현 * refactor: Member 상태(차단, 탈퇴 등) 필드에 따른 로그인 로직 수정 * refactor: @SqlDelete 삭제 및 JPQL 대체 * feat: AdminInterceptor 구현 * test: Repository soft-deleting 테스트 구현 * test: AdminQueryService 테스트 구현 * test: AdminCommandService 테스트 구현 * test: AdminController Restdocs 테스트 구현 * test: AdminInterceptor Mocking * test: 통합 테스트 구현 * refactor: 오탈자 수정 * refactor: Auth 관련 예외 클래스 추가 * refactor: 불필요한 메서드 제거 * refactor: findMemberById 예외 수정 * test: GithubActions 실패 테스트 수정 * refactor: isAdmin() 메서드 추가 * refactor: 회원 삭제(탈퇴)시, 추가 정보(즐겨찾기 등) 삭제 * Revert "[BE] Feat/#378 Admin API 구현 (#405)" (#414) This reverts commit 4722faa. * [BE] Feat/#378 Admin API 구현 (#415) * feat: 전체 회원 조회 기능 구현 * feat: 회원 삭제(탈퇴) 기능 구현 * feat: 회원 삭제(탈퇴)시 Pin/Topic Soft-deleting 구현 * refactor: Admin DTO 분리 * feat: Member 상세 정보 조회 기능 구현 * feat: Topic 삭제 및 이미지 삭제 기능 구현 * feat: Pin 삭제 및 이미지 삭제 기능 구현 * feat: Admin API 구현 * refactor: Member 상태(차단, 탈퇴 등) 필드에 따른 로그인 로직 수정 * refactor: @SqlDelete 삭제 및 JPQL 대체 * feat: AdminInterceptor 구현 * test: Repository soft-deleting 테스트 구현 * test: AdminQueryService 테스트 구현 * test: AdminCommandService 테스트 구현 * test: AdminController Restdocs 테스트 구현 * test: AdminInterceptor Mocking * test: 통합 테스트 구현 * refactor: 오탈자 수정 * refactor: Auth 관련 예외 클래스 추가 * refactor: 불필요한 메서드 제거 * refactor: findMemberById 예외 수정 * test: GithubActions 실패 테스트 수정 * refactor: isAdmin() 메서드 추가 * refactor: 회원 삭제(탈퇴)시, 추가 정보(즐겨찾기 등) 삭제 * refactor: Member status 기본값 설정 * remove: Member status 기본값 설정 삭제 * [BE] Feature/#399 내 정보(회원 닉네임) 수정 API 구현 (#408) * refactor: 사용하지 않는 MemberRepository 메서드 삭제 * refactor: 회원 업데이트 부분 변경으로 시그니처 변경 - 현재 회원 update에서 변경되는 부분만 인자로 남겨둠 - update 시, Member 에서 MemberInfo.getXX을 하는 대신 MemberInfo에서 부분 변경된 객체를 새로 반환하도록 수정 * feat: 회원 정보 수정 API 구현 및 테스트 작성 * test: JwtTokenProviderTest 작성 - 로컬에서 Postman 테스트 시 이 테스트를 사용하면 쉽게 토큰 발급 후 활용 가능 * chore: 로컬 환경용 더미데이터 sql 작성 * chore: 로컬 환경 data.sql을 위한 서브모듈 변경 * docs: 기능 명세서 및 테스트 코드 용어 정리 (유저, 멤버 -> 회원) * chore: 로그 환경설정 파일 디렉터리 분리 * feat: 닉네임 중복 검증 구현 * refactor: 회원의 이메일 Unique 제약조건 삭제 - 닉네임, OauthId로 회원을 식별할 수 있다. - 같은 이메일로 네이버, 카카오에 가입한 사람이 소셜 로그인으로 두 계정을 만들 경우, 동일한 이메일이 저장될 수도 있다. * refactor: 모호한 메서드명 수정 * refactor: Email이 Unique하지 않음에 따라 테스트에서 사용하는 조회 쿼리 변경 - findByEmail 대신 findById - 기본키가 아닌 유일키로 조회하는 건 테이블 구조 변경 여지가 있으므로 findById 사용 * refactor: 내 정보 수정 API URI 변경 * fix: 디렉터리 분리에 따른 로그 설정 파일 appender 경로 수정 * [BE] Refactor/#406 토픽 권한을 가진 회원 목록 조회 시 공개 여부를 함께 반환하도록 변경 (#412) * refactor: 사용하지 않는 MemberRepository 메서드 삭제 * refactor: 회원 업데이트 부분 변경으로 시그니처 변경 - 현재 회원 update에서 변경되는 부분만 인자로 남겨둠 - update 시, Member 에서 MemberInfo.getXX을 하는 대신 MemberInfo에서 부분 변경된 객체를 새로 반환하도록 수정 * feat: 회원 정보 수정 API 구현 및 테스트 작성 * test: JwtTokenProviderTest 작성 - 로컬에서 Postman 테스트 시 이 테스트를 사용하면 쉽게 토큰 발급 후 활용 가능 * chore: 로컬 환경용 더미데이터 sql 작성 * chore: 로컬 환경 data.sql을 위한 서브모듈 변경 * docs: 기능 명세서 및 테스트 코드 용어 정리 (유저, 멤버 -> 회원) * chore: 로그 환경설정 파일 디렉터리 분리 * feat: 닉네임 중복 검증 구현 * refactor: 회원의 이메일 Unique 제약조건 삭제 - 닉네임, OauthId로 회원을 식별할 수 있다. - 같은 이메일로 네이버, 카카오에 가입한 사람이 소셜 로그인으로 두 계정을 만들 경우, 동일한 이메일이 저장될 수도 있다. * refactor: 모호한 메서드명 수정 * refactor: Email이 Unique하지 않음에 따라 테스트에서 사용하는 조회 쿼리 변경 - findByEmail 대신 findById - 기본키가 아닌 유일키로 조회하는 건 테이블 구조 변경 여지가 있으므로 findById 사용 * refactor: 내 정보 수정 API URI 변경 * refactor: 토픽 권한 회원 목록 조회 API를 접근 정보(권한 회원 목록 및 공개 여부) 조회로 명세 변경 - 관련 검토가 필요한 API 설계 및 구현 내용에 대한 TODO 주석 작성 * fix: 디렉터리 분리에 따른 로그 설정 파일 appender 경로 수정 * fix: 디렉터리 분리에 따른 로그 설정 파일 appender 경로 수정 * refactor: 실수로 바꾼 기존 메서드명 원복 * refactor: 불필요한 import문 제거 * refactor: 불필요한 접근제어자, 중복 코드 제거 * docs: Restdocs API 네이밍 반영 * fix: 내 정보 수정 RestDocs 스니펫 누락 추가 * [BE] Feature/#388 refresh token 및 로그아웃 기능 구현 (#411) * chore: redis 의존성 추가 * refactor: OauthService 필드에 final 추가 * feat: refreshToken 엔티티 및 레포지토리 구현 * feat: JwtTokenProvider RefreshToken 발급 구현 * feat: 로그인 시 RefreshToken 발급 기능 구현 * feat: Auth 패키지 커스텀 예외 추가 * refactor: validate 메서드 리팩터링 * chore: refreshToken 만료 시간 추가 * test: Test를 위한 설정 변경 * feat: 액세스 토큰 재발급 및 로그아웃 기능 구현 * chore: Redis 의존성 제거 * test: TestTokenProvider 객체 구현 * refactor: /logout HttpMethod 변경, cookie 관련 cors설정 및 maxAge 설정, * test: DisplayName 추가 * feat: RTR 적용 및 OauthConntroller 제거, OauthService 및 TokenService 역할과 책임 재분배 * refactor : 피드백 반영 * refactor : 매직넘버 상수화 * refactor : 네이밍 수정 * feat: 쿠키 설정 추가 * [BE] Fix/#424 refresh token duplicated (#425) * fix: RefreshToken Payload 추가 및 CORS 완화 * fix: Refresh Token Header 허용 * [BE] Fix/#426 Token CORS 재설정 (#427) * fix: RefreshToken Payload 추가 및 CORS 완화 * fix: Refresh Token Header 허용 * fix: CORS 재설정 및 sameSite None * [BE] HotFix/#426 Refresh Token 중복 저장 방지 로직 수정 (#431) * fix: RefreshToken Payload 추가 및 CORS 완화 * fix: Refresh Token Header 허용 * fix: CORS 재설정 및 sameSite None * fix: refreshToken 존재 시 삭제 로직 변경 * [BE] HotFix/#426 delete 메서드에 clearAutomatically 속성 적용 (#432) * fix: RefreshToken Payload 추가 및 CORS 완화 * fix: Refresh Token Header 허용 * fix: CORS 재설정 및 sameSite None * fix: refreshToken 존재 시 삭제 로직 변경 * fix: delete 메서드에 clearAutomatically 속성 적용 * [BE] HotFix/#426 tokenService flush 추가 (#433) * fix: RefreshToken Payload 추가 및 CORS 완화 * fix: Refresh Token Header 허용 * fix: CORS 재설정 및 sameSite None * fix: refreshToken 존재 시 삭제 로직 변경 * fix: delete 메서드에 clearAutomatically 속성 적용 * fix: delete 메서드에 clearAutomatically 속성 제거 및 flush 추가 * [BE] Refactor/#400 토픽 조회 시 업데이트 일시를 최근에 핀이 추가/변경된 일시로 변경 (#429) * refactor: BaseEntity의 createdAt update 방지 * feat: Topic에 lastPinUpdatedAt 컬럼 추가, EntityListner 적용 - 기존 BaseEntity의 값들은 객체가 영속화될 때 저장된다. - 이에 대해 일관성을 유지해야 한다. (핀 생성 일시, 핀 변경 일시 = 토픽의 최근 핀 변경 일시가 서로 같아야 하므로) - 따라서 lastPinUpdatedAt 컬럼의 업데이트 또한 EntityListener 로 적용한다. * feat: 토픽 조회 DTO의 updatedAt 값 lastPinUpdatedAt 으로 변경 * feat: 토픽 최신순 조회 로직 수정 - Topic에 lastPinUpdatedAt 추가로 인해 로직 수정 가능 * test: 토픽 조회 시 updatedAt 검증 테스트 추가 * chore: 로컬 테스트용 SQL에 테이블 컬럼 추가 변경 반영 * refactor: 토픽 Response Dto에 lastPinUpdatedAt 반영 * fix : 토큰 만료시간 및 redirect uri 수정 --------- Co-authored-by: jaeyeon kim <jakind@naver.com> * [BE] Feature/#422 성능 측정을 위한 로깅 구현 (#434) * feat: QueryCounter 객체 구현 * feat: QueryInspector 객체 구현 * feat: LatencyRecorder 객체 구현 * feat: LatencyLoggingFilter 객체 구현 * feat: LatencyRecorder Thread-safe 테스트 구현 * feat: HibernateConfig 구현 * test: 테스트 수정 * style: 개행 추가 * refactor: 수식 표현 방식 수정 * [BE] HotFix/#424 refresh token duplicated (#441) * fix: RefreshToken Payload 추가 및 CORS 완화 * fix: Refresh Token Header 허용 * fix: CORS 재설정 및 sameSite None * fix: 디버깅을 위한 에러코드 추가 * [BE] HOTFix/#424 validateTokensForReissue 디버깅을 위한 에러코드 추가 (#443) * fix: RefreshToken Payload 추가 및 CORS 완화 * fix: Refresh Token Header 허용 * fix: CORS 재설정 및 sameSite None * fix: 디버깅을 위한 에러코드 추가 * fix: validateTokensForReissue 디버깅을 위한 에러코드 추가 * fix: isExpired 임시 log 처리 (#444) * Revert "fix: isExpired 임시 log 처리 (#444)" This reverts commit 445f0dd. * fix: cors Credentials 추가 (#458) * [BE] Hotfix/cors allowHeaders 와일드카드 적용 (#462) * fix: cors Credentials 추가 * fix: allowedHeaders 와일드카드 적용 * [BE] 부하테스트를 위한 Tomcat Log 추가 (#464) * chore: yml 변수 적용 확인을 위한 debug 로그 추가 * chore: 톰캣 설정 기본값 추가 * chore: 톰캣 설정 기본값 추가 --------- Co-authored-by: yoondgu <doyoungwork@gmail.com> * [BE] S3 를 통한 Image Upload 기능 구현 (#428) * refactor : s3 패키지 추가로 인한 에러 Code 수정 * feat : s3 exception 추가 * refactor : image extension 추출 방식 수정 * refactor : S3Client 가 IOException 을 throw 할 수 있도록 작성 * style : 프린트, 주석 제거 * test : imageExtension Test 작성 * refactor : image 가 요청으로 들어오지 않는 경우를 고려해 로직 수정 * test : 이미지가 null 로 들어오는 경우 test 작성 * feat : 병합시에도 S3 Image Upload 가 가능하도록 구현 * refactor : 기본 이미지 URL 변경 * refactor : 기본 이미지의 처리를 TopicInfo -> Image 에서 할 수 있도록 수정 * refactor : 주석 앞에 TODO 추가 * refactor : fromImageFileName -> from 으로 메서드 명 변경 * refactor : getExtension -> findExtension 으로 변경 * refactor : S3 관련 Service 네이밍 수정 * [BE] Fix/#426 Token CORS 재설정 (#427) * fix: RefreshToken Payload 추가 및 CORS 완화 * fix: Refresh Token Header 허용 * fix: CORS 재설정 및 sameSite None * refactor : S3 관련 Service 네이밍 수정 * [BE] HotFix/#426 Refresh Token 중복 저장 방지 로직 수정 (#431) * fix: RefreshToken Payload 추가 및 CORS 완화 * fix: Refresh Token Header 허용 * fix: CORS 재설정 및 sameSite None * fix: refreshToken 존재 시 삭제 로직 변경 * [BE] HotFix/#426 delete 메서드에 clearAutomatically 속성 적용 (#432) * fix: RefreshToken Payload 추가 및 CORS 완화 * fix: Refresh Token Header 허용 * fix: CORS 재설정 및 sameSite None * fix: refreshToken 존재 시 삭제 로직 변경 * fix: delete 메서드에 clearAutomatically 속성 적용 * [BE] HotFix/#426 tokenService flush 추가 (#433) * fix: RefreshToken Payload 추가 및 CORS 완화 * fix: Refresh Token Header 허용 * fix: CORS 재설정 및 sameSite None * fix: refreshToken 존재 시 삭제 로직 변경 * fix: delete 메서드에 clearAutomatically 속성 적용 * fix: delete 메서드에 clearAutomatically 속성 제거 및 flush 추가 * [BE] Refactor/#400 토픽 조회 시 업데이트 일시를 최근에 핀이 추가/변경된 일시로 변경 (#429) * refactor: BaseEntity의 createdAt update 방지 * feat: Topic에 lastPinUpdatedAt 컬럼 추가, EntityListner 적용 - 기존 BaseEntity의 값들은 객체가 영속화될 때 저장된다. - 이에 대해 일관성을 유지해야 한다. (핀 생성 일시, 핀 변경 일시 = 토픽의 최근 핀 변경 일시가 서로 같아야 하므로) - 따라서 lastPinUpdatedAt 컬럼의 업데이트 또한 EntityListener 로 적용한다. * feat: 토픽 조회 DTO의 updatedAt 값 lastPinUpdatedAt 으로 변경 * feat: 토픽 최신순 조회 로직 수정 - Topic에 lastPinUpdatedAt 추가로 인해 로직 수정 가능 * test: 토픽 조회 시 updatedAt 검증 테스트 추가 * chore: 로컬 테스트용 SQL에 테이블 컬럼 추가 변경 반영 * refactor: 토픽 Response Dto에 lastPinUpdatedAt 반영 * fix : 토큰 만료시간 및 redirect uri 수정 --------- Co-authored-by: jaeyeon kim <jakind@naver.com> * [BE] Feature/#422 성능 측정을 위한 로깅 구현 (#434) * feat: QueryCounter 객체 구현 * feat: QueryInspector 객체 구현 * feat: LatencyRecorder 객체 구현 * feat: LatencyLoggingFilter 객체 구현 * feat: LatencyRecorder Thread-safe 테스트 구현 * feat: HibernateConfig 구현 * test: 테스트 수정 * style: 개행 추가 * refactor: 수식 표현 방식 수정 * [BE] HotFix/#424 refresh token duplicated (#441) * fix: RefreshToken Payload 추가 및 CORS 완화 * fix: Refresh Token Header 허용 * fix: CORS 재설정 및 sameSite None * fix: 디버깅을 위한 에러코드 추가 * [BE] HOTFix/#424 validateTokensForReissue 디버깅을 위한 에러코드 추가 (#443) * fix: RefreshToken Payload 추가 및 CORS 완화 * fix: Refresh Token Header 허용 * fix: CORS 재설정 및 sameSite None * fix: 디버깅을 위한 에러코드 추가 * fix: validateTokensForReissue 디버깅을 위한 에러코드 추가 * fix: isExpired 임시 log 처리 (#444) * Revert "fix: isExpired 임시 log 처리 (#444)" This reverts commit 445f0dd. * fix: cors Credentials 추가 (#458) * [BE] Hotfix/cors allowHeaders 와일드카드 적용 (#462) * fix: cors Credentials 추가 * fix: allowedHeaders 와일드카드 적용 * [BE] 부하테스트를 위한 Tomcat Log 추가 (#464) * chore: yml 변수 적용 확인을 위한 debug 로그 추가 * chore: 톰캣 설정 기본값 추가 * chore: 톰캣 설정 기본값 추가 --------- Co-authored-by: yoondgu <doyoungwork@gmail.com> * refactor : s3 패키지 추가로 인한 에러 Code 수정 * feat : s3 exception 추가 * refactor : image extension 추출 방식 수정 * refactor : S3Client 가 IOException 을 throw 할 수 있도록 작성 * style : 프린트, 주석 제거 * test : imageExtension Test 작성 * refactor : image 가 요청으로 들어오지 않는 경우를 고려해 로직 수정 * test : 이미지가 null 로 들어오는 경우 test 작성 * feat : 병합시에도 S3 Image Upload 가 가능하도록 구현 * refactor : 기본 이미지 URL 변경 * refactor : 기본 이미지의 처리를 TopicInfo -> Image 에서 할 수 있도록 수정 * refactor : 주석 앞에 TODO 추가 * refactor : fromImageFileName -> from 으로 메서드 명 변경 * refactor : getExtension -> findExtension 으로 변경 * refactor : S3 관련 Service 네이밍 수정 * refactor : S3 관련 Service 네이밍 수정 * refactor : topic, image errorCode 수정 * refactor : Exception 부분 네이밍 S3 -> Image 로 변경 * refactor : findExtension -> extractExtensio 으로 메서드 네이밍 변경 * refactor : 부정 조건문 제거 * refactor : Illegal Image File Extension 에러 메세지 수정 * refactor : action method consume type 순서 조정 --------- Co-authored-by: 준팍(junpak) <112045553+junpakPark@users.noreply.github.com> Co-authored-by: Doy <doyoungwork@gmail.com> Co-authored-by: zun <50602742+cpot5620@users.noreply.github.com> --------- Co-authored-by: Doy <doyoungwork@gmail.com> Co-authored-by: 준팍(junpak) <112045553+junpakPark@users.noreply.github.com> Co-authored-by: jaeyeon kim <jakind@naver.com> Co-authored-by: yoondgu <doyou2ing@naver.com> Co-authored-by: kpeel5839 <89840550+kpeel5839@users.noreply.github.com>
kpeel5839
added a commit
that referenced
this issue
Sep 21, 2023
* [BE] Fix/#366 테스트 수행 시 로그 패턴 깨지는 오류 해결 (#367) * fix: 테스트 로그 패턴 설정 오류 수정 - 잘못된 로그 패턴 설정으로 인한 'LOG_PATTERN IS_UNDEFINED' 메시지 출력 오류 수정 * chore: 프론트엔드, 백엔드 develop 분리에 따른 워크플로우 수정 * fix: 테스트 로그 설정 파일명 변경 - springProperty 지원을 위해 파일명 변경 * feat: 로그 내용 및 설정 보완(색상 적용) - 로그에서 로거, 레벨, PID 확인 가능하도록 내용 보완 - 테스트 로그의 경우 프로젝트 패키지에 해당하는 로그만 DEBUG 레벨로 설정 - 콘솔 로그 색상 적용 * feat: 로그 내용 보완 - 스레드 출력하도록 수정 * refactor: DataBaseCleanup JdbcTemplate 적용 (#371) * [BE] Refactor/#376 로깅 환경 개선을 위한 설정 파일 리팩터링 (#377) * refactor: 로깅 전략 보완에 따른 설정 파일 수정 - 운영 환경 별 로그 종류(콘솔, 파일), 레벨 변경 (PR 첨부 설명 참조) - logback-spring.xml 에서 Appender 분리 - application-*.xml 에서 로그 패턴 값 삭제 * chore: 에러 로그 슬랙 알림을 위한 의존성 추가, 관련 주석 작성 * remove: 테스트 설정 파일에 불필요한 로그 설정 삭제 * style: 불필요한 빈 줄 삭제 * chore: 콘솔 파일 로그 설정 삭제로 인한 불필요한 설정 삭제 * chore: 로그 파일 롤링 용량 설정 모든 레벨 통일 * [BE] Chore/#372 submodule 적용 (#375) * chore: submodule 적용 Co-authored-by: jaeyeon kim <jakind@naver.com> * chore: workflow access token 적용 Co-authored-by: jaeyeon kim <jakind@naver.com> --------- Co-authored-by: jaeyeon kim <jakind@naver.com> Co-authored-by: yoondgu <doyou2ing@naver.com> * feat: 운영 서버 500 에러 슬랙 알림 적용, 로컬 환경변수 서브모듈에 저장 (#379) * hotfix: yml 문법으로 인한 오류 수정 (#381) * fix: 워크플로우 서브모듈 문제 해결 (#384) * chore: 워크플로우 서브모듈 문제 해결 확인을 위한 push (#385) * Feat/#386 image (#391) * chore : S3 의존성 추가 * feat : Amazon S3 Component 추가 * feat : S3 에 업로드 될 Image 의 이름을 설정해주는 ImageName 과 UploadFile 추가 * feat : S3 에 업로드 될 Image 의 이름을 설정해주는 ImageNae 과 UploadFile 추가 * feat : 파일을 업로드하고 해당하는 URL 을 반환하는 Service 구현 * chore : s3 환경 설정 추가 * feat : String image -> MultipartFile image 로 변경 * feat : @RequestPart 적용 및 S3 upload 로직 추가 * chore : Test 시 Profile 설정 * test : 테스트 시 S3 에 접근하지 않도록 하기 위해 Profile 별로 S3Service Bean 구분 * test : 추가된 Image 저장 기능에 맞춰 일부 Test 수정 * chore : S3, CloudFront 환경설정 적용 * test : RestDocs 수정중 * refactor : S3 Bean 추가 (#396) * [BE] Refactor/#390 지도 및 핀 상세 조회 API에 수정 권한 여부 필드 추가 (#392) * feat: 토픽 상세 조회 내용에 수정 권한 추가 * refactor: 토픽 상세 조회 DTO 정적 팩터리 메서드명 수정 * feat: 핀 상세 조회 내용에 수정 권한 추가 * fix: 토픽 RestDocs 깨지는 문제 수정, API 목차 순서 조정 - 목록 조회 API 기준으로 순서 조정, API 네이밍 보완 * refactor: 토픽, 핀 수정 권한 여부 필드명 직관적으로 수정 - hasUpdatePermission -> canUpdate * refactor: Guest 전용 토픽 상세조회 DTO 정적 팩터리 메서드 정의 * refactor: 메서드 순서 정리, Guest 전용 토픽 조회 DTO 정적 팩터리 메서드 정의 * refactor: Guest 전용 토픽 List 조회 DTO 정적 팩터리 메서드 정의 * refactor: Info, Debug 레벨 커스텀 로그만 출력하도록 변경 (#397) * feat : pin 생성시 image upload 기능 추가 (#401) * [BE] Feat/#378 Admin API 구현 (#405) * feat: 전체 회원 조회 기능 구현 * feat: 회원 삭제(탈퇴) 기능 구현 * feat: 회원 삭제(탈퇴)시 Pin/Topic Soft-deleting 구현 * refactor: Admin DTO 분리 * feat: Member 상세 정보 조회 기능 구현 * feat: Topic 삭제 및 이미지 삭제 기능 구현 * feat: Pin 삭제 및 이미지 삭제 기능 구현 * feat: Admin API 구현 * refactor: Member 상태(차단, 탈퇴 등) 필드에 따른 로그인 로직 수정 * refactor: @SqlDelete 삭제 및 JPQL 대체 * feat: AdminInterceptor 구현 * test: Repository soft-deleting 테스트 구현 * test: AdminQueryService 테스트 구현 * test: AdminCommandService 테스트 구현 * test: AdminController Restdocs 테스트 구현 * test: AdminInterceptor Mocking * test: 통합 테스트 구현 * refactor: 오탈자 수정 * refactor: Auth 관련 예외 클래스 추가 * refactor: 불필요한 메서드 제거 * refactor: findMemberById 예외 수정 * test: GithubActions 실패 테스트 수정 * refactor: isAdmin() 메서드 추가 * refactor: 회원 삭제(탈퇴)시, 추가 정보(즐겨찾기 등) 삭제 * Revert "[BE] Feat/#378 Admin API 구현 (#405)" (#414) This reverts commit 4722faa. * [BE] Feat/#378 Admin API 구현 (#415) * feat: 전체 회원 조회 기능 구현 * feat: 회원 삭제(탈퇴) 기능 구현 * feat: 회원 삭제(탈퇴)시 Pin/Topic Soft-deleting 구현 * refactor: Admin DTO 분리 * feat: Member 상세 정보 조회 기능 구현 * feat: Topic 삭제 및 이미지 삭제 기능 구현 * feat: Pin 삭제 및 이미지 삭제 기능 구현 * feat: Admin API 구현 * refactor: Member 상태(차단, 탈퇴 등) 필드에 따른 로그인 로직 수정 * refactor: @SqlDelete 삭제 및 JPQL 대체 * feat: AdminInterceptor 구현 * test: Repository soft-deleting 테스트 구현 * test: AdminQueryService 테스트 구현 * test: AdminCommandService 테스트 구현 * test: AdminController Restdocs 테스트 구현 * test: AdminInterceptor Mocking * test: 통합 테스트 구현 * refactor: 오탈자 수정 * refactor: Auth 관련 예외 클래스 추가 * refactor: 불필요한 메서드 제거 * refactor: findMemberById 예외 수정 * test: GithubActions 실패 테스트 수정 * refactor: isAdmin() 메서드 추가 * refactor: 회원 삭제(탈퇴)시, 추가 정보(즐겨찾기 등) 삭제 * refactor: Member status 기본값 설정 * remove: Member status 기본값 설정 삭제 * [BE] Feature/#399 내 정보(회원 닉네임) 수정 API 구현 (#408) * refactor: 사용하지 않는 MemberRepository 메서드 삭제 * refactor: 회원 업데이트 부분 변경으로 시그니처 변경 - 현재 회원 update에서 변경되는 부분만 인자로 남겨둠 - update 시, Member 에서 MemberInfo.getXX을 하는 대신 MemberInfo에서 부분 변경된 객체를 새로 반환하도록 수정 * feat: 회원 정보 수정 API 구현 및 테스트 작성 * test: JwtTokenProviderTest 작성 - 로컬에서 Postman 테스트 시 이 테스트를 사용하면 쉽게 토큰 발급 후 활용 가능 * chore: 로컬 환경용 더미데이터 sql 작성 * chore: 로컬 환경 data.sql을 위한 서브모듈 변경 * docs: 기능 명세서 및 테스트 코드 용어 정리 (유저, 멤버 -> 회원) * chore: 로그 환경설정 파일 디렉터리 분리 * feat: 닉네임 중복 검증 구현 * refactor: 회원의 이메일 Unique 제약조건 삭제 - 닉네임, OauthId로 회원을 식별할 수 있다. - 같은 이메일로 네이버, 카카오에 가입한 사람이 소셜 로그인으로 두 계정을 만들 경우, 동일한 이메일이 저장될 수도 있다. * refactor: 모호한 메서드명 수정 * refactor: Email이 Unique하지 않음에 따라 테스트에서 사용하는 조회 쿼리 변경 - findByEmail 대신 findById - 기본키가 아닌 유일키로 조회하는 건 테이블 구조 변경 여지가 있으므로 findById 사용 * refactor: 내 정보 수정 API URI 변경 * fix: 디렉터리 분리에 따른 로그 설정 파일 appender 경로 수정 * [BE] Refactor/#406 토픽 권한을 가진 회원 목록 조회 시 공개 여부를 함께 반환하도록 변경 (#412) * refactor: 사용하지 않는 MemberRepository 메서드 삭제 * refactor: 회원 업데이트 부분 변경으로 시그니처 변경 - 현재 회원 update에서 변경되는 부분만 인자로 남겨둠 - update 시, Member 에서 MemberInfo.getXX을 하는 대신 MemberInfo에서 부분 변경된 객체를 새로 반환하도록 수정 * feat: 회원 정보 수정 API 구현 및 테스트 작성 * test: JwtTokenProviderTest 작성 - 로컬에서 Postman 테스트 시 이 테스트를 사용하면 쉽게 토큰 발급 후 활용 가능 * chore: 로컬 환경용 더미데이터 sql 작성 * chore: 로컬 환경 data.sql을 위한 서브모듈 변경 * docs: 기능 명세서 및 테스트 코드 용어 정리 (유저, 멤버 -> 회원) * chore: 로그 환경설정 파일 디렉터리 분리 * feat: 닉네임 중복 검증 구현 * refactor: 회원의 이메일 Unique 제약조건 삭제 - 닉네임, OauthId로 회원을 식별할 수 있다. - 같은 이메일로 네이버, 카카오에 가입한 사람이 소셜 로그인으로 두 계정을 만들 경우, 동일한 이메일이 저장될 수도 있다. * refactor: 모호한 메서드명 수정 * refactor: Email이 Unique하지 않음에 따라 테스트에서 사용하는 조회 쿼리 변경 - findByEmail 대신 findById - 기본키가 아닌 유일키로 조회하는 건 테이블 구조 변경 여지가 있으므로 findById 사용 * refactor: 내 정보 수정 API URI 변경 * refactor: 토픽 권한 회원 목록 조회 API를 접근 정보(권한 회원 목록 및 공개 여부) 조회로 명세 변경 - 관련 검토가 필요한 API 설계 및 구현 내용에 대한 TODO 주석 작성 * fix: 디렉터리 분리에 따른 로그 설정 파일 appender 경로 수정 * fix: 디렉터리 분리에 따른 로그 설정 파일 appender 경로 수정 * refactor: 실수로 바꾼 기존 메서드명 원복 * refactor: 불필요한 import문 제거 * refactor: 불필요한 접근제어자, 중복 코드 제거 * docs: Restdocs API 네이밍 반영 * fix: 내 정보 수정 RestDocs 스니펫 누락 추가 * [BE] Feature/#388 refresh token 및 로그아웃 기능 구현 (#411) * chore: redis 의존성 추가 * refactor: OauthService 필드에 final 추가 * feat: refreshToken 엔티티 및 레포지토리 구현 * feat: JwtTokenProvider RefreshToken 발급 구현 * feat: 로그인 시 RefreshToken 발급 기능 구현 * feat: Auth 패키지 커스텀 예외 추가 * refactor: validate 메서드 리팩터링 * chore: refreshToken 만료 시간 추가 * test: Test를 위한 설정 변경 * feat: 액세스 토큰 재발급 및 로그아웃 기능 구현 * chore: Redis 의존성 제거 * test: TestTokenProvider 객체 구현 * refactor: /logout HttpMethod 변경, cookie 관련 cors설정 및 maxAge 설정, * test: DisplayName 추가 * feat: RTR 적용 및 OauthConntroller 제거, OauthService 및 TokenService 역할과 책임 재분배 * refactor : 피드백 반영 * refactor : 매직넘버 상수화 * refactor : 네이밍 수정 * feat: 쿠키 설정 추가 * [BE] Fix/#424 refresh token duplicated (#425) * fix: RefreshToken Payload 추가 및 CORS 완화 * fix: Refresh Token Header 허용 * [BE] Fix/#426 Token CORS 재설정 (#427) * fix: RefreshToken Payload 추가 및 CORS 완화 * fix: Refresh Token Header 허용 * fix: CORS 재설정 및 sameSite None * [BE] HotFix/#426 Refresh Token 중복 저장 방지 로직 수정 (#431) * fix: RefreshToken Payload 추가 및 CORS 완화 * fix: Refresh Token Header 허용 * fix: CORS 재설정 및 sameSite None * fix: refreshToken 존재 시 삭제 로직 변경 * [BE] HotFix/#426 delete 메서드에 clearAutomatically 속성 적용 (#432) * fix: RefreshToken Payload 추가 및 CORS 완화 * fix: Refresh Token Header 허용 * fix: CORS 재설정 및 sameSite None * fix: refreshToken 존재 시 삭제 로직 변경 * fix: delete 메서드에 clearAutomatically 속성 적용 * [BE] HotFix/#426 tokenService flush 추가 (#433) * fix: RefreshToken Payload 추가 및 CORS 완화 * fix: Refresh Token Header 허용 * fix: CORS 재설정 및 sameSite None * fix: refreshToken 존재 시 삭제 로직 변경 * fix: delete 메서드에 clearAutomatically 속성 적용 * fix: delete 메서드에 clearAutomatically 속성 제거 및 flush 추가 * [BE] Refactor/#400 토픽 조회 시 업데이트 일시를 최근에 핀이 추가/변경된 일시로 변경 (#429) * refactor: BaseEntity의 createdAt update 방지 * feat: Topic에 lastPinUpdatedAt 컬럼 추가, EntityListner 적용 - 기존 BaseEntity의 값들은 객체가 영속화될 때 저장된다. - 이에 대해 일관성을 유지해야 한다. (핀 생성 일시, 핀 변경 일시 = 토픽의 최근 핀 변경 일시가 서로 같아야 하므로) - 따라서 lastPinUpdatedAt 컬럼의 업데이트 또한 EntityListener 로 적용한다. * feat: 토픽 조회 DTO의 updatedAt 값 lastPinUpdatedAt 으로 변경 * feat: 토픽 최신순 조회 로직 수정 - Topic에 lastPinUpdatedAt 추가로 인해 로직 수정 가능 * test: 토픽 조회 시 updatedAt 검증 테스트 추가 * chore: 로컬 테스트용 SQL에 테이블 컬럼 추가 변경 반영 * refactor: 토픽 Response Dto에 lastPinUpdatedAt 반영 * fix : 토큰 만료시간 및 redirect uri 수정 --------- Co-authored-by: jaeyeon kim <jakind@naver.com> * [BE] Feature/#422 성능 측정을 위한 로깅 구현 (#434) * feat: QueryCounter 객체 구현 * feat: QueryInspector 객체 구현 * feat: LatencyRecorder 객체 구현 * feat: LatencyLoggingFilter 객체 구현 * feat: LatencyRecorder Thread-safe 테스트 구현 * feat: HibernateConfig 구현 * test: 테스트 수정 * style: 개행 추가 * refactor: 수식 표현 방식 수정 * [BE] HotFix/#424 refresh token duplicated (#441) * fix: RefreshToken Payload 추가 및 CORS 완화 * fix: Refresh Token Header 허용 * fix: CORS 재설정 및 sameSite None * fix: 디버깅을 위한 에러코드 추가 * [BE] HOTFix/#424 validateTokensForReissue 디버깅을 위한 에러코드 추가 (#443) * fix: RefreshToken Payload 추가 및 CORS 완화 * fix: Refresh Token Header 허용 * fix: CORS 재설정 및 sameSite None * fix: 디버깅을 위한 에러코드 추가 * fix: validateTokensForReissue 디버깅을 위한 에러코드 추가 * fix: isExpired 임시 log 처리 (#444) * Revert "fix: isExpired 임시 log 처리 (#444)" This reverts commit 445f0dd. * fix: cors Credentials 추가 (#458) * [BE] Hotfix/cors allowHeaders 와일드카드 적용 (#462) * fix: cors Credentials 추가 * fix: allowedHeaders 와일드카드 적용 * [BE] 부하테스트를 위한 Tomcat Log 추가 (#464) * chore: yml 변수 적용 확인을 위한 debug 로그 추가 * chore: 톰캣 설정 기본값 추가 * chore: 톰캣 설정 기본값 추가 --------- Co-authored-by: yoondgu <doyoungwork@gmail.com> * [BE] S3 를 통한 Image Upload 기능 구현 (#428) * refactor : s3 패키지 추가로 인한 에러 Code 수정 * feat : s3 exception 추가 * refactor : image extension 추출 방식 수정 * refactor : S3Client 가 IOException 을 throw 할 수 있도록 작성 * style : 프린트, 주석 제거 * test : imageExtension Test 작성 * refactor : image 가 요청으로 들어오지 않는 경우를 고려해 로직 수정 * test : 이미지가 null 로 들어오는 경우 test 작성 * feat : 병합시에도 S3 Image Upload 가 가능하도록 구현 * refactor : 기본 이미지 URL 변경 * refactor : 기본 이미지의 처리를 TopicInfo -> Image 에서 할 수 있도록 수정 * refactor : 주석 앞에 TODO 추가 * refactor : fromImageFileName -> from 으로 메서드 명 변경 * refactor : getExtension -> findExtension 으로 변경 * refactor : S3 관련 Service 네이밍 수정 * [BE] Fix/#426 Token CORS 재설정 (#427) * fix: RefreshToken Payload 추가 및 CORS 완화 * fix: Refresh Token Header 허용 * fix: CORS 재설정 및 sameSite None * refactor : S3 관련 Service 네이밍 수정 * [BE] HotFix/#426 Refresh Token 중복 저장 방지 로직 수정 (#431) * fix: RefreshToken Payload 추가 및 CORS 완화 * fix: Refresh Token Header 허용 * fix: CORS 재설정 및 sameSite None * fix: refreshToken 존재 시 삭제 로직 변경 * [BE] HotFix/#426 delete 메서드에 clearAutomatically 속성 적용 (#432) * fix: RefreshToken Payload 추가 및 CORS 완화 * fix: Refresh Token Header 허용 * fix: CORS 재설정 및 sameSite None * fix: refreshToken 존재 시 삭제 로직 변경 * fix: delete 메서드에 clearAutomatically 속성 적용 * [BE] HotFix/#426 tokenService flush 추가 (#433) * fix: RefreshToken Payload 추가 및 CORS 완화 * fix: Refresh Token Header 허용 * fix: CORS 재설정 및 sameSite None * fix: refreshToken 존재 시 삭제 로직 변경 * fix: delete 메서드에 clearAutomatically 속성 적용 * fix: delete 메서드에 clearAutomatically 속성 제거 및 flush 추가 * [BE] Refactor/#400 토픽 조회 시 업데이트 일시를 최근에 핀이 추가/변경된 일시로 변경 (#429) * refactor: BaseEntity의 createdAt update 방지 * feat: Topic에 lastPinUpdatedAt 컬럼 추가, EntityListner 적용 - 기존 BaseEntity의 값들은 객체가 영속화될 때 저장된다. - 이에 대해 일관성을 유지해야 한다. (핀 생성 일시, 핀 변경 일시 = 토픽의 최근 핀 변경 일시가 서로 같아야 하므로) - 따라서 lastPinUpdatedAt 컬럼의 업데이트 또한 EntityListener 로 적용한다. * feat: 토픽 조회 DTO의 updatedAt 값 lastPinUpdatedAt 으로 변경 * feat: 토픽 최신순 조회 로직 수정 - Topic에 lastPinUpdatedAt 추가로 인해 로직 수정 가능 * test: 토픽 조회 시 updatedAt 검증 테스트 추가 * chore: 로컬 테스트용 SQL에 테이블 컬럼 추가 변경 반영 * refactor: 토픽 Response Dto에 lastPinUpdatedAt 반영 * fix : 토큰 만료시간 및 redirect uri 수정 --------- Co-authored-by: jaeyeon kim <jakind@naver.com> * [BE] Feature/#422 성능 측정을 위한 로깅 구현 (#434) * feat: QueryCounter 객체 구현 * feat: QueryInspector 객체 구현 * feat: LatencyRecorder 객체 구현 * feat: LatencyLoggingFilter 객체 구현 * feat: LatencyRecorder Thread-safe 테스트 구현 * feat: HibernateConfig 구현 * test: 테스트 수정 * style: 개행 추가 * refactor: 수식 표현 방식 수정 * [BE] HotFix/#424 refresh token duplicated (#441) * fix: RefreshToken Payload 추가 및 CORS 완화 * fix: Refresh Token Header 허용 * fix: CORS 재설정 및 sameSite None * fix: 디버깅을 위한 에러코드 추가 * [BE] HOTFix/#424 validateTokensForReissue 디버깅을 위한 에러코드 추가 (#443) * fix: RefreshToken Payload 추가 및 CORS 완화 * fix: Refresh Token Header 허용 * fix: CORS 재설정 및 sameSite None * fix: 디버깅을 위한 에러코드 추가 * fix: validateTokensForReissue 디버깅을 위한 에러코드 추가 * fix: isExpired 임시 log 처리 (#444) * Revert "fix: isExpired 임시 log 처리 (#444)" This reverts commit 445f0dd. * fix: cors Credentials 추가 (#458) * [BE] Hotfix/cors allowHeaders 와일드카드 적용 (#462) * fix: cors Credentials 추가 * fix: allowedHeaders 와일드카드 적용 * [BE] 부하테스트를 위한 Tomcat Log 추가 (#464) * chore: yml 변수 적용 확인을 위한 debug 로그 추가 * chore: 톰캣 설정 기본값 추가 * chore: 톰캣 설정 기본값 추가 --------- Co-authored-by: yoondgu <doyoungwork@gmail.com> * refactor : s3 패키지 추가로 인한 에러 Code 수정 * feat : s3 exception 추가 * refactor : image extension 추출 방식 수정 * refactor : S3Client 가 IOException 을 throw 할 수 있도록 작성 * style : 프린트, 주석 제거 * test : imageExtension Test 작성 * refactor : image 가 요청으로 들어오지 않는 경우를 고려해 로직 수정 * test : 이미지가 null 로 들어오는 경우 test 작성 * feat : 병합시에도 S3 Image Upload 가 가능하도록 구현 * refactor : 기본 이미지 URL 변경 * refactor : 기본 이미지의 처리를 TopicInfo -> Image 에서 할 수 있도록 수정 * refactor : 주석 앞에 TODO 추가 * refactor : fromImageFileName -> from 으로 메서드 명 변경 * refactor : getExtension -> findExtension 으로 변경 * refactor : S3 관련 Service 네이밍 수정 * refactor : S3 관련 Service 네이밍 수정 * refactor : topic, image errorCode 수정 * refactor : Exception 부분 네이밍 S3 -> Image 로 변경 * refactor : findExtension -> extractExtensio 으로 메서드 네이밍 변경 * refactor : 부정 조건문 제거 * refactor : Illegal Image File Extension 에러 메세지 수정 * refactor : action method consume type 순서 조정 --------- Co-authored-by: 준팍(junpak) <112045553+junpakPark@users.noreply.github.com> Co-authored-by: Doy <doyoungwork@gmail.com> Co-authored-by: zun <50602742+cpot5620@users.noreply.github.com> --------- Co-authored-by: zun <50602742+cpot5620@users.noreply.github.com> Co-authored-by: 준팍(junpak) <112045553+junpakPark@users.noreply.github.com> Co-authored-by: jaeyeon kim <jakind@naver.com> Co-authored-by: kpeel5839 <89840550+kpeel5839@users.noreply.github.com>
GC-Park
added a commit
that referenced
this issue
Sep 21, 2023
* chore: develop 브랜치에 비해 누락된 커밋 반영 (#364) * [FE] Refactor/#365 API 요청 로직 분리 및 컴포넌트 분리 (#368) * rename: 2 Depth 컴포넌트 디렉토리 구조 변경 * refactor: 서버와 지도 GET API 요청 로직 분리 * refactor: 서버와 로그인 GET API 분리 * refactor: api 요청 로직 에러 핸들링 추가 및 명시적으로 조건문 지정 추가로 content-type을 내로잉한다. * fix: 누락된 api 수정 적용 * rename: 사용하지 않는 svg 제거 및 오타 수정 * refactor: 타입명 코드 컨벤션에 맞게 모두 변경 * refactor: api get 요청 로직 커스텀 훅으로 분리 * feat: usePost api 요청 커스텀 훅 생성 * feat: usePut api 요청 커스텀 훅 생성 * feat: useDelete api 요청 커스텀 훅 생성 * remove: 사용하지 않는 페이지 컴포넌트 제거 * fix: delete 요청을 두 번씩 날리는 오류 수정 * refactor: Home 컴포넌트 뎁스 줄임 및 fetchGet 적용 * remove: 불필요한 페이지 컴포넌트 제거 * refactor: bookmark 페이지 및 관련 컴포넌트 관심사 분리 * rename: 불필요한 페이지 제거 및 페이지명 변경 * refactor: 누락된 타입 프로퍼티 추가 * fix: 유효하지 않은 주소를 클릭 시 에러 토스트를 띄우는 기능 수정 * rename: Topic Card 컴포넌트를 담는 상위 컨테이너 컴포넌트 명 변경 * design: myInfo의 사용자 성명 font weight 수정 * style: 불필요한 import 제거 및 공백 수정 * refactor: 중복되는 역할의 컴포넌트 제거 후 재사용 * refactor: 잘못된 에러 메시지 수정 * design: 내가 만든 지도가 없을 경우 사용자에게 알림 문구 더 친화적으로 수정 * refactor: 중복 컴포넌트 제거 및 TopicCardList 재사용 반영 * refactor: 10m 이내로 핀이 찍힐 확률을 줄이면서 사용성을 개선할 수 있는 줌 Limit 수정 * rename: 스켈레톤 컴포넌트 불규칙했던 디렉토리 구조 통일 * rename: NotFound 페이지 컴포넌트 디렉토리 위치 조정 * refactor: usePost를 success message 대신 onSuccess 함수 받도록 변경 * refactor: 모달용 토픽 카드 컴포넌트 제거 후 기존 토픽카드에 타입 프롭 추가 추가로 api 요청 커스텀 훅을 적용한다. * refactor: put, delete api 요청 hook interface 조정 * [FE] refactor/#373 msw 적용 (#374) * refactor: 변경된 명세에 맞게 get fetch 관련 msw 수정 * refactor: 즐겨찾기, 모아보기, 지도 추가하기, 핀 추가하기 msw 적용 * hotfix: login 에러 해결 (#383) * [FE] Feature/#382 반응형 대응 (#387) * feat: Home 페이지 모바일 및 태블릿 사이즈 반응형 대응 * feat: 네비게이션 바 반응형 대응 * refactor: 반응형 로직 재사용 및 방식 변경 * feat: 전체보기 페이지 반응형 적용 * refactor: 반응형 재사용 함수 네이밍 수정 * feat: 즐겨찾기 페이지 반응형 대응 * feat: 마이페이지 반응형 대응 * fix: 뒤로가기를 통해 핀을 선택하지 않았던 때로 돌아가도 pinDetail이 남아있는 오류 수정 * refactor: 불필요한 console.log 제거 및 as section 지정 * feat: 토픽 조회 및 지도 반응형 대응 * refactor: interface 타입 오류 및 이미지 radius 수정 * refactor: 토픽 단일 조회 및 상세조회 반응형 대응 * refactor: 토픽 단일 조회 및 상세페이지 태블릿 반응형 대응 방식 변경 * refactor: 토스트 알림 반응형 대응 * refactor: 네비게이션 반응형 오류 및 height 고정 문제 수정 추가하기 모달의 경우 단일 토픽 조회 페이지 등에서 미디어 쿼리보다 layoutWidth가 우선순위가 더 높아 어색하게 배치되는 문제를 해결한다. * refactor: 핀추가하기 페이지 반응형 대응 핀 추가하기 페이지는 지도를 하단에 배치하여 가상키보드가 올라왔을 때를 대응한다. * refactor: 누락된 커밋 추가하기 모달 중앙정렬 추가 * fix: 스타일드 컴포넌트 trasient DOM 에러 해결 * feat: 모달 컴포넌트 반응형 대응 * fix: PC 사이즈에서 position fixed 되는 오류 수정 * feat: 뽑아오기 컴포넌트 반응형 대응 * refactor: 토픽 단일 조회 및 뽑아오기 반응형 대응 일부 수정 * design: 내 지도에 추가하기 모달 가로 사이즈 조정 * refactor: 네이밍 변경 (mediaWidth -> layoutWidth) * feat: 핀 수정 페이지 반응형 대응 및 에러메세지 기능 수정 빈 값을 입력해도 에러메세지가 뜨지 않는 오류를 수정한다. * design: 모바일 사이즈에서 input 태그 간 간격이 좁은 오류 수정 * refactor: 태블릿-모바일 사이즈에서 핀 수정 페이지 반응형 수정 * refactor: merge 브랜치 변경 (develop->develop-FE) * fix: cypress 테스트 자동화 구문 수정 * refactor: jobs 네이밍 수정 * design: navbar 경계선 그림자 추가 * fix: 카카오 대소문자 수정으로 인한 파일 트래킹이 안되는 오류 수정 * test: 반응형 ui 변경으로 인한 cypress 테스트 로직 변경 * chore: github actions 환경에서만 테스트가 실패하는 오류 수정 * test: github actions 환경에서 wait 관련 테스트만 실패하여 wait 타임을 확장 * test: github actions 환경에서만 통과하지 못하는 wait 함수 값 수정 * refactor: 불필요한 로직 제거 * refactor: 불필요한 어트리뷰트 제거 * chore: api 요청 개발서버로 변경 * [FE] Refactor/#395 지도 타입 지정 및 Map 컴포넌트 리팩토링 (#398) * feat: Tmap api 관련 타입을 선언한다 * refactor: Layout 컴포넌트에서 지도에 관한 관심사를 분리한다 * refactor: Tmap 관련 타입 추가 * refactor: Tmap 관련 타입 적용 * refactor: 불필요한 코드 제거 * refactor: 좌표관련 타입 수정 * refactor: Navbar 클릭시 색 변경 로직 변경 및 타입 수정 * refactor: null 체크 * refactor: 타입 단언 수정 * refactor: null 타입 체크 * fix: 충돌 해결 (#403) * [FE] Test/#369 Jest 커스텀 훅 테스트 추가 (#394) * test: 초기값 타입 수정 및 에러 객체 반환 테스트 추가 * refactor: 일부 단어가 정상적인 단어 입력을 방해하는 오류 수정 * test: 유효성 검사 테스트 추가 * style: single quote 적용 * [FE] Refactor/#402 지도 및 핀 권한 부여 여부 확인 및 지도 수정 페이지 구현 (#410) * feat: 사용자가 선택한 권한 부여 인원을 확인할 수 있도록 표시하는 기능 추가 * feat: 토픽 권한 타입 추가 * refactor: 가독성 개선 및 불필요한 중복 로직 제거 이중 삼항연산자 등 가독성이 저하되는 부분과 불필요한 조건문, 요청로직 등을 모두 제거한다. * refactor: 의미없는 함수 리턴 제거 * refactor: 토픽 생성 페이지에서 권한 설정 컴포넌트 UI 및 로직 분리 * feat: 토픽 권한 수정 페이지 구현 및 기존에 권한 설정한 친구들 보여주도록 변경 * feat: 토픽 및 핀에 대해서 수정하기 권한이 있을 경우에만 표시하도록 변경하는 기능 추가 * fix: 에러 페이지 레이아웃 width 미설정 오류 수정 * refactor: 수정하기 버튼 클릭 시 오류 발생 문구 수정 * refactor: 토픽 정보 수정 시 이전의 권한 설정 값으로 조정되도록 변경 * refactor: 사용하지 않는 코드 제거 및 if 블록 설정 * refactor: 사용하지 않는 import 및 prop 제거 * refactor: api 요청 커스텀 훅 매개변수 변경 및 에러 전파 옵션 추가 * refactor: api 요청 커스텀훅 로직 변경에 따른 적용 * refactor: 불필요한 코드 제거 * refactor: 수정 후 topicInfo를 다시 불러오도록 변경 * fix: 잘못된 delete permission id 설정 수정 topicId가 아니라 permission id를 사용하도록 변경한다. 추가로 에러메세지를 수정한다. * refactor: 불필요한 console.log 제거 * [FE] Feat/#386 지도, 핀 이미지에 s3 적용 (#409) * feat: 지도 추가 때 필요한 이미지 s3 적용 * feat: pin 생성에서 이미지 s3 적용 * feat: 핀 디테일 페이지에서 핀 사진 추가 구현 * refator: prettier 적용 * refactor: 잘못된 경로 수정 * refactor: 필요없는 console.log 삭제 * refactor: event handler method명 컨벤션에 맞게 수정 * refactor: 변경이 필요한 컴포넌트, 변수 이름 수정 * refactor: alt 및 error 처리 시 알림 메시지 사용자가 이해하기 쉽도록 수정 * refactor: 인라인 스타일 태그 styled component로 수정 * refactor: 지도 만들 때 기본 이미지 설정 해주도록 수정 * fix: 핀 이미지 추가할 때 무한 렌더링 에러 해결 * refactor: type 이름 컨벤션에 맞게 수정 * refactor: 필요없는 type 삭제 * refactor: postApi와 postFormApi 합치기 및 필요없는 코드 삭제 * fix: 핀 추가할 때 이미지 여러개 등록하면 하나만 등록되는 에러 해결 * refactor: 지도, 핀 추가 시 이미지 필수 아니도록 설정 * Hotfix/refresh token 1 (#437) * refactor: 필요없어진 이미지 url 인풋 컨테이너 * feat: refreshToken관련 로직 추가 * feat: refreshToken을 재요청할때 body에 accessToken을 추가 (#438) * feat: getApi header 컨텐트타입 추가 (#439) * feat: refreshToken api 요청시 헤더에 content-type 추가 (#440) * refactor: withTokenRefresh에 return문 추가 (#442) * refactor: localstorage userToken getItem요청 수정 (#445) * refactor: refreshToken함수 예외처리 추가 (#446) * hotfix: 에러상황 확인용 콘솔로그 추가 (#447) * hotfix: 재발급시 getItem 부분 수정 (#448) * hotfix: 재발급시 받은 데이터 저장 로직 수정 (#449) * hotfix: abortController 적용 (#451) * hotfix: abortController 여러개 적용 (#452) * fix: 요청 중 재요청 차단 (#453) * fix: abort 컨트롤러 예외 처리 수정 (#454) * fix: Promise 상태로 분기처리하여 재요청 차단 (#455) * fix: response 타입 동일화 (#456) * console 체크 (#457) * fix: console.log 추가 (#459) * fix: console.log response 부분 추가 (#460) * Hotfix/refresh token 20 (#461) * fix: json 메서드 에러 핸들링 * merge 충돌 해결 * fix: response clone 하여 오류 수정 (#463) * Feat/#465 logout (#467) * feat: 버튼 ui 구현 * feat: 로그아웃 버튼 클릭 이벤트 구현 * refactor: 컨벤션 수정 * [FE] Fix/permission 토픽 권한 수정 오류 해결 (#419) * fix: 모아보기 시에도 토픽 수정이 가능토록 변경 * refactor: 에러메세지 수정 * fix: 이전 권한 설정을 불러오지 못하는 에러 수정 추가로 기존에 선택한 친구들을 조건적으로 UI 렌더링을 진행했던 로직을 수정한다. * refactor: 이전에 권한을 부여한 친구들 목록 로직 수정 * test: cypress 개발 서버에 의존인 관계로 임시로 임계값 확장 * refactor: 변수명, 함수명 변경 * hotfix: 로그아웃 post 데이터 타입 변경 (#468) * [FE] Feature/#435 이미지 압축 기능 구현 (#436) * feat: 이미지 압축하는 기능 custom hook으로 구현 * feat: 지도, 핀 등에 이미지 추가할 시 이미지 압축 기능 추가 * refactor: NewTopic, NewPin 텍스트 수정 * refactor: 이미지 리사이징 최대 크기 변경 * refactor: 지도 추가 페이지에서 이미지와 파일 추가 버튼 사이에 space 추가 * fix: 네이밍 변경 누락 오류 수정 및 네이밍 통일성 준수 (#470) * chore: browser-image-compression 패키지 제이슨 누락 수정 (#471) * [ FE ] Refactor/#404 홈페이지 및 Navbar 리팩토링 (#423) * refactor: 페이지 직접 이동 로직까지 포함하도록 수정 * refactor: useNavigator 리턴 형식 변경 * feat: Navbar 각 요소 아이템으로 분리 * fix : 아이콘 타입 수정 * refactor: Navbar 중복 로직 제거 * refactor: routePage 함수 리턴값을 추가 * fix: 지도 선택된 상황에서 핀 추가 로직 수정 * refactor: 페이지 이동 로직 분리 * refactor: interface로 수정 * hotfix: 모아보기 누락 로직 추가 (#475) * [FE] 토큰 재발급 로직 모든 메소드에 적용 (#474) * refactor: http메소드 refresh 로직 적용 * feat: delete 메소드에 refreshToken 로직 추가 * [FE] Refactor/#469 동적 임포트와 tree shaking으로 코드 스플리팅 (#476) * refactor: router 부분에 동적 임포트 적용 * feat: tree shaking 적용 * [FE] Fix/#472 토픽 수정 시 권한 수정 보류 (#477) * refactor: 권한 설정 범위 변수 네이밍 수정 * fix: 특정 인원 권한 설정 로직 오류 수정 * refactor: 권한 수정 기능 및 UI 임시 보류 * design: 추가하기 모달이 반응형 환경에서 위치가 잘못되는 오류 수정 * refactor: 동적 임포트에 suspense 적용 (#478) * fix: merge 과정 중 충돌 해결 오류 수정 (#480) * feat: default url 변경 (#483) * [FE] Refactor/#481 개발 서버 QA 후 발생한 이슈 해결 (#486) * refactor: 추가하기 모달 위치 왼쪽 하단으로 고정되는 이슈 해결 * refactor: 1078px 이하에서 이미지 숨겨지던 오류 해결 * refactor: 핀 내 지도에 저장 기능 에러 해결 --------- Co-authored-by: 이세민 <89172499+semnil5202@users.noreply.github.com> Co-authored-by: afds4567 <33995840+afds4567@users.noreply.github.com>
jiwonh423
added a commit
that referenced
this issue
Sep 27, 2023
* chore: develop 브랜치에 비해 누락된 커밋 반영 (#364) * [FE] Refactor/#365 API 요청 로직 분리 및 컴포넌트 분리 (#368) * rename: 2 Depth 컴포넌트 디렉토리 구조 변경 * refactor: 서버와 지도 GET API 요청 로직 분리 * refactor: 서버와 로그인 GET API 분리 * refactor: api 요청 로직 에러 핸들링 추가 및 명시적으로 조건문 지정 추가로 content-type을 내로잉한다. * fix: 누락된 api 수정 적용 * rename: 사용하지 않는 svg 제거 및 오타 수정 * refactor: 타입명 코드 컨벤션에 맞게 모두 변경 * refactor: api get 요청 로직 커스텀 훅으로 분리 * feat: usePost api 요청 커스텀 훅 생성 * feat: usePut api 요청 커스텀 훅 생성 * feat: useDelete api 요청 커스텀 훅 생성 * remove: 사용하지 않는 페이지 컴포넌트 제거 * fix: delete 요청을 두 번씩 날리는 오류 수정 * refactor: Home 컴포넌트 뎁스 줄임 및 fetchGet 적용 * remove: 불필요한 페이지 컴포넌트 제거 * refactor: bookmark 페이지 및 관련 컴포넌트 관심사 분리 * rename: 불필요한 페이지 제거 및 페이지명 변경 * refactor: 누락된 타입 프로퍼티 추가 * fix: 유효하지 않은 주소를 클릭 시 에러 토스트를 띄우는 기능 수정 * rename: Topic Card 컴포넌트를 담는 상위 컨테이너 컴포넌트 명 변경 * design: myInfo의 사용자 성명 font weight 수정 * style: 불필요한 import 제거 및 공백 수정 * refactor: 중복되는 역할의 컴포넌트 제거 후 재사용 * refactor: 잘못된 에러 메시지 수정 * design: 내가 만든 지도가 없을 경우 사용자에게 알림 문구 더 친화적으로 수정 * refactor: 중복 컴포넌트 제거 및 TopicCardList 재사용 반영 * refactor: 10m 이내로 핀이 찍힐 확률을 줄이면서 사용성을 개선할 수 있는 줌 Limit 수정 * rename: 스켈레톤 컴포넌트 불규칙했던 디렉토리 구조 통일 * rename: NotFound 페이지 컴포넌트 디렉토리 위치 조정 * refactor: usePost를 success message 대신 onSuccess 함수 받도록 변경 * refactor: 모달용 토픽 카드 컴포넌트 제거 후 기존 토픽카드에 타입 프롭 추가 추가로 api 요청 커스텀 훅을 적용한다. * refactor: put, delete api 요청 hook interface 조정 * [FE] refactor/#373 msw 적용 (#374) * refactor: 변경된 명세에 맞게 get fetch 관련 msw 수정 * refactor: 즐겨찾기, 모아보기, 지도 추가하기, 핀 추가하기 msw 적용 * hotfix: login 에러 해결 (#383) * [FE] Feature/#382 반응형 대응 (#387) * feat: Home 페이지 모바일 및 태블릿 사이즈 반응형 대응 * feat: 네비게이션 바 반응형 대응 * refactor: 반응형 로직 재사용 및 방식 변경 * feat: 전체보기 페이지 반응형 적용 * refactor: 반응형 재사용 함수 네이밍 수정 * feat: 즐겨찾기 페이지 반응형 대응 * feat: 마이페이지 반응형 대응 * fix: 뒤로가기를 통해 핀을 선택하지 않았던 때로 돌아가도 pinDetail이 남아있는 오류 수정 * refactor: 불필요한 console.log 제거 및 as section 지정 * feat: 토픽 조회 및 지도 반응형 대응 * refactor: interface 타입 오류 및 이미지 radius 수정 * refactor: 토픽 단일 조회 및 상세조회 반응형 대응 * refactor: 토픽 단일 조회 및 상세페이지 태블릿 반응형 대응 방식 변경 * refactor: 토스트 알림 반응형 대응 * refactor: 네비게이션 반응형 오류 및 height 고정 문제 수정 추가하기 모달의 경우 단일 토픽 조회 페이지 등에서 미디어 쿼리보다 layoutWidth가 우선순위가 더 높아 어색하게 배치되는 문제를 해결한다. * refactor: 핀추가하기 페이지 반응형 대응 핀 추가하기 페이지는 지도를 하단에 배치하여 가상키보드가 올라왔을 때를 대응한다. * refactor: 누락된 커밋 추가하기 모달 중앙정렬 추가 * fix: 스타일드 컴포넌트 trasient DOM 에러 해결 * feat: 모달 컴포넌트 반응형 대응 * fix: PC 사이즈에서 position fixed 되는 오류 수정 * feat: 뽑아오기 컴포넌트 반응형 대응 * refactor: 토픽 단일 조회 및 뽑아오기 반응형 대응 일부 수정 * design: 내 지도에 추가하기 모달 가로 사이즈 조정 * refactor: 네이밍 변경 (mediaWidth -> layoutWidth) * feat: 핀 수정 페이지 반응형 대응 및 에러메세지 기능 수정 빈 값을 입력해도 에러메세지가 뜨지 않는 오류를 수정한다. * design: 모바일 사이즈에서 input 태그 간 간격이 좁은 오류 수정 * refactor: 태블릿-모바일 사이즈에서 핀 수정 페이지 반응형 수정 * refactor: merge 브랜치 변경 (develop->develop-FE) * fix: cypress 테스트 자동화 구문 수정 * refactor: jobs 네이밍 수정 * design: navbar 경계선 그림자 추가 * fix: 카카오 대소문자 수정으로 인한 파일 트래킹이 안되는 오류 수정 * test: 반응형 ui 변경으로 인한 cypress 테스트 로직 변경 * chore: github actions 환경에서만 테스트가 실패하는 오류 수정 * test: github actions 환경에서 wait 관련 테스트만 실패하여 wait 타임을 확장 * test: github actions 환경에서만 통과하지 못하는 wait 함수 값 수정 * refactor: 불필요한 로직 제거 * refactor: 불필요한 어트리뷰트 제거 * chore: api 요청 개발서버로 변경 * [FE] Refactor/#395 지도 타입 지정 및 Map 컴포넌트 리팩토링 (#398) * feat: Tmap api 관련 타입을 선언한다 * refactor: Layout 컴포넌트에서 지도에 관한 관심사를 분리한다 * refactor: Tmap 관련 타입 추가 * refactor: Tmap 관련 타입 적용 * refactor: 불필요한 코드 제거 * refactor: 좌표관련 타입 수정 * refactor: Navbar 클릭시 색 변경 로직 변경 및 타입 수정 * refactor: null 체크 * refactor: 타입 단언 수정 * refactor: null 타입 체크 * fix: 충돌 해결 (#403) * [FE] Test/#369 Jest 커스텀 훅 테스트 추가 (#394) * test: 초기값 타입 수정 및 에러 객체 반환 테스트 추가 * refactor: 일부 단어가 정상적인 단어 입력을 방해하는 오류 수정 * test: 유효성 검사 테스트 추가 * style: single quote 적용 * [FE] Refactor/#402 지도 및 핀 권한 부여 여부 확인 및 지도 수정 페이지 구현 (#410) * feat: 사용자가 선택한 권한 부여 인원을 확인할 수 있도록 표시하는 기능 추가 * feat: 토픽 권한 타입 추가 * refactor: 가독성 개선 및 불필요한 중복 로직 제거 이중 삼항연산자 등 가독성이 저하되는 부분과 불필요한 조건문, 요청로직 등을 모두 제거한다. * refactor: 의미없는 함수 리턴 제거 * refactor: 토픽 생성 페이지에서 권한 설정 컴포넌트 UI 및 로직 분리 * feat: 토픽 권한 수정 페이지 구현 및 기존에 권한 설정한 친구들 보여주도록 변경 * feat: 토픽 및 핀에 대해서 수정하기 권한이 있을 경우에만 표시하도록 변경하는 기능 추가 * fix: 에러 페이지 레이아웃 width 미설정 오류 수정 * refactor: 수정하기 버튼 클릭 시 오류 발생 문구 수정 * refactor: 토픽 정보 수정 시 이전의 권한 설정 값으로 조정되도록 변경 * refactor: 사용하지 않는 코드 제거 및 if 블록 설정 * refactor: 사용하지 않는 import 및 prop 제거 * refactor: api 요청 커스텀 훅 매개변수 변경 및 에러 전파 옵션 추가 * refactor: api 요청 커스텀훅 로직 변경에 따른 적용 * refactor: 불필요한 코드 제거 * refactor: 수정 후 topicInfo를 다시 불러오도록 변경 * fix: 잘못된 delete permission id 설정 수정 topicId가 아니라 permission id를 사용하도록 변경한다. 추가로 에러메세지를 수정한다. * refactor: 불필요한 console.log 제거 * [FE] Feat/#386 지도, 핀 이미지에 s3 적용 (#409) * feat: 지도 추가 때 필요한 이미지 s3 적용 * feat: pin 생성에서 이미지 s3 적용 * feat: 핀 디테일 페이지에서 핀 사진 추가 구현 * refator: prettier 적용 * refactor: 잘못된 경로 수정 * refactor: 필요없는 console.log 삭제 * refactor: event handler method명 컨벤션에 맞게 수정 * refactor: 변경이 필요한 컴포넌트, 변수 이름 수정 * refactor: alt 및 error 처리 시 알림 메시지 사용자가 이해하기 쉽도록 수정 * refactor: 인라인 스타일 태그 styled component로 수정 * refactor: 지도 만들 때 기본 이미지 설정 해주도록 수정 * fix: 핀 이미지 추가할 때 무한 렌더링 에러 해결 * refactor: type 이름 컨벤션에 맞게 수정 * refactor: 필요없는 type 삭제 * refactor: postApi와 postFormApi 합치기 및 필요없는 코드 삭제 * fix: 핀 추가할 때 이미지 여러개 등록하면 하나만 등록되는 에러 해결 * refactor: 지도, 핀 추가 시 이미지 필수 아니도록 설정 * Hotfix/refresh token 1 (#437) * refactor: 필요없어진 이미지 url 인풋 컨테이너 * feat: refreshToken관련 로직 추가 * feat: refreshToken을 재요청할때 body에 accessToken을 추가 (#438) * feat: getApi header 컨텐트타입 추가 (#439) * feat: refreshToken api 요청시 헤더에 content-type 추가 (#440) * refactor: withTokenRefresh에 return문 추가 (#442) * refactor: localstorage userToken getItem요청 수정 (#445) * refactor: refreshToken함수 예외처리 추가 (#446) * hotfix: 에러상황 확인용 콘솔로그 추가 (#447) * hotfix: 재발급시 getItem 부분 수정 (#448) * hotfix: 재발급시 받은 데이터 저장 로직 수정 (#449) * hotfix: abortController 적용 (#451) * hotfix: abortController 여러개 적용 (#452) * fix: 요청 중 재요청 차단 (#453) * fix: abort 컨트롤러 예외 처리 수정 (#454) * fix: Promise 상태로 분기처리하여 재요청 차단 (#455) * fix: response 타입 동일화 (#456) * console 체크 (#457) * fix: console.log 추가 (#459) * fix: console.log response 부분 추가 (#460) * Hotfix/refresh token 20 (#461) * fix: json 메서드 에러 핸들링 * merge 충돌 해결 * fix: response clone 하여 오류 수정 (#463) * Feat/#465 logout (#467) * feat: 버튼 ui 구현 * feat: 로그아웃 버튼 클릭 이벤트 구현 * refactor: 컨벤션 수정 * [FE] Fix/permission 토픽 권한 수정 오류 해결 (#419) * fix: 모아보기 시에도 토픽 수정이 가능토록 변경 * refactor: 에러메세지 수정 * fix: 이전 권한 설정을 불러오지 못하는 에러 수정 추가로 기존에 선택한 친구들을 조건적으로 UI 렌더링을 진행했던 로직을 수정한다. * refactor: 이전에 권한을 부여한 친구들 목록 로직 수정 * test: cypress 개발 서버에 의존인 관계로 임시로 임계값 확장 * refactor: 변수명, 함수명 변경 * hotfix: 로그아웃 post 데이터 타입 변경 (#468) * [FE] Feature/#435 이미지 압축 기능 구현 (#436) * feat: 이미지 압축하는 기능 custom hook으로 구현 * feat: 지도, 핀 등에 이미지 추가할 시 이미지 압축 기능 추가 * refactor: NewTopic, NewPin 텍스트 수정 * refactor: 이미지 리사이징 최대 크기 변경 * refactor: 지도 추가 페이지에서 이미지와 파일 추가 버튼 사이에 space 추가 * fix: 네이밍 변경 누락 오류 수정 및 네이밍 통일성 준수 (#470) * chore: browser-image-compression 패키지 제이슨 누락 수정 (#471) * [ FE ] Refactor/#404 홈페이지 및 Navbar 리팩토링 (#423) * refactor: 페이지 직접 이동 로직까지 포함하도록 수정 * refactor: useNavigator 리턴 형식 변경 * feat: Navbar 각 요소 아이템으로 분리 * fix : 아이콘 타입 수정 * refactor: Navbar 중복 로직 제거 * refactor: routePage 함수 리턴값을 추가 * fix: 지도 선택된 상황에서 핀 추가 로직 수정 * refactor: 페이지 이동 로직 분리 * refactor: interface로 수정 * hotfix: 모아보기 누락 로직 추가 (#475) * [FE] 토큰 재발급 로직 모든 메소드에 적용 (#474) * refactor: http메소드 refresh 로직 적용 * feat: delete 메소드에 refreshToken 로직 추가 * [FE] Refactor/#469 동적 임포트와 tree shaking으로 코드 스플리팅 (#476) * refactor: router 부분에 동적 임포트 적용 * feat: tree shaking 적용 * [FE] Fix/#472 토픽 수정 시 권한 수정 보류 (#477) * refactor: 권한 설정 범위 변수 네이밍 수정 * fix: 특정 인원 권한 설정 로직 오류 수정 * refactor: 권한 수정 기능 및 UI 임시 보류 * design: 추가하기 모달이 반응형 환경에서 위치가 잘못되는 오류 수정 * refactor: 동적 임포트에 suspense 적용 (#478) * fix: merge 과정 중 충돌 해결 오류 수정 (#480) * feat: default url 변경 (#483) * [FE] Refactor/#481 개발 서버 QA 후 발생한 이슈 해결 (#486) * refactor: 추가하기 모달 위치 왼쪽 하단으로 고정되는 이슈 해결 * refactor: 1078px 이하에서 이미지 숨겨지던 오류 해결 * refactor: 핀 내 지도에 저장 기능 에러 해결 * refactor: 버튼 variant 확장 * feat: patch용 함수 구현 * feat: 회원 정보 수정 ui 구현 * feat: 회원 정보 수정 로직 구현 * feat: 수정 성공시 localstorage 저장 정보 변경 * refactor: 정보 수정 반영 안되는 문제 수정 * feat: 환경변수 테스트 --------- Co-authored-by: 이세민 <89172499+semnil5202@users.noreply.github.com> Co-authored-by: ParkGeunCheol <72205402+GC-Park@users.noreply.github.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
📄 작업 대상
S3 도입을 통한 이미지 업로드 기능 구현
✅ 작업 내용
📎 참고 자료
https://blog.pium.life/aws-s3-apply/
⏰ 추정 시간
비관적 추정 : 2일
낙관적 추정 : 1일
The text was updated successfully, but these errors were encountered: