Requests WIP: logIn, getRantsFeed, getWeeklies

This commit is contained in:
Wilhelm Oks
2024-12-15 20:52:03 +01:00
parent 1b51316ab6
commit f5aa7823cc
5 changed files with 141 additions and 11 deletions
@@ -0,0 +1,43 @@
import Foundation
public struct AuthToken: Hashable {
public let id: Int
public let key: String
public let expireTime: Date
public let userId: Int
public init(id: Int, key: String, expireTime: Date, userId: Int) {
self.id = id
self.key = key
self.expireTime = expireTime
self.userId = userId
}
public var isExpired: Bool {
expireTime < Date()
}
}
extension AuthToken {
struct CodingData: Codable {
struct Container: Codable {
let auth_token: AuthToken.CodingData
}
let id: Int
let key: String
let expire_time: Int
let user_id: Int
}
}
extension AuthToken.CodingData {
var decoded: AuthToken {
.init(
id: id,
key: key,
expireTime: Date(timeIntervalSince1970: TimeInterval(expire_time)),
userId: user_id
)
}
}