package config

import (
	"encoding/json"
	"os"
)

type Config struct {
	Fluentd struct {
		URL string `json:"url"`
	} `json:"fluentd"`
	Elasticsearch struct {
		URL  string `json:"url"`
		Auth struct {
			Username string `json:"username"`
			Password string `json:"password"`
		} `json:"auth"`
	} `json:"elasticsearch"`
}

// LoadConfig 从指定路径加载配置文件
func LoadConfig(path string) (*Config, error) {
	file, err := os.ReadFile(path)
	if err != nil {
		return nil, err
	}

	var config Config
	err = json.Unmarshal(file, &config)
	if err != nil {
		return nil, err
	}

	return &config, nil
}