govd/config/main.go
2025-04-20 12:54:20 +02:00

43 lines
847 B
Go

package config
import (
"fmt"
"maps"
"os"
"govd/models"
"gopkg.in/yaml.v3"
)
var extractorConfigs map[string]*models.ExtractorConfig
func LoadExtractorConfigs() error {
extractorConfigs = make(map[string]*models.ExtractorConfig)
configPath := "ext-cfg.yaml"
_, err := os.Stat(configPath)
if os.IsNotExist(err) {
return nil
}
data, err := os.ReadFile(configPath)
if err != nil {
return fmt.Errorf("failed reading config file: %w", err)
}
var rawConfig map[string]*models.ExtractorConfig
if err := yaml.Unmarshal(data, &rawConfig); err != nil {
return fmt.Errorf("failed parsing config file: %w", err)
}
maps.Copy(extractorConfigs, rawConfig)
return nil
}
func GetExtractorConfig(codeName string) *models.ExtractorConfig {
if config, exists := extractorConfigs[codeName]; exists {
return config
}
return nil
}