Clean up JSON classes

This commit is contained in:
Garth Vander Houwen 2024-01-14 23:57:35 -08:00
parent eafa351266
commit bf1b374dc5

View file

@ -7,6 +7,7 @@
import Foundation
/// Device Hardware API
struct DeviceHardware: Codable {
let hwModel: Int
let hwModelSlug, platformioTarget: String
@ -14,7 +15,6 @@ struct DeviceHardware: Codable {
let activelySupported: Bool
let displayName: String
}
enum Architecture: String, Codable {
case esp32 = "esp32"
case esp32C3 = "esp32-c3"
@ -23,11 +23,14 @@ enum Architecture: String, Codable {
case rp2040 = "rp2040"
}
/// Firmware Release Lists
struct FirmwareReleases: Codable {
let releases: Releases
let pullRequests: [FirmwareRelease]
}
struct Releases: Codable {
let stable, alpha: [FirmwareRelease]
}
struct FirmwareRelease: Codable {
let id, title: String
let pageURL: String
@ -40,11 +43,6 @@ struct FirmwareRelease: Codable {
}
}
// MARK: - Releases
struct Releases: Codable {
let stable, alpha: [FirmwareRelease]
}
class Api : ObservableObject{
func loadDeviceHardwareData(completion:@escaping ([DeviceHardware]) -> ()) {
@ -54,7 +52,6 @@ class Api : ObservableObject{
}
URLSession.shared.dataTask(with: url) { data, response, error in
let deviceHardware = try! JSONDecoder().decode([DeviceHardware].self, from: data!)
//print(deviceHardware)
DispatchQueue.main.async {
completion(deviceHardware)
}