summaryrefslogtreecommitdiff
path: root/Hutch/Models/ArtifactInfo.swift
blob: dbe9d96be34abf346c43cf127baa77e0b06e96fb (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.
struct ArtifactInfo: Codable, Sendable, Identifiable {
    let id: Int
    let filename: String
    let checksum: String
    let size: Int
    let url: URL
}

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

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