summaryrefslogtreecommitdiff
path: root/Hutch/Models/ArtifactInfo.swift
blob: 6418ba874d72cef7f68b9e9b94339dbcac67b306 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import Foundation

/// An artifact with its parent reference name, used in the artifacts tab.
nonisolated struct ArtifactInfo: Codable, Sendable, Identifiable {
    let id: Int
    let filename: String
    let checksum: String
    let size: Int
    let url: URL
}

nonisolated struct ArtifactPage: Codable, Sendable {
    let results: [ArtifactInfo]
    let cursor: String?
}

/// A reference (tag) that has associated artifacts.
nonisolated struct ReferenceWithArtifacts: Codable, Sendable, Identifiable {
    var id: String { name }
    let name: String
    let artifacts: [ArtifactInfo]
}