-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[REFACTOR] 파일 시스템 구조 리팩토링 및 파일 API 분리 (#165)
* feat: 파일 핵심 로직을 지니는 인터페이스 및 구체클래스 생성 * refactor: 파일 시스템 구조 개편 - FileUtil에는 핵심 비지니스 로직이 아닌, 유틸성 메서드로 구성 - FileManager 인터페이스 생성 및 상속을 통해 확장성 있돌고 변경 - yml의 값을 통해 로컬/배포 환경에 따라 각자 다른 파일 시스템을 사용하도록 설정 * test: 파일 시스템 개편으로 인한 테스트 코드 수정 * refactor: 개편한 파일 시스템 코드 리팩토링 - 필요없는 코드 삭제 - DTO의 이름을 포괄적으로 변경 * chore: 파일 시스템 관련 주석 정리 * refactor: 메서드명 변경 및 필요없는 메서드 삭제 * feat: FileManager의 기능을 별도로 테스트하기 위한 컨트롤러 생성 * refactor: 파일 홀더 인터페이스 생성 및 적용 - FileHolder 인터페이스 생성 - 파일과 연관관계를 맺는 User, Topic, Instance 객체에 대해 FileHolder 인터페이스 적용 * feat: 파일 조회 테스트 API 추가 - FileTestController에 GET 요청을 통해 등록되어 있는 파일을 조회하는 테스트 목적 API 추가 * refactor: 파일 생성 API 분리 - 회원가입, 토픽 생성, 인스턴스 생성 API에 대해 분리작업 진행 - FileHolder 인터페이스에 파일을 받아오는 getFiles() 메서드 추가 & 메서드 이름 변경 - 로직 변경으로 인한 테스트 코드 변경 * refactor: 파일 수정 API 분리 - �토픽 수정, 인스턴스 수정 API에 대해 분리 작업 진행 - 파일 조회 API 분리 - 로직 변경으로 인한 테스트 코드 변경 * �fix: Querydsl 빌드 시 오류나는 부분 수정 * feat: MultipartFile이 오지 않는 경우에 대비하여 예외 처리 추가 * refactor: Topic쪽 API에 대해 리팩토링 - 응답 DTO에서 FileResponse 적용 로직 변경 * refactor: Instance쪽 API 리팩토링 - 응답 DTO에서 FileResponse 적용 로직 변경 * refactor: 좋아요 관련 API 리팩토링 - 응답 DTO에서 FileResponse 적용 로직 변경 * refactor: 마이챌린지 관련 API 리팩터링 - 응답 DTO에서 FileResponse 적용 로직 변경 * refactor: 유저 프로필 관련 API 리팩토링 - 응답 DTO에서 FileResponse 적용 로직 변경 * refactor: 인증 조회 API 리팩터링 - 응답 DTO에서 FileResponse 적용 로직 변경 * chore: Github actions 테스트 workflow 작성 - 특정 브랜치 빌드 진행했을 때, build에 문제가 생기지 않는지 확인하는 확인하기 위한 yml 파일 생성 - gradlew를 통한 test build까지만 진행하도록 설정 * test: 파일과 관련된 테스트 코드 수정 * test: 테스트 이후 mongoDB 초기화 코드 추가 * refactor: File 관련 요청할 수 있도록 응답 객체 설정
- Loading branch information
Showing
70 changed files
with
973 additions
and
645 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
name: Build test about test codes | ||
|
||
on: | ||
push: | ||
branches: [ "refactor/162-file-system-structure" ] ## 테스트하고자하는 브랜치 작성 | ||
pull_request: | ||
branches: [ "refactor/162-file-system-structure" ] | ||
|
||
jobs: | ||
deploy: | ||
runs-on: ubuntu-latest | ||
permissions: | ||
contents: read | ||
packages: write | ||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- name: Set up JDK 17 | ||
uses: actions/setup-java@v4 | ||
with: | ||
java-version: '17' | ||
distribution: 'temurin' | ||
|
||
- name: make application.yml | ||
run: | | ||
mkdir -p ./src/main/resources | ||
cd ./src/main/resources | ||
touch ./application.yml | ||
touch ./application-common.yml | ||
touch ./application-prod.yml | ||
echo "${{ secrets.APPLICATION }}" > ./application.yml | ||
echo "${{ secrets.COMMON }}" > ./application-common.yml | ||
echo "${{ secrets.PROD }}" > ./application-prod.yml | ||
- name: make test application.yml | ||
run: | | ||
mkdir -p ./src/test/resources | ||
cd ./src/test/resources | ||
touch ./application.yml | ||
touch ./application-test.yml | ||
echo "${{ secrets.APPLICATION_TEST }}" > ./application.yml | ||
echo "${{ secrets.TEST }}" > ./application-test.yml | ||
- name: Grant execute permission for gradlew | ||
run: chmod +x ./gradlew | ||
shell: bash | ||
|
||
- name: Build and Test | ||
run: ./gradlew clean build test | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
17 changes: 10 additions & 7 deletions
17
src/main/java/com/genius/gitget/admin/topic/dto/TopicDetailResponse.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,24 +1,27 @@ | ||
package com.genius.gitget.admin.topic.dto; | ||
|
||
import com.genius.gitget.admin.topic.domain.Topic; | ||
import com.genius.gitget.global.file.domain.Files; | ||
import com.genius.gitget.global.file.dto.FileResponse; | ||
import java.io.IOException; | ||
import java.util.Optional; | ||
import lombok.Builder; | ||
|
||
@Builder | ||
public record TopicDetailResponse(Long topicId, String title, String tags, | ||
String description, String notice, int pointPerPerson, FileResponse fileResponse) { | ||
public static TopicDetailResponse createByEntity(Topic topic, Optional<Files> files) throws IOException { | ||
public record TopicDetailResponse( | ||
Long topicId, | ||
String title, | ||
String tags, | ||
String description, | ||
String notice, | ||
int pointPerPerson, | ||
FileResponse fileResponse) { | ||
public static TopicDetailResponse createByEntity(Topic topic, FileResponse fileResponse) { | ||
return TopicDetailResponse.builder() | ||
.topicId(topic.getId()) | ||
.title(topic.getTitle()) | ||
.tags(topic.getTags()) | ||
.description(topic.getDescription()) | ||
.notice(topic.getNotice()) | ||
.pointPerPerson(topic.getPointPerPerson()) | ||
.fileResponse(FileResponse.create(files)) | ||
.fileResponse(fileResponse) | ||
.build(); | ||
} | ||
} |
6 changes: 6 additions & 0 deletions
6
src/main/java/com/genius/gitget/admin/topic/dto/TopicIndexResponse.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
package com.genius.gitget.admin.topic.dto; | ||
|
||
public record TopicIndexResponse( | ||
Long topicId | ||
) { | ||
} |
7 changes: 2 additions & 5 deletions
7
src/main/java/com/genius/gitget/admin/topic/dto/TopicPagingResponse.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,20 +1,17 @@ | ||
package com.genius.gitget.admin.topic.dto; | ||
|
||
import com.genius.gitget.admin.topic.domain.Topic; | ||
import com.genius.gitget.global.file.domain.Files; | ||
import com.genius.gitget.global.file.dto.FileResponse; | ||
import java.io.IOException; | ||
import java.util.Optional; | ||
import lombok.Builder; | ||
|
||
@Builder | ||
public record TopicPagingResponse(Long topicId, String title, FileResponse fileResponse) { | ||
|
||
public static TopicPagingResponse createByEntity(Topic topic, Optional<Files> files) throws IOException { | ||
public static TopicPagingResponse createByEntity(Topic topic, FileResponse fileResponse) { | ||
return TopicPagingResponse.builder() | ||
.topicId(topic.getId()) | ||
.title(topic.getTitle()) | ||
.fileResponse(FileResponse.create(files)) | ||
.fileResponse(fileResponse) | ||
.build(); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.