package config import "time" const ( defaultAuditRetention = 4320 * time.Hour minAuditRetention = 24 * time.Hour maxAuditRetention = 87600 * time.Hour reasonAuditRetention = "must be from 24h to 87600h" ) type rawAudit struct { Retention string `toml:"retention"` } type Audit struct { Retention time.Duration } func (v *validator) audit(raw rawAudit) Audit { d := v.duration("audit.retention", raw.Retention, defaultAuditRetention) if d > 0 && (d < minAuditRetention || d > maxAuditRetention) { v.add("audit.retention", reasonAuditRetention) } return Audit{Retention: d} }