199 lines
4.2 KiB
Go
199 lines
4.2 KiB
Go
package openapi3
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/getkin/kin-openapi/jsoninfo"
|
|
)
|
|
|
|
type CallbackRef struct {
|
|
Ref string
|
|
Value *Callback
|
|
}
|
|
|
|
func (value *CallbackRef) MarshalJSON() ([]byte, error) {
|
|
return jsoninfo.MarshalRef(value.Ref, value.Value)
|
|
}
|
|
|
|
func (value *CallbackRef) UnmarshalJSON(data []byte) error {
|
|
return jsoninfo.UnmarshalRef(data, &value.Ref, &value.Value)
|
|
}
|
|
|
|
func (value *CallbackRef) Validate(c context.Context) error {
|
|
v := value.Value
|
|
if v == nil {
|
|
return foundUnresolvedRef(value.Ref)
|
|
}
|
|
return v.Validate(c)
|
|
}
|
|
|
|
type ExampleRef struct {
|
|
Ref string
|
|
Value *Example
|
|
}
|
|
|
|
func (value *ExampleRef) MarshalJSON() ([]byte, error) {
|
|
return jsoninfo.MarshalRef(value.Ref, value.Value)
|
|
}
|
|
|
|
func (value *ExampleRef) UnmarshalJSON(data []byte) error {
|
|
return jsoninfo.UnmarshalRef(data, &value.Ref, &value.Value)
|
|
}
|
|
|
|
func (value *ExampleRef) Validate(c context.Context) error {
|
|
return nil
|
|
}
|
|
|
|
type HeaderRef struct {
|
|
Ref string
|
|
Value *Header
|
|
}
|
|
|
|
func (value *HeaderRef) MarshalJSON() ([]byte, error) {
|
|
return jsoninfo.MarshalRef(value.Ref, value.Value)
|
|
}
|
|
|
|
func (value *HeaderRef) UnmarshalJSON(data []byte) error {
|
|
return jsoninfo.UnmarshalRef(data, &value.Ref, &value.Value)
|
|
}
|
|
|
|
func (value *HeaderRef) Validate(c context.Context) error {
|
|
v := value.Value
|
|
if v == nil {
|
|
return foundUnresolvedRef(value.Ref)
|
|
}
|
|
return v.Validate(c)
|
|
}
|
|
|
|
type LinkRef struct {
|
|
Ref string
|
|
Value *Link
|
|
}
|
|
|
|
func (value *LinkRef) MarshalJSON() ([]byte, error) {
|
|
return jsoninfo.MarshalRef(value.Ref, value.Value)
|
|
}
|
|
|
|
func (value *LinkRef) UnmarshalJSON(data []byte) error {
|
|
return jsoninfo.UnmarshalRef(data, &value.Ref, &value.Value)
|
|
}
|
|
|
|
func (value *LinkRef) Validate(c context.Context) error {
|
|
v := value.Value
|
|
if v == nil {
|
|
return foundUnresolvedRef(value.Ref)
|
|
}
|
|
return v.Validate(c)
|
|
}
|
|
|
|
type ParameterRef struct {
|
|
Ref string
|
|
Value *Parameter
|
|
}
|
|
|
|
func (value *ParameterRef) MarshalJSON() ([]byte, error) {
|
|
return jsoninfo.MarshalRef(value.Ref, value.Value)
|
|
}
|
|
|
|
func (value *ParameterRef) UnmarshalJSON(data []byte) error {
|
|
return jsoninfo.UnmarshalRef(data, &value.Ref, &value.Value)
|
|
}
|
|
|
|
func (value *ParameterRef) Validate(c context.Context) error {
|
|
v := value.Value
|
|
if v == nil {
|
|
return foundUnresolvedRef(value.Ref)
|
|
}
|
|
return v.Validate(c)
|
|
}
|
|
|
|
type ResponseRef struct {
|
|
Ref string
|
|
Value *Response
|
|
}
|
|
|
|
func (value *ResponseRef) MarshalJSON() ([]byte, error) {
|
|
return jsoninfo.MarshalRef(value.Ref, value.Value)
|
|
}
|
|
|
|
func (value *ResponseRef) UnmarshalJSON(data []byte) error {
|
|
return jsoninfo.UnmarshalRef(data, &value.Ref, &value.Value)
|
|
}
|
|
|
|
func (value *ResponseRef) Validate(c context.Context) error {
|
|
v := value.Value
|
|
if v == nil {
|
|
return foundUnresolvedRef(value.Ref)
|
|
}
|
|
return v.Validate(c)
|
|
}
|
|
|
|
type RequestBodyRef struct {
|
|
Ref string
|
|
Value *RequestBody
|
|
}
|
|
|
|
func (value *RequestBodyRef) MarshalJSON() ([]byte, error) {
|
|
return jsoninfo.MarshalRef(value.Ref, value.Value)
|
|
}
|
|
|
|
func (value *RequestBodyRef) UnmarshalJSON(data []byte) error {
|
|
return jsoninfo.UnmarshalRef(data, &value.Ref, &value.Value)
|
|
}
|
|
|
|
func (value *RequestBodyRef) Validate(c context.Context) error {
|
|
v := value.Value
|
|
if v == nil {
|
|
return foundUnresolvedRef(value.Ref)
|
|
}
|
|
return v.Validate(c)
|
|
}
|
|
|
|
type SchemaRef struct {
|
|
Ref string
|
|
Value *Schema
|
|
}
|
|
|
|
func NewSchemaRef(ref string, value *Schema) *SchemaRef {
|
|
return &SchemaRef{
|
|
Ref: ref,
|
|
Value: value,
|
|
}
|
|
}
|
|
|
|
func (value *SchemaRef) MarshalJSON() ([]byte, error) {
|
|
return jsoninfo.MarshalRef(value.Ref, value.Value)
|
|
}
|
|
|
|
func (value *SchemaRef) UnmarshalJSON(data []byte) error {
|
|
return jsoninfo.UnmarshalRef(data, &value.Ref, &value.Value)
|
|
}
|
|
|
|
func (value *SchemaRef) Validate(c context.Context) error {
|
|
v := value.Value
|
|
if v == nil {
|
|
return foundUnresolvedRef(value.Ref)
|
|
}
|
|
return v.Validate(c)
|
|
}
|
|
|
|
type SecuritySchemeRef struct {
|
|
Ref string
|
|
Value *SecurityScheme
|
|
}
|
|
|
|
func (value *SecuritySchemeRef) MarshalJSON() ([]byte, error) {
|
|
return jsoninfo.MarshalRef(value.Ref, value.Value)
|
|
}
|
|
|
|
func (value *SecuritySchemeRef) UnmarshalJSON(data []byte) error {
|
|
return jsoninfo.UnmarshalRef(data, &value.Ref, &value.Value)
|
|
}
|
|
|
|
func (value *SecuritySchemeRef) Validate(c context.Context) error {
|
|
v := value.Value
|
|
if v == nil {
|
|
return foundUnresolvedRef(value.Ref)
|
|
}
|
|
return v.Validate(c)
|
|
}
|