From 41753cd853b8467139890ca68e231d14ef867bd3 Mon Sep 17 00:00:00 2001 From: ronaldheft Date: Sat, 3 Sep 2022 17:18:54 -0400 Subject: [PATCH] Fix marking as read crashing app --- ios/App/Shared/models/local/LocalMediaProgress.swift | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/ios/App/Shared/models/local/LocalMediaProgress.swift b/ios/App/Shared/models/local/LocalMediaProgress.swift index c034ae8d..fc93198b 100644 --- a/ios/App/Shared/models/local/LocalMediaProgress.swift +++ b/ios/App/Shared/models/local/LocalMediaProgress.swift @@ -157,7 +157,19 @@ extension LocalMediaProgress { } } + static func getLocalMediaProgressId(localLibraryItemId: String?, localEpisodeId: String?) -> String? { + if let itemId = localLibraryItemId, let episodeId = localEpisodeId { + return "\(itemId)-\(episodeId)" + } else if let itemId = localLibraryItemId { + return itemId + } else { + return nil + } + } + static func fetchOrCreateLocalMediaProgress(localMediaProgressId: String?, localLibraryItemId: String?, localEpisodeId: String?) throws -> LocalMediaProgress? { + let localMediaProgressId = localMediaProgressId != nil ? localMediaProgressId : LocalMediaProgress.getLocalMediaProgressId(localLibraryItemId: localLibraryItemId, localEpisodeId: localEpisodeId) + let realm = try Realm() return try realm.write { () -> LocalMediaProgress? in if let localMediaProgressId = localMediaProgressId {