Files
memberDB/models/report.go
2026-02-12 08:16:01 +01:00

39 lines
873 B
Go

package models
type ReportFilter struct {
Date []string `json:"date"`
Groups []uint `json:"groupIds,omitempty"`
Name []string `json:"name,omitempty"`
}
type Report struct {
Data map[string]*Data `json:"data,omitempty"`
Attendees []*Member `json:"attendees,omitempty"`
NonAttendees []*Member `json:"nonAttendees,omitempty"`
}
type Data struct {
Events int `json:"events"`
Minimal int `json:"minimal"`
Average int `json:"average"`
Maximal int `json:"maximal"`
averageCount int `json:"-"`
}
func AddNewData(value int) *Data {
return &Data{Minimal: value}
}
func (d *Data) AddData(value int) {
d.Events += 1
if d.Minimal > value {
d.Minimal = value
}
if d.Maximal < value {
d.Maximal = value
}
d.averageCount += value
d.Average = d.averageCount / d.Events
}