Newer
Older
"corelab.mkcl.org/MKCLOS/coredevelopmentplatform/corepkgv2/errormdl"
"corelab.mkcl.org/MKCLOS/coredevelopmentplatform/corepkgv2/filemdl"
"corelab.mkcl.org/MKCLOS/coredevelopmentplatform/corepkgv2/securitymdl"
"github.com/BurntSushi/toml"
)
// InitConfig initConfig
func InitConfig(fpath string, config interface{}) (toml.MetaData, error) {
return toml.DecodeFile(fpath, config)
}
// InitConfigData initConfig using byte array
func InitConfigData(data []byte, config interface{}) (toml.MetaData, error) {
return toml.Decode(string(data), config)
}
// var config tomlConfig
// InitConfig("../testingdata/testData/config/config.toml", &config)
// fmt.Println(config.Name)
//******* SECURE *******//
// InitConfigSecure - Init Config Secure
func InitConfigSecure(fpath string, config interface{}, key []byte) (toml.MetaData, error) {
fileBytes, fileReadErr := filemdl.ReadFile(fpath)
if fileReadErr != nil {
return toml.MetaData{}, fileReadErr
}
fileContent, decryptErr := securitymdl.AESDecrypt(fileBytes, key)
if errormdl.CheckErr2(decryptErr) != nil {
return toml.MetaData{}, errormdl.CheckErr2(decryptErr)
}
return toml.Decode(string(fileContent), config)
}
// SaveConfig - SaveConfig
func SaveConfig(fpath string, config interface{}) error {
// bytes, tomlMarshalError := pellgotoml.Marshal(config)
bytes, tomlMarshalError := toml.Marshal(config)
if errormdl.CheckErr(tomlMarshalError) != nil {
return errormdl.CheckErr(tomlMarshalError)
}
writeError := filemdl.WriteFile(fpath, bytes, false, false)
if errormdl.CheckErr2(writeError) != nil {
return errormdl.CheckErr2(writeError)
}
return nil
}
// SaveConfigSecure - SaveConfigSecure
func SaveConfigSecure(fpath string, config interface{}, key []byte) error {
configBytes, tomlMarshalError := toml.Marshal(config)
if errormdl.CheckErr(tomlMarshalError) != nil {
return errormdl.CheckErr(tomlMarshalError)
}
encryptedBytes, encryptError := securitymdl.AESEncrypt(configBytes, key)
if errormdl.CheckErr1(encryptError) != nil {
return errormdl.CheckErr1(encryptError)
}
writeError := filemdl.WriteFile(fpath, encryptedBytes, false, false)
if errormdl.CheckErr2(writeError) != nil {
return errormdl.CheckErr2(writeError)