74 lines
1.0 KiB
Go
74 lines
1.0 KiB
Go
package config
|
|
|
|
import (
|
|
"log"
|
|
|
|
"github.com/BurntSushi/toml"
|
|
"github.com/liamg/tml"
|
|
)
|
|
|
|
var TOML = ""
|
|
|
|
type (
|
|
Config struct {
|
|
WebServer struct {
|
|
Bind_IP string
|
|
Port int
|
|
}
|
|
|
|
API struct {
|
|
Secret string
|
|
}
|
|
|
|
Printer struct {
|
|
Address string
|
|
}
|
|
}
|
|
)
|
|
|
|
func GetConfig() {
|
|
tomlData := TOML
|
|
|
|
var configData Config
|
|
_, err := toml.DecodeFile(tomlData, &configData)
|
|
if err != nil {
|
|
tml.Printf("<bold><red>[" + Project + "]: Failed to open config file " + TOML + "</red></bold>\n")
|
|
log.Fatal("Exiting...", err)
|
|
}
|
|
|
|
data := &configData
|
|
|
|
JWT_Secret = data.API.Secret
|
|
WebServerBindIP = data.WebServer.Bind_IP
|
|
WebServerPort = data.WebServer.Port
|
|
PrinterAddr = data.Printer.Address
|
|
|
|
}
|
|
|
|
// Basic Information
|
|
const (
|
|
Project = "Überbringer"
|
|
Description = "EPSON Receipt Printer Server"
|
|
Authors = "https://git.anomalous.dev/57_Wolve/uberbringer"
|
|
)
|
|
|
|
var (
|
|
Version string
|
|
Build string
|
|
SentryDSN string
|
|
)
|
|
|
|
// Start Config
|
|
var (
|
|
WebServerBindIP string
|
|
WebServerPort int
|
|
)
|
|
|
|
var (
|
|
JWT_Secret string
|
|
)
|
|
|
|
var (
|
|
PrinterAddr string
|
|
)
|