Files
backend/global/global.go
T

107 lines
2.1 KiB
Go

package global
import (
"database/sql"
)
var ConfigPath *string
var DBPath_data *string
var DBPath_log *string
var CurrentPath string
type SoftwareInfo struct {
Name string
Version string
Developer string
BuildVer int16
Description string
BuildType string
}
var Software = SoftwareInfo{
Name: "Super-frpc",
Version: "0.0.2",
Developer: "Madobi Nanami",
BuildVer: 2,
BuildType: "pre-release",
}
type StatusFlags struct {
Debug bool
Online bool
WatchdogConnected bool
}
var (
ConfigDB *sql.DB
FrpcDB *sql.DB
LogsDB *sql.DB
)
var Is = StatusFlags{
Debug: false,
Online: false,
WatchdogConnected: false,
}
type Config struct {
ListenAddr string `json:"listenAddr"`
ListenPort string `json:"listenPort"`
FrpcPath string `json:"frpcPath"`
InstancePath string `json:"instancePath"`
LogsPath string `json:"logsPath"`
Debug bool `json:"debug"`
Status struct {
IsLogrotateConfigured bool `json:"isLogrotateConfigured"`
} `json:"status"`
Watchdog struct {
Enabled bool `json:"enabled"`
} `json:"watchdog"`
Notification struct {
Enabled bool `json:"enabled"`
Method string `json:"method"`
} `json:"notification"`
Webhook struct {
Method string `json:"method"`
URL string `json:"url"`
Headers string `json:"headers"`
Body string `json:"body"`
} `json:"webhook"`
}
var CurrentConfig = Config{
ListenAddr: "0.0.0.0",
ListenPort: "7000",
FrpcPath: "",
InstancePath: "",
LogsPath: "",
Debug: false,
Status: struct{
IsLogrotateConfigured bool `json:"isLogrotateConfigured"`
}{
IsLogrotateConfigured: false,
},
Watchdog: struct {
Enabled bool `json:"enabled"`
}{
Enabled: false,
},
Notification: struct {
Enabled bool `json:"enabled"`
Method string `json:"method"`
}{
Enabled: false,
Method: "webhook",
},
Webhook: struct {
Method string `json:"method"`
URL string `json:"url"`
Headers string `json:"headers"`
Body string `json:"body"`
}{
Method: "",
URL: "",
Headers: "Content-Type: application/json",
Body: "",
},
}