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 Models
import SwiftUI import SwiftUI
import Timeline import Timeline
import Network
struct AccountSettingsView: View { struct AccountSettingsView: View {
@Environment(\.dismiss) private var dismiss @Environment(\.dismiss) private var dismiss
@ -67,6 +68,8 @@ struct AccountSettingsView: View {
Button(role: .destructive) { Button(role: .destructive) {
if let token = appAccount.oauthToken { if let token = appAccount.oauthToken {
Task { 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 }) { if let sub = pushNotifications.subscriptions.first(where: { $0.account.token == token }) {
await sub.deleteSubscription() await sub.deleteSubscription()
} }

View file

@ -39,13 +39,6 @@ public struct ListEditView: View {
} }
} }
.listRowBackground(theme.primaryBackgroundColor) .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 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 {}
}
} }