Files
Self-Service-Dashboard/src/main/config.go
2026-03-24 20:06:06 -04:00

52 lines
1.2 KiB
Go

package main
import (
"encoding/json"
"os"
"astraltech.xyz/accountmanager/src/logging"
)
type LDAPConfig struct {
LDAPURL string `json:"ldap_url"`
BaseDN string `json:"base_dn"`
BindDN string `json:"bind_dn"`
BindPassword string `json:"bind_password"`
Security string `json:"security"`
IgnoreInvalidCert bool `json:"ignore_invalid_cert"`
}
type StyleConfig struct {
FaviconPath string `json:"favicon_path"`
LogoPath string `json:"logo_path"`
}
type WebserverConfig struct {
Port int `json:"port"`
}
type ServerConfig struct {
LDAPConfig LDAPConfig `json:"ldap_config"`
StyleConfig StyleConfig `json:"style_config"`
WebserverConfig WebserverConfig `json:"server_config"`
}
func loadServerConfig(path string) (*ServerConfig, error) {
logging.Debugf("Loading server config file: %s", path)
file, err := os.ReadFile(path)
if err != nil {
logging.Errorf("Failed to load server config")
logging.Error(err.Error())
return nil, err
}
var cfg ServerConfig
logging.Debugf("Unmarshaling JSON data")
err = json.Unmarshal(file, &cfg)
if err != nil {
logging.Error("Failed to read JSON data")
logging.Error(err.Error())
}
return &cfg, nil
}