hes/cmd/server/config.go
2022-02-11 23:53:08 -05:00

45 lines
792 B
Go

package main
import (
"encoding/json"
"io/ioutil"
"os"
st "github.com/number571/hes/settings"
)
type CFG struct {
Pasw string `json:"pasw"`
Conns [][2]string `json:"conns"`
}
func NewCFG(filename string) *CFG {
var config = new(CFG)
config.Conns = append(config.Conns, [2]string{
"addr",
"pasw",
})
if !fileIsExist(filename) {
err := ioutil.WriteFile(filename, st.Serialize(config), 0644)
if err != nil {
return nil
}
}
content, err := ioutil.ReadFile(filename)
if err != nil {
return nil
}
err = json.Unmarshal(content, config)
if err != nil {
return nil
}
return config
}
func fileIsExist(filename string) bool {
if _, err := os.Stat(filename); os.IsNotExist(err) {
return false
}
return true
}