Adds a way to delete a user account

clubs
Laurent 1 year ago
parent c820e1cbbd
commit 545976e5f2
  1. 26
      PadelClub/Data/DataStore.swift
  2. 7
      PadelClub/Views/User/AccountView.swift

@ -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 {
Logger.error(error)
}
DispatchQueue.main.async {
self._localDisconnect()
}
}
}
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()
handler()
}
}
}.navigationTitle(user.username)
}
}

Loading…
Cancel
Save