FastAPI generates the ValidationError schema with only loc, msg, and type, but Pydantic v2 actually returns input, ctx, and url as well. Generated clients with strict JSON decoding (Go's DisallowUnknownFields) cannot parse real 422 responses — the actual validation message gets replaced by a confusing JSON decoding error. - Patch the OpenAPI schema in create_app() to add input, ctx, url - Regenerate spec and Go client
323 lines
7.6 KiB
Go
323 lines
7.6 KiB
Go
/*
|
|
Hindsight HTTP API
|
|
|
|
HTTP API for Hindsight
|
|
|
|
API version: 0.4.20
|
|
*/
|
|
|
|
// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
|
|
|
|
package hindsight
|
|
|
|
import (
|
|
"encoding/json"
|
|
"bytes"
|
|
"fmt"
|
|
)
|
|
|
|
// checks if the ValidationError type satisfies the MappedNullable interface at compile time
|
|
var _ MappedNullable = &ValidationError{}
|
|
|
|
// ValidationError struct for ValidationError
|
|
type ValidationError struct {
|
|
Loc []ValidationErrorLocInner `json:"loc"`
|
|
Msg string `json:"msg"`
|
|
Type string `json:"type"`
|
|
Input interface{} `json:"input,omitempty"`
|
|
Ctx map[string]interface{} `json:"ctx,omitempty"`
|
|
Url *string `json:"url,omitempty"`
|
|
}
|
|
|
|
type _ValidationError ValidationError
|
|
|
|
// NewValidationError instantiates a new ValidationError object
|
|
// This constructor will assign default values to properties that have it defined,
|
|
// and makes sure properties required by API are set, but the set of arguments
|
|
// will change when the set of required properties is changed
|
|
func NewValidationError(loc []ValidationErrorLocInner, msg string, type_ string) *ValidationError {
|
|
this := ValidationError{}
|
|
this.Loc = loc
|
|
this.Msg = msg
|
|
this.Type = type_
|
|
return &this
|
|
}
|
|
|
|
// NewValidationErrorWithDefaults instantiates a new ValidationError object
|
|
// This constructor will only assign default values to properties that have it defined,
|
|
// but it doesn't guarantee that properties required by API are set
|
|
func NewValidationErrorWithDefaults() *ValidationError {
|
|
this := ValidationError{}
|
|
return &this
|
|
}
|
|
|
|
// GetLoc returns the Loc field value
|
|
func (o *ValidationError) GetLoc() []ValidationErrorLocInner {
|
|
if o == nil {
|
|
var ret []ValidationErrorLocInner
|
|
return ret
|
|
}
|
|
|
|
return o.Loc
|
|
}
|
|
|
|
// GetLocOk returns a tuple with the Loc field value
|
|
// and a boolean to check if the value has been set.
|
|
func (o *ValidationError) GetLocOk() ([]ValidationErrorLocInner, bool) {
|
|
if o == nil {
|
|
return nil, false
|
|
}
|
|
return o.Loc, true
|
|
}
|
|
|
|
// SetLoc sets field value
|
|
func (o *ValidationError) SetLoc(v []ValidationErrorLocInner) {
|
|
o.Loc = v
|
|
}
|
|
|
|
// GetMsg returns the Msg field value
|
|
func (o *ValidationError) GetMsg() string {
|
|
if o == nil {
|
|
var ret string
|
|
return ret
|
|
}
|
|
|
|
return o.Msg
|
|
}
|
|
|
|
// GetMsgOk returns a tuple with the Msg field value
|
|
// and a boolean to check if the value has been set.
|
|
func (o *ValidationError) GetMsgOk() (*string, bool) {
|
|
if o == nil {
|
|
return nil, false
|
|
}
|
|
return &o.Msg, true
|
|
}
|
|
|
|
// SetMsg sets field value
|
|
func (o *ValidationError) SetMsg(v string) {
|
|
o.Msg = v
|
|
}
|
|
|
|
// GetType returns the Type field value
|
|
func (o *ValidationError) GetType() string {
|
|
if o == nil {
|
|
var ret string
|
|
return ret
|
|
}
|
|
|
|
return o.Type
|
|
}
|
|
|
|
// GetTypeOk returns a tuple with the Type field value
|
|
// and a boolean to check if the value has been set.
|
|
func (o *ValidationError) GetTypeOk() (*string, bool) {
|
|
if o == nil {
|
|
return nil, false
|
|
}
|
|
return &o.Type, true
|
|
}
|
|
|
|
// SetType sets field value
|
|
func (o *ValidationError) SetType(v string) {
|
|
o.Type = v
|
|
}
|
|
|
|
// GetInput returns the Input field value if set, zero value otherwise (both if not set or set to explicit null).
|
|
func (o *ValidationError) GetInput() interface{} {
|
|
if o == nil {
|
|
var ret interface{}
|
|
return ret
|
|
}
|
|
return o.Input
|
|
}
|
|
|
|
// GetInputOk returns a tuple with the Input field value if set, nil otherwise
|
|
// and a boolean to check if the value has been set.
|
|
// NOTE: If the value is an explicit nil, `nil, true` will be returned
|
|
func (o *ValidationError) GetInputOk() (*interface{}, bool) {
|
|
if o == nil || IsNil(o.Input) {
|
|
return nil, false
|
|
}
|
|
return &o.Input, true
|
|
}
|
|
|
|
// HasInput returns a boolean if a field has been set.
|
|
func (o *ValidationError) HasInput() bool {
|
|
if o != nil && !IsNil(o.Input) {
|
|
return true
|
|
}
|
|
|
|
return false
|
|
}
|
|
|
|
// SetInput gets a reference to the given interface{} and assigns it to the Input field.
|
|
func (o *ValidationError) SetInput(v interface{}) {
|
|
o.Input = v
|
|
}
|
|
|
|
// GetCtx returns the Ctx field value if set, zero value otherwise.
|
|
func (o *ValidationError) GetCtx() map[string]interface{} {
|
|
if o == nil || IsNil(o.Ctx) {
|
|
var ret map[string]interface{}
|
|
return ret
|
|
}
|
|
return o.Ctx
|
|
}
|
|
|
|
// GetCtxOk returns a tuple with the Ctx field value if set, nil otherwise
|
|
// and a boolean to check if the value has been set.
|
|
func (o *ValidationError) GetCtxOk() (map[string]interface{}, bool) {
|
|
if o == nil || IsNil(o.Ctx) {
|
|
return map[string]interface{}{}, false
|
|
}
|
|
return o.Ctx, true
|
|
}
|
|
|
|
// HasCtx returns a boolean if a field has been set.
|
|
func (o *ValidationError) HasCtx() bool {
|
|
if o != nil && !IsNil(o.Ctx) {
|
|
return true
|
|
}
|
|
|
|
return false
|
|
}
|
|
|
|
// SetCtx gets a reference to the given map[string]interface{} and assigns it to the Ctx field.
|
|
func (o *ValidationError) SetCtx(v map[string]interface{}) {
|
|
o.Ctx = v
|
|
}
|
|
|
|
// GetUrl returns the Url field value if set, zero value otherwise.
|
|
func (o *ValidationError) GetUrl() string {
|
|
if o == nil || IsNil(o.Url) {
|
|
var ret string
|
|
return ret
|
|
}
|
|
return *o.Url
|
|
}
|
|
|
|
// GetUrlOk returns a tuple with the Url field value if set, nil otherwise
|
|
// and a boolean to check if the value has been set.
|
|
func (o *ValidationError) GetUrlOk() (*string, bool) {
|
|
if o == nil || IsNil(o.Url) {
|
|
return nil, false
|
|
}
|
|
return o.Url, true
|
|
}
|
|
|
|
// HasUrl returns a boolean if a field has been set.
|
|
func (o *ValidationError) HasUrl() bool {
|
|
if o != nil && !IsNil(o.Url) {
|
|
return true
|
|
}
|
|
|
|
return false
|
|
}
|
|
|
|
// SetUrl gets a reference to the given string and assigns it to the Url field.
|
|
func (o *ValidationError) SetUrl(v string) {
|
|
o.Url = &v
|
|
}
|
|
|
|
func (o ValidationError) MarshalJSON() ([]byte, error) {
|
|
toSerialize,err := o.ToMap()
|
|
if err != nil {
|
|
return []byte{}, err
|
|
}
|
|
return json.Marshal(toSerialize)
|
|
}
|
|
|
|
func (o ValidationError) ToMap() (map[string]interface{}, error) {
|
|
toSerialize := map[string]interface{}{}
|
|
toSerialize["loc"] = o.Loc
|
|
toSerialize["msg"] = o.Msg
|
|
toSerialize["type"] = o.Type
|
|
if o.Input != nil {
|
|
toSerialize["input"] = o.Input
|
|
}
|
|
if !IsNil(o.Ctx) {
|
|
toSerialize["ctx"] = o.Ctx
|
|
}
|
|
if !IsNil(o.Url) {
|
|
toSerialize["url"] = o.Url
|
|
}
|
|
return toSerialize, nil
|
|
}
|
|
|
|
func (o *ValidationError) UnmarshalJSON(data []byte) (err error) {
|
|
// This validates that all required properties are included in the JSON object
|
|
// by unmarshalling the object into a generic map with string keys and checking
|
|
// that every required field exists as a key in the generic map.
|
|
requiredProperties := []string{
|
|
"loc",
|
|
"msg",
|
|
"type",
|
|
}
|
|
|
|
allProperties := make(map[string]interface{})
|
|
|
|
err = json.Unmarshal(data, &allProperties)
|
|
|
|
if err != nil {
|
|
return err;
|
|
}
|
|
|
|
for _, requiredProperty := range(requiredProperties) {
|
|
if _, exists := allProperties[requiredProperty]; !exists {
|
|
return fmt.Errorf("no value given for required property %v", requiredProperty)
|
|
}
|
|
}
|
|
|
|
varValidationError := _ValidationError{}
|
|
|
|
decoder := json.NewDecoder(bytes.NewReader(data))
|
|
decoder.DisallowUnknownFields()
|
|
err = decoder.Decode(&varValidationError)
|
|
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
*o = ValidationError(varValidationError)
|
|
|
|
return err
|
|
}
|
|
|
|
type NullableValidationError struct {
|
|
value *ValidationError
|
|
isSet bool
|
|
}
|
|
|
|
func (v NullableValidationError) Get() *ValidationError {
|
|
return v.value
|
|
}
|
|
|
|
func (v *NullableValidationError) Set(val *ValidationError) {
|
|
v.value = val
|
|
v.isSet = true
|
|
}
|
|
|
|
func (v NullableValidationError) IsSet() bool {
|
|
return v.isSet
|
|
}
|
|
|
|
func (v *NullableValidationError) Unset() {
|
|
v.value = nil
|
|
v.isSet = false
|
|
}
|
|
|
|
func NewNullableValidationError(val *ValidationError) *NullableValidationError {
|
|
return &NullableValidationError{value: val, isSet: true}
|
|
}
|
|
|
|
func (v NullableValidationError) MarshalJSON() ([]byte, error) {
|
|
return json.Marshal(v.value)
|
|
}
|
|
|
|
func (v *NullableValidationError) UnmarshalJSON(src []byte) error {
|
|
v.isSet = true
|
|
return json.Unmarshal(src, &v.value)
|
|
}
|
|
|
|
|