a native ios client for gitbay

client ios swift

https://gitbay.org

gitbay/Releases/ReleaseModels.swift

ui-smoke
gitbay-ios/gitbay/Releases/ReleaseModels.swift history · blame · raw

25 lines · 642 bytes

 1import Foundation
 2
 3/// One release; `release list` rows and `release show`.
 4nonisolated struct Release: Decodable, Sendable, Hashable, Identifiable {
 5    let tag: String
 6    let title: String
 7    let notes: String?
 8    let author: String?
 9    let createdAt: Date
10    let assets: [Asset]?
11
12    enum CodingKeys: String, CodingKey {
13        case tag, title, notes, author, assets
14        case createdAt = "created_at"
15    }
16
17    var id: String { tag }
18
19    nonisolated struct Asset: Decodable, Sendable, Hashable, Identifiable {
20        let name: String
21        let size: Int64
22        let sha256: String
23        var id: String { name }
24    }
25}