summaryrefslogtreecommitdiff
path: root/Sora/Data/Booru/BooruPageCacheEntry.swift
blob: 7589aaddda9a87f11f2103598cb6b8c712df69af (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import Foundation

class BooruPageCacheEntry {
  static let defaultExpiration: TimeInterval = 300

  let posts: [BooruPost]
  let timestamp: Date
  private let expiration: TimeInterval

  var isExpired: Bool {
    Date().timeIntervalSince(timestamp) > expiration
  }

  init(
    posts: [BooruPost],
    timestamp: Date,
    expiration: TimeInterval = BooruPageCacheEntry.defaultExpiration
  ) {
    self.posts = posts
    self.timestamp = timestamp
    self.expiration = expiration
  }
}