types Types

This document shows Go type definitions from the codebase.

Generated types:

As {#as}

Source: ats/types/attestation.go:17

type As struct {
	ID string `db:"id" json:"id" validate:"required"`
	Subjects []string `db:"subjects" json:"subjects" validate:"required,min=1"`
	Predicates []string `db:"predicates" json:"predicates" validate:"required,min=1"`
	Contexts []string `db:"contexts" json:"contexts" validate:"required,min=1"`
	Actors []string `db:"actors" json:"actors" validate:"required,min=1"`
	Timestamp time.Time `db:"timestamp" json:"timestamp" validate:"required"`
	Source string `db:"source" json:"source" validate:"required"`
	Attributes map[string]interface{} `db:"attributes" json:"attributes,omitempty"`
	CreatedAt time.Time `db:"created_at" json:"created_at"`
	Signature []byte `db:"signature" json:"signature,omitempty"`
	SignerDID string `db:"signer_did" json:"signer_did,omitempty"`
}

AsCommand {#ascommand}

Source: ats/types/attestation.go:34

type AsCommand struct {
	Subjects []string `json:"subjects"`
	Predicates []string `json:"predicates"`
	Contexts []string `json:"contexts"`
	Actors []string `json:"actors"`
	Timestamp time.Time `json:"timestamp"`
	Source string `json:"source,omitempty"`
	SourceVersion string `json:"source_version,omitempty"`
	Attributes map[string]interface{} `json:"attributes,omitempty"`
}

AxDebug {#axdebug}

Source: ats/types/attestation.go:127

type AxDebug struct {
	ExecutionTimeMs int64 `json:"execution_time_ms"`
	SQLQuery string `json:"sql_query,omitempty"`
	SQLArgs []interface{} `json:"sql_args,omitempty"`
	OriginalFilter AxFilter `json:"original_filter"`
	ExpandedFilter AxFilter `json:"expanded_filter,omitempty"`
	AliasExpansions map[string][]string `json:"alias_expansions,omitempty"`
	DatabaseRowCount int `json:"database_row_count"`
}

AxFilter {#axfilter}

Source: ats/types/attestation.go:105

type AxFilter struct {
	Subjects []string `json:"subjects"`
	Predicates []string `json:"predicates"`
	Contexts []string `json:"contexts"`
	Actors []string `json:"actors"`
	TimeStart *time.Time `json:"time_start"`
	TimeEnd *time.Time `json:"time_end"`
	Limit int `json:"limit"`
	Format string `json:"format"`
	SoActions []string `json:"so_actions"`
}

AxResult {#axresult}

Source: ats/types/attestation.go:118

type AxResult struct {
	Attestations []As `json:"attestations"`
	Conflicts []Conflict `json:"conflicts"`
	Summary AxSummary `json:"summary"`
	Format string `json:"format"`
	Debug AxDebug `json:"debug,omitempty"`
}

AxSummary {#axsummary}

Source: ats/types/attestation.go:138

type AxSummary struct {
	TotalAttestations int `json:"total_attestations"`
	UniqueSubjects map[string]int `json:"unique_subjects"`
	UniquePredicates map[string]int `json:"unique_predicates"`
	UniqueContexts map[string]int `json:"unique_contexts"`
	UniqueActors map[string]int `json:"unique_actors"`
}

Conflict {#conflict}

Source: ats/types/attestation.go:147

type Conflict struct {
	Subject string `json:"subject"`
	Predicate string `json:"predicate"`
	Context string `json:"context"`
	Attestations []As `json:"attestations"`
	Resolution string `json:"resolution"`
}

TypeDef {#typedef}

Source: ats/types/type_definitions.go:39

type TypeDef struct {
	Name string `json:"name"`
	Label string `json:"label" attr:"display_label"`
	Color string `json:"color" attr:"display_color"`
	Opacity *float64 `json:"opacity,omitempty" attr:"opacity,omitempty"`
	Deprecated bool `json:"deprecated" attr:"deprecated"`
	RichStringFields []string `json:"rich_string_fields,omitempty" attr:"rich_string_fields,omitempty"`
	ArrayFields []string `json:"array_fields,omitempty" attr:"array_fields,omitempty"`
}