49 lines
1.3 KiB
Go
49 lines
1.3 KiB
Go
package config
|
|
|
|
import "time"
|
|
|
|
// ModerationConfig 举报反馈服务配置 (spec §11.1)
|
|
type ModerationConfig struct {
|
|
AutoHideThreshold int
|
|
CounterTTL time.Duration
|
|
UserMarkerTTL time.Duration
|
|
LockTTL time.Duration
|
|
MaxDescriptionLen int
|
|
MaxEvidenceCount int
|
|
MaxContactLen int
|
|
MaxReplyLen int
|
|
MaxEvidenceSize int64
|
|
AllowedMimeTypes []string
|
|
RateLimitUserPerDay int
|
|
RateLimitIPPerDay int
|
|
RateLimitDevPerDay int
|
|
RateLimitFbUserDay int
|
|
ClaimTimeout time.Duration
|
|
PIIAnonymizeAfter time.Duration
|
|
AutoArchiveAfter time.Duration
|
|
RedisKeyPrefix string
|
|
PathDCounterPolicy string
|
|
}
|
|
|
|
var Default = ModerationConfig{
|
|
AutoHideThreshold: 5,
|
|
CounterTTL: 7 * 24 * time.Hour,
|
|
UserMarkerTTL: 24 * time.Hour,
|
|
LockTTL: 5 * time.Second,
|
|
MaxDescriptionLen: 500,
|
|
MaxEvidenceCount: 5,
|
|
MaxContactLen: 320,
|
|
MaxReplyLen: 2000,
|
|
MaxEvidenceSize: 5 * 1024 * 1024,
|
|
AllowedMimeTypes: []string{"image/png", "image/jpeg"},
|
|
RateLimitUserPerDay: 30,
|
|
RateLimitIPPerDay: 200,
|
|
RateLimitDevPerDay: 200,
|
|
RateLimitFbUserDay: 5,
|
|
ClaimTimeout: 15 * time.Minute,
|
|
PIIAnonymizeAfter: 90 * 24 * time.Hour,
|
|
AutoArchiveAfter: 90 * 24 * time.Hour,
|
|
RedisKeyPrefix: "mod:report",
|
|
PathDCounterPolicy: "preserve",
|
|
}
|