Skip to content

Commit c304e2b

Browse files
committed
refactor: UI 요소가 불필요한 Handler 계열은 서비스 레이어와 직접 연결
1 parent 9f55ad2 commit c304e2b

7 files changed

Lines changed: 11 additions & 21 deletions

File tree

DevLog/App/Assembler/AppLayerAssembler.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,12 @@ final class AppLayerAssembler: Assembler {
99
func assemble(_ container: any DIContainer) {
1010
container.register(FCMTokenSyncHandler.self) {
1111
FCMTokenSyncHandler(
12-
repository: container.resolve(UserDataRepository.self)
12+
userService: container.resolve(UserService.self)
1313
)
1414
}
1515
container.register(UserTimeZoneSyncHandler.self) {
1616
UserTimeZoneSyncHandler(
17-
repository: container.resolve(UserDataRepository.self)
17+
userService: container.resolve(UserService.self)
1818
)
1919
}
2020
}

DevLog/App/Handler/FCMTokenSyncHandler.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,22 +9,22 @@ import Combine
99
import Foundation
1010

1111
final class FCMTokenSyncHandler {
12-
private let repository: UserDataRepository
12+
private let userService: UserService
1313
private let logger = Logger(category: "FCMTokenSyncHandler")
1414
private var cancellables = Set<AnyCancellable>()
1515

1616
init(
17-
repository: UserDataRepository,
17+
userService: UserService,
1818
notificationCenter: NotificationCenter = .default
1919
) {
20-
self.repository = repository
20+
self.userService = userService
2121

2222
notificationCenter.publisher(for: .didRefreshFCMToken)
2323
.compactMap { $0.userInfo?["fcmToken"] as? String }
2424
.sink { [weak self] fcmToken in
2525
Task {
2626
do {
27-
try await self?.repository.updateFCMToken(fcmToken)
27+
try await self?.userService.updateFCMToken(fcmToken)
2828
} catch {
2929
self?.logger.error("Failed to sync refreshed FCM token", error: error)
3030
}

DevLog/App/Handler/UserTimeZoneSyncHandler.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,22 +9,22 @@ import Combine
99
import UIKit
1010

1111
final class UserTimeZoneSyncHandler {
12-
private let repository: UserDataRepository
12+
private let userService: UserService
1313
private let logger = Logger(category: "UserTimeZoneSyncHandler")
1414
private var cancellables = Set<AnyCancellable>()
1515

1616
init(
17-
repository: UserDataRepository,
17+
userService: UserService,
1818
notificationCenter: NotificationCenter = .default
1919
) {
20-
self.repository = repository
20+
self.userService = userService
2121

2222
notificationCenter.publisher(for: .didRequestUserTimeZoneSync)
2323
.merge(with: notificationCenter.publisher(for: UIApplication.willEnterForegroundNotification))
2424
.sink { [weak self] _ in
2525
Task {
2626
do {
27-
try await self?.repository.updateUserTimeZone()
27+
try await self?.userService.updateUserTimeZone()
2828
} catch {
2929
self?.logger.error("Failed to sync user timeZone", error: error)
3030
}

DevLog/Data/Repository/UserDataRepositoryImpl.swift

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,4 @@ final class UserDataRepositoryImpl: UserDataRepository {
2121
func upsertStatusMessage(_ message: String) async throws {
2222
try await userService.upsertStatusMessage(message)
2323
}
24-
25-
func updateFCMToken(_ fcmToken: String) async throws {
26-
try await userService.updateFCMToken(fcmToken)
27-
}
28-
29-
func updateUserTimeZone() async throws {
30-
try await userService.updateUserTimeZone()
31-
}
3224
}

DevLog/Domain/Protocol/UserDataRepository.swift

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,4 @@
88
protocol UserDataRepository {
99
func fetch() async throws -> UserProfile
1010
func upsertStatusMessage(_ message: String) async throws
11-
func updateFCMToken(_ fcmToken: String) async throws
12-
func updateUserTimeZone() async throws
1311
}

docs/architecture.d2

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,4 @@ data -> storage: "Store call"
2626

2727
infra -> external: "Firebase SDK, social login, metadata fetch"
2828

29-
app -> domain: "exception, Handler -> UserDataRepository"
29+
app -> infra: "Handler -> UserService"

docs/architecture.png

-2.93 KB
Loading

0 commit comments

Comments
 (0)