From 4dc72c0aafc85cfe491b21cbc49fbccb271a08af Mon Sep 17 00:00:00 2001 From: Laurent Date: Tue, 11 Mar 2025 17:27:17 +0100 Subject: [PATCH] Fix issue where tournament deletes kept tournament file directory --- PadelClub/Data/DataStore.swift | 10 ++++++++++ PadelClub/Views/Navigation/Agenda/EventListView.swift | 11 +---------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/PadelClub/Data/DataStore.swift b/PadelClub/Data/DataStore.swift index 9e21f9b..d0f910a 100644 --- a/PadelClub/Data/DataStore.swift +++ b/PadelClub/Data/DataStore.swift @@ -212,6 +212,16 @@ class DataStore: ObservableObject { } + func deleteTournament(_ tournament: Tournament) { + let event = tournament.eventObject() + let isLastTournament = event?.tournaments.count == 1 + self.tournaments.delete(instance: tournament) + if let event, isLastTournament { + self.events.delete(instance: event) + } + StoreCenter.main.destroyStore(identifier: tournament.id) + } + fileprivate func _localDisconnect() { StoreCenter.main.collectionsCanSynchronize = false diff --git a/PadelClub/Views/Navigation/Agenda/EventListView.swift b/PadelClub/Views/Navigation/Agenda/EventListView.swift index 56feb26..6998a05 100644 --- a/PadelClub/Views/Navigation/Agenda/EventListView.swift +++ b/PadelClub/Views/Navigation/Agenda/EventListView.swift @@ -285,16 +285,7 @@ struct EventListView: View { #if DEBUG .swipeActions(edge: .trailing, allowsFullSwipe: true) { Button(role: .destructive) { - do { - let event = tournament.eventObject() - let isLastTournament = event?.tournaments.count == 1 - try dataStore.tournaments.delete(instance: tournament) - if let event, isLastTournament { - try dataStore.events.delete(instance: event) - } - } catch { - Logger.error(error) - } + dataStore.deleteTournament(tournament) } label: { LabelDelete() }