Throw if we dont receive a success message from leaveGroup API

This commit is contained in:
Jackson Harper 2022-12-08 17:32:33 +08:00
parent 703640a50f
commit d7ddad5c24
2 changed files with 16 additions and 5 deletions

View file

@ -22,10 +22,16 @@ import Views
func leaveGroup(dataService: DataService) async -> Bool {
isLeaving = true
try? await dataService.leaveGroup(groupID: recommendationGroup.id)
defer {
isLeaving = false
}
isLeaving = false
Snackbar.show(message: "You have left the group.")
do {
try await dataService.leaveGroup(groupID: recommendationGroup.id)
Snackbar.show(message: "You have left the group.")
} catch {
return false
}
return true
}
}

View file

@ -37,8 +37,13 @@ public extension DataService {
}
switch payload.data {
case .saved:
continuation.resume()
case let .saved(success):
if success {
continuation.resume()
} else {
continuation.resume(throwing: BasicError.message(messageText: "Unknown error"))
}
return
case let .error(errorMessage: errorMessage):
continuation.resume(throwing: BasicError.message(messageText: errorMessage))
}