68 lines
No EOL
1.2 KiB
Go
68 lines
No EOL
1.2 KiB
Go
package Lotus
|
|
|
|
import (
|
|
"encoding/json"
|
|
"os"
|
|
)
|
|
|
|
|
|
type Registry struct {
|
|
Address string
|
|
Register string
|
|
}
|
|
|
|
func readConfig() []byte {
|
|
|
|
file, err := os.ReadFile("config/registrylist.json")
|
|
if err != nil {
|
|
logger.Fatal(err)
|
|
}
|
|
|
|
return file
|
|
}
|
|
|
|
func GetRegistries() []Registry{
|
|
logger := Logger("ConfigHandler")
|
|
|
|
var registires []Registry
|
|
|
|
err := json.Unmarshal([]byte(readConfig()), ®istires)
|
|
if err != nil {
|
|
logger.Fatal(err)
|
|
}
|
|
|
|
return registires
|
|
}
|
|
|
|
func checkIfConfigFolderExists(){
|
|
logger := DetailedLogger("ConfigHandler", "checkIfConfigFolderExists")
|
|
|
|
if _, err := os.Stat("config"); os.IsNotExist(err) {
|
|
dirErr := os.Mkdir("config", 600)
|
|
if dirErr != nil {
|
|
logger.Fatal(dirErr)
|
|
}
|
|
}
|
|
}
|
|
|
|
func CheckIfRegistryListExists(){
|
|
if _, err := os.Stat("config/registrylist.json"); os.IsNotExist(err){
|
|
writeDefaultConfig()
|
|
}
|
|
}
|
|
|
|
func writeDefaultConfig(){
|
|
logger := DetailedLogger("ConfigHandler", "WriteDefaultConfig")
|
|
|
|
checkIfConfigFolderExists()
|
|
|
|
bytes, err := json.MarshalIndent([]Registry{
|
|
{Address: "core.lotus-pm.net:9090", Register: "core"},
|
|
{Address: "community.lotus-pm.net:9090", Register: "community"},
|
|
}, "", " ")
|
|
if err != nil{
|
|
logger.Fatal(err)
|
|
}
|
|
|
|
_ = os.WriteFile("config/registrylist.json", bytes, 600)
|
|
} |