move schema package out of internal

This commit is contained in:
Joel Wetzell
2026-09-10 10:24:33 -05:00
parent 3217fa233e
commit 20aee7e50b
8 changed files with 2 additions and 2 deletions
+40
View File
@@ -0,0 +1,40 @@
package schema
import (
"github.com/google/jsonschema-go/jsonschema"
)
var ConfigSchema = jsonschema.Schema{
Schema: "https://json-schema.org/draft/2020-12/schema",
ID: "https://showbridge.io/config.schema.json",
Title: "Config",
Description: "showbridge configuration",
Type: "object",
Properties: map[string]*jsonschema.Schema{
"api": &ApiConfigSchema,
"modules": {
Ref: "https://showbridge.io/modules.schema.json",
},
"routes": {
Ref: "https://showbridge.io/routes.schema.json",
},
},
AdditionalProperties: &jsonschema.Schema{Not: &jsonschema.Schema{}},
}
func ApplyDefaults(cfg *map[string]any) error {
resolvedSchema, err := GetResolvedConfigSchema()
if err != nil {
return err
}
return resolvedSchema.ApplyDefaults(cfg)
}
func ValidateConfig(cfg map[string]any) error {
resolvedSchema, err := GetResolvedConfigSchema()
if err != nil {
return err
}
return resolvedSchema.Validate(cfg)
}