summaryrefslogtreecommitdiff
path: root/Sora/Data/Booru
diff options
context:
space:
mode:
Diffstat (limited to 'Sora/Data/Booru')
-rw-r--r--Sora/Data/Booru/BooruManager.swift6
-rw-r--r--Sora/Data/Booru/BooruPageCacheEntry.swift6
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
}
}