116 lines
4.2 KiB
Go
116 lines
4.2 KiB
Go
package api
|
|
|
|
import (
|
|
"encoding/json"
|
|
"time"
|
|
)
|
|
|
|
type Repository struct {
|
|
ID uint `json:"id"`
|
|
Name string `json:"name"`
|
|
Owner string `json:"owner"`
|
|
CreatedAt time.Time `json:"created_at"`
|
|
UpdatedAt time.Time `json:"updated_at"`
|
|
}
|
|
|
|
type Commit struct {
|
|
ID uint `json:"id"`
|
|
RepositoryID uint `json:"repository_id"`
|
|
SHA string `json:"sha"`
|
|
Author *string `json:"author,omitempty"`
|
|
Message *string `json:"message,omitempty"`
|
|
Branch *string `json:"branch,omitempty"`
|
|
CommittedAt *time.Time `json:"committed_at,omitempty"`
|
|
CreatedAt time.Time `json:"created_at"`
|
|
}
|
|
|
|
type Artifact struct {
|
|
ID uint `json:"id"`
|
|
RepositoryID uint `json:"repository_id"`
|
|
CommitID uint `json:"commit_id"`
|
|
BuildID *uint `json:"build_id,omitempty"`
|
|
RunID *uint `json:"run_id,omitempty"`
|
|
CrashSignatureID *uint `json:"crash_signature_id,omitempty"`
|
|
Type string `json:"type"`
|
|
BlobKey string `json:"blob_key"`
|
|
BlobSize int64 `json:"blob_size"`
|
|
CrashMessage *string `json:"crash_message,omitempty"`
|
|
StackTrace *string `json:"stack_trace,omitempty"`
|
|
Tags json.RawMessage `json:"tags,omitempty"`
|
|
Metadata json.RawMessage `json:"metadata,omitempty"`
|
|
CreatedAt time.Time `json:"created_at"`
|
|
|
|
RepoName string `json:"repo_name,omitempty"`
|
|
CommitSHA string `json:"commit_sha,omitempty"`
|
|
}
|
|
|
|
type Target struct {
|
|
ID uint `json:"id"`
|
|
RepositoryID uint `json:"repository_id"`
|
|
Name string `json:"name"`
|
|
Type string `json:"type"`
|
|
Tags json.RawMessage `json:"tags,omitempty"`
|
|
Metadata json.RawMessage `json:"metadata,omitempty"`
|
|
CreatedAt time.Time `json:"created_at"`
|
|
UpdatedAt time.Time `json:"updated_at"`
|
|
|
|
RepoName string `json:"repo_name,omitempty"`
|
|
RunCount int64 `json:"run_count,omitempty"`
|
|
CorpusCount int64 `json:"corpus_count,omitempty"`
|
|
}
|
|
|
|
type Run struct {
|
|
ID uint `json:"id"`
|
|
TargetID uint `json:"target_id"`
|
|
CommitID uint `json:"commit_id"`
|
|
Status string `json:"status"`
|
|
StartedAt time.Time `json:"started_at"`
|
|
FinishedAt *time.Time `json:"finished_at,omitempty"`
|
|
Tags json.RawMessage `json:"tags,omitempty"`
|
|
Metadata json.RawMessage `json:"metadata,omitempty"`
|
|
CreatedAt time.Time `json:"created_at"`
|
|
|
|
TargetName string `json:"target_name,omitempty"`
|
|
RepoName string `json:"repo_name,omitempty"`
|
|
CommitSHA string `json:"commit_sha,omitempty"`
|
|
ArtifactCount int64 `json:"artifact_count,omitempty"`
|
|
}
|
|
|
|
type CorpusEntry struct {
|
|
ID uint `json:"id"`
|
|
TargetID uint `json:"target_id"`
|
|
RunID *uint `json:"run_id,omitempty"`
|
|
BlobKey string `json:"blob_key"`
|
|
BlobSize int64 `json:"blob_size"`
|
|
Fingerprint *string `json:"fingerprint,omitempty"`
|
|
CreatedAt time.Time `json:"created_at"`
|
|
}
|
|
|
|
type CrashSignature struct {
|
|
ID uint `json:"id"`
|
|
RepositoryID uint `json:"repository_id"`
|
|
Fingerprint string `json:"fingerprint"`
|
|
SampleTrace *string `json:"sample_trace,omitempty"`
|
|
FirstSeenAt time.Time `json:"first_seen_at"`
|
|
LastSeenAt time.Time `json:"last_seen_at"`
|
|
OccurrenceCount uint `json:"occurrence_count"`
|
|
}
|
|
|
|
type CrashGroup struct {
|
|
ID uint `json:"id"`
|
|
RepositoryID uint `json:"repository_id"`
|
|
CrashSignatureID uint `json:"crash_signature_id"`
|
|
Title string `json:"title"`
|
|
Status string `json:"status"`
|
|
ForgejoIssueID *int `json:"forgejo_issue_id,omitempty"`
|
|
FirstSeenAt time.Time `json:"first_seen_at"`
|
|
LastSeenAt time.Time `json:"last_seen_at"`
|
|
CreatedAt time.Time `json:"created_at"`
|
|
UpdatedAt time.Time `json:"updated_at"`
|
|
|
|
RepoName string `json:"repo_name,omitempty"`
|
|
Fingerprint string `json:"fingerprint,omitempty"`
|
|
OccurrenceCount uint `json:"occurrence_count,omitempty"`
|
|
ForgejoIssueURL *string `json:"forgejo_issue_url,omitempty"`
|
|
}
|