Skip to content

Commit 1585fee

Browse files
committed
Рефактор
- Закрыл изменение unreadMessagesCount отдельным методом - При логауте очищаю blacklist
1 parent 9456842 commit 1585fee

File tree

2 files changed

+13
-4
lines changed

2 files changed

+13
-4
lines changed

SwiftUI-WorkoutApp/Screens/Messages/DialogList/DialogListViewModel.swift

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ final class DialogListViewModel: ObservableObject {
1111
if !refresh { isLoading.toggle() }
1212
do {
1313
list = try await APIService(with: defaults).getDialogs()
14-
defaults.unreadMessagesCount = list.map(\.unreadMessagesCount).reduce(0, +)
14+
let unreadMessagesCount = list.map(\.unreadMessagesCount).reduce(0, +)
15+
defaults.saveUnreadMessagesCount(unreadMessagesCount)
1516
} catch {
1617
errorMessage = ErrorFilterService.message(from: error)
1718
}
@@ -45,7 +46,8 @@ final class DialogListViewModel: ObservableObject {
4546
guard dialog.unreadMessagesCount > 0,
4647
defaults.unreadMessagesCount >= dialog.unreadMessagesCount
4748
else { return }
48-
defaults.unreadMessagesCount -= dialog.unreadMessagesCount
49+
let newValue = defaults.unreadMessagesCount - dialog.unreadMessagesCount
50+
defaults.saveUnreadMessagesCount(newValue)
4951
}
5052

5153
func clearErrorMessage() { errorMessage = "" }

SwiftUI-WorkoutApp/Services/DefaultsService.swift

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,14 @@ protocol DefaultsProtocol: AnyObject {
1010
var friendRequestsList: [UserResponse] { get }
1111
var friendsIdsList: [Int] { get }
1212
var blacklistedUsers: [UserResponse] { get }
13-
var unreadMessagesCount: Int { get set }
13+
var unreadMessagesCount: Int { get }
1414
func saveAuthData(_ info: AuthData) throws
1515
func basicAuthInfo() throws -> AuthData
1616
func setUserNeedUpdate(_ newValue: Bool)
1717
func saveUserInfo(_ info: UserResponse) throws
1818
func saveFriendsIds(_ ids: [Int]) throws
1919
func saveFriendRequests(_ array: [UserResponse]) throws
20+
func saveUnreadMessagesCount(_ count: Int)
2021
func saveBlacklist(_ array: [UserResponse]) throws
2122
func setHasJournals(_ hasJournals: Bool)
2223
func setHasSportsGrounds(_ hasGrounds: Bool)
@@ -56,7 +57,7 @@ final class DefaultsService: ObservableObject, DefaultsProtocol {
5657
private(set) var hasFriends = false
5758

5859
@AppStorage(Key.unreadMessagesCount.rawValue)
59-
var unreadMessagesCount = 0
60+
private (set) var unreadMessagesCount = 0
6061

6162
var mainUserInfo: UserResponse? {
6263
try? JSONDecoder().decode(UserResponse.self, from: userInfo)
@@ -136,11 +137,17 @@ final class DefaultsService: ObservableObject, DefaultsProtocol {
136137
hasSportsGrounds = hasGrounds
137138
}
138139

140+
func saveUnreadMessagesCount(_ count: Int) {
141+
unreadMessagesCount = count
142+
}
143+
139144
func triggerLogout() {
140145
authData = .init()
141146
userInfo = .init()
142147
friendsIds = .init()
143148
friendRequests = .init()
149+
blacklist = .init()
150+
unreadMessagesCount = 0
144151
isAuthorized = false
145152
hasFriends = false
146153
hasJournals = false

0 commit comments

Comments
 (0)