Merge branch 'main'

Conflicts:
	PadelClub.xcodeproj/project.pbxproj
clubs
Raz 1 year ago
commit a0d76f9458
  1. 28
      PadelClub/Data/DataStore.swift
  2. 7
      PadelClub/Views/User/AccountView.swift

@ -170,9 +170,34 @@ class DataStore: ObservableObject {
} catch { } catch {
Logger.error(error) Logger.error(error)
} }
DispatchQueue.main.async {
self._localDisconnect()
}
} }
StoreCenter.main.disconnect() }
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 StoreCenter.main.collectionsCanSynchronize = false
self.tournaments.reset() self.tournaments.reset()
@ -191,6 +216,7 @@ class DataStore: ObservableObject {
self.user = self._temporaryLocalUser.item ?? User.placeHolder() self.user = self._temporaryLocalUser.item ?? User.placeHolder()
self.user.clubs.removeAll() self.user.clubs.removeAll()
StoreCenter.main.disconnect()
} }
func copyToLocalServer(tournament: Tournament) { func copyToLocalServer(tournament: Tournament) {

@ -22,6 +22,13 @@ struct AccountView: View {
DataStore.shared.disconnect() DataStore.shared.disconnect()
handler() 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) }.navigationTitle(user.username)
} }
} }

Loading…
Cancel
Save