schema

package
v1.1.0-pre.0 Latest Latest
Warning

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

Go to latest
Published: Feb 1, 2024 License: Apache-2.0 Imports: 27 Imported by: 0

Documentation

Index

Constants

View Source
const SchemasPath string = "schemas"

Variables

This section is empty.

Functions

func ContextSetRoot

func ContextSetRoot(err *jsonschema.ValidationError, head string) *jsonschema.ValidationError

func GetKeysInOrder

func GetKeysInOrder(ctx context.Context, schemaRef string) ([]string, error)

func NewAddressNotVerifiedError

func NewAddressNotVerifiedError() error

func NewDuplicateCredentialsError

func NewDuplicateCredentialsError(err error) error

func NewErrorValidationLookupInvalid

func NewErrorValidationLookupInvalid() error

func NewInvalidCredentialsError

func NewInvalidCredentialsError() error

func NewLinkedCredentialsDoNotMatch added in v1.1.0

func NewLinkedCredentialsDoNotMatch() error

func NewLoginCodeInvalid added in v1.1.0

func NewLoginCodeInvalid() error

func NewLookupAlreadyUsed

func NewLookupAlreadyUsed() error

func NewMissingIdentifierError

func NewMissingIdentifierError() error

func NewNoCodeAuthnCredentials added in v1.1.0

func NewNoCodeAuthnCredentials() error

func NewNoLoginStrategyResponsible

func NewNoLoginStrategyResponsible() error

func NewNoLookupDefined

func NewNoLookupDefined() error

func NewNoRecoveryStrategyResponsible

func NewNoRecoveryStrategyResponsible() error

func NewNoRegistrationStrategyResponsible

func NewNoRegistrationStrategyResponsible() error

func NewNoSettingsStrategyResponsible

func NewNoSettingsStrategyResponsible() error

func NewNoTOTPDeviceRegistered

func NewNoTOTPDeviceRegistered() error

func NewNoVerificationStrategyResponsible

func NewNoVerificationStrategyResponsible() error

func NewNoWebAuthnCredentials

func NewNoWebAuthnCredentials() error

func NewNoWebAuthnRegistered

func NewNoWebAuthnRegistered() error

func NewPasswordPolicyViolationError

func NewPasswordPolicyViolationError(instancePtr string, message *text.Message) error

func NewRegistrationCodeInvalid added in v1.1.0

func NewRegistrationCodeInvalid() error

func NewRequiredError

func NewRequiredError(missingPtr, missingFieldName string) error

func NewTOTPVerifierWrongError

func NewTOTPVerifierWrongError(instancePtr string) error

func NewTraitsMismatch added in v1.1.0

func NewTraitsMismatch() error

func NewUnknownAddressError added in v1.1.0

func NewUnknownAddressError() error

func NewValidationListError added in v0.11.0

func NewValidationListError(errs []*ValidationError) error

func NewWebAuthnVerifierWrongError

func NewWebAuthnVerifierWrongError(instancePtr string) error

func WithExtensionRunner

func WithExtensionRunner(e *ExtensionRunner) func(*validatorOptions)

Types

type CompileExtension added in v1.1.0

type CompileExtension interface {
	Run(ctx jsonschema.CompilerContext, config ExtensionConfig, rawSchema map[string]interface{}) error
}

type DuplicateCredentialsHinter added in v1.1.0

type DuplicateCredentialsHinter interface {
	AvailableCredentials() []string
	AvailableOIDCProviders() []string
	IdentifierHint() string
	HasHints() bool
}

type ExtensionConfig

type ExtensionConfig struct {
	Credentials struct {
		Password struct {
			Identifier bool `json:"identifier"`
		} `json:"password"`
		WebAuthn struct {
			Identifier bool `json:"identifier"`
		} `json:"webauthn"`
		TOTP struct {
			AccountName bool `json:"account_name"`
		} `json:"totp"`
		Code struct {
			Identifier bool   `json:"identifier"`
			Via        string `json:"via"`
		} `json:"code"`
	} `json:"credentials"`
	Verification struct {
		Via string `json:"via"`
	} `json:"verification"`
	Recovery struct {
		Via string `json:"via"`
	} `json:"recovery"`
	RawSchema map[string]interface{} `json:"-"`
}

type ExtensionRunner

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

func NewExtensionRunner

func NewExtensionRunner(ctx context.Context, opts ...ExtensionRunnerOption) (*ExtensionRunner, error)

func (*ExtensionRunner) AddRunner

func (*ExtensionRunner) Extension

func (r *ExtensionRunner) Extension() jsonschema.Extension

func (*ExtensionRunner) Finish

func (r *ExtensionRunner) Finish() error

func (*ExtensionRunner) Register

func (r *ExtensionRunner) Register(compiler *jsonschema.Compiler) *ExtensionRunner

type ExtensionRunnerOption added in v1.1.0

type ExtensionRunnerOption func(*ExtensionRunner)

func WithCompileRunners added in v1.1.0

func WithCompileRunners(runners ...CompileExtension) ExtensionRunnerOption

func WithValidateRunners added in v1.1.0

func WithValidateRunners(runners ...ValidateExtension) ExtensionRunnerOption

type Handler

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

func NewHandler

func NewHandler(r handlerDependencies) *Handler

func (*Handler) ReadSchema added in v1.1.0

func (h *Handler) ReadSchema(ctx context.Context, schema *Schema) (src io.ReadCloser, err error)

func (*Handler) RegisterAdminRoutes

func (h *Handler) RegisterAdminRoutes(admin *x.RouterAdmin)

func (*Handler) RegisterPublicRoutes

func (h *Handler) RegisterPublicRoutes(public *x.RouterPublic)

type HandlerProvider

type HandlerProvider interface {
	SchemaHandler() *Handler
}

type IdentitySchemas

type IdentitySchemas []identitySchemaContainer

List of Identity JSON Schemas

swagger:model identitySchemas

type IdentityTraitsProvider

type IdentityTraitsProvider interface {
	IdentityTraitsSchemas(ctx context.Context) (Schemas, error)
}

type Schema

type Schema struct {
	ID     string   `json:"id"`
	URL    *url.URL `json:"-"`
	RawURL string   `json:"url"`
}

func (*Schema) SchemaURL

func (s *Schema) SchemaURL(host *url.URL) *url.URL

type Schemas

type Schemas []Schema

func (Schemas) GetByID

func (s Schemas) GetByID(id string) (*Schema, error)

func (Schemas) List

func (s Schemas) List(page, perPage int) Schemas

func (Schemas) Total

func (s Schemas) Total() int

type ValidateExtension added in v1.1.0

type ValidateExtension interface {
	Run(ctx jsonschema.ValidationContext, config ExtensionConfig, value interface{}) error
	Finish() error
}

type ValidationError

type ValidationError struct {
	*jsonschema.ValidationError
	Messages text.Messages
}

func NewHookValidationError added in v0.11.0

func NewHookValidationError(instancePtr, message string, messages text.Messages) *ValidationError

type ValidationErrorContextDuplicateCredentialsError

type ValidationErrorContextDuplicateCredentialsError struct {
	AvailableCredentials   []string `json:"available_credential_types"`
	AvailableOIDCProviders []string `json:"available_oidc_providers"`
	IdentifierHint         string   `json:"credential_identifier_hint"`
}

func (*ValidationErrorContextDuplicateCredentialsError) AddContext

func (*ValidationErrorContextDuplicateCredentialsError) FinishInstanceContext

func (r *ValidationErrorContextDuplicateCredentialsError) FinishInstanceContext()

type ValidationErrorContextInvalidCredentialsError

type ValidationErrorContextInvalidCredentialsError struct{}

func (*ValidationErrorContextInvalidCredentialsError) AddContext

func (*ValidationErrorContextInvalidCredentialsError) FinishInstanceContext

func (r *ValidationErrorContextInvalidCredentialsError) FinishInstanceContext()

type ValidationErrorContextPasswordPolicyViolation

type ValidationErrorContextPasswordPolicyViolation struct {
	Reason string
}

func (*ValidationErrorContextPasswordPolicyViolation) AddContext

func (*ValidationErrorContextPasswordPolicyViolation) FinishInstanceContext

func (r *ValidationErrorContextPasswordPolicyViolation) FinishInstanceContext()

type ValidationListError added in v0.11.0

type ValidationListError struct {
	Validations []*ValidationError
}

func (*ValidationListError) Add added in v0.11.0

func (ValidationListError) Error added in v0.11.0

func (e ValidationListError) Error() string

func (ValidationListError) HasErrors added in v0.11.0

func (e ValidationListError) HasErrors() bool

func (*ValidationListError) WithError added in v0.11.0

func (e *ValidationListError) WithError(instancePtr, message string, details text.Messages)

type ValidationProvider

type ValidationProvider interface {
	SchemaValidator() *Validator
}

type Validator

type Validator struct {
	sync.RWMutex
}

func NewValidator

func NewValidator() *Validator

func (*Validator) Validate

func (v *Validator) Validate(
	ctx context.Context,
	href string,
	document json.RawMessage,
	opts ...func(*validatorOptions),
) error

Jump to

Keyboard shortcuts

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