62 lines
1.9 KiB
Go
62 lines
1.9 KiB
Go
|
|
package domain
|
||
|
|
|
||
|
|
import (
|
||
|
|
"time"
|
||
|
|
)
|
||
|
|
|
||
|
|
// SLAPolicy represents the global SLA configuration per severity
|
||
|
|
type SLAPolicy struct {
|
||
|
|
Domain string `json:"domain"`
|
||
|
|
Severity string `json:"severity"`
|
||
|
|
DaysToRemediate int `json:"days_to_remediate"`
|
||
|
|
MaxExtensions int `json:"max_extensions"`
|
||
|
|
DaysToTriage int `json:"days_to_triage"`
|
||
|
|
}
|
||
|
|
|
||
|
|
// AssetRiskSummary holds the rolled-up vulnerability counts for a single asset
|
||
|
|
type AssetRiskSummary struct {
|
||
|
|
AssetIdentifier string
|
||
|
|
TotalActive int
|
||
|
|
Critical int
|
||
|
|
High int
|
||
|
|
Medium int
|
||
|
|
Low int
|
||
|
|
Info int
|
||
|
|
}
|
||
|
|
|
||
|
|
type Ticket struct {
|
||
|
|
ID int `json:"id"`
|
||
|
|
Domain string `json:"domain"`
|
||
|
|
IsOverdue bool `json:"is_overdue"`
|
||
|
|
DaysToResolve *int `json:"days_to_resolve"`
|
||
|
|
Source string `json:"source"`
|
||
|
|
AssetIdentifier string `json:"asset_identifier"`
|
||
|
|
Title string `json:"title"`
|
||
|
|
Description string `json:"description"`
|
||
|
|
RecommendedRemediation string `json:"recommended_remediation"`
|
||
|
|
Severity string `json:"severity"`
|
||
|
|
Status string `json:"status"`
|
||
|
|
|
||
|
|
DedupeHash string `json:"dedupe_hash"`
|
||
|
|
|
||
|
|
PatchEvidence *string `json:"patch_evidence"`
|
||
|
|
OwnerViewedAt *time.Time `json:"owner_viewed_at"`
|
||
|
|
|
||
|
|
TriageDueDate time.Time `json:"triage_due_date"`
|
||
|
|
RemediationDueDate time.Time `json:"remediation_due_date"`
|
||
|
|
CreatedAt time.Time `json:"created_at"`
|
||
|
|
UpdatedAt time.Time `json:"updated_at"`
|
||
|
|
PatchedAt *time.Time `json:"patched_at"`
|
||
|
|
|
||
|
|
SLAString string `json:"sla_string"`
|
||
|
|
Assignee string `json:"assignee"`
|
||
|
|
LatestComment string `json:"latest_comment"`
|
||
|
|
}
|
||
|
|
|
||
|
|
// TicketAssignment represents the many-to-many relationship
|
||
|
|
type TicketAssignment struct {
|
||
|
|
TicketID int `json:"ticket_id"`
|
||
|
|
Assignee string `json:"assignee"`
|
||
|
|
Role string `json:"role"`
|
||
|
|
}
|