Diffstat (limited to 'config/config.go')
| -rw-r--r-- | config/config.go | 30 |
1 files changed, 6 insertions, 24 deletions
diff --git a/config/config.go b/config/config.go index e55d4b7..1620d75 100644 --- a/config/config.go +++ b/config/config.go @@ -14,6 +14,7 @@ type Config struct { Converters []ConverterConfig `json:"Converters" validate:"required"` MaxProcessThreads int `json:"MaxProcessThreads" validate:"required,min=1"` MaxPreProcessThreads int `json:"MaxPreProcessThreads" validate:"min=1;gtefield=MaxProcessThreads"` + ForceRewrite bool `json:"ForceRewrite" validate:"required"` LogLevel slog.Level `json:"LogLevel" validate:"required"` } @@ -62,7 +63,7 @@ func (sc *InputStorageConfig) UnmarshalJSON(data []byte) error { } type ConverterConfig struct { - Type string `json:"Type" validate:"required,oneof=webp jpeg"` + Type string `json:"Type" validate:"required,oneof=webp"` Config any `json:"Config" validate:"required"` Output OutputConfig `json:"Output" validate:"required"` } @@ -88,12 +89,6 @@ func (pc *ConverterConfig) UnmarshalJSON(data []byte) error { return fmt.Errorf("unmarshal WebpConfig: %w", err) } pc.Config = &webpConfig - case "jpeg": - var jpegConfig JpegConfig - if err := json.Unmarshal(tmp.Config, &jpegConfig); err != nil { - return fmt.Errorf("unmarshal JpegConfig: %w", err) - } - pc.Config = &jpegConfig default: return fmt.Errorf("unsupported storage type: %s", tmp.Type) } @@ -103,18 +98,12 @@ func (pc *ConverterConfig) UnmarshalJSON(data []byte) error { type WebpConfig struct { Quality int `json:"Quality" validate:"required,min=1,max=100"` - Size SizeConfig `json:"Size"` -} - -type JpegConfig struct { - ExtensionName string `json:"ExtensionName" validate:"alpha"` - Quality int `json:"Quality" validate:"required,min=1,max=100"` - Size SizeConfig `json:"Size"` + Size SizeConfig `json:"Size" validate:"required"` } type SizeConfig struct { - MaxWidth int `json:"MaxWidth"` - MaxHeight int `json:"MaxHeight"` + MaxWidth int `json:"MaxWidth" validate:"required,min=0"` + MaxHeight int `json:"MaxHeight" validate:"required,min=0"` } type OutputStorageConfig struct { @@ -168,8 +157,7 @@ type InputLocalUnixConfig struct { } type OutputConfig struct { - RewriteOn string `json:"RewriteOn" validate:"oneof=Never UnequalHashInCache Always"` - Storage OutputStorageConfig `json:"Storage" validate:"required"` + Storage OutputStorageConfig `json:"Storage" validate:"required"` } type OutputLocalUnixConfig struct { @@ -191,12 +179,6 @@ func LoadConfig(path string, config *Config) error { return err } - for i := range config.Converters { - if config.Converters[i].Output.RewriteOn == "" { - config.Converters[i].Output.RewriteOn = "UnequalHashInCache" - } - } - return nil } |