Documentation
¶
Overview ¶
Package shared holds value objects and errors common to all domain packages. It must not import any other internal package (innermost layer of the onion).
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( ErrValidation = errors.New("validation error") ErrNotFound = errors.New("not found") ErrForbidden = errors.New("forbidden") // scope / authorization-window violations ErrConflict = errors.New("conflict") // optimistic-concurrency version mismatch (lost-update guard) ErrSaturated = errors.New("system saturated") // bounded admission rejected (backpressure → 503) )
Sentinel errors mapped to transport status codes by the adapter layer.
Functions ¶
func CVSSv3BaseScore ¶
CVSSv3BaseScore computes the CVSS v3.0/v3.1 base score from a vector string (e.g. "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"). Returns (score, true) for a well-formed v3 vector, else (0, false). v4.0 vectors are not scored here.
func SeverityRank ¶
SeverityRank orders severity from unknown (0) to critical (5); used for thresholds and tie-breaks.
Types ¶
type Audit ¶
type Audit struct {
CreatedAt time.Time
UpdatedAt time.Time
// CreatedBy / UpdatedBy attribute a record to the actor that created / last modified it
// (ownership). Empty = system/unknown (legacy rows, or write paths not yet wired).
// Engagements persist these; other record types carry the fields and adopt persistence
// incrementally – the canonical home so ownership is one shape across the domain.
CreatedBy string
UpdatedBy string
}
Audit holds common audit timestamps embedded by entities.
type ID ¶
type ID string
ID is a domain identifier (opaque string; generated by the platform layer).
type Severity ¶
type Severity string
Severity is the normalized severity scale shared by findings and vulnerabilities.
func SeverityFromScore ¶
SeverityFromScore maps a CVSS base score to the qualitative severity band.