Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

[개선] Presigned URL 적용 #113

Merged
merged 93 commits into from
Sep 4, 2024
Merged

[개선] Presigned URL 적용 #113

merged 93 commits into from
Sep 4, 2024

Conversation

cabbage16
Copy link
Member

🎫 관련 이슈

close #


📄 개요

파일 업로드와 다운로드 방식을 presigned URL로 변경했습니다.


🔨 작업 내용

  • 증명사진 업로드와 다운로드 방식을 presigned URL로 바꿨습니다.
  • 원서 서류 업로드와 다운로드 방식을 presigned URL로 바꿨습니다.
  • 공지사항 파일 업로드와 다운로드 방식을 presigned URL로 바꿨습니다.
  • Form의 formUrl, identificationPicutureUri 컬럼을 삭제하고, Notice의 fileUrl 컬럼을 fileUuid로 바꿨습니다.

🏁 확인 사항

  • 테스트를 완료했나요?
  • API 문서를 작성했나요?
  • 코드 컨벤션을 준수했나요?
  • 불필요한 로그, 주석, import 등을 삭제했나요?

🙋🏻 덧붙일 말

cabbage16 and others added 30 commits July 9, 2024 16:22
- 어드민이 최종 점수 순으로 최종 합격 여부를 결정할 수 있습니다.
- 1차 합격 원서 중 최종 점수가 없는 원서가 있다면 예외가 발생합니다.
- 어드민이 최종 점수 순으로 최종 합격 여부를 결정할 수 있습니다.
- 1차 합격 원서 중 최종 점수가 없는 원서가 있다면 예외가 발생합니다.
- 잘못된 이름을 수정하고 좀 더 의미에 맞도록 수정했습니다
- 정원 외 전형은 다른 전형들과 함께 경쟁하지 않고 완전히 독립되어 경쟁해야하여서 수정했습니다.
- 자동으로 2차 합격 여부를 결정하는 테스트를 작성했어요.
- 2차 합격 여부를 결정할 때 최종 점수가 없는 원서가 존재하면 에러가 발생하는 테스트를 작성했어요.
- 2차 합격 여부를 자동으로 결정하는 API 를 추가했어요.
- 어드민이 최종 점수 순으로 최종 합격 여부를 결정할 수 있습니다.
- 1차 합격 원서 중 최종 점수가 없는 원서가 있다면 예외가 발생합니다.
- 잘못된 이름을 수정하고 좀 더 의미에 맞도록 수정했습니다
- 정원 외 전형은 다른 전형들과 함께 경쟁하지 않고 완전히 독립되어 경쟁해야하여서 수정했습니다.
- 자동으로 2차 합격 여부를 결정하는 테스트를 작성했어요.
- 2차 합격 여부를 결정할 때 최종 점수가 없는 원서가 존재하면 에러가 발생하는 테스트를 작성했어요.
- 2차 합격 여부를 자동으로 결정하는 API 를 추가했어요.
- 어드민이 최종 점수 순으로 최종 합격 여부를 결정할 수 있습니다.
- 1차 합격 원서 중 최종 점수가 없는 원서가 있다면 예외가 발생합니다.
- 정렬 기준을 추가해서 최종 점수 오름차순, 내림차순으로 정렬할 수 있습니다.
- 정렬 기준과 정렬 방식을 하나의 파라미터로 합쳤습니다.
- 최종 점수 내림차순 조회 테스트를 만들었어요.
- 최종 점수 오름차순 조회 테스트를 만들었어요.
- 테스트용으로 만든 1차합격 자동 메서드를 삭제했어요.
- 원서를 전체 조회할 때 최종 점수순으로 조회하는데 최종점수가 없는 원서가 있다면 오류를 발생하도록 했어요.
- presigned-url을 생성하는 기능을 만들었어요.
- 폴더 안에 파일을 업로드해도 폴더 안에 업로드 되지 않는 오류를 해결했어요.
- 파일을 조회하기 위한 presigned-url을 생성하는 기능을 만들었어요.
- 존재하지 않는 파일에 대해서도 presigned url이 생성되는 것을 방지하기 위해 파일이 존재하지 않으면 null을 반환하도록 변경했습니다.
- Form에서 identificationPictureUri가 삭제되면서 ExportFormUseCase에서 직접 presigned URL을 변수로 선언하는 형식으로 수정했어요.
- FormStatus에 상관없이 유저가 자신의 원서를 다운로드할 수 있도록 변경했어요.
- ExportFormUseCase에서 FileService를 사용하게 되면서 테스트를 수정했어요.
- presigned URL로 인해 변경된 API들의 문서를 수정했어요.
- shared.adoc에 presigned URL에 대한 내용을 추가했어요.
- presigned-url을 생성하는 기능을 만들었어요.
- 폴더 안에 파일을 업로드해도 폴더 안에 업로드 되지 않는 오류를 해결했어요.
- 파일을 조회하기 위한 presigned-url을 생성하는 기능을 만들었어요.
- 존재하지 않는 파일에 대해서도 presigned url이 생성되는 것을 방지하기 위해 파일이 존재하지 않으면 null을 반환하도록 변경했습니다.
- 증명사진 업로드 기능에 presigned url을 적용했습니다.
- presigned url을 이용하면 증명사진을 조회할 때마다 새로운 presigned url을 요청해야하므로 Applicant 에서 identificationPictureUri 컬럼을 삭제했습니다.
- UploadFileService와 UploadResponse가 더 이상 Upload 기능만 하는것이 아닌 Download 기능을 함께 하므로 이름을 각각 FileService, UrlResponse로 바꿨습니다.
- 공지사항 파일 업로드 기능에 presigned url을 적용했습니다.
- presigned url을 이용하면 공지사항을 조회할 때 마다 새로운 presigned url을 요청해야하므로 Notice에서 fileUrl 컬럼을 fileUuid 로 대체했습니다.
- presigned url로 바뀐 파일 업로드 방식에 따라 테스트를 변경했어요.
- presigned url로 바뀐 파일 업로드 방식에 따라 테스트를 변경했어요.
- Form에서 identificationPictureUri가 삭제되면서 ExportFormUseCase에서 직접 presigned URL을 변수로 선언하는 형식으로 수정했어요.
- FormStatus에 상관없이 유저가 자신의 원서를 다운로드할 수 있도록 변경했어요.
- 토큰 유효기간이 너무 짧다고 해서 presigned url의 유효기간을 3분으로 늘렸습니다.
- notice.adoc에 공지사항 파일 업로드에 누락된 요청 예시를 추가했어요.
- presigned url로 바뀐 파일 업로드 방식에 따라 테스트를 변경했어요.
- 공지사항 파일을 업로드할 때 원본 파일명을 받아서 uuid와 함께 저장하여 원본 파일명으로 다운로드가 가능하도록 변경했습니다.
- 공지사항 파일 업로드 문서에 누락된 Request Body를 작성했어요.
- 공지사항 조회 시 파일 이름을 볼 수 있도록 추가했어요.
@gimhanul
Copy link
Member

url 달라지는 거 프론트랑 협의 됐을까요?

@cabbage16
Copy link
Member Author

url 달라지는 거 프론트랑 협의 됐을까요?

presigned url 적용하는것은 프론트랑 모두 협의 되었습니다.

- Form에서 identificationPictureUri가 삭제되면서 GenerateAdmissionTicketUseCase에서 직접 presigned URL을 변수로 선언하는 형식으로 수정했어요.
- 최종 합격 발표일을 수험표에 추가했어요.
- presigned url이 들어가게 수정했어요.
Copy link

sonarcloud bot commented Sep 3, 2024

@cabbage16 cabbage16 merged commit 940051b into develop Sep 4, 2024
2 checks passed
@cabbage16 cabbage16 deleted the perf/#111 branch September 7, 2024 22:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[개선] Presigned URL 적용
2 participants