Fix crash when extra_usage fields are null

This commit is contained in:
superdooper86
2026-05-07 13:36:23 +02:00
parent edd8d42c8d
commit 464884e88f
2 changed files with 14 additions and 6 deletions
+12 -4
View File
@@ -83,10 +83,10 @@ struct UsageWindow: Codable {
struct ExtraUsage: Codable {
let isEnabled: Bool
let monthlyLimit: Double
let usedCredits: Double
let utilization: Double
let currency: String
let monthlyLimit: Double?
let usedCredits: Double?
let utilization: Double?
let currency: String?
enum CodingKeys: String, CodingKey {
case isEnabled = "is_enabled"
case monthlyLimit = "monthly_limit"
@@ -94,6 +94,14 @@ struct ExtraUsage: Codable {
case utilization
case currency
}
init(from decoder: Decoder) throws {
let c = try decoder.container(keyedBy: CodingKeys.self)
isEnabled = (try? c.decodeIfPresent(Bool.self, forKey: .isEnabled)) ?? false
monthlyLimit = try? c.decodeIfPresent(Double.self, forKey: .monthlyLimit)
usedCredits = try? c.decodeIfPresent(Double.self, forKey: .usedCredits)
utilization = try? c.decodeIfPresent(Double.self, forKey: .utilization)
currency = try? c.decodeIfPresent(String.self, forKey: .currency)
}
}
// (Bootstrap models removed org ID is configured directly)