Skip to content

Commit 3c11b9c

Browse files
chore: 딥링크를 통한 분실물 진입 대응
1 parent 9c583ba commit 3c11b9c

1 file changed

Lines changed: 12 additions & 10 deletions

File tree

Koin/Apps/SceneDelegate.swift

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,12 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate {
3333
private func handleIncomingDeepLink(url: URL, navigationController: UINavigationController) {
3434
// URL 경로가 "/articles/lost-item"인 경우에 처리
3535
if url.path == "/articles/lost-item" {
36-
let noticeRepository = DefaultNoticeListRepository(service: DefaultNoticeService())
37-
let viewController = NoticeListViewController(viewModel: NoticeListViewModel(
38-
fetchNoticeArticlesUseCase: DefaultFetchNoticeArticlesUseCase(noticeListRepository: noticeRepository),
39-
fetchMyKeywordUseCase: DefaultFetchNotificationKeywordUseCase(noticeListRepository: noticeRepository),
40-
logAnalyticsEventUseCase: DefaultLogAnalyticsEventUseCase(repository: GA4AnalyticsRepository(service: GA4AnalyticsService())),
41-
noticeListType: .lostItem
42-
))
36+
let userRepository = DefaultUserRepository(service: DefaultUserService())
37+
let lostItemRepository = DefaultLostItemRepository(service: DefaultLostItemService())
38+
let checkLoginUseCase = DefaultCheckLoginUseCase(userRepository: userRepository)
39+
let fetchLostItemItemUseCase = DefaultFetchLostItemListUseCase(repository: lostItemRepository)
40+
let viewModel = LostItemListViewModel(checkLoginUseCase: checkLoginUseCase, fetchLostItemListUseCase: fetchLostItemItemUseCase)
41+
let viewController = LostItemListViewController(viewModel: viewModel)
4342
navigationController.pushViewController(viewController, animated: false)
4443
}
4544
// 다른 딥링크 처리 로직을 추가할 수 있습니다.
@@ -51,9 +50,12 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate {
5150
// URL의 경로가 "/articles/lost-item"인지 확인
5251
if incomingURL.path == "/articles/lost-item" {
5352
if let navigationController = window?.rootViewController as? UINavigationController {
54-
let noticeRepository = DefaultNoticeListRepository(service: DefaultNoticeService())
55-
let viewController = NoticeListViewController(viewModel: NoticeListViewModel(fetchNoticeArticlesUseCase: DefaultFetchNoticeArticlesUseCase(noticeListRepository: noticeRepository), fetchMyKeywordUseCase: DefaultFetchNotificationKeywordUseCase(noticeListRepository: noticeRepository), logAnalyticsEventUseCase: DefaultLogAnalyticsEventUseCase(repository: GA4AnalyticsRepository(service: GA4AnalyticsService())), noticeListType: .lostItem))
56-
53+
let userRepository = DefaultUserRepository(service: DefaultUserService())
54+
let lostItemRepository = DefaultLostItemRepository(service: DefaultLostItemService())
55+
let checkLoginUseCase = DefaultCheckLoginUseCase(userRepository: userRepository)
56+
let fetchLostItemItemUseCase = DefaultFetchLostItemListUseCase(repository: lostItemRepository)
57+
let viewModel = LostItemListViewModel(checkLoginUseCase: checkLoginUseCase, fetchLostItemListUseCase: fetchLostItemItemUseCase)
58+
let viewController = LostItemListViewController(viewModel: viewModel)
5759
navigationController.pushViewController(viewController, animated: false)
5860
}
5961
// 네비게이션 컨트롤러를 통해 LostItemViewController로 이동

0 commit comments

Comments
 (0)