Files
mediawatcher/internal/config/config.go
Javis Sullivan 0e0fe0e37c wip
2025-12-07 20:11:10 -05:00

38 lines
740 B
Go

package config
import (
"os"
"gopkg.in/yaml.v3"
)
type StructureConfig struct {
MoviesDir string `yaml:"movies_dir"`
TVDir string `yaml:"tv_dir"`
MiscDir string `yaml:"misc_dir"`
UnknownDir string `yaml:"unknown_dir"`
AutoCreate bool `yaml:"auto_create"`
}
type WatchConfig struct {
Dirs []string `yaml:"dirs"`
}
type Config struct {
Watch WatchConfig `yaml:"watch"`
Structure StructureConfig `yaml:"structure"`
}
func LoadConfig(path string) (*Config, error) {
data, err := os.ReadFile(path)
if err != nil {
return nil, err
}
var cfg Config
if err := yaml.Unmarshal(data, &cfg); err != nil {
return nil, err
}
return &cfg, nil
}