@ -171,8 +171,33 @@ class DataStore: ObservableObject {
Logger.error(error)
}
DispatchQueue.main.async {
self._localDisconnect()
func deleteAccount() {
Task {
do {
let services = try StoreCenter.main.service()
try await services.deleteAccount()
} catch {
fileprivate func _localDisconnect() {
StoreCenter.main.collectionsCanSynchronize = false
self.tournaments.reset()
@ -192,7 +217,6 @@ class DataStore: ObservableObject {
self.user.clubs.removeAll()
StoreCenter.main.disconnect()
func copyToLocalServer(tournament: Tournament) {
@ -22,6 +22,13 @@ struct AccountView: View {
DataStore.shared.disconnect()
handler()
Section {
RowButtonView("Supprimer mon compte", role: .destructive, confirmationMessage: "Voulez-vous vraiment supprimer définitivement votre compte et ses données associées ?") {
DataStore.shared.deleteAccount()
}.navigationTitle(user.username)