Cleanup logout code

This commit is contained in:
Thomas Ricouard 2023-02-04 20:42:51 +01:00
parent 081442cfe9
commit f54db5a43e
3 changed files with 3 additions and 17 deletions

View file

@ -5,6 +5,7 @@ import Env
import Models
import SwiftUI
import Timeline
import Network
struct AccountSettingsView: View {
@Environment(\.dismiss) private var dismiss
@ -67,6 +68,8 @@ struct AccountSettingsView: View {
Button(role: .destructive) {
if let token = appAccount.oauthToken {
Task {
let client = Client(server: appAccount.server, oauthToken: token)
await TimelineCache.shared.clearCache(for: client)
if let sub = pushNotifications.subscriptions.first(where: { $0.account.token == token }) {
await sub.deleteSubscription()
}

View file

@ -39,13 +39,6 @@ public struct ListEditView: View {
}
}
.listRowBackground(theme.primaryBackgroundColor)
}.onDelete { indexes in
if let index = indexes.first {
Task {
let account = viewModel.accounts[index]
await viewModel.delete(account: account)
}
}
}
}
}

View file

@ -25,14 +25,4 @@ public class ListEditViewModel: ObservableObject {
isLoadingAccounts = false
}
}
func delete(account: Account) async {
guard let client else { return }
do {
let response = try await client.delete(endpoint: Lists.updateAccounts(listId: list.id, accounts: [account.id]))
if response?.statusCode == 200 {
accounts.removeAll(where: { $0.id == account.id })
}
} catch {}
}
}