FILE / Unmei/Backend
v1/config.go
Исходный файл и его история в репозитории.
69 lines
1.5 KiB
Go
69 lines
1.5 KiB
Go
package v1
|
|
|
|
import (
|
|
"encoding/json"
|
|
"io/ioutil"
|
|
"log"
|
|
"net/smtp"
|
|
)
|
|
|
|
type Config struct {
|
|
Address string `json:"address"`
|
|
Port string `json:"port"`
|
|
DevFrontendUrl string `json:"dev_frontend_url"`
|
|
FrontendUrl string `json:"frontend_url"`
|
|
CDNPath string `json:"cdn_path"`
|
|
CDNUrl string `json:"cdn_url"`
|
|
Version string `json:"version"`
|
|
Build uint32 `json:"build"`
|
|
Debug bool `json:"debug"`
|
|
}
|
|
|
|
type PrivateConfig struct {
|
|
AuthTokenSecret string `json:"auth_token"`
|
|
ActivateTokenSecret string `json:"activate_token"`
|
|
RecaptchaSecret string `json:"recaptcha"`
|
|
Database struct {
|
|
User string `json:"user"`
|
|
Password string `json:"password"`
|
|
URL string `json:"url"`
|
|
Name string `json:"name"`
|
|
} `json:"database"`
|
|
Email struct {
|
|
Username string `json:"username"`
|
|
Password string `json:"password"`
|
|
Host string `json:"host"`
|
|
} `json:"email"`
|
|
}
|
|
|
|
var (
|
|
config *Config
|
|
privateConfig *PrivateConfig
|
|
mailAuth smtp.Auth
|
|
)
|
|
|
|
func LoadConfig() *Config {
|
|
data, err := ioutil.ReadFile("config.json")
|
|
if err != nil {
|
|
log.Fatalln(err)
|
|
}
|
|
err = json.Unmarshal(data, &config)
|
|
if err != nil {
|
|
log.Fatalln(err)
|
|
}
|
|
return config
|
|
}
|
|
|
|
func LoadPrivateConfig() {
|
|
data, err := ioutil.ReadFile("private.config.json")
|
|
if err != nil {
|
|
log.Fatalln(err)
|
|
}
|
|
err = json.Unmarshal(data, &privateConfig)
|
|
if err != nil {
|
|
log.Fatalln(err)
|
|
}
|
|
|
|
mailAuth = smtp.PlainAuth("", privateConfig.Email.Username, privateConfig.Email.Password, privateConfig.Email.Host)
|
|
}
|