sshfp-generator/config/repository.go

48 lines
820 B
Go
Raw Normal View History

package config
import (
"encoding/json"
"io/ioutil"
"github.com/sirupsen/logrus"
)
type repository struct {
data Config
}
func NewFileRepository() Repository {
return &repository{data: Config{}}
}
func (r *repository) LoadFile(fileName string) error {
logrus.Infof("config: LoadFile %s", fileName)
content, err := ioutil.ReadFile(fileName)
if err != nil {
return err
}
err = json.Unmarshal(content, &r.data)
if err != nil {
return err
}
return nil
}
func (r *repository) SaveFile(fileName string) error {
logrus.Infof("config: SaveFile %s", fileName)
content, err := json.MarshalIndent(r.data, "", " ")
if err != nil {
return err
}
err = ioutil.WriteFile(fileName, content, 0644)
if err != nil {
return err
}
return nil
}
func (r *repository) GetConfig() *Config {
return &r.data
}