validation

package
v0.9.7-patched74 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 12, 2026 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type JSONSchemaValidator

type JSONSchemaValidator struct {
	// contains filtered or unexported fields
}

JSONSchemaValidator implements JSON schema validation using queryfy.

Schemas are stored in two forms: the raw JSON Schema map (returned by GetSchema, consumed by the adapted tables layer) and a compiled queryfy ObjectSchema (used for validation). Compilation happens once at load time via jsonschema.FromJSON.

Validation runs in Loose mode by default: type coercion is applied (e.g., integer values pass for number fields) and additional properties are allowed unless the schema explicitly sets additionalProperties:false.

func NewJSONSchemaValidator

func NewJSONSchemaValidator(schemaDir string) *JSONSchemaValidator

NewJSONSchemaValidator creates a new JSON schema validator

func (*JSONSchemaValidator) GetCompiledSchema

func (v *JSONSchemaValidator) GetCompiledSchema(entity string) *builders.ObjectSchema

GetCompiledSchema retrieves the compiled queryfy schema for an entity. Returns nil if no schema is loaded.

func (*JSONSchemaValidator) GetSchema

func (v *JSONSchemaValidator) GetSchema(entity string) (map[string]interface{}, error)

GetSchema retrieves the raw JSON Schema for an entity. This is used by the adapted tables layer and the schema API endpoint.

func (*JSONSchemaValidator) HasSchema

func (v *JSONSchemaValidator) HasSchema(entity string) bool

HasSchema checks if a schema exists for an entity

func (*JSONSchemaValidator) LoadAllSchemas

func (v *JSONSchemaValidator) LoadAllSchemas() error

LoadAllSchemas loads all schemas from the schema directory

func (*JSONSchemaValidator) LoadSchema

func (v *JSONSchemaValidator) LoadSchema(entity string, schemaData map[string]interface{}) error

LoadSchema loads a schema for an entity. The raw map is stored for GetSchema; a compiled queryfy schema is built for validation.

func (*JSONSchemaValidator) LoadSchemaFromFile

func (v *JSONSchemaValidator) LoadSchemaFromFile(entity string) error

LoadSchemaFromFile loads a schema from a file

func (*JSONSchemaValidator) LoadedEntities

func (v *JSONSchemaValidator) LoadedEntities() []string

LoadedEntities returns the names of all entities that have a loaded schema.

func (*JSONSchemaValidator) SaveSchema

func (v *JSONSchemaValidator) SaveSchema(entity string, schemaData map[string]interface{}) error

SaveSchema saves a schema to a file

func (*JSONSchemaValidator) Validate

func (v *JSONSchemaValidator) Validate(entity string, data map[string]interface{}) (bool, []string)

Validate validates data against a schema using queryfy in Loose mode.

Returns (true, nil) if validation passes or no schema exists. Returns (false, errors) with human-readable error strings on failure.

type NoOpValidator

type NoOpValidator struct{}

NoOpValidator is a validator that always passes

func NewNoOpValidator

func NewNoOpValidator() *NoOpValidator

NewNoOpValidator creates a no-op validator

func (*NoOpValidator) GetSchema

func (n *NoOpValidator) GetSchema(entity string) (map[string]interface{}, error)

GetSchema always returns error

func (*NoOpValidator) HasSchema

func (n *NoOpValidator) HasSchema(entity string) bool

HasSchema always returns false

func (*NoOpValidator) LoadSchema

func (n *NoOpValidator) LoadSchema(entity string, schemaData map[string]interface{}) error

LoadSchema is a no-op

func (*NoOpValidator) SaveSchema

func (n *NoOpValidator) SaveSchema(entity string, schemaData map[string]interface{}) error

SaveSchema is a no-op

func (*NoOpValidator) Validate

func (n *NoOpValidator) Validate(entity string, data map[string]interface{}) (bool, []string)

Validate always returns true

type Validator

type Validator interface {
	Validate(entity string, data map[string]interface{}) (bool, []string)
	LoadSchema(entity string, schemaData map[string]interface{}) error
	SaveSchema(entity string, schemaData map[string]interface{}) error
	HasSchema(entity string) bool
	GetSchema(entity string) (map[string]interface{}, error)
}

Validator interface defines validation operations

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL