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}