pat/cfg/prediction_engine.go
Martin Hebnes Pedersen 70c573af76 Add voacap-api engine
Mainly to be able to run VOACAP in a separate docker container.

Issue #494
2025-08-13 15:01:47 +02:00

30 lines
736 B
Go

package cfg
import (
"encoding/json"
"fmt"
"strings"
)
type PredictionEngine string
const (
PredictionEngineAuto PredictionEngine = ""
PredictionEngineDisabled PredictionEngine = "disabled"
PredictionEngineVOACAP PredictionEngine = "voacap"
PredictionEngineVOACAPAPI PredictionEngine = "voacap-api"
)
func (p *PredictionEngine) UnmarshalJSON(b []byte) error {
var str string
if err := json.Unmarshal(b, &str); err != nil {
return err
}
switch v := PredictionEngine(strings.ToLower(strings.TrimSpace(str))); v {
case PredictionEngineVOACAP, PredictionEngineVOACAPAPI, PredictionEngineDisabled, PredictionEngineAuto:
*p = v
return nil
default:
return fmt.Errorf("invalid prediction engine '%s'", v)
}
}