add more debug info to schema errors
This commit is contained in:
parent
2d4234c6a0
commit
00d12be3f5
@ -20,10 +20,10 @@ type Schema struct {
|
||||
schema gojsonschema.JSONLoader
|
||||
}
|
||||
|
||||
func New(name string, fs fs.FS) *Schema {
|
||||
func New(name string, schemaFS fs.FS) *Schema {
|
||||
path := fmt.Sprintf("file://schemas/%s.schema.json", name)
|
||||
|
||||
return &Schema{schema: gojsonschema.NewReferenceLoaderFileSystem(path, http.FS(fs))}
|
||||
return &Schema{schema: gojsonschema.NewReferenceLoaderFileSystem(path, http.FS(schemaFS))}
|
||||
//return &Schema{schema: gojsonschema.NewReferenceLoader(path)}
|
||||
}
|
||||
|
||||
@ -36,10 +36,10 @@ func (s *Schema) Validate(source string) error {
|
||||
slog.Info("schema error", "source", source, "schema", s.schema, "result", result, "err", err)
|
||||
return err
|
||||
}
|
||||
slog.Info("schema.Validate()", "schema", s.schema, "result", result, "err", err)
|
||||
|
||||
if !result.Valid() {
|
||||
schemaErrors := strings.Builder{}
|
||||
schemaErrors.WriteString(fmt.Sprintf("source: %s schema: %#v ", source, s.schema))
|
||||
for _, err := range result.Errors() {
|
||||
schemaErrors.WriteString(err.String() + "\n")
|
||||
}
|
||||
@ -56,3 +56,11 @@ func (s *Schema) ValidateSchema() error {
|
||||
slog.Info("validate schema definition", "schemaloader", sl, "err", schemaErr)
|
||||
return schemaErr
|
||||
}
|
||||
|
||||
func (s *Schema) Debug(schemaFS fs.FS) {
|
||||
if files, err := fs.ReadDir(schemaFS, "schemas"); err == nil {
|
||||
for _, f := range files {
|
||||
slog.Info("Schema.Debug()", "file", f.Name())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user