Config bootstrap
This commit is contained in:
parent
f963ccc672
commit
b02992c13d
|
@ -48,6 +48,7 @@ func (c *config) dump() ([]byte, error) {
|
||||||
if err = json.Indent(&out, b, "", " "); err != nil {
|
if err = json.Indent(&out, b, "", " "); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
out.WriteByte('\n')
|
||||||
|
|
||||||
return out.Bytes(), nil
|
return out.Bytes(), nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
{
|
||||||
|
"app_name": "",
|
||||||
|
"build_number": 0,
|
||||||
|
"enable_sign_in": false,
|
||||||
|
"database_driver": "",
|
||||||
|
"database_config": {
|
||||||
|
"hostname": "",
|
||||||
|
"port": 0,
|
||||||
|
"username": "",
|
||||||
|
"password": "",
|
||||||
|
"database": ""
|
||||||
|
},
|
||||||
|
"sensitive_data": ""
|
||||||
|
}
|
29
manager.go
29
manager.go
|
@ -33,10 +33,15 @@ func New(conf interface{}) *Manager {
|
||||||
path: configPath,
|
path: configPath,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
mgr.bootstrap()
|
||||||
|
|
||||||
return mgr
|
return mgr
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (m *Manager) Config() interface{} {
|
||||||
|
return m.conf.config
|
||||||
|
}
|
||||||
|
|
||||||
func (m *Manager) StartServer() {
|
func (m *Manager) StartServer() {
|
||||||
srv := &server{
|
srv := &server{
|
||||||
manager: m,
|
manager: m,
|
||||||
|
@ -44,3 +49,27 @@ func (m *Manager) StartServer() {
|
||||||
}
|
}
|
||||||
srv.start()
|
srv.start()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (m *Manager) bootstrap() {
|
||||||
|
if m.file.isExist() {
|
||||||
|
b, err := m.file.read()
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
err = m.conf.load(b)
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
b, err := m.conf.dump()
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
err = m.file.write(b)
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue