49 lines
1.0 KiB
Go
49 lines
1.0 KiB
Go
|
package structs
|
||
|
|
||
|
import "time"
|
||
|
|
||
|
type Seasons map[int][]Intro
|
||
|
|
||
|
type Report struct {
|
||
|
Path string `json:"-"`
|
||
|
|
||
|
StartedAt time.Time
|
||
|
FinishedAt time.Time
|
||
|
Runtime time.Duration
|
||
|
|
||
|
ServerInfo PublicInfo
|
||
|
PluginConfig PluginConfiguration
|
||
|
|
||
|
Intros []Intro
|
||
|
|
||
|
// Intro lookup table. Only populated when loading a report.
|
||
|
IntroMap map[string]Intro `json:"-"`
|
||
|
|
||
|
// Intros which have been sorted by show and season number. Only populated when loading a report.
|
||
|
Shows map[string]Seasons `json:"-"`
|
||
|
}
|
||
|
|
||
|
// Data passed to the report template.
|
||
|
type TemplateReportData struct {
|
||
|
// First report.
|
||
|
OldReport Report
|
||
|
|
||
|
// Second report.
|
||
|
NewReport Report
|
||
|
}
|
||
|
|
||
|
// A pair of introductions from an old and new reports.
|
||
|
type IntroPair struct {
|
||
|
Old Intro
|
||
|
New Intro
|
||
|
|
||
|
// Recognized warning types:
|
||
|
// * okay: no warning
|
||
|
// * different: timestamps are too dissimilar
|
||
|
// * only_previous: introduction found in old report but not new one
|
||
|
WarningShort string
|
||
|
|
||
|
// If this pair of intros is not okay, a short description about the cause
|
||
|
Warning string
|
||
|
}
|