diff options
Diffstat (limited to 'Sora/Data/Booru')
| -rw-r--r-- | Sora/Data/Booru/BooruManager.swift | 6 | ||||
| -rw-r--r-- | Sora/Data/Booru/BooruPageCacheEntry.swift | 6 |
2 files changed, 9 insertions, 3 deletions
diff --git a/Sora/Data/Booru/BooruManager.swift b/Sora/Data/Booru/BooruManager.swift index 1458636..8f6fbd7 100644 --- a/Sora/Data/Booru/BooruManager.swift +++ b/Sora/Data/Booru/BooruManager.swift @@ -126,7 +126,11 @@ class BooruManager: ObservableObject { // swiftlint:disable:this type_body_leng } } - let cacheEntry = BooruPageCacheEntry(posts: finalPosts, timestamp: Date()) + let cacheEntry = BooruPageCacheEntry( + posts: finalPosts, + timestamp: Date(), + expiration: cacheDuration + ) pageCache.setObject(cacheEntry, forKey: cacheKey) diff --git a/Sora/Data/Booru/BooruPageCacheEntry.swift b/Sora/Data/Booru/BooruPageCacheEntry.swift index c2466f0..29fc419 100644 --- a/Sora/Data/Booru/BooruPageCacheEntry.swift +++ b/Sora/Data/Booru/BooruPageCacheEntry.swift @@ -3,13 +3,15 @@ import Foundation class BooruPageCacheEntry { let posts: [BooruPost] let timestamp: Date + private let expiration: TimeInterval var isExpired: Bool { - Date().timeIntervalSince(timestamp) > 300 + Date().timeIntervalSince(timestamp) > expiration } - init(posts: [BooruPost], timestamp: Date) { + init(posts: [BooruPost], timestamp: Date, expiration: TimeInterval = 300) { self.posts = posts self.timestamp = timestamp + self.expiration = expiration } } |