wings/server/configuration.go
2019-11-24 19:32:02 -08:00

31 lines
632 B
Go

package server
import (
"github.com/pkg/errors"
"gopkg.in/yaml.v2"
"os"
)
// Writes the server configuration to the disk. The saved configuration will be returned
// back to the calling function to use if desired.
func (s *Server) WriteConfigurationToDisk() ([]byte, error) {
s.mutex.Lock()
defer s.mutex.Unlock()
f, err := os.Create("data/servers/" + s.Uuid + ".yml")
if err != nil {
return nil, errors.WithStack(err)
}
defer f.Close()
b, err := yaml.Marshal(&s)
if err != nil {
return nil, errors.WithStack(err)
}
if _, err := f.Write(b); err != nil {
return nil, errors.WithStack(err)
}
return b, nil
}