package main import ( "encoding/json" "errors" "io/ioutil" "log" ) //EspoCRMAPIConfig CRM configuration for API accessing type EspoCRMAPIConfig struct { //where the EspoCRM is installed BaseURL string `json:"BaseURL"` //access UserName UserName string `json:"UserName"` //access Password UserPass string `json:"UserPass"` } //CRMConfig contains secrets that cannot store in source file // var CRMConfig EspoCRMAPIConfig func readCRMConfig() error { log.Printf("read CRM config from %s\r\n", "crm_config.json") body, err := ioutil.ReadFile("crm_config.json") if err != nil { log.Fatal("Cannot read config from crm_config.json") return err } err = json.Unmarshal(body, &CRMConfig) if CRMConfig.BaseURL == "" { return errors.New("CRM BaseURL not available not available") } if CRMConfig.UserName == "" { return errors.New("CRM UserName not available not available") } if CRMConfig.UserPass == "" { return errors.New("CRM UserPass not available not available") } return err }