blob: 6db3cb2a59974110fbdf4cd663ed2182ea799c1c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
package eduvpn
import (
"encoding/json"
"fmt"
"io/ioutil"
"os"
"path"
)
func (eduvpn *VPNState) EnsureConfigDir() error {
mkdirErr := os.MkdirAll(eduvpn.ConfigDirectory, os.ModePerm)
if mkdirErr != nil {
return mkdirErr
}
return nil
}
func (eduvpn *VPNState) GetConfigName() string {
pathString := path.Join(eduvpn.ConfigDirectory, eduvpn.Name)
return fmt.Sprintf("%s.json", pathString)
}
func (eduvpn *VPNState) WriteConfig() error {
configDirErr := eduvpn.EnsureConfigDir()
if configDirErr != nil {
return configDirErr
}
jsonString, marshalErr := json.Marshal(eduvpn)
if marshalErr != nil {
return marshalErr
}
return ioutil.WriteFile(eduvpn.GetConfigName(), jsonString, 0o644)
}
func (eduvpn *VPNState) LoadConfig() error {
bytes, readErr := ioutil.ReadFile(eduvpn.GetConfigName())
if readErr != nil {
return readErr
}
return json.Unmarshal(bytes, eduvpn)
}
|