mirror of
https://github.com/advplyr/audiobookshelf-app.git
synced 2026-08-08 21:08:43 +02:00
Improved error handling
This commit is contained in:
@@ -88,8 +88,8 @@ extension DownloadItem {
|
||||
self.downloadItemParts.allSatisfy({ $0.failed == false })
|
||||
}
|
||||
|
||||
func delete() {
|
||||
try! self.realm?.write {
|
||||
func delete() throws {
|
||||
try self.realm?.write {
|
||||
self.realm?.delete(self.downloadItemParts)
|
||||
self.realm?.delete(self)
|
||||
}
|
||||
|
||||
@@ -198,8 +198,8 @@ extension LocalLibraryItem {
|
||||
)
|
||||
}
|
||||
|
||||
func delete() {
|
||||
try! self.realm?.write {
|
||||
func delete() throws {
|
||||
try self.realm?.write {
|
||||
self.realm?.delete(self.localFiles)
|
||||
self.realm?.delete(self)
|
||||
}
|
||||
|
||||
@@ -119,8 +119,8 @@ extension LocalMediaProgress {
|
||||
self.finishedAt = progress.finishedAt
|
||||
}
|
||||
|
||||
func updateIsFinished(_ finished: Bool) {
|
||||
try! self.realm?.write {
|
||||
func updateIsFinished(_ finished: Bool) throws {
|
||||
try self.realm?.write {
|
||||
if self.isFinished != finished {
|
||||
self.progress = finished ? 1.0 : 0.0
|
||||
}
|
||||
@@ -135,8 +135,8 @@ extension LocalMediaProgress {
|
||||
}
|
||||
}
|
||||
|
||||
func updateFromPlaybackSession(_ playbackSession: PlaybackSession) {
|
||||
try! self.realm?.write {
|
||||
func updateFromPlaybackSession(_ playbackSession: PlaybackSession) throws {
|
||||
try self.realm?.write {
|
||||
self.currentTime = playbackSession.currentTime
|
||||
self.progress = playbackSession.progress
|
||||
self.lastUpdate = Date().timeIntervalSince1970 * 1000
|
||||
@@ -145,8 +145,8 @@ extension LocalMediaProgress {
|
||||
}
|
||||
}
|
||||
|
||||
func updateFromServerMediaProgress(_ serverMediaProgress: MediaProgress) {
|
||||
try! self.realm?.write {
|
||||
func updateFromServerMediaProgress(_ serverMediaProgress: MediaProgress) throws {
|
||||
try self.realm?.write {
|
||||
self.isFinished = serverMediaProgress.isFinished
|
||||
self.progress = serverMediaProgress.progress
|
||||
self.currentTime = serverMediaProgress.currentTime
|
||||
@@ -157,9 +157,9 @@ extension LocalMediaProgress {
|
||||
}
|
||||
}
|
||||
|
||||
static func fetchOrCreateLocalMediaProgress(localMediaProgressId: String?, localLibraryItemId: String?, localEpisodeId: String?) -> LocalMediaProgress? {
|
||||
let realm = try! Realm()
|
||||
return try! realm.write { () -> LocalMediaProgress? in
|
||||
static func fetchOrCreateLocalMediaProgress(localMediaProgressId: String?, localLibraryItemId: String?, localEpisodeId: String?) throws -> LocalMediaProgress? {
|
||||
let realm = try Realm()
|
||||
return try realm.write { () -> LocalMediaProgress? in
|
||||
if let localMediaProgressId = localMediaProgressId {
|
||||
// Check if it existing in the database, if not, we need to create it
|
||||
if let progress = Database.shared.getLocalMediaProgress(localMediaProgressId: localMediaProgressId) {
|
||||
|
||||
@@ -37,7 +37,7 @@ class AudioTrack: EmbeddedObject, Codable {
|
||||
contentUrl = try? values.decode(String.self, forKey: .contentUrl)
|
||||
mimeType = try values.decode(String.self, forKey: .mimeType)
|
||||
metadata = try? values.decode(FileMetadata.self, forKey: .metadata)
|
||||
localFileId = try! values.decodeIfPresent(String.self, forKey: .localFileId)
|
||||
localFileId = try? values.decodeIfPresent(String.self, forKey: .localFileId)
|
||||
serverIndex = try? values.decode(Int.self, forKey: .serverIndex)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user