Skip to content

Conversation

@ljdongz
Copy link
Collaborator

@ljdongz ljdongz commented May 18, 2025

#️⃣ 연관된 이슈

📝 작업 내용

아래 작업을 수행했습니다.

  • FirebasePath -> FirebaseEndpoint로 네이밍 수정
  • FirebaseEndpoint 구체적인 path 추가
  • Link, LinkDTO 네이밍 수정
  • import 알파벳 순으로 정렬
  • AppDI 모듈 구현
  • GenerateLink, Folder / FetchLink, FolderList UseCase 수정

🎨 스크린샷

💬 추가 설명

@ljdongz ljdongz requested a review from f-lab-barry May 18, 2025 07:36
@ljdongz ljdongz self-assigned this May 18, 2025
@ljdongz ljdongz linked an issue May 18, 2025 that may be closed by this pull request
@ljdongz ljdongz changed the base branch from develop to refactor/#40 May 18, 2025 07:37
@sonarqubecloud
Copy link

Comment on lines +32 to +40

@propertyWrapper
public struct Dependency<T> {
public let wrappedValue: T

public init() {
self.wrappedValue = DIContainer.shared.resolve()
}
}
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reducer에서 의존성을 쉽게 불러오기 위한 프로퍼티 래퍼입니다.

@Dependency private var useCase: UseCase

Comment on lines 13 to +19
public struct LinkMetadataProviderImpl: LinkMetadataProvider {
private let metadataProvider = LPMetadataProvider()

public init() {}

public func fetchMetadata(urlString: String) async -> Result<LinkMetadata, LinkMetadataError> {
let metadataProvider = LPMetadataProvider()

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fetchMetadata(urlString:)을 두번 연속 호출하게 되면서 발생할 수 있는 LinkMetadataError.concurrentFetchNotAllowed 에러를 방지하기 위해 메서드 내에서 LPMetadataProvider 객체를 생성해서 사용하도록 수정했습니다.

Comment on lines +56 to +59

enum AuthError: Error {
case unauthenticated
}
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

인증되지 않은 상태에서 허용되지 않은 접근(ex. 모든 링크, 폴더 가져오기 ...)을 할 경우 발생시킬 에러 타입을 정의했습니다

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Firestore와 Storage 경로를 구분했습니다.

import Foundation

struct Link: Hashable {
struct WebLink: Hashable {
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

View에서 웹페이지를 띄우기 위해 사용되는 View Component인 Link와 네이밍이 겹쳐 수정했습니다.

Base automatically changed from refactor/#40 to develop May 19, 2025 15:28
@ljdongz ljdongz merged commit e83200f into develop May 19, 2025
2 checks passed
@ljdongz ljdongz deleted the refactor/#43 branch May 19, 2025 15:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Refactor] 전체적인 코드 리팩토링

3 participants