-
Notifications
You must be signed in to change notification settings - Fork 0
/
goalApplicationSettingsLoader.go
100 lines (93 loc) · 2.69 KB
/
goalApplicationSettingsLoader.go
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
package goalApplicationSettingsLoader
import (
"encoding/json"
"io/ioutil"
)
// Application settings
type ApplicationSettings struct {
Settings ApplicationSettingsData
}
type ApplicationSettingsData struct {
Name string
Port int
Organisation string
Version string
}
// Database settings
type ApplicationDatabaseConfiguration struct {
DatabaseConfiguration ApplicationDatabaseConfigurationData
}
type ApplicationDatabaseConfigurationData struct {
User string
Password string
ConnectionType string
Hostname string
DatabaseName string
}
// Static server setting
type StaticServerConfiguration struct {
StaticServer StaticServerConfigurationData
}
type StaticServerConfigurationData struct {
Uri string
}
// Load application settings data
func LoadSettings() (*ApplicationSettings, error) {
// Open our jsonFile
openSettingsFile, error := ioutil.ReadFile("settings.json")
// If ioutil.ReadFile returns an error then handle it
if error != nil {
return nil, error
}
// JSON data
var appData ApplicationSettings
// we unmarshal our JSON data which contains our
// json file's content into 'appData' which we defined above
error = json.Unmarshal(openSettingsFile, &appData)
// If json.Unmarshal returns an error then handle it
if error != nil {
return nil, error
}
// Return data
return &appData, error
}
// Load database configuration data
func LoadDatabaseConfiguration() (*ApplicationDatabaseConfiguration, error) {
// Open our jsonFile
openSettingsFile, error := ioutil.ReadFile("settings.json")
// If ioutil.ReadFile returns an error then handle it
if error != nil {
return nil, error
}
// JSON data
var dbConfig ApplicationDatabaseConfiguration
// we unmarshal our JSON data which contains our
// json file's content into 'appData' which we defined above
error = json.Unmarshal(openSettingsFile, &dbConfig)
// If json.Unmarshal returns an error then handle it
if error != nil {
return nil, error
}
// Return data
return &dbConfig, error
}
// Load static server configuration data
func LoadStaticServerConfiguration() (*StaticServerConfiguration, error) {
// Open our jsonFile
openSettingsFile, error := ioutil.ReadFile("settings.json")
// If ioutil.ReadFile returns an error then handle it
if error != nil {
return nil, error
}
// JSON data
var staticServerConfigurationData StaticServerConfiguration
// we unmarshal our JSON data which contains our
// json file's content into 'appData' which we defined above
error = json.Unmarshal(openSettingsFile, &staticServerConfigurationData)
// If json.Unmarshal returns an error then handle it
if error != nil {
return nil, error
}
// Return data
return &staticServerConfigurationData, error
}