42 lines
1.0 KiB
Go
42 lines
1.0 KiB
Go
package models
|
|
|
|
import "time"
|
|
|
|
type Asset struct {
|
|
Name string `json:"name"`
|
|
Size int64 `json:"size"`
|
|
URL string `json:"url"`
|
|
OS string `json:"os"`
|
|
SHA256 string `json:"sha256,omitempty"`
|
|
IsSBOM bool `json:"is_sbom"`
|
|
}
|
|
|
|
type Release struct {
|
|
TagName string `json:"tag_name"`
|
|
Body string `json:"body,omitempty"`
|
|
CreatedAt time.Time `json:"created_at"`
|
|
Assets []Asset `json:"assets"`
|
|
}
|
|
|
|
type Software struct {
|
|
Name string `json:"name"`
|
|
Owner string `json:"owner"`
|
|
Description string `json:"description"`
|
|
Releases []Release `json:"releases"`
|
|
GiteaURL string `json:"gitea_url"`
|
|
Topics []string `json:"topics"`
|
|
License string `json:"license,omitempty"`
|
|
IsPrivate bool `json:"is_private"`
|
|
AvatarURL string `json:"avatar_url,omitempty"`
|
|
}
|
|
|
|
type FingerprintData struct {
|
|
Known bool `json:"known"`
|
|
TotalBytes int64 `json:"total_bytes"`
|
|
}
|
|
|
|
type SoftwareResponse struct {
|
|
GiteaURL string `json:"gitea_url"`
|
|
Software []Software `json:"software"`
|
|
}
|