Files
zurg/internal/config/v1types.go
2024-01-06 23:53:47 +01:00

44 lines
1.9 KiB
Go

package config
import "github.com/debridmediamanager/zurg/pkg/logutil"
type ZurgConfigV1 struct {
ZurgConfig `yaml:",inline"`
Directories map[string]*Directory `yaml:"directories"`
log *logutil.Logger
}
type Directory struct {
GroupOrder int `yaml:"group_order"`
Group string `yaml:"group"`
Filters []*FilterConditionsV1 `yaml:"filters"`
OnlyShowTheBiggestFile bool `yaml:"only_show_the_biggest_file"`
OnlyShowFilesWithSizeLte int64 `yaml:"only_show_files_with_size_lte"`
OnlyShowFilesWithSizeGte int64 `yaml:"only_show_files_with_size_gte"`
}
type FilterConditionsV1 struct {
ID string `yaml:"id"`
RegexStr string `yaml:"regex"`
Contains string `yaml:"contains"`
ContainsStrict string `yaml:"contains_strict"`
NotRegexStr string `yaml:"not_regex"`
NotContains string `yaml:"not_contains"`
NotContainsStrict string `yaml:"not_contains_strict"`
SizeGreaterThanOrEqual int64 `yaml:"size_gte"`
SizeLessThanOrEqual int64 `yaml:"size_lte"`
And []*FilterConditionsV1 `yaml:"and"`
Or []*FilterConditionsV1 `yaml:"or"`
FileInsideRegexStr string `yaml:"any_file_inside_regex"`
FileInsideContains string `yaml:"any_file_inside_contains"`
FileInsideContainsStrict string `yaml:"any_file_inside_contains_strict"`
FileInsideNotRegexStr string `yaml:"any_file_inside_not_regex"`
FileInsideNotContains string `yaml:"any_file_inside_not_contains"`
FileInsideNotContainsStrict string `yaml:"any_file_inside_not_contains_strict"`
FileInsideSizeGreaterThanOrEqual int64 `yaml:"any_file_inside_size_gte"`
FileInsideSizeLessThanOrEqual int64 `yaml:"any_file_inside_size_lte"`
HasEpisodes bool `yaml:"has_episodes"`
}