// Copyright 2025 The Forgejo Authors. All rights reserved. // SPDX-License-Identifier: GPL-3.0-or-later package setting import ( "fmt" "time" ) // Moderation settings var Moderation = struct { Enabled bool `ini:"ENABLED"` KeepResolvedReportsFor time.Duration `ini:"KEEP_RESOLVED_REPORTS_FOR"` }{ Enabled: false, } func loadModerationFrom(rootCfg ConfigProvider) error { sec := rootCfg.Section("moderation") err := sec.MapTo(&Moderation) if err != nil { return fmt.Errorf("failed to map Moderation settings: %v", err) } // keep reports for one week by default. Since time.Duration stops at the unit of an hour // we are using the value of 24 (hours) * 7 (days) which gives us the value of 168 Moderation.KeepResolvedReportsFor = sec.Key("KEEP_RESOLVED_REPORTS_FOR").MustDuration(168 * time.Hour) return nil }