CloudlogUDP/config/config.go
Gregory Salaun 283264a261 first commit
2023-11-29 11:02:30 +07:00

50 lines
917 B
Go

package config
import (
"io/ioutil"
"log"
"os"
"path/filepath"
"gopkg.in/yaml.v2"
)
// Config from YAML
type Config struct {
CloudLog struct {
Server string `yaml:"server"`
QSOUrl string `yaml:"qso_url"`
API string `yaml:"api"`
} `yaml:"cloudlog"`
UDP struct {
Port string `yaml:"port"`
} `yaml:"udp"`
QRZ struct {
API string `yaml:"api"`
Callsign string `yaml:"callsign"`
}
Clublog struct {
EMail string `yaml:"email"`
Password string `yaml:"password"`
Callsign string `yaml:"callsign"`
API string `yaml:"api"`
URL string `yaml:"url"`
}
}
func NewConfig() Config {
var c Config
ex, err := os.Executable()
if err != nil {
log.Println(err)
}
configFile := filepath.Dir(ex) + "/config/config.yaml"
yamlFile, err := ioutil.ReadFile(configFile)
err = yaml.Unmarshal([]byte(yamlFile), &c)
if err != nil {
log.Fatalf("error: %v", err)
}
return c
}