Changed the location for offlineFeedbackForm from cache distionary to documents directory.

Also added the logic if pageType = offlineFeeback then dis-regard expiration date,
This commit is contained in:
mayur nilwant 2024-06-09 10:58:07 -04:00
parent e76313da4e
commit 2d751b9d57

View File

@ -50,7 +50,8 @@ public class CachedData: Codable {
@objc public static let shared = PersistentCacheManager()
private let fileManager = FileManager.default
@objc public lazy var cacheDirectory = { fileManager.urls(for: .cachesDirectory, in: .userDomainMask).first!.appendingPathComponent("Atomic")}()
@objc public lazy var appLevelCacheDirectory = { fileManager.urls(for: .cachesDirectory, in: .userDomainMask).first!.appendingPathComponent("AppAtomic")}()
@objc public lazy var appLevelCacheDirectory = { fileManager.urls(for: .documentDirectory, in: .userDomainMask).first!.appendingPathComponent("AppAtomic")}()
private let PageTypeOfflineFeedback = "offlineFeedback"
private override init() {}
@ -70,16 +71,17 @@ public class CachedData: Codable {
@objc public func load(forKey key: String, path: URL) throws -> [String: AnyHashable] {
do {
let data = try Data(contentsOf: path)
let decodedCachedData = try JSONDecoder().decode(CachedData.self, from: data)
if Date() < decodedCachedData.expirationDate {
if Date() < decodedCachedData.expirationDate || key == PageTypeOfflineFeedback {
MVMCoreLoggingHandler.logDebugMessage(withDelegate: "CACHEDFEED: LOADED FROM PERSISTENT CACHE, key:\(key), path:\(path)")
return decodedCachedData.data
} else {
MVMCoreLoggingHandler.logDebugMessage(withDelegate: "CACHEDFEED: EXPIRED, key:\(key), path:\(path)")
throw CacheError.dataExpired
}
} catch {
} catch (let error){
// Remove item from the cache on any failure.
try fileManager.removeItem(at: path)