gitbay/Builds/BuildModels.swift

1c5622210d0f72efd86582ce195a6741401e7939
gitbay-ios/gitbay/Builds/BuildModels.swift history · blame · raw

21 lines · 528 bytes

 1import Foundation
 2
 3/// One row of `build list`.
 4nonisolated struct Build: Decodable, Sendable, Hashable, Identifiable {
 5    let number: Int64
 6    let job: String
 7    let status: String
 8    let sha: String
 9    let ref: String
10    let createdAt: Date
11    let finishedAt: Date?
12
13    enum CodingKeys: String, CodingKey {
14        case number, job, status, sha, ref
15        case createdAt = "created_at"
16        case finishedAt = "finished_at"
17    }
18
19    var id: Int64 { number }
20    var shortSHA: String { String(sha.prefix(10)) }
21}