Less obnoxious error handling

This commit is contained in:
Arkadiusz Fal
2022-12-16 09:35:10 +01:00
parent a9c8053474
commit 4330856c5e
10 changed files with 97 additions and 25 deletions

View File

@@ -9,6 +9,7 @@ final class PlaylistsModel: ObservableObject {
@Published var isLoading = false
@Published var playlists = [Playlist]()
@Published var reloadPlaylists = false
@Published var error: RequestError?
var accounts = AccountsModel.shared
@@ -60,16 +61,14 @@ final class PlaylistsModel: ObservableObject {
self?.isLoading = false
}
.onSuccess { resource in
self.error = nil
if let playlists: [Playlist] = resource.typedContent() {
self.playlists = playlists
PlaylistsCacheModel.shared.storePlaylist(account: account, playlists: playlists)
onSuccess()
}
}
.onFailure { error in
self.playlists = []
NavigationModel.shared.presentAlert(title: "Could not refresh Playlists", message: error.userMessage)
}
.onFailure { self.error = $0 }
}
}