From c5b0f297403f4067ce014dd0975f4b25f5e1a66a Mon Sep 17 00:00:00 2001 From: Aziz Albahar Date: Thu, 26 Dec 2024 08:50:15 +0300 Subject: [PATCH] added delete for old models --- .../Common/Network/APIRequest+Sync.swift | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/CanvasPlusPlayground/Common/Network/APIRequest+Sync.swift b/CanvasPlusPlayground/Common/Network/APIRequest+Sync.swift index f89bbbe..db63890 100644 --- a/CanvasPlusPlayground/Common/Network/APIRequest+Sync.swift +++ b/CanvasPlusPlayground/Common/Network/APIRequest+Sync.swift @@ -77,7 +77,14 @@ extension CacheableAPIRequest { return fetched }() - // User storage version of model + for (id, cachedModel) in cacheLookup { + // Remove association of request with cachedModel if it's not included in request result + if !(latest.contains { $0.id == id }) { + await repository.delete(cachedModel) + } + } + + // Use storage version of model for (i, latestModel) in latest.enumerated() { if let matchedCached = cacheLookup[latestModel.id] { latest[i] = matchedCached