45 lines
822 B
Go
45 lines
822 B
Go
|
package config
|
||
|
|
||
|
import (
|
||
|
"encoding/json"
|
||
|
"fmt"
|
||
|
"os"
|
||
|
"path/filepath"
|
||
|
)
|
||
|
|
||
|
type Configuration struct {
|
||
|
Port int `json:"backendport"`
|
||
|
Name string `json:"name"`
|
||
|
Database string `json:"database"`
|
||
|
PicturePath string `json:"picturePath"`
|
||
|
}
|
||
|
|
||
|
var AllConfig *Configuration
|
||
|
|
||
|
func InitConfig() {
|
||
|
cfg, _ := loadConfig()
|
||
|
AllConfig = &cfg
|
||
|
}
|
||
|
|
||
|
func loadConfig() (Configuration, error) {
|
||
|
|
||
|
dir, err1 := os.Getwd()
|
||
|
if err1 != nil {
|
||
|
fmt.Println(err1)
|
||
|
return Configuration{}, err1
|
||
|
}
|
||
|
projectPath := filepath.Join(dir, "../../")
|
||
|
filespath := filepath.Join(projectPath, "cmd/config/config.json")
|
||
|
file, err := os.ReadFile(filespath)
|
||
|
|
||
|
if err != nil {
|
||
|
return Configuration{}, err
|
||
|
}
|
||
|
var cfg Configuration
|
||
|
err = json.Unmarshal(file, &cfg)
|
||
|
if err != nil {
|
||
|
return Configuration{}, err
|
||
|
}
|
||
|
return cfg, nil
|
||
|
}
|