-
Notifications
You must be signed in to change notification settings - Fork 0
feat: 파일 업로드 기능 구현 #87
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
Conversation
- 현재는 사용하지 않는 기능이므로, `@Service` 미사용
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.
Pull request overview
This PR implements file upload functionality using OCI Object Storage through pre-authenticated URLs. The implementation allows clients to request temporary upload URLs with a 15-minute expiration time, enabling direct file uploads to OCI without exposing permanent credentials.
- Added OCI Object Storage client configuration with authentication setup
- Implemented pre-authenticated URL generation with unique file naming
- Created utility function for retrieving object URLs from bucket
- Secured the new endpoint with user role authorization
Reviewed changes
Copilot reviewed 10 out of 12 changed files in this pull request and generated 10 comments.
Show a summary per file
| File | Description |
|---|---|
| build.gradle.kts | Added OCI SDK dependencies for Object Storage integration |
| .gitignore | Excluded private key files (.pem) from version control |
| src/main/resources/application.yml | Added OCI configuration properties for tenant, user, region, and bucket settings |
| src/main/kotlin/land/leets/global/config/OciConfig.kt | Configured OCI ObjectStorage client bean with authentication provider |
| src/main/kotlin/land/leets/global/config/SecurityConfig.kt | Added authorization rule for the pre-authenticated URL endpoint |
| src/main/kotlin/land/leets/domain/storage/usecase/GetPreAuthenticatedUrl.kt | Defined interface for pre-authenticated URL generation use case |
| src/main/kotlin/land/leets/domain/storage/usecase/GetPreAuthenticatedUrlImpl.kt | Implemented pre-authenticated URL generation with UUID-based unique file naming |
| src/main/kotlin/land/leets/domain/storage/usecase/GetObjectUrl.kt | Defined interface for object URL retrieval utility |
| src/main/kotlin/land/leets/domain/storage/usecase/GetObjectUrlImpl.kt | Implemented object URL construction from file name |
| src/main/kotlin/land/leets/domain/storage/presentation/dto/PreAuthenticatedUrlResponse.kt | Created response DTO for pre-authenticated URL |
| src/main/kotlin/land/leets/domain/storage/presentation/StorageController.kt | Exposed POST endpoint for pre-authenticated URL generation |
| src/test/kotlin/land/leets/domain/storage/usecase/GetPreAuthenticatedUrlImplTest.kt | Added unit tests for pre-authenticated URL generation |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
src/test/kotlin/land/leets/domain/storage/usecase/GetPreAuthenticatedUrlImplTest.kt
Outdated
Show resolved
Hide resolved
src/main/kotlin/land/leets/domain/storage/presentation/StorageController.kt
Outdated
Show resolved
Hide resolved
src/main/kotlin/land/leets/domain/storage/presentation/StorageController.kt
Show resolved
Hide resolved
src/main/kotlin/land/leets/domain/storage/usecase/GetPreAuthenticatedUrlImpl.kt
Outdated
Show resolved
Hide resolved
src/test/kotlin/land/leets/domain/storage/usecase/GetPreAuthenticatedUrlImplTest.kt
Outdated
Show resolved
Hide resolved
jwnnoh
left a comment
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.
고생하셨어요! 코멘트 참고 부탁드려요 ㅎㅎ
src/main/kotlin/land/leets/domain/storage/usecase/GetPreAuthenticatedUrlImpl.kt
Outdated
Show resolved
Hide resolved
rootTiket
left a comment
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.
고생하셨습니다~ 코멘트 한번 읽어주시면 감사할 것 같아요 :)
src/test/kotlin/land/leets/domain/storage/usecase/GetPreAuthenticatedUrlImplTest.kt
Outdated
Show resolved
Hide resolved
jwnnoh
left a comment
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.
상수 위치만 변경하면 될 것 같아요~!
rootTiket
left a comment
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.
고생하셧습니다~
1. 무슨 이유로 코드를 변경했나요?
OCI Object Storage를 이용한 파일 업로드 기능을 구현합니다.
2. 어떤 위험이나 장애를 발견했나요?
3. 관련 스크린샷을 첨부해주세요.
4. 완료 사항
5. 추가 사항
comment에 추가하도록 하겠습니다.