diff --git a/bootstrap/conf.go b/bootstrap/conf.go index cdea548b..88094a8e 100644 --- a/bootstrap/conf.go +++ b/bootstrap/conf.go @@ -10,10 +10,6 @@ import ( // InitConf init config func InitConf() { - err := os.MkdirAll("data/temp", 0700) - if err != nil { - log.Fatalf("create temp dir error: %s", err.Error()) - } log.Infof("reading config file: %s", conf.ConfigFile) if !utils.Exists(conf.ConfigFile) { log.Infof("config file not exists, creating default config file") @@ -25,25 +21,29 @@ func InitConf() { if !utils.WriteToJson(conf.ConfigFile, conf.Conf) { log.Fatalf("failed to create default config file") } - return + } else { + config, err := ioutil.ReadFile(conf.ConfigFile) + if err != nil { + log.Fatalf("reading config file error:%s", err.Error()) + } + conf.Conf = new(conf.Config) + err = utils.Json.Unmarshal(config, conf.Conf) + if err != nil { + log.Fatalf("load config error: %s", err.Error()) + } + log.Debugf("config:%+v", conf.Conf) + // update config.json struct + confBody, err := utils.Json.MarshalIndent(conf.Conf, "", " ") + if err != nil { + log.Fatalf("marshal config error:%s", err.Error()) + } + err = ioutil.WriteFile(conf.ConfigFile, confBody, 0777) + if err != nil { + log.Fatalf("update config struct error: %s", err.Error()) + } } - config, err := ioutil.ReadFile(conf.ConfigFile) + err := os.MkdirAll(conf.Conf.TempDir, 0700) if err != nil { - log.Fatalf("reading config file error:%s", err.Error()) - } - conf.Conf = new(conf.Config) - err = utils.Json.Unmarshal(config, conf.Conf) - if err != nil { - log.Fatalf("load config error: %s", err.Error()) - } - log.Debugf("config:%+v", conf.Conf) - // update config.json struct - confBody, err := utils.Json.MarshalIndent(conf.Conf, "", " ") - if err != nil { - log.Fatalf("marshal config error:%s", err.Error()) - } - err = ioutil.WriteFile(conf.ConfigFile, confBody, 0777) - if err != nil { - log.Fatalf("update config struct error: %s", err.Error()) + log.Fatalf("create temp dir error: %s", err.Error()) } } diff --git a/conf/config.go b/conf/config.go index 78bb1e06..6910937a 100644 --- a/conf/config.go +++ b/conf/config.go @@ -30,6 +30,7 @@ type Config struct { Database Database `json:"database"` Scheme Scheme `json:"scheme"` Cache CacheConfig `json:"cache"` + TempDir string `json:"temp_dir"` } func DefaultConfig() *Config { @@ -37,6 +38,7 @@ func DefaultConfig() *Config { Address: "0.0.0.0", Port: 5244, Assets: "jsdelivr", + TempDir: "data/temp", Database: Database{ Type: "sqlite3", Port: 0,