Raw
 1package config
 2
 3import "time"
 4
 5const (
 6	defaultAuditRetention = 4320 * time.Hour
 7	minAuditRetention     = 24 * time.Hour
 8	maxAuditRetention     = 87600 * time.Hour
 9	reasonAuditRetention  = "must be from 24h to 87600h"
10)
11
12type rawAudit struct {
13	Retention string `toml:"retention"`
14}
15
16type Audit struct {
17	Retention time.Duration
18}
19
20func (v *validator) audit(raw rawAudit) Audit {
21	d := v.duration("audit.retention", raw.Retention, defaultAuditRetention)
22	if d > 0 && (d < minAuditRetention || d > maxAuditRetention) {
23		v.add("audit.retention", reasonAuditRetention)
24	}
25	return Audit{Retention: d}
26}