remote-i3wm-go/config.go
Simon Vieille a3ee86f81b
add config
2023-08-25 11:19:54 +02:00

45 lines
806 B
Go

package main
import (
"gopkg.in/yaml.v3"
"os"
)
type ServerAuthConfig struct {
Username string `yaml:"username"`
Password string `yaml:"password"`
}
type ServerConfig struct {
Listen string `yaml:"listen"`
Auth ServerAuthConfig `yaml:"auth"`
}
type RemoteConfigItem struct {
Type string `yaml:"type"`
Label string `yaml:"label"`
Items []map[string]string `yaml:"items"`
}
type Config struct {
Server ServerConfig `yaml:"server"`
Remote map[string][]RemoteConfigItem `yaml:"remote"`
}
func createConfigFromFile(file string) (Config, error) {
data, err := os.ReadFile(file)
value := Config{}
if err != nil {
return value, err
}
err = yaml.Unmarshal(data, &value)
if err != nil {
return value, err
}
return value, nil
}