Skip to content

Commit 1b66ca4

Browse files
authored
[#468] WidgetCore 레이어에서 Domain 레이어 의존성을 제거한다 (#473)
* refactor: 불필요 import 문 제거 * refactor: 위젯 Todo 스냅샷 Core 이동 * refactor: 위젯 동기화 흐름의 Data 계층 이동 * refactor: WidgetCore의 외부 레이어 의존성 제거 * refactor: 위젯 스냅샷 갱신 구현 위치 정리 * refactor: WidgetTodoSnapshot에 Sendable 추가
1 parent 867c1ed commit 1b66ca4

24 files changed

Lines changed: 51 additions & 77 deletions

Application/DevLogApp/Sources/App/Assembler/AppLayerAssembler.swift

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
import DevLogCore
99
import DevLogData
1010
import DevLogDomain
11-
import DevLogWidgetCore
1211

1312
final class AppLayerAssembler: Assembler {
1413
func assemble(_ container: any DIContainer) {

Application/DevLogApp/Sources/App/Delegate/AppDelegate.swift

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
import UIKit
99
import DevLogCore
1010
import DevLogData
11-
import DevLogWidgetCore
1211
import GoogleSignIn
1312

1413
class AppDelegate: UIResponder, UIApplicationDelegate {

Application/DevLogApp/Sources/App/DevLogApp.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@
77

88
import SwiftUI
99
import DevLogCore
10+
import DevLogData
1011
import DevLogDomain
1112
import DevLogPresentation
12-
import DevLogWidgetCore
1313

1414
@main
1515
struct DevLogApp: App {
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
//
2+
// WidgetTodoSnapshot.swift
3+
// DevLogCore
4+
//
5+
// Created by opfic on 5/18/26.
6+
//
7+
8+
import Foundation
9+
10+
public struct WidgetTodoSnapshot: Equatable, Sendable {
11+
public let id: String
12+
public let number: Int?
13+
public let title: String
14+
public let isPinned: Bool
15+
public let createdAt: Date
16+
public let completedAt: Date?
17+
public let deletedAt: Date?
18+
public let dueDate: Date?
19+
20+
public init(
21+
id: String,
22+
number: Int?,
23+
title: String,
24+
isPinned: Bool,
25+
createdAt: Date,
26+
completedAt: Date?,
27+
deletedAt: Date?,
28+
dueDate: Date?
29+
) {
30+
self.id = id
31+
self.number = number
32+
self.title = title
33+
self.isPinned = isPinned
34+
self.createdAt = createdAt
35+
self.completedAt = completedAt
36+
self.deletedAt = deletedAt
37+
self.dueDate = dueDate
38+
}
39+
}

Application/DevLogData/Sources/DTO/TodoDTO.swift

Lines changed: 0 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -101,34 +101,3 @@ public struct TodoResponse {
101101
self.category = category
102102
}
103103
}
104-
105-
public struct WidgetTodoSnapshot: Equatable {
106-
public let id: String
107-
public let number: Int?
108-
public let title: String
109-
public let isPinned: Bool
110-
public let createdAt: Date
111-
public let completedAt: Date?
112-
public let deletedAt: Date?
113-
public let dueDate: Date?
114-
115-
public init(
116-
id: String,
117-
number: Int?,
118-
title: String,
119-
isPinned: Bool,
120-
createdAt: Date,
121-
completedAt: Date?,
122-
deletedAt: Date?,
123-
dueDate: Date?
124-
) {
125-
self.id = id
126-
self.number = number
127-
self.title = title
128-
self.isPinned = isPinned
129-
self.createdAt = createdAt
130-
self.completedAt = completedAt
131-
self.deletedAt = deletedAt
132-
self.dueDate = dueDate
133-
}
134-
}

Application/DevLogData/Sources/Mapper/TodoMapping.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
// Created by 최윤진 on 2/19/26.
66
//
77

8+
import DevLogCore
89
import DevLogDomain
910

1011
public extension TodoRequest {

Widget/DevLogWidgetCore/Sources/Common/WidgetSyncEvent.swift renamed to Application/DevLogData/Sources/Widget/WidgetSyncEvent.swift

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,10 @@
11
//
22
// WidgetSyncEvent.swift
3-
// DevLogWidgetCore
3+
// DevLogData
44
//
55
// Created by opfic on 4/29/26.
66
//
77

8-
import DevLogDomain
9-
import DevLogData
10-
118
public enum WidgetSyncEvent: Equatable {
129
case syncRequested
1310
}

Widget/DevLogWidgetCore/Sources/Sync/WidgetSyncEventBus.swift renamed to Application/DevLogData/Sources/Widget/WidgetSyncEventBus.swift

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
11
//
22
// WidgetSyncEventBus.swift
3-
// DevLogWidgetCore
3+
// DevLogData
44
//
55
// Created by opfic on 4/30/26.
66
//
77

88
import Combine
9-
import DevLogDomain
10-
import DevLogData
119

1210
public protocol WidgetSyncEventBus {
1311
func publish(_ event: WidgetSyncEvent)

Widget/DevLogWidgetCore/Sources/Sync/WidgetSyncEventBusImpl.swift renamed to Application/DevLogData/Sources/Widget/WidgetSyncEventBusImpl.swift

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
11
//
22
// WidgetSyncEventBusImpl.swift
3-
// DevLogWidgetCore
3+
// DevLogData
44
//
55
// Created by opfic on 4/30/26.
66
//
77

88
import Combine
9-
import DevLogDomain
10-
import DevLogData
119

1210
public final class WidgetSyncEventBusImpl: WidgetSyncEventBus {
1311
private let subject = PassthroughSubject<WidgetSyncEvent, Never>()

Widget/DevLogWidgetCore/Sources/Sync/WidgetSyncEventHandler.swift renamed to Application/DevLogData/Sources/Widget/WidgetSyncEventHandler.swift

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
//
22
// WidgetSyncEventHandler.swift
3-
// DevLogWidgetCore
3+
// DevLogData
44
//
55
// Created by opfic on 4/30/26.
66
//
@@ -9,7 +9,6 @@ import Combine
99
import Foundation
1010
import DevLogCore
1111
import DevLogDomain
12-
import DevLogData
1312

1413
public final class WidgetSyncEventHandler {
1514
private let repository: TodoRepository

0 commit comments

Comments
 (0)