mirror of
https://github.com/speatzle/nfsense.git
synced 2025-05-10 18:38:22 +00:00
22 lines
443 B
Go
22 lines
443 B
Go
package validation
|
|
|
|
import (
|
|
"encoding/json"
|
|
"fmt"
|
|
)
|
|
|
|
func ValidateConfig(conf any) error {
|
|
|
|
// TODO find a better way validate config since jsonschema only takes a map[string]interface{}
|
|
data, err := json.Marshal(conf)
|
|
if err != nil {
|
|
panic(fmt.Errorf("Marshal Error: %w", err))
|
|
}
|
|
var clone any
|
|
err = json.Unmarshal(data, &clone)
|
|
if err != nil {
|
|
panic(fmt.Errorf("Unmarshal Error: %w", err))
|
|
}
|
|
|
|
return schema.Validate(clone)
|
|
}
|