This repository has been archived on 2026-03-18. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
lotus-package-manager/Lotus/ConfigHandler.go
2021-11-20 15:40:24 +01:00

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()), &registires)
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)
}