// Code generated by ogen, DO NOT EDIT. package gen import ( "net/http" "net/url" "time" "github.com/go-faster/errors" "github.com/ogen-go/ogen/conv" "github.com/ogen-go/ogen/middleware" "github.com/ogen-go/ogen/ogenerrors" "github.com/ogen-go/ogen/uri" "github.com/ogen-go/ogen/validate" ) // DealsDealIDGetParams is parameters of GET /deals/{deal_id} operation. type DealsDealIDGetParams struct { DealID DealId } func unpackDealsDealIDGetParams(packed middleware.Parameters) (params DealsDealIDGetParams) { { key := middleware.ParameterKey{ Name: "deal_id", In: "path", } params.DealID = packed[key].(DealId) } return params } func decodeDealsDealIDGetParams(args [1]string, argsEscaped bool, r *http.Request) (params DealsDealIDGetParams, _ error) { // Decode path: deal_id. if err := func() error { param := args[0] if argsEscaped { unescaped, err := url.PathUnescape(args[0]) if err != nil { return errors.Wrap(err, "unescape path") } param = unescaped } if len(param) > 0 { d := uri.NewPathDecoder(uri.PathDecoderConfig{ Param: "deal_id", Value: param, Style: uri.PathStyleSimple, Explode: false, }) if err := func() error { var paramsDotDealIDVal string if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToString(val) if err != nil { return err } paramsDotDealIDVal = c return nil }(); err != nil { return err } params.DealID = DealId(paramsDotDealIDVal) return nil }(); err != nil { return err } if err := func() error { if err := params.DealID.Validate(); err != nil { return err } return nil }(); err != nil { return err } } else { return validate.ErrFieldRequired } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "deal_id", In: "path", Err: err, } } return params, nil } // DealsGetParams is parameters of GET /deals operation. type DealsGetParams struct { // Фильтр по времени создания: время должно быть больше // указанного значения или равно ему («с такого-то // момента включительно»). Указывается в формате ISO 8601: // https://en.wikipedia.org/wiki/ISO_8601. Пример: created_at.gte=2018-07-18T10:51:18.139Z. CreatedAtGte OptDateTime `json:",omitempty,omitzero"` // Фильтр по времени создания: время должно быть больше // указанного значения («с такого-то момента, не включая // его»). Указывается в формате ISO 8601: https://en.wikipedia. // org/wiki/ISO_8601. Пример: created_at.gt=2018-07-18T10:51:18.139Z. CreatedAtGt OptDateTime `json:",omitempty,omitzero"` // Фильтр по времени создания: время должно быть меньше // указанного значения или равно ему («по такой-то // момент включительно»). Указывается в формате ISO 8601: // https://en.wikipedia.org/wiki/ISO_8601. Пример: created_at.lte=2018-07-18T10:51:18.139Z. CreatedAtLte OptDateTime `json:",omitempty,omitzero"` // Фильтр по времени создания: время должно быть меньше // указанного значения («по такой-то момент, не включая // его»). Указывается в формате ISO 8601: https://en.wikipedia. // org/wiki/ISO_8601. Пример: created_at.lt=2018-07-18T10:51:18.139Z. CreatedAtLt OptDateTime `json:",omitempty,omitzero"` // Фильтр по времени автоматического закрытия сделки: // время должно быть больше указанного значения или // равно ему («с такого-то момента включительно»). // Указывается в формате ISO 8601: https://en.wikipedia.org/wiki/ISO_8601. // Пример: expires_at.gte=2018-07-18T10:51:18.139Z. ExpiresAtGte OptDateTime `json:",omitempty,omitzero"` // Фильтр по времени автоматического закрытия сделки: // время должно быть больше указанного значения («с // такого-то момента, не включая его»). Указывается в // формате ISO 8601: https://en.wikipedia.org/wiki/ISO_8601. Пример: expires_at. // gt=2018-07-18T10:51:18.139Z. ExpiresAtGt OptDateTime `json:",omitempty,omitzero"` // Фильтр по времени автоматического закрытия сделки: // время должно быть меньше указанного значения или // равно ему («по такой-то момент включительно»). // Указывается в формате ISO 8601: https://en.wikipedia.org/wiki/ISO_8601. // Пример: expires_at.lte=2018-07-18T10:51:18.139Z. ExpiresAtLte OptDateTime `json:",omitempty,omitzero"` // Фильтр по времени автоматического закрытия сделки: // время должно быть меньше указанного значения («по // такой-то момент, не включая его»). Указывается в // формате ISO 8601: https://en.wikipedia.org/wiki/ISO_8601. Пример: expires_at. // lt=2018-07-18T10:51:18.139Z. ExpiresAtLt OptDateTime `json:",omitempty,omitzero"` // Фильтр по статусу сделки. Пример: status=closed. Status OptDealStatus `json:",omitempty,omitzero"` // Фильтр по описанию сделки — параметру description // (например, идентификатор сделки на стороне вашей // интернет-площадки в ЮKassa, идентификатор покупателя // или продавца). От 4 до 128 символов. Пример: 123554642-2432FF344R. FullTextSearch OptString `json:",omitempty,omitzero"` // Размер выдачи результатов запроса — количество // объектов, передаваемых в ответе. Возможные значения: // от 1 до 100. Пример: limit=50 Значение по умолчанию: 10. Limit OptInt `json:",omitempty,omitzero"` // Указатель на следующий фрагмент списка. Пример: // cursor=37a5c87d-3984-51e8-a7f3-8de646d39ec15 В качестве указателя // необходимо использовать значение параметра next_cursor, // полученное в ответе на предыдущий запрос. // Используется, если в списке больше объектов, чем // может поместиться в выдаче (limit), и конец выдачи не // достигнут. Пример использования: https://yookassa. // ru/developers/using-api/lists#pagination. Cursor OptString `json:",omitempty,omitzero"` } func unpackDealsGetParams(packed middleware.Parameters) (params DealsGetParams) { { key := middleware.ParameterKey{ Name: "created_at.gte", In: "query", } if v, ok := packed[key]; ok { params.CreatedAtGte = v.(OptDateTime) } } { key := middleware.ParameterKey{ Name: "created_at.gt", In: "query", } if v, ok := packed[key]; ok { params.CreatedAtGt = v.(OptDateTime) } } { key := middleware.ParameterKey{ Name: "created_at.lte", In: "query", } if v, ok := packed[key]; ok { params.CreatedAtLte = v.(OptDateTime) } } { key := middleware.ParameterKey{ Name: "created_at.lt", In: "query", } if v, ok := packed[key]; ok { params.CreatedAtLt = v.(OptDateTime) } } { key := middleware.ParameterKey{ Name: "expires_at.gte", In: "query", } if v, ok := packed[key]; ok { params.ExpiresAtGte = v.(OptDateTime) } } { key := middleware.ParameterKey{ Name: "expires_at.gt", In: "query", } if v, ok := packed[key]; ok { params.ExpiresAtGt = v.(OptDateTime) } } { key := middleware.ParameterKey{ Name: "expires_at.lte", In: "query", } if v, ok := packed[key]; ok { params.ExpiresAtLte = v.(OptDateTime) } } { key := middleware.ParameterKey{ Name: "expires_at.lt", In: "query", } if v, ok := packed[key]; ok { params.ExpiresAtLt = v.(OptDateTime) } } { key := middleware.ParameterKey{ Name: "status", In: "query", } if v, ok := packed[key]; ok { params.Status = v.(OptDealStatus) } } { key := middleware.ParameterKey{ Name: "full_text_search", In: "query", } if v, ok := packed[key]; ok { params.FullTextSearch = v.(OptString) } } { key := middleware.ParameterKey{ Name: "limit", In: "query", } if v, ok := packed[key]; ok { params.Limit = v.(OptInt) } } { key := middleware.ParameterKey{ Name: "cursor", In: "query", } if v, ok := packed[key]; ok { params.Cursor = v.(OptString) } } return params } func decodeDealsGetParams(args [0]string, argsEscaped bool, r *http.Request) (params DealsGetParams, _ error) { q := uri.NewQueryDecoder(r.URL.Query()) // Decode query: created_at.gte. if err := func() error { cfg := uri.QueryParameterDecodingConfig{ Name: "created_at.gte", Style: uri.QueryStyleForm, Explode: true, } if err := q.HasParam(cfg); err == nil { if err := q.DecodeParam(cfg, func(d uri.Decoder) error { var paramsDotCreatedAtGteVal time.Time if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToDateTime(val) if err != nil { return err } paramsDotCreatedAtGteVal = c return nil }(); err != nil { return err } params.CreatedAtGte.SetTo(paramsDotCreatedAtGteVal) return nil }); err != nil { return err } } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "created_at.gte", In: "query", Err: err, } } // Decode query: created_at.gt. if err := func() error { cfg := uri.QueryParameterDecodingConfig{ Name: "created_at.gt", Style: uri.QueryStyleForm, Explode: true, } if err := q.HasParam(cfg); err == nil { if err := q.DecodeParam(cfg, func(d uri.Decoder) error { var paramsDotCreatedAtGtVal time.Time if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToDateTime(val) if err != nil { return err } paramsDotCreatedAtGtVal = c return nil }(); err != nil { return err } params.CreatedAtGt.SetTo(paramsDotCreatedAtGtVal) return nil }); err != nil { return err } } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "created_at.gt", In: "query", Err: err, } } // Decode query: created_at.lte. if err := func() error { cfg := uri.QueryParameterDecodingConfig{ Name: "created_at.lte", Style: uri.QueryStyleForm, Explode: true, } if err := q.HasParam(cfg); err == nil { if err := q.DecodeParam(cfg, func(d uri.Decoder) error { var paramsDotCreatedAtLteVal time.Time if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToDateTime(val) if err != nil { return err } paramsDotCreatedAtLteVal = c return nil }(); err != nil { return err } params.CreatedAtLte.SetTo(paramsDotCreatedAtLteVal) return nil }); err != nil { return err } } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "created_at.lte", In: "query", Err: err, } } // Decode query: created_at.lt. if err := func() error { cfg := uri.QueryParameterDecodingConfig{ Name: "created_at.lt", Style: uri.QueryStyleForm, Explode: true, } if err := q.HasParam(cfg); err == nil { if err := q.DecodeParam(cfg, func(d uri.Decoder) error { var paramsDotCreatedAtLtVal time.Time if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToDateTime(val) if err != nil { return err } paramsDotCreatedAtLtVal = c return nil }(); err != nil { return err } params.CreatedAtLt.SetTo(paramsDotCreatedAtLtVal) return nil }); err != nil { return err } } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "created_at.lt", In: "query", Err: err, } } // Decode query: expires_at.gte. if err := func() error { cfg := uri.QueryParameterDecodingConfig{ Name: "expires_at.gte", Style: uri.QueryStyleForm, Explode: true, } if err := q.HasParam(cfg); err == nil { if err := q.DecodeParam(cfg, func(d uri.Decoder) error { var paramsDotExpiresAtGteVal time.Time if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToDateTime(val) if err != nil { return err } paramsDotExpiresAtGteVal = c return nil }(); err != nil { return err } params.ExpiresAtGte.SetTo(paramsDotExpiresAtGteVal) return nil }); err != nil { return err } } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "expires_at.gte", In: "query", Err: err, } } // Decode query: expires_at.gt. if err := func() error { cfg := uri.QueryParameterDecodingConfig{ Name: "expires_at.gt", Style: uri.QueryStyleForm, Explode: true, } if err := q.HasParam(cfg); err == nil { if err := q.DecodeParam(cfg, func(d uri.Decoder) error { var paramsDotExpiresAtGtVal time.Time if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToDateTime(val) if err != nil { return err } paramsDotExpiresAtGtVal = c return nil }(); err != nil { return err } params.ExpiresAtGt.SetTo(paramsDotExpiresAtGtVal) return nil }); err != nil { return err } } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "expires_at.gt", In: "query", Err: err, } } // Decode query: expires_at.lte. if err := func() error { cfg := uri.QueryParameterDecodingConfig{ Name: "expires_at.lte", Style: uri.QueryStyleForm, Explode: true, } if err := q.HasParam(cfg); err == nil { if err := q.DecodeParam(cfg, func(d uri.Decoder) error { var paramsDotExpiresAtLteVal time.Time if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToDateTime(val) if err != nil { return err } paramsDotExpiresAtLteVal = c return nil }(); err != nil { return err } params.ExpiresAtLte.SetTo(paramsDotExpiresAtLteVal) return nil }); err != nil { return err } } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "expires_at.lte", In: "query", Err: err, } } // Decode query: expires_at.lt. if err := func() error { cfg := uri.QueryParameterDecodingConfig{ Name: "expires_at.lt", Style: uri.QueryStyleForm, Explode: true, } if err := q.HasParam(cfg); err == nil { if err := q.DecodeParam(cfg, func(d uri.Decoder) error { var paramsDotExpiresAtLtVal time.Time if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToDateTime(val) if err != nil { return err } paramsDotExpiresAtLtVal = c return nil }(); err != nil { return err } params.ExpiresAtLt.SetTo(paramsDotExpiresAtLtVal) return nil }); err != nil { return err } } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "expires_at.lt", In: "query", Err: err, } } // Decode query: status. if err := func() error { cfg := uri.QueryParameterDecodingConfig{ Name: "status", Style: uri.QueryStyleForm, Explode: true, } if err := q.HasParam(cfg); err == nil { if err := q.DecodeParam(cfg, func(d uri.Decoder) error { var paramsDotStatusVal DealStatus if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToString(val) if err != nil { return err } paramsDotStatusVal = DealStatus(c) return nil }(); err != nil { return err } params.Status.SetTo(paramsDotStatusVal) return nil }); err != nil { return err } if err := func() error { if value, ok := params.Status.Get(); ok { if err := func() error { if err := value.Validate(); err != nil { return err } return nil }(); err != nil { return err } } return nil }(); err != nil { return err } } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "status", In: "query", Err: err, } } // Decode query: full_text_search. if err := func() error { cfg := uri.QueryParameterDecodingConfig{ Name: "full_text_search", Style: uri.QueryStyleForm, Explode: true, } if err := q.HasParam(cfg); err == nil { if err := q.DecodeParam(cfg, func(d uri.Decoder) error { var paramsDotFullTextSearchVal string if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToString(val) if err != nil { return err } paramsDotFullTextSearchVal = c return nil }(); err != nil { return err } params.FullTextSearch.SetTo(paramsDotFullTextSearchVal) return nil }); err != nil { return err } if err := func() error { if value, ok := params.FullTextSearch.Get(); ok { if err := func() error { if err := (validate.String{ MinLength: 4, MinLengthSet: true, MaxLength: 128, MaxLengthSet: true, Email: false, Hostname: false, Regex: nil, MinNumeric: 0, MinNumericSet: false, MaxNumeric: 0, MaxNumericSet: false, }).Validate(string(value)); err != nil { return errors.Wrap(err, "string") } return nil }(); err != nil { return err } } return nil }(); err != nil { return err } } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "full_text_search", In: "query", Err: err, } } // Set default value for query: limit. { val := int(10) params.Limit.SetTo(val) } // Decode query: limit. if err := func() error { cfg := uri.QueryParameterDecodingConfig{ Name: "limit", Style: uri.QueryStyleForm, Explode: true, } if err := q.HasParam(cfg); err == nil { if err := q.DecodeParam(cfg, func(d uri.Decoder) error { var paramsDotLimitVal int if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToInt(val) if err != nil { return err } paramsDotLimitVal = c return nil }(); err != nil { return err } params.Limit.SetTo(paramsDotLimitVal) return nil }); err != nil { return err } if err := func() error { if value, ok := params.Limit.Get(); ok { if err := func() error { if err := (validate.Int{ MinSet: true, Min: 1, MaxSet: true, Max: 100, MinExclusive: false, MaxExclusive: false, MultipleOfSet: false, MultipleOf: 0, Pattern: nil, }).Validate(int64(value)); err != nil { return errors.Wrap(err, "int") } return nil }(); err != nil { return err } } return nil }(); err != nil { return err } } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "limit", In: "query", Err: err, } } // Decode query: cursor. if err := func() error { cfg := uri.QueryParameterDecodingConfig{ Name: "cursor", Style: uri.QueryStyleForm, Explode: true, } if err := q.HasParam(cfg); err == nil { if err := q.DecodeParam(cfg, func(d uri.Decoder) error { var paramsDotCursorVal string if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToString(val) if err != nil { return err } paramsDotCursorVal = c return nil }(); err != nil { return err } params.Cursor.SetTo(paramsDotCursorVal) return nil }); err != nil { return err } } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "cursor", In: "query", Err: err, } } return params, nil } // DealsPostParams is parameters of POST /deals operation. type DealsPostParams struct { IdempotenceKey string } func unpackDealsPostParams(packed middleware.Parameters) (params DealsPostParams) { { key := middleware.ParameterKey{ Name: "Idempotence-Key", In: "header", } params.IdempotenceKey = packed[key].(string) } return params } func decodeDealsPostParams(args [0]string, argsEscaped bool, r *http.Request) (params DealsPostParams, _ error) { h := uri.NewHeaderDecoder(r.Header) // Set default value for header: Idempotence-Key. { val := string("2e1da982-1bb1-41f0-b9cf-758cc8bcf069") params.IdempotenceKey = val } // Decode header: Idempotence-Key. if err := func() error { cfg := uri.HeaderParameterDecodingConfig{ Name: "Idempotence-Key", Explode: false, } if err := h.HasParam(cfg); err == nil { if err := h.DecodeParam(cfg, func(d uri.Decoder) error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToString(val) if err != nil { return err } params.IdempotenceKey = c return nil }); err != nil { return err } if err := func() error { if err := (validate.String{ MinLength: 0, MinLengthSet: false, MaxLength: 64, MaxLengthSet: true, Email: false, Hostname: false, Regex: regexMap["[0-9a-zA-Z+-_.]{1,64}"], MinNumeric: 0, MinNumericSet: false, MaxNumeric: 0, MaxNumericSet: false, }).Validate(string(params.IdempotenceKey)); err != nil { return errors.Wrap(err, "string") } return nil }(); err != nil { return err } } else { return err } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "Idempotence-Key", In: "header", Err: err, } } return params, nil } // MeGetParams is parameters of GET /me operation. type MeGetParams struct { // Только для тех, кто использует Сплитование платежей: // https://yookassa.ru/developers/solutions-for-platforms/split-payments/basics. // Идентификатор магазина продавца, подключенного к // вашей платформе, информацию о котором вы хотите // узнать. OnBehalfOf OptAccountId `json:",omitempty,omitzero"` } func unpackMeGetParams(packed middleware.Parameters) (params MeGetParams) { { key := middleware.ParameterKey{ Name: "on_behalf_of", In: "query", } if v, ok := packed[key]; ok { params.OnBehalfOf = v.(OptAccountId) } } return params } func decodeMeGetParams(args [0]string, argsEscaped bool, r *http.Request) (params MeGetParams, _ error) { q := uri.NewQueryDecoder(r.URL.Query()) // Decode query: on_behalf_of. if err := func() error { cfg := uri.QueryParameterDecodingConfig{ Name: "on_behalf_of", Style: uri.QueryStyleForm, Explode: true, } if err := q.HasParam(cfg); err == nil { if err := q.DecodeParam(cfg, func(d uri.Decoder) error { var paramsDotOnBehalfOfVal AccountId if err := func() error { var paramsDotOnBehalfOfValVal string if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToString(val) if err != nil { return err } paramsDotOnBehalfOfValVal = c return nil }(); err != nil { return err } paramsDotOnBehalfOfVal = AccountId(paramsDotOnBehalfOfValVal) return nil }(); err != nil { return err } params.OnBehalfOf.SetTo(paramsDotOnBehalfOfVal) return nil }); err != nil { return err } } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "on_behalf_of", In: "query", Err: err, } } return params, nil } // PaymentMethodsPaymentMethodIDGetParams is parameters of GET /payment_methods/{payment_method_id} operation. type PaymentMethodsPaymentMethodIDGetParams struct { // Идентификатор сохраненного способа оплаты. PaymentMethodID PaymentMethodId } func unpackPaymentMethodsPaymentMethodIDGetParams(packed middleware.Parameters) (params PaymentMethodsPaymentMethodIDGetParams) { { key := middleware.ParameterKey{ Name: "payment_method_id", In: "path", } params.PaymentMethodID = packed[key].(PaymentMethodId) } return params } func decodePaymentMethodsPaymentMethodIDGetParams(args [1]string, argsEscaped bool, r *http.Request) (params PaymentMethodsPaymentMethodIDGetParams, _ error) { // Decode path: payment_method_id. if err := func() error { param := args[0] if argsEscaped { unescaped, err := url.PathUnescape(args[0]) if err != nil { return errors.Wrap(err, "unescape path") } param = unescaped } if len(param) > 0 { d := uri.NewPathDecoder(uri.PathDecoderConfig{ Param: "payment_method_id", Value: param, Style: uri.PathStyleSimple, Explode: false, }) if err := func() error { var paramsDotPaymentMethodIDVal string if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToString(val) if err != nil { return err } paramsDotPaymentMethodIDVal = c return nil }(); err != nil { return err } params.PaymentMethodID = PaymentMethodId(paramsDotPaymentMethodIDVal) return nil }(); err != nil { return err } } else { return validate.ErrFieldRequired } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "payment_method_id", In: "path", Err: err, } } return params, nil } // PaymentMethodsPostParams is parameters of POST /payment_methods operation. type PaymentMethodsPostParams struct { IdempotenceKey string } func unpackPaymentMethodsPostParams(packed middleware.Parameters) (params PaymentMethodsPostParams) { { key := middleware.ParameterKey{ Name: "Idempotence-Key", In: "header", } params.IdempotenceKey = packed[key].(string) } return params } func decodePaymentMethodsPostParams(args [0]string, argsEscaped bool, r *http.Request) (params PaymentMethodsPostParams, _ error) { h := uri.NewHeaderDecoder(r.Header) // Set default value for header: Idempotence-Key. { val := string("2e1da982-1bb1-41f0-b9cf-758cc8bcf069") params.IdempotenceKey = val } // Decode header: Idempotence-Key. if err := func() error { cfg := uri.HeaderParameterDecodingConfig{ Name: "Idempotence-Key", Explode: false, } if err := h.HasParam(cfg); err == nil { if err := h.DecodeParam(cfg, func(d uri.Decoder) error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToString(val) if err != nil { return err } params.IdempotenceKey = c return nil }); err != nil { return err } if err := func() error { if err := (validate.String{ MinLength: 0, MinLengthSet: false, MaxLength: 64, MaxLengthSet: true, Email: false, Hostname: false, Regex: regexMap["[0-9a-zA-Z+-_.]{1,64}"], MinNumeric: 0, MinNumericSet: false, MaxNumeric: 0, MaxNumericSet: false, }).Validate(string(params.IdempotenceKey)); err != nil { return errors.Wrap(err, "string") } return nil }(); err != nil { return err } } else { return err } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "Idempotence-Key", In: "header", Err: err, } } return params, nil } // PaymentsGetParams is parameters of GET /payments operation. type PaymentsGetParams struct { // Фильтр по времени создания: время должно быть больше // указанного значения или равно ему («с такого-то // момента включительно»). Указывается в формате ISO 8601: // https://en.wikipedia.org/wiki/ISO_8601. Пример: created_at.gte=2018-07-18T10:51:18.139Z. CreatedAtGte OptDateTime `json:",omitempty,omitzero"` // Фильтр по времени создания: время должно быть больше // указанного значения («с такого-то момента, не включая // его»). Указывается в формате ISO 8601: https://en.wikipedia. // org/wiki/ISO_8601. Пример: created_at.gt=2018-07-18T10:51:18.139Z. CreatedAtGt OptDateTime `json:",omitempty,omitzero"` // Фильтр по времени создания: время должно быть меньше // указанного значения или равно ему («по такой-то // момент включительно»). Указывается в формате ISO 8601: // https://en.wikipedia.org/wiki/ISO_8601. Пример: created_at.lte=2018-07-18T10:51:18.139Z. CreatedAtLte OptDateTime `json:",omitempty,omitzero"` // Фильтр по времени создания: время должно быть меньше // указанного значения («по такой-то момент, не включая // его»). Указывается в формате ISO 8601: https://en.wikipedia. // org/wiki/ISO_8601. Пример: created_at.lt=2018-07-18T10:51:18.139Z. CreatedAtLt OptDateTime `json:",omitempty,omitzero"` // Filter by time of payment capture: time must be greater than the specified value or equal ("from a // certain moment inclusive"). Specified in the ISO 8601: https://en.wikipedia.org/wiki/ISO_8601 // format. Example: captured_at.gte=2018-07-18T10:51:18.139Z. CapturedAtGte OptDateTime `json:",omitempty,omitzero"` // Filter by time of payment capture: time must be greater than the specified value ("from a certain // moment exclusive"). Specified in the ISO 8601: https://en.wikipedia.org/wiki/ISO_8601 format. // Example: captured_at.gt=2018-07-18T10:51:18.139Z. CapturedAtGt OptDateTime `json:",omitempty,omitzero"` // Filter by time of payment capture: time must be less than the specified value or equal ("until a // certain moment inclusive"). Specified in the ISO 8601: https://en.wikipedia.org/wiki/ISO_8601 // format. Example: captured_at.lte=2018-07-18T10:51:18.139Z. CapturedAtLte OptDateTime `json:",omitempty,omitzero"` // Filter by time of payment capture: time must be less than the specified value ("until a certain // moment exclusive") Specified in the ISO 8601: https://en.wikipedia.org/wiki/ISO_8601 format. // Example: captured_at.lt=2018-07-18T10:51:18.139Z. CapturedAtLt OptDateTime `json:",omitempty,omitzero"` // Filter by payment method: https://yookassa. // ru/developers/payment-acceptance/getting-started/payment-methods#all code. Example: // payment_method=bank_card. PaymentMethod OptPaymentMethodType `json:",omitempty,omitzero"` // Filter by payment status: https://yookassa. // ru/developers/payment-acceptance/getting-started/payment-process#lifecycle. Example: // status=succeeded. Status OptPaymentStatus `json:",omitempty,omitzero"` // Размер выдачи результатов запроса — количество // объектов, передаваемых в ответе. Возможные значения: // от 1 до 100. Пример: limit=50 Значение по умолчанию: 10. Limit OptInt `json:",omitempty,omitzero"` // Указатель на следующий фрагмент списка. Пример: // cursor=37a5c87d-3984-51e8-a7f3-8de646d39ec15 В качестве указателя // необходимо использовать значение параметра next_cursor, // полученное в ответе на предыдущий запрос. // Используется, если в списке больше объектов, чем // может поместиться в выдаче (limit), и конец выдачи не // достигнут. Пример использования: https://yookassa. // ru/developers/using-api/lists#pagination. Cursor OptString `json:",omitempty,omitzero"` } func unpackPaymentsGetParams(packed middleware.Parameters) (params PaymentsGetParams) { { key := middleware.ParameterKey{ Name: "created_at.gte", In: "query", } if v, ok := packed[key]; ok { params.CreatedAtGte = v.(OptDateTime) } } { key := middleware.ParameterKey{ Name: "created_at.gt", In: "query", } if v, ok := packed[key]; ok { params.CreatedAtGt = v.(OptDateTime) } } { key := middleware.ParameterKey{ Name: "created_at.lte", In: "query", } if v, ok := packed[key]; ok { params.CreatedAtLte = v.(OptDateTime) } } { key := middleware.ParameterKey{ Name: "created_at.lt", In: "query", } if v, ok := packed[key]; ok { params.CreatedAtLt = v.(OptDateTime) } } { key := middleware.ParameterKey{ Name: "captured_at.gte", In: "query", } if v, ok := packed[key]; ok { params.CapturedAtGte = v.(OptDateTime) } } { key := middleware.ParameterKey{ Name: "captured_at.gt", In: "query", } if v, ok := packed[key]; ok { params.CapturedAtGt = v.(OptDateTime) } } { key := middleware.ParameterKey{ Name: "captured_at.lte", In: "query", } if v, ok := packed[key]; ok { params.CapturedAtLte = v.(OptDateTime) } } { key := middleware.ParameterKey{ Name: "captured_at.lt", In: "query", } if v, ok := packed[key]; ok { params.CapturedAtLt = v.(OptDateTime) } } { key := middleware.ParameterKey{ Name: "payment_method", In: "query", } if v, ok := packed[key]; ok { params.PaymentMethod = v.(OptPaymentMethodType) } } { key := middleware.ParameterKey{ Name: "status", In: "query", } if v, ok := packed[key]; ok { params.Status = v.(OptPaymentStatus) } } { key := middleware.ParameterKey{ Name: "limit", In: "query", } if v, ok := packed[key]; ok { params.Limit = v.(OptInt) } } { key := middleware.ParameterKey{ Name: "cursor", In: "query", } if v, ok := packed[key]; ok { params.Cursor = v.(OptString) } } return params } func decodePaymentsGetParams(args [0]string, argsEscaped bool, r *http.Request) (params PaymentsGetParams, _ error) { q := uri.NewQueryDecoder(r.URL.Query()) // Decode query: created_at.gte. if err := func() error { cfg := uri.QueryParameterDecodingConfig{ Name: "created_at.gte", Style: uri.QueryStyleForm, Explode: true, } if err := q.HasParam(cfg); err == nil { if err := q.DecodeParam(cfg, func(d uri.Decoder) error { var paramsDotCreatedAtGteVal time.Time if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToDateTime(val) if err != nil { return err } paramsDotCreatedAtGteVal = c return nil }(); err != nil { return err } params.CreatedAtGte.SetTo(paramsDotCreatedAtGteVal) return nil }); err != nil { return err } } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "created_at.gte", In: "query", Err: err, } } // Decode query: created_at.gt. if err := func() error { cfg := uri.QueryParameterDecodingConfig{ Name: "created_at.gt", Style: uri.QueryStyleForm, Explode: true, } if err := q.HasParam(cfg); err == nil { if err := q.DecodeParam(cfg, func(d uri.Decoder) error { var paramsDotCreatedAtGtVal time.Time if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToDateTime(val) if err != nil { return err } paramsDotCreatedAtGtVal = c return nil }(); err != nil { return err } params.CreatedAtGt.SetTo(paramsDotCreatedAtGtVal) return nil }); err != nil { return err } } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "created_at.gt", In: "query", Err: err, } } // Decode query: created_at.lte. if err := func() error { cfg := uri.QueryParameterDecodingConfig{ Name: "created_at.lte", Style: uri.QueryStyleForm, Explode: true, } if err := q.HasParam(cfg); err == nil { if err := q.DecodeParam(cfg, func(d uri.Decoder) error { var paramsDotCreatedAtLteVal time.Time if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToDateTime(val) if err != nil { return err } paramsDotCreatedAtLteVal = c return nil }(); err != nil { return err } params.CreatedAtLte.SetTo(paramsDotCreatedAtLteVal) return nil }); err != nil { return err } } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "created_at.lte", In: "query", Err: err, } } // Decode query: created_at.lt. if err := func() error { cfg := uri.QueryParameterDecodingConfig{ Name: "created_at.lt", Style: uri.QueryStyleForm, Explode: true, } if err := q.HasParam(cfg); err == nil { if err := q.DecodeParam(cfg, func(d uri.Decoder) error { var paramsDotCreatedAtLtVal time.Time if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToDateTime(val) if err != nil { return err } paramsDotCreatedAtLtVal = c return nil }(); err != nil { return err } params.CreatedAtLt.SetTo(paramsDotCreatedAtLtVal) return nil }); err != nil { return err } } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "created_at.lt", In: "query", Err: err, } } // Decode query: captured_at.gte. if err := func() error { cfg := uri.QueryParameterDecodingConfig{ Name: "captured_at.gte", Style: uri.QueryStyleForm, Explode: true, } if err := q.HasParam(cfg); err == nil { if err := q.DecodeParam(cfg, func(d uri.Decoder) error { var paramsDotCapturedAtGteVal time.Time if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToDateTime(val) if err != nil { return err } paramsDotCapturedAtGteVal = c return nil }(); err != nil { return err } params.CapturedAtGte.SetTo(paramsDotCapturedAtGteVal) return nil }); err != nil { return err } } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "captured_at.gte", In: "query", Err: err, } } // Decode query: captured_at.gt. if err := func() error { cfg := uri.QueryParameterDecodingConfig{ Name: "captured_at.gt", Style: uri.QueryStyleForm, Explode: true, } if err := q.HasParam(cfg); err == nil { if err := q.DecodeParam(cfg, func(d uri.Decoder) error { var paramsDotCapturedAtGtVal time.Time if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToDateTime(val) if err != nil { return err } paramsDotCapturedAtGtVal = c return nil }(); err != nil { return err } params.CapturedAtGt.SetTo(paramsDotCapturedAtGtVal) return nil }); err != nil { return err } } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "captured_at.gt", In: "query", Err: err, } } // Decode query: captured_at.lte. if err := func() error { cfg := uri.QueryParameterDecodingConfig{ Name: "captured_at.lte", Style: uri.QueryStyleForm, Explode: true, } if err := q.HasParam(cfg); err == nil { if err := q.DecodeParam(cfg, func(d uri.Decoder) error { var paramsDotCapturedAtLteVal time.Time if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToDateTime(val) if err != nil { return err } paramsDotCapturedAtLteVal = c return nil }(); err != nil { return err } params.CapturedAtLte.SetTo(paramsDotCapturedAtLteVal) return nil }); err != nil { return err } } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "captured_at.lte", In: "query", Err: err, } } // Decode query: captured_at.lt. if err := func() error { cfg := uri.QueryParameterDecodingConfig{ Name: "captured_at.lt", Style: uri.QueryStyleForm, Explode: true, } if err := q.HasParam(cfg); err == nil { if err := q.DecodeParam(cfg, func(d uri.Decoder) error { var paramsDotCapturedAtLtVal time.Time if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToDateTime(val) if err != nil { return err } paramsDotCapturedAtLtVal = c return nil }(); err != nil { return err } params.CapturedAtLt.SetTo(paramsDotCapturedAtLtVal) return nil }); err != nil { return err } } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "captured_at.lt", In: "query", Err: err, } } // Decode query: payment_method. if err := func() error { cfg := uri.QueryParameterDecodingConfig{ Name: "payment_method", Style: uri.QueryStyleForm, Explode: true, } if err := q.HasParam(cfg); err == nil { if err := q.DecodeParam(cfg, func(d uri.Decoder) error { var paramsDotPaymentMethodVal PaymentMethodType if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToString(val) if err != nil { return err } paramsDotPaymentMethodVal = PaymentMethodType(c) return nil }(); err != nil { return err } params.PaymentMethod.SetTo(paramsDotPaymentMethodVal) return nil }); err != nil { return err } if err := func() error { if value, ok := params.PaymentMethod.Get(); ok { if err := func() error { if err := value.Validate(); err != nil { return err } return nil }(); err != nil { return err } } return nil }(); err != nil { return err } } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "payment_method", In: "query", Err: err, } } // Decode query: status. if err := func() error { cfg := uri.QueryParameterDecodingConfig{ Name: "status", Style: uri.QueryStyleForm, Explode: true, } if err := q.HasParam(cfg); err == nil { if err := q.DecodeParam(cfg, func(d uri.Decoder) error { var paramsDotStatusVal PaymentStatus if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToString(val) if err != nil { return err } paramsDotStatusVal = PaymentStatus(c) return nil }(); err != nil { return err } params.Status.SetTo(paramsDotStatusVal) return nil }); err != nil { return err } if err := func() error { if value, ok := params.Status.Get(); ok { if err := func() error { if err := value.Validate(); err != nil { return err } return nil }(); err != nil { return err } } return nil }(); err != nil { return err } } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "status", In: "query", Err: err, } } // Set default value for query: limit. { val := int(10) params.Limit.SetTo(val) } // Decode query: limit. if err := func() error { cfg := uri.QueryParameterDecodingConfig{ Name: "limit", Style: uri.QueryStyleForm, Explode: true, } if err := q.HasParam(cfg); err == nil { if err := q.DecodeParam(cfg, func(d uri.Decoder) error { var paramsDotLimitVal int if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToInt(val) if err != nil { return err } paramsDotLimitVal = c return nil }(); err != nil { return err } params.Limit.SetTo(paramsDotLimitVal) return nil }); err != nil { return err } if err := func() error { if value, ok := params.Limit.Get(); ok { if err := func() error { if err := (validate.Int{ MinSet: true, Min: 1, MaxSet: true, Max: 100, MinExclusive: false, MaxExclusive: false, MultipleOfSet: false, MultipleOf: 0, Pattern: nil, }).Validate(int64(value)); err != nil { return errors.Wrap(err, "int") } return nil }(); err != nil { return err } } return nil }(); err != nil { return err } } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "limit", In: "query", Err: err, } } // Decode query: cursor. if err := func() error { cfg := uri.QueryParameterDecodingConfig{ Name: "cursor", Style: uri.QueryStyleForm, Explode: true, } if err := q.HasParam(cfg); err == nil { if err := q.DecodeParam(cfg, func(d uri.Decoder) error { var paramsDotCursorVal string if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToString(val) if err != nil { return err } paramsDotCursorVal = c return nil }(); err != nil { return err } params.Cursor.SetTo(paramsDotCursorVal) return nil }); err != nil { return err } } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "cursor", In: "query", Err: err, } } return params, nil } // PaymentsPaymentIDCancelPostParams is parameters of POST /payments/{payment_id}/cancel operation. type PaymentsPaymentIDCancelPostParams struct { // Идентификатор платежа. PaymentID PaymentId IdempotenceKey string } func unpackPaymentsPaymentIDCancelPostParams(packed middleware.Parameters) (params PaymentsPaymentIDCancelPostParams) { { key := middleware.ParameterKey{ Name: "payment_id", In: "path", } params.PaymentID = packed[key].(PaymentId) } { key := middleware.ParameterKey{ Name: "Idempotence-Key", In: "header", } params.IdempotenceKey = packed[key].(string) } return params } func decodePaymentsPaymentIDCancelPostParams(args [1]string, argsEscaped bool, r *http.Request) (params PaymentsPaymentIDCancelPostParams, _ error) { h := uri.NewHeaderDecoder(r.Header) // Decode path: payment_id. if err := func() error { param := args[0] if argsEscaped { unescaped, err := url.PathUnescape(args[0]) if err != nil { return errors.Wrap(err, "unescape path") } param = unescaped } if len(param) > 0 { d := uri.NewPathDecoder(uri.PathDecoderConfig{ Param: "payment_id", Value: param, Style: uri.PathStyleSimple, Explode: false, }) if err := func() error { var paramsDotPaymentIDVal string if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToString(val) if err != nil { return err } paramsDotPaymentIDVal = c return nil }(); err != nil { return err } params.PaymentID = PaymentId(paramsDotPaymentIDVal) return nil }(); err != nil { return err } if err := func() error { if err := params.PaymentID.Validate(); err != nil { return err } return nil }(); err != nil { return err } } else { return validate.ErrFieldRequired } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "payment_id", In: "path", Err: err, } } // Set default value for header: Idempotence-Key. { val := string("2e1da982-1bb1-41f0-b9cf-758cc8bcf069") params.IdempotenceKey = val } // Decode header: Idempotence-Key. if err := func() error { cfg := uri.HeaderParameterDecodingConfig{ Name: "Idempotence-Key", Explode: false, } if err := h.HasParam(cfg); err == nil { if err := h.DecodeParam(cfg, func(d uri.Decoder) error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToString(val) if err != nil { return err } params.IdempotenceKey = c return nil }); err != nil { return err } if err := func() error { if err := (validate.String{ MinLength: 0, MinLengthSet: false, MaxLength: 64, MaxLengthSet: true, Email: false, Hostname: false, Regex: regexMap["[0-9a-zA-Z+-_.]{1,64}"], MinNumeric: 0, MinNumericSet: false, MaxNumeric: 0, MaxNumericSet: false, }).Validate(string(params.IdempotenceKey)); err != nil { return errors.Wrap(err, "string") } return nil }(); err != nil { return err } } else { return err } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "Idempotence-Key", In: "header", Err: err, } } return params, nil } // PaymentsPaymentIDCapturePostParams is parameters of POST /payments/{payment_id}/capture operation. type PaymentsPaymentIDCapturePostParams struct { // Идентификатор платежа. PaymentID PaymentId IdempotenceKey string } func unpackPaymentsPaymentIDCapturePostParams(packed middleware.Parameters) (params PaymentsPaymentIDCapturePostParams) { { key := middleware.ParameterKey{ Name: "payment_id", In: "path", } params.PaymentID = packed[key].(PaymentId) } { key := middleware.ParameterKey{ Name: "Idempotence-Key", In: "header", } params.IdempotenceKey = packed[key].(string) } return params } func decodePaymentsPaymentIDCapturePostParams(args [1]string, argsEscaped bool, r *http.Request) (params PaymentsPaymentIDCapturePostParams, _ error) { h := uri.NewHeaderDecoder(r.Header) // Decode path: payment_id. if err := func() error { param := args[0] if argsEscaped { unescaped, err := url.PathUnescape(args[0]) if err != nil { return errors.Wrap(err, "unescape path") } param = unescaped } if len(param) > 0 { d := uri.NewPathDecoder(uri.PathDecoderConfig{ Param: "payment_id", Value: param, Style: uri.PathStyleSimple, Explode: false, }) if err := func() error { var paramsDotPaymentIDVal string if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToString(val) if err != nil { return err } paramsDotPaymentIDVal = c return nil }(); err != nil { return err } params.PaymentID = PaymentId(paramsDotPaymentIDVal) return nil }(); err != nil { return err } if err := func() error { if err := params.PaymentID.Validate(); err != nil { return err } return nil }(); err != nil { return err } } else { return validate.ErrFieldRequired } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "payment_id", In: "path", Err: err, } } // Set default value for header: Idempotence-Key. { val := string("2e1da982-1bb1-41f0-b9cf-758cc8bcf069") params.IdempotenceKey = val } // Decode header: Idempotence-Key. if err := func() error { cfg := uri.HeaderParameterDecodingConfig{ Name: "Idempotence-Key", Explode: false, } if err := h.HasParam(cfg); err == nil { if err := h.DecodeParam(cfg, func(d uri.Decoder) error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToString(val) if err != nil { return err } params.IdempotenceKey = c return nil }); err != nil { return err } if err := func() error { if err := (validate.String{ MinLength: 0, MinLengthSet: false, MaxLength: 64, MaxLengthSet: true, Email: false, Hostname: false, Regex: regexMap["[0-9a-zA-Z+-_.]{1,64}"], MinNumeric: 0, MinNumericSet: false, MaxNumeric: 0, MaxNumericSet: false, }).Validate(string(params.IdempotenceKey)); err != nil { return errors.Wrap(err, "string") } return nil }(); err != nil { return err } } else { return err } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "Idempotence-Key", In: "header", Err: err, } } return params, nil } // PaymentsPaymentIDGetParams is parameters of GET /payments/{payment_id} operation. type PaymentsPaymentIDGetParams struct { // Идентификатор платежа. PaymentID PaymentId } func unpackPaymentsPaymentIDGetParams(packed middleware.Parameters) (params PaymentsPaymentIDGetParams) { { key := middleware.ParameterKey{ Name: "payment_id", In: "path", } params.PaymentID = packed[key].(PaymentId) } return params } func decodePaymentsPaymentIDGetParams(args [1]string, argsEscaped bool, r *http.Request) (params PaymentsPaymentIDGetParams, _ error) { // Decode path: payment_id. if err := func() error { param := args[0] if argsEscaped { unescaped, err := url.PathUnescape(args[0]) if err != nil { return errors.Wrap(err, "unescape path") } param = unescaped } if len(param) > 0 { d := uri.NewPathDecoder(uri.PathDecoderConfig{ Param: "payment_id", Value: param, Style: uri.PathStyleSimple, Explode: false, }) if err := func() error { var paramsDotPaymentIDVal string if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToString(val) if err != nil { return err } paramsDotPaymentIDVal = c return nil }(); err != nil { return err } params.PaymentID = PaymentId(paramsDotPaymentIDVal) return nil }(); err != nil { return err } if err := func() error { if err := params.PaymentID.Validate(); err != nil { return err } return nil }(); err != nil { return err } } else { return validate.ErrFieldRequired } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "payment_id", In: "path", Err: err, } } return params, nil } // PaymentsPostParams is parameters of POST /payments operation. type PaymentsPostParams struct { IdempotenceKey string } func unpackPaymentsPostParams(packed middleware.Parameters) (params PaymentsPostParams) { { key := middleware.ParameterKey{ Name: "Idempotence-Key", In: "header", } params.IdempotenceKey = packed[key].(string) } return params } func decodePaymentsPostParams(args [0]string, argsEscaped bool, r *http.Request) (params PaymentsPostParams, _ error) { h := uri.NewHeaderDecoder(r.Header) // Set default value for header: Idempotence-Key. { val := string("2e1da982-1bb1-41f0-b9cf-758cc8bcf069") params.IdempotenceKey = val } // Decode header: Idempotence-Key. if err := func() error { cfg := uri.HeaderParameterDecodingConfig{ Name: "Idempotence-Key", Explode: false, } if err := h.HasParam(cfg); err == nil { if err := h.DecodeParam(cfg, func(d uri.Decoder) error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToString(val) if err != nil { return err } params.IdempotenceKey = c return nil }); err != nil { return err } if err := func() error { if err := (validate.String{ MinLength: 0, MinLengthSet: false, MaxLength: 64, MaxLengthSet: true, Email: false, Hostname: false, Regex: regexMap["[0-9a-zA-Z+-_.]{1,64}"], MinNumeric: 0, MinNumericSet: false, MaxNumeric: 0, MaxNumericSet: false, }).Validate(string(params.IdempotenceKey)); err != nil { return errors.Wrap(err, "string") } return nil }(); err != nil { return err } } else { return err } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "Idempotence-Key", In: "header", Err: err, } } return params, nil } // PayoutsGetParams is parameters of GET /payouts operation. type PayoutsGetParams struct { // Фильтр по времени создания: время должно быть больше // указанного значения или равно ему («с такого-то // момента включительно»). Указывается в формате ISO 8601: // https://en.wikipedia.org/wiki/ISO_8601. Пример: created_at.gte=2018-07-18T10:51:18.139Z. CreatedAtGte OptDateTime `json:",omitempty,omitzero"` // Фильтр по времени создания: время должно быть больше // указанного значения («с такого-то момента, не включая // его»). Указывается в формате ISO 8601: https://en.wikipedia. // org/wiki/ISO_8601. Пример: created_at.gt=2018-07-18T10:51:18.139Z. CreatedAtGt OptDateTime `json:",omitempty,omitzero"` // Фильтр по времени создания: время должно быть меньше // указанного значения или равно ему («по такой-то // момент включительно»). Указывается в формате ISO 8601: // https://en.wikipedia.org/wiki/ISO_8601. Пример: created_at.lte=2018-07-18T10:51:18.139Z. CreatedAtLte OptDateTime `json:",omitempty,omitzero"` // Фильтр по времени создания: время должно быть меньше // указанного значения («по такой-то момент, не включая // его»). Указывается в формате ISO 8601: https://en.wikipedia. // org/wiki/ISO_8601. Пример: created_at.lt=2018-07-18T10:51:18.139Z. CreatedAtLt OptDateTime `json:",omitempty,omitzero"` // Filter by the method of receiving the payout: https://yookassa. // ru/developers/payouts/getting-started/payout-types-and-limits#types-destination code. Example: // payout_destination.type=bank_card. PayoutDestinationType OptPayoutDestinationDataType `json:",omitempty,omitzero"` // Filter by payout status: https://yookassa.ru/developers/api#payout_object_status. Example: // status=succeeded. Status OptPayoutStatus `json:",omitempty,omitzero"` // Размер выдачи результатов запроса — количество // объектов, передаваемых в ответе. Возможные значения: // от 1 до 100. Пример: limit=50 Значение по умолчанию: 10. Limit OptInt `json:",omitempty,omitzero"` // Указатель на следующий фрагмент списка. Пример: // cursor=37a5c87d-3984-51e8-a7f3-8de646d39ec15 В качестве указателя // необходимо использовать значение параметра next_cursor, // полученное в ответе на предыдущий запрос. // Используется, если в списке больше объектов, чем // может поместиться в выдаче (limit), и конец выдачи не // достигнут. Пример использования: https://yookassa. // ru/developers/using-api/lists#pagination. Cursor OptString `json:",omitempty,omitzero"` } func unpackPayoutsGetParams(packed middleware.Parameters) (params PayoutsGetParams) { { key := middleware.ParameterKey{ Name: "created_at.gte", In: "query", } if v, ok := packed[key]; ok { params.CreatedAtGte = v.(OptDateTime) } } { key := middleware.ParameterKey{ Name: "created_at.gt", In: "query", } if v, ok := packed[key]; ok { params.CreatedAtGt = v.(OptDateTime) } } { key := middleware.ParameterKey{ Name: "created_at.lte", In: "query", } if v, ok := packed[key]; ok { params.CreatedAtLte = v.(OptDateTime) } } { key := middleware.ParameterKey{ Name: "created_at.lt", In: "query", } if v, ok := packed[key]; ok { params.CreatedAtLt = v.(OptDateTime) } } { key := middleware.ParameterKey{ Name: "payout_destination.type", In: "query", } if v, ok := packed[key]; ok { params.PayoutDestinationType = v.(OptPayoutDestinationDataType) } } { key := middleware.ParameterKey{ Name: "status", In: "query", } if v, ok := packed[key]; ok { params.Status = v.(OptPayoutStatus) } } { key := middleware.ParameterKey{ Name: "limit", In: "query", } if v, ok := packed[key]; ok { params.Limit = v.(OptInt) } } { key := middleware.ParameterKey{ Name: "cursor", In: "query", } if v, ok := packed[key]; ok { params.Cursor = v.(OptString) } } return params } func decodePayoutsGetParams(args [0]string, argsEscaped bool, r *http.Request) (params PayoutsGetParams, _ error) { q := uri.NewQueryDecoder(r.URL.Query()) // Decode query: created_at.gte. if err := func() error { cfg := uri.QueryParameterDecodingConfig{ Name: "created_at.gte", Style: uri.QueryStyleForm, Explode: true, } if err := q.HasParam(cfg); err == nil { if err := q.DecodeParam(cfg, func(d uri.Decoder) error { var paramsDotCreatedAtGteVal time.Time if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToDateTime(val) if err != nil { return err } paramsDotCreatedAtGteVal = c return nil }(); err != nil { return err } params.CreatedAtGte.SetTo(paramsDotCreatedAtGteVal) return nil }); err != nil { return err } } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "created_at.gte", In: "query", Err: err, } } // Decode query: created_at.gt. if err := func() error { cfg := uri.QueryParameterDecodingConfig{ Name: "created_at.gt", Style: uri.QueryStyleForm, Explode: true, } if err := q.HasParam(cfg); err == nil { if err := q.DecodeParam(cfg, func(d uri.Decoder) error { var paramsDotCreatedAtGtVal time.Time if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToDateTime(val) if err != nil { return err } paramsDotCreatedAtGtVal = c return nil }(); err != nil { return err } params.CreatedAtGt.SetTo(paramsDotCreatedAtGtVal) return nil }); err != nil { return err } } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "created_at.gt", In: "query", Err: err, } } // Decode query: created_at.lte. if err := func() error { cfg := uri.QueryParameterDecodingConfig{ Name: "created_at.lte", Style: uri.QueryStyleForm, Explode: true, } if err := q.HasParam(cfg); err == nil { if err := q.DecodeParam(cfg, func(d uri.Decoder) error { var paramsDotCreatedAtLteVal time.Time if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToDateTime(val) if err != nil { return err } paramsDotCreatedAtLteVal = c return nil }(); err != nil { return err } params.CreatedAtLte.SetTo(paramsDotCreatedAtLteVal) return nil }); err != nil { return err } } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "created_at.lte", In: "query", Err: err, } } // Decode query: created_at.lt. if err := func() error { cfg := uri.QueryParameterDecodingConfig{ Name: "created_at.lt", Style: uri.QueryStyleForm, Explode: true, } if err := q.HasParam(cfg); err == nil { if err := q.DecodeParam(cfg, func(d uri.Decoder) error { var paramsDotCreatedAtLtVal time.Time if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToDateTime(val) if err != nil { return err } paramsDotCreatedAtLtVal = c return nil }(); err != nil { return err } params.CreatedAtLt.SetTo(paramsDotCreatedAtLtVal) return nil }); err != nil { return err } } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "created_at.lt", In: "query", Err: err, } } // Decode query: payout_destination.type. if err := func() error { cfg := uri.QueryParameterDecodingConfig{ Name: "payout_destination.type", Style: uri.QueryStyleForm, Explode: true, } if err := q.HasParam(cfg); err == nil { if err := q.DecodeParam(cfg, func(d uri.Decoder) error { var paramsDotPayoutDestinationTypeVal PayoutDestinationDataType if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToString(val) if err != nil { return err } paramsDotPayoutDestinationTypeVal = PayoutDestinationDataType(c) return nil }(); err != nil { return err } params.PayoutDestinationType.SetTo(paramsDotPayoutDestinationTypeVal) return nil }); err != nil { return err } if err := func() error { if value, ok := params.PayoutDestinationType.Get(); ok { if err := func() error { if err := value.Validate(); err != nil { return err } return nil }(); err != nil { return err } } return nil }(); err != nil { return err } } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "payout_destination.type", In: "query", Err: err, } } // Decode query: status. if err := func() error { cfg := uri.QueryParameterDecodingConfig{ Name: "status", Style: uri.QueryStyleForm, Explode: true, } if err := q.HasParam(cfg); err == nil { if err := q.DecodeParam(cfg, func(d uri.Decoder) error { var paramsDotStatusVal PayoutStatus if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToString(val) if err != nil { return err } paramsDotStatusVal = PayoutStatus(c) return nil }(); err != nil { return err } params.Status.SetTo(paramsDotStatusVal) return nil }); err != nil { return err } if err := func() error { if value, ok := params.Status.Get(); ok { if err := func() error { if err := value.Validate(); err != nil { return err } return nil }(); err != nil { return err } } return nil }(); err != nil { return err } } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "status", In: "query", Err: err, } } // Set default value for query: limit. { val := int(10) params.Limit.SetTo(val) } // Decode query: limit. if err := func() error { cfg := uri.QueryParameterDecodingConfig{ Name: "limit", Style: uri.QueryStyleForm, Explode: true, } if err := q.HasParam(cfg); err == nil { if err := q.DecodeParam(cfg, func(d uri.Decoder) error { var paramsDotLimitVal int if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToInt(val) if err != nil { return err } paramsDotLimitVal = c return nil }(); err != nil { return err } params.Limit.SetTo(paramsDotLimitVal) return nil }); err != nil { return err } if err := func() error { if value, ok := params.Limit.Get(); ok { if err := func() error { if err := (validate.Int{ MinSet: true, Min: 1, MaxSet: true, Max: 100, MinExclusive: false, MaxExclusive: false, MultipleOfSet: false, MultipleOf: 0, Pattern: nil, }).Validate(int64(value)); err != nil { return errors.Wrap(err, "int") } return nil }(); err != nil { return err } } return nil }(); err != nil { return err } } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "limit", In: "query", Err: err, } } // Decode query: cursor. if err := func() error { cfg := uri.QueryParameterDecodingConfig{ Name: "cursor", Style: uri.QueryStyleForm, Explode: true, } if err := q.HasParam(cfg); err == nil { if err := q.DecodeParam(cfg, func(d uri.Decoder) error { var paramsDotCursorVal string if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToString(val) if err != nil { return err } paramsDotCursorVal = c return nil }(); err != nil { return err } params.Cursor.SetTo(paramsDotCursorVal) return nil }); err != nil { return err } } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "cursor", In: "query", Err: err, } } return params, nil } // PayoutsPayoutIDGetParams is parameters of GET /payouts/{payout_id} operation. type PayoutsPayoutIDGetParams struct { PayoutID PayoutId } func unpackPayoutsPayoutIDGetParams(packed middleware.Parameters) (params PayoutsPayoutIDGetParams) { { key := middleware.ParameterKey{ Name: "payout_id", In: "path", } params.PayoutID = packed[key].(PayoutId) } return params } func decodePayoutsPayoutIDGetParams(args [1]string, argsEscaped bool, r *http.Request) (params PayoutsPayoutIDGetParams, _ error) { // Decode path: payout_id. if err := func() error { param := args[0] if argsEscaped { unescaped, err := url.PathUnescape(args[0]) if err != nil { return errors.Wrap(err, "unescape path") } param = unescaped } if len(param) > 0 { d := uri.NewPathDecoder(uri.PathDecoderConfig{ Param: "payout_id", Value: param, Style: uri.PathStyleSimple, Explode: false, }) if err := func() error { var paramsDotPayoutIDVal string if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToString(val) if err != nil { return err } paramsDotPayoutIDVal = c return nil }(); err != nil { return err } params.PayoutID = PayoutId(paramsDotPayoutIDVal) return nil }(); err != nil { return err } if err := func() error { if err := params.PayoutID.Validate(); err != nil { return err } return nil }(); err != nil { return err } } else { return validate.ErrFieldRequired } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "payout_id", In: "path", Err: err, } } return params, nil } // PayoutsPostParams is parameters of POST /payouts operation. type PayoutsPostParams struct { IdempotenceKey string } func unpackPayoutsPostParams(packed middleware.Parameters) (params PayoutsPostParams) { { key := middleware.ParameterKey{ Name: "Idempotence-Key", In: "header", } params.IdempotenceKey = packed[key].(string) } return params } func decodePayoutsPostParams(args [0]string, argsEscaped bool, r *http.Request) (params PayoutsPostParams, _ error) { h := uri.NewHeaderDecoder(r.Header) // Set default value for header: Idempotence-Key. { val := string("2e1da982-1bb1-41f0-b9cf-758cc8bcf069") params.IdempotenceKey = val } // Decode header: Idempotence-Key. if err := func() error { cfg := uri.HeaderParameterDecodingConfig{ Name: "Idempotence-Key", Explode: false, } if err := h.HasParam(cfg); err == nil { if err := h.DecodeParam(cfg, func(d uri.Decoder) error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToString(val) if err != nil { return err } params.IdempotenceKey = c return nil }); err != nil { return err } if err := func() error { if err := (validate.String{ MinLength: 0, MinLengthSet: false, MaxLength: 64, MaxLengthSet: true, Email: false, Hostname: false, Regex: regexMap["[0-9a-zA-Z+-_.]{1,64}"], MinNumeric: 0, MinNumericSet: false, MaxNumeric: 0, MaxNumericSet: false, }).Validate(string(params.IdempotenceKey)); err != nil { return errors.Wrap(err, "string") } return nil }(); err != nil { return err } } else { return err } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "Idempotence-Key", In: "header", Err: err, } } return params, nil } // PayoutsSearchGetParams is parameters of GET /payouts/search operation. type PayoutsSearchGetParams struct { // Фильтр по времени создания: время должно быть больше // указанного значения или равно ему («с такого-то // момента включительно»). Указывается в формате ISO 8601: // https://en.wikipedia.org/wiki/ISO_8601. Пример: created_at.gte=2018-07-18T10:51:18.139Z. CreatedAtGte OptDateTime `json:",omitempty,omitzero"` // Фильтр по времени создания: время должно быть больше // указанного значения («с такого-то момента, не включая // его»). Указывается в формате ISO 8601: https://en.wikipedia. // org/wiki/ISO_8601. Пример: created_at.gt=2018-07-18T10:51:18.139Z. CreatedAtGt OptDateTime `json:",omitempty,omitzero"` // Фильтр по времени создания: время должно быть меньше // указанного значения или равно ему («по такой-то // момент включительно»). Указывается в формате ISO 8601: // https://en.wikipedia.org/wiki/ISO_8601. Пример: created_at.lte=2018-07-18T10:51:18.139Z. CreatedAtLte OptDateTime `json:",omitempty,omitzero"` // Фильтр по времени создания: время должно быть меньше // указанного значения («по такой-то момент, не включая // его»). Указывается в формате ISO 8601: https://en.wikipedia. // org/wiki/ISO_8601. Пример: created_at.lt=2018-07-18T10:51:18.139Z. CreatedAtLt OptDateTime `json:",omitempty,omitzero"` // Filter by the metadata object. Strict "key-value" pair search: objects that have an exact key and // value match in metadata are returned. Restrictions: you can specify a maximum of one "key-value" // pair, the key name must not be longer than 32 characters, the key value must not be longer than // 512 characters, and the data type is a string in UTF-8 format in URL-encoded form. Template: // metadata[key]=value Example: metadata%5Boperation_id%5D=e2ab2e1c-776d-4376-aba8-d2099243d1f6. Metadata OptMetadataInQueryParameter `json:",omitempty,omitzero"` // Размер выдачи результатов запроса — количество // объектов, передаваемых в ответе. Возможные значения: // от 1 до 100. Пример: limit=50 Значение по умолчанию: 10. Limit OptInt `json:",omitempty,omitzero"` // Указатель на следующий фрагмент списка. Пример: // cursor=37a5c87d-3984-51e8-a7f3-8de646d39ec15 В качестве указателя // необходимо использовать значение параметра next_cursor, // полученное в ответе на предыдущий запрос. // Используется, если в списке больше объектов, чем // может поместиться в выдаче (limit), и конец выдачи не // достигнут. Пример использования: https://yookassa. // ru/developers/using-api/lists#pagination. Cursor OptString `json:",omitempty,omitzero"` } func unpackPayoutsSearchGetParams(packed middleware.Parameters) (params PayoutsSearchGetParams) { { key := middleware.ParameterKey{ Name: "created_at.gte", In: "query", } if v, ok := packed[key]; ok { params.CreatedAtGte = v.(OptDateTime) } } { key := middleware.ParameterKey{ Name: "created_at.gt", In: "query", } if v, ok := packed[key]; ok { params.CreatedAtGt = v.(OptDateTime) } } { key := middleware.ParameterKey{ Name: "created_at.lte", In: "query", } if v, ok := packed[key]; ok { params.CreatedAtLte = v.(OptDateTime) } } { key := middleware.ParameterKey{ Name: "created_at.lt", In: "query", } if v, ok := packed[key]; ok { params.CreatedAtLt = v.(OptDateTime) } } { key := middleware.ParameterKey{ Name: "metadata", In: "query", } if v, ok := packed[key]; ok { params.Metadata = v.(OptMetadataInQueryParameter) } } { key := middleware.ParameterKey{ Name: "limit", In: "query", } if v, ok := packed[key]; ok { params.Limit = v.(OptInt) } } { key := middleware.ParameterKey{ Name: "cursor", In: "query", } if v, ok := packed[key]; ok { params.Cursor = v.(OptString) } } return params } func decodePayoutsSearchGetParams(args [0]string, argsEscaped bool, r *http.Request) (params PayoutsSearchGetParams, _ error) { q := uri.NewQueryDecoder(r.URL.Query()) // Decode query: created_at.gte. if err := func() error { cfg := uri.QueryParameterDecodingConfig{ Name: "created_at.gte", Style: uri.QueryStyleForm, Explode: true, } if err := q.HasParam(cfg); err == nil { if err := q.DecodeParam(cfg, func(d uri.Decoder) error { var paramsDotCreatedAtGteVal time.Time if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToDateTime(val) if err != nil { return err } paramsDotCreatedAtGteVal = c return nil }(); err != nil { return err } params.CreatedAtGte.SetTo(paramsDotCreatedAtGteVal) return nil }); err != nil { return err } } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "created_at.gte", In: "query", Err: err, } } // Decode query: created_at.gt. if err := func() error { cfg := uri.QueryParameterDecodingConfig{ Name: "created_at.gt", Style: uri.QueryStyleForm, Explode: true, } if err := q.HasParam(cfg); err == nil { if err := q.DecodeParam(cfg, func(d uri.Decoder) error { var paramsDotCreatedAtGtVal time.Time if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToDateTime(val) if err != nil { return err } paramsDotCreatedAtGtVal = c return nil }(); err != nil { return err } params.CreatedAtGt.SetTo(paramsDotCreatedAtGtVal) return nil }); err != nil { return err } } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "created_at.gt", In: "query", Err: err, } } // Decode query: created_at.lte. if err := func() error { cfg := uri.QueryParameterDecodingConfig{ Name: "created_at.lte", Style: uri.QueryStyleForm, Explode: true, } if err := q.HasParam(cfg); err == nil { if err := q.DecodeParam(cfg, func(d uri.Decoder) error { var paramsDotCreatedAtLteVal time.Time if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToDateTime(val) if err != nil { return err } paramsDotCreatedAtLteVal = c return nil }(); err != nil { return err } params.CreatedAtLte.SetTo(paramsDotCreatedAtLteVal) return nil }); err != nil { return err } } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "created_at.lte", In: "query", Err: err, } } // Decode query: created_at.lt. if err := func() error { cfg := uri.QueryParameterDecodingConfig{ Name: "created_at.lt", Style: uri.QueryStyleForm, Explode: true, } if err := q.HasParam(cfg); err == nil { if err := q.DecodeParam(cfg, func(d uri.Decoder) error { var paramsDotCreatedAtLtVal time.Time if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToDateTime(val) if err != nil { return err } paramsDotCreatedAtLtVal = c return nil }(); err != nil { return err } params.CreatedAtLt.SetTo(paramsDotCreatedAtLtVal) return nil }); err != nil { return err } } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "created_at.lt", In: "query", Err: err, } } // Decode query: metadata. if err := func() error { cfg := uri.QueryParameterDecodingConfig{ Name: "metadata", Style: uri.QueryStyleDeepObject, Explode: true, } if err := q.HasParam(cfg); err == nil { if err := q.DecodeParam(cfg, func(d uri.Decoder) error { var paramsDotMetadataVal MetadataInQueryParameter if err := func() error { return paramsDotMetadataVal.DecodeURI(d) }(); err != nil { return err } params.Metadata.SetTo(paramsDotMetadataVal) return nil }); err != nil { return err } if err := func() error { if value, ok := params.Metadata.Get(); ok { if err := func() error { if err := value.Validate(); err != nil { return err } return nil }(); err != nil { return err } } return nil }(); err != nil { return err } } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "metadata", In: "query", Err: err, } } // Set default value for query: limit. { val := int(10) params.Limit.SetTo(val) } // Decode query: limit. if err := func() error { cfg := uri.QueryParameterDecodingConfig{ Name: "limit", Style: uri.QueryStyleForm, Explode: true, } if err := q.HasParam(cfg); err == nil { if err := q.DecodeParam(cfg, func(d uri.Decoder) error { var paramsDotLimitVal int if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToInt(val) if err != nil { return err } paramsDotLimitVal = c return nil }(); err != nil { return err } params.Limit.SetTo(paramsDotLimitVal) return nil }); err != nil { return err } if err := func() error { if value, ok := params.Limit.Get(); ok { if err := func() error { if err := (validate.Int{ MinSet: true, Min: 1, MaxSet: true, Max: 100, MinExclusive: false, MaxExclusive: false, MultipleOfSet: false, MultipleOf: 0, Pattern: nil, }).Validate(int64(value)); err != nil { return errors.Wrap(err, "int") } return nil }(); err != nil { return err } } return nil }(); err != nil { return err } } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "limit", In: "query", Err: err, } } // Decode query: cursor. if err := func() error { cfg := uri.QueryParameterDecodingConfig{ Name: "cursor", Style: uri.QueryStyleForm, Explode: true, } if err := q.HasParam(cfg); err == nil { if err := q.DecodeParam(cfg, func(d uri.Decoder) error { var paramsDotCursorVal string if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToString(val) if err != nil { return err } paramsDotCursorVal = c return nil }(); err != nil { return err } params.Cursor.SetTo(paramsDotCursorVal) return nil }); err != nil { return err } } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "cursor", In: "query", Err: err, } } return params, nil } // PersonalDataPersonalDataIDGetParams is parameters of GET /personal_data/{personal_data_id} operation. type PersonalDataPersonalDataIDGetParams struct { PersonalDataID PersonalDataId } func unpackPersonalDataPersonalDataIDGetParams(packed middleware.Parameters) (params PersonalDataPersonalDataIDGetParams) { { key := middleware.ParameterKey{ Name: "personal_data_id", In: "path", } params.PersonalDataID = packed[key].(PersonalDataId) } return params } func decodePersonalDataPersonalDataIDGetParams(args [1]string, argsEscaped bool, r *http.Request) (params PersonalDataPersonalDataIDGetParams, _ error) { // Decode path: personal_data_id. if err := func() error { param := args[0] if argsEscaped { unescaped, err := url.PathUnescape(args[0]) if err != nil { return errors.Wrap(err, "unescape path") } param = unescaped } if len(param) > 0 { d := uri.NewPathDecoder(uri.PathDecoderConfig{ Param: "personal_data_id", Value: param, Style: uri.PathStyleSimple, Explode: false, }) if err := func() error { var paramsDotPersonalDataIDVal string if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToString(val) if err != nil { return err } paramsDotPersonalDataIDVal = c return nil }(); err != nil { return err } params.PersonalDataID = PersonalDataId(paramsDotPersonalDataIDVal) return nil }(); err != nil { return err } if err := func() error { if err := params.PersonalDataID.Validate(); err != nil { return err } return nil }(); err != nil { return err } } else { return validate.ErrFieldRequired } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "personal_data_id", In: "path", Err: err, } } return params, nil } // PersonalDataPostParams is parameters of POST /personal_data operation. type PersonalDataPostParams struct { IdempotenceKey string } func unpackPersonalDataPostParams(packed middleware.Parameters) (params PersonalDataPostParams) { { key := middleware.ParameterKey{ Name: "Idempotence-Key", In: "header", } params.IdempotenceKey = packed[key].(string) } return params } func decodePersonalDataPostParams(args [0]string, argsEscaped bool, r *http.Request) (params PersonalDataPostParams, _ error) { h := uri.NewHeaderDecoder(r.Header) // Set default value for header: Idempotence-Key. { val := string("2e1da982-1bb1-41f0-b9cf-758cc8bcf069") params.IdempotenceKey = val } // Decode header: Idempotence-Key. if err := func() error { cfg := uri.HeaderParameterDecodingConfig{ Name: "Idempotence-Key", Explode: false, } if err := h.HasParam(cfg); err == nil { if err := h.DecodeParam(cfg, func(d uri.Decoder) error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToString(val) if err != nil { return err } params.IdempotenceKey = c return nil }); err != nil { return err } if err := func() error { if err := (validate.String{ MinLength: 0, MinLengthSet: false, MaxLength: 64, MaxLengthSet: true, Email: false, Hostname: false, Regex: regexMap["[0-9a-zA-Z+-_.]{1,64}"], MinNumeric: 0, MinNumericSet: false, MaxNumeric: 0, MaxNumericSet: false, }).Validate(string(params.IdempotenceKey)); err != nil { return errors.Wrap(err, "string") } return nil }(); err != nil { return err } } else { return err } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "Idempotence-Key", In: "header", Err: err, } } return params, nil } // ReceiptsGetParams is parameters of GET /receipts operation. type ReceiptsGetParams struct { // Фильтр по времени создания: время должно быть больше // указанного значения или равно ему («с такого-то // момента включительно»). Указывается в формате ISO 8601: // https://en.wikipedia.org/wiki/ISO_8601. Пример: created_at.gte=2018-07-18T10:51:18.139Z. CreatedAtGte OptDateTime `json:",omitempty,omitzero"` // Фильтр по времени создания: время должно быть больше // указанного значения («с такого-то момента, не включая // его»). Указывается в формате ISO 8601: https://en.wikipedia. // org/wiki/ISO_8601. Пример: created_at.gt=2018-07-18T10:51:18.139Z. CreatedAtGt OptDateTime `json:",omitempty,omitzero"` // Фильтр по времени создания: время должно быть меньше // указанного значения или равно ему («по такой-то // момент включительно»). Указывается в формате ISO 8601: // https://en.wikipedia.org/wiki/ISO_8601. Пример: created_at.lte=2018-07-18T10:51:18.139Z. CreatedAtLte OptDateTime `json:",omitempty,omitzero"` // Фильтр по времени создания: время должно быть меньше // указанного значения («по такой-то момент, не включая // его»). Указывается в формате ISO 8601: https://en.wikipedia. // org/wiki/ISO_8601. Пример: created_at.lt=2018-07-18T10:51:18.139Z. CreatedAtLt OptDateTime `json:",omitempty,omitzero"` // Фильтр по статусу чека. Возможные значения: pending — в // обработке, succeeded — успешно зарегистрирован, canceled — // отменен. Пример: status=succeeded. Status OptReceiptRegistrationStatus `json:",omitempty,omitzero"` // Фильтр по идентификатору платежа: https://yookassa. // ru/developers/api#payment_object_id (получить все чеки для указанного // платежа). Пример: payment_id=1da5c87d-0984-50e8-a7f3-8de646dd9ec9 В запросе // можно передать только что-то одно: или идентификатор // платежа, или идентификатор возврата. PaymentID OptPaymentId `json:",omitempty,omitzero"` // Фильтр по идентификатору возврата: https://yookassa. // ru/developers/api#refund_object_id (получить все чеки для указанного // возврата). Пример: refund_id=1da5c87d-0984-50e8-a7f3-8de646dd9ec9 В запросе // можно передать только что-то одно: или идентификатор // платежа, или идентификатор возврата. RefundID OptRefundId `json:",omitempty,omitzero"` // Размер выдачи результатов запроса — количество // объектов, передаваемых в ответе. Возможные значения: // от 1 до 100. Пример: limit=50 Значение по умолчанию: 10. Limit OptInt `json:",omitempty,omitzero"` // Указатель на следующий фрагмент списка. Пример: // cursor=37a5c87d-3984-51e8-a7f3-8de646d39ec15 В качестве указателя // необходимо использовать значение параметра next_cursor, // полученное в ответе на предыдущий запрос. // Используется, если в списке больше объектов, чем // может поместиться в выдаче (limit), и конец выдачи не // достигнут. Пример использования: https://yookassa. // ru/developers/using-api/lists#pagination. Cursor OptString `json:",omitempty,omitzero"` } func unpackReceiptsGetParams(packed middleware.Parameters) (params ReceiptsGetParams) { { key := middleware.ParameterKey{ Name: "created_at.gte", In: "query", } if v, ok := packed[key]; ok { params.CreatedAtGte = v.(OptDateTime) } } { key := middleware.ParameterKey{ Name: "created_at.gt", In: "query", } if v, ok := packed[key]; ok { params.CreatedAtGt = v.(OptDateTime) } } { key := middleware.ParameterKey{ Name: "created_at.lte", In: "query", } if v, ok := packed[key]; ok { params.CreatedAtLte = v.(OptDateTime) } } { key := middleware.ParameterKey{ Name: "created_at.lt", In: "query", } if v, ok := packed[key]; ok { params.CreatedAtLt = v.(OptDateTime) } } { key := middleware.ParameterKey{ Name: "status", In: "query", } if v, ok := packed[key]; ok { params.Status = v.(OptReceiptRegistrationStatus) } } { key := middleware.ParameterKey{ Name: "payment_id", In: "query", } if v, ok := packed[key]; ok { params.PaymentID = v.(OptPaymentId) } } { key := middleware.ParameterKey{ Name: "refund_id", In: "query", } if v, ok := packed[key]; ok { params.RefundID = v.(OptRefundId) } } { key := middleware.ParameterKey{ Name: "limit", In: "query", } if v, ok := packed[key]; ok { params.Limit = v.(OptInt) } } { key := middleware.ParameterKey{ Name: "cursor", In: "query", } if v, ok := packed[key]; ok { params.Cursor = v.(OptString) } } return params } func decodeReceiptsGetParams(args [0]string, argsEscaped bool, r *http.Request) (params ReceiptsGetParams, _ error) { q := uri.NewQueryDecoder(r.URL.Query()) // Decode query: created_at.gte. if err := func() error { cfg := uri.QueryParameterDecodingConfig{ Name: "created_at.gte", Style: uri.QueryStyleForm, Explode: true, } if err := q.HasParam(cfg); err == nil { if err := q.DecodeParam(cfg, func(d uri.Decoder) error { var paramsDotCreatedAtGteVal time.Time if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToDateTime(val) if err != nil { return err } paramsDotCreatedAtGteVal = c return nil }(); err != nil { return err } params.CreatedAtGte.SetTo(paramsDotCreatedAtGteVal) return nil }); err != nil { return err } } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "created_at.gte", In: "query", Err: err, } } // Decode query: created_at.gt. if err := func() error { cfg := uri.QueryParameterDecodingConfig{ Name: "created_at.gt", Style: uri.QueryStyleForm, Explode: true, } if err := q.HasParam(cfg); err == nil { if err := q.DecodeParam(cfg, func(d uri.Decoder) error { var paramsDotCreatedAtGtVal time.Time if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToDateTime(val) if err != nil { return err } paramsDotCreatedAtGtVal = c return nil }(); err != nil { return err } params.CreatedAtGt.SetTo(paramsDotCreatedAtGtVal) return nil }); err != nil { return err } } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "created_at.gt", In: "query", Err: err, } } // Decode query: created_at.lte. if err := func() error { cfg := uri.QueryParameterDecodingConfig{ Name: "created_at.lte", Style: uri.QueryStyleForm, Explode: true, } if err := q.HasParam(cfg); err == nil { if err := q.DecodeParam(cfg, func(d uri.Decoder) error { var paramsDotCreatedAtLteVal time.Time if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToDateTime(val) if err != nil { return err } paramsDotCreatedAtLteVal = c return nil }(); err != nil { return err } params.CreatedAtLte.SetTo(paramsDotCreatedAtLteVal) return nil }); err != nil { return err } } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "created_at.lte", In: "query", Err: err, } } // Decode query: created_at.lt. if err := func() error { cfg := uri.QueryParameterDecodingConfig{ Name: "created_at.lt", Style: uri.QueryStyleForm, Explode: true, } if err := q.HasParam(cfg); err == nil { if err := q.DecodeParam(cfg, func(d uri.Decoder) error { var paramsDotCreatedAtLtVal time.Time if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToDateTime(val) if err != nil { return err } paramsDotCreatedAtLtVal = c return nil }(); err != nil { return err } params.CreatedAtLt.SetTo(paramsDotCreatedAtLtVal) return nil }); err != nil { return err } } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "created_at.lt", In: "query", Err: err, } } // Decode query: status. if err := func() error { cfg := uri.QueryParameterDecodingConfig{ Name: "status", Style: uri.QueryStyleForm, Explode: true, } if err := q.HasParam(cfg); err == nil { if err := q.DecodeParam(cfg, func(d uri.Decoder) error { var paramsDotStatusVal ReceiptRegistrationStatus if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToString(val) if err != nil { return err } paramsDotStatusVal = ReceiptRegistrationStatus(c) return nil }(); err != nil { return err } params.Status.SetTo(paramsDotStatusVal) return nil }); err != nil { return err } if err := func() error { if value, ok := params.Status.Get(); ok { if err := func() error { if err := value.Validate(); err != nil { return err } return nil }(); err != nil { return err } } return nil }(); err != nil { return err } } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "status", In: "query", Err: err, } } // Decode query: payment_id. if err := func() error { cfg := uri.QueryParameterDecodingConfig{ Name: "payment_id", Style: uri.QueryStyleForm, Explode: true, } if err := q.HasParam(cfg); err == nil { if err := q.DecodeParam(cfg, func(d uri.Decoder) error { var paramsDotPaymentIDVal PaymentId if err := func() error { var paramsDotPaymentIDValVal string if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToString(val) if err != nil { return err } paramsDotPaymentIDValVal = c return nil }(); err != nil { return err } paramsDotPaymentIDVal = PaymentId(paramsDotPaymentIDValVal) return nil }(); err != nil { return err } params.PaymentID.SetTo(paramsDotPaymentIDVal) return nil }); err != nil { return err } if err := func() error { if value, ok := params.PaymentID.Get(); ok { if err := func() error { if err := value.Validate(); err != nil { return err } return nil }(); err != nil { return err } } return nil }(); err != nil { return err } } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "payment_id", In: "query", Err: err, } } // Decode query: refund_id. if err := func() error { cfg := uri.QueryParameterDecodingConfig{ Name: "refund_id", Style: uri.QueryStyleForm, Explode: true, } if err := q.HasParam(cfg); err == nil { if err := q.DecodeParam(cfg, func(d uri.Decoder) error { var paramsDotRefundIDVal RefundId if err := func() error { var paramsDotRefundIDValVal string if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToString(val) if err != nil { return err } paramsDotRefundIDValVal = c return nil }(); err != nil { return err } paramsDotRefundIDVal = RefundId(paramsDotRefundIDValVal) return nil }(); err != nil { return err } params.RefundID.SetTo(paramsDotRefundIDVal) return nil }); err != nil { return err } if err := func() error { if value, ok := params.RefundID.Get(); ok { if err := func() error { if err := value.Validate(); err != nil { return err } return nil }(); err != nil { return err } } return nil }(); err != nil { return err } } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "refund_id", In: "query", Err: err, } } // Set default value for query: limit. { val := int(10) params.Limit.SetTo(val) } // Decode query: limit. if err := func() error { cfg := uri.QueryParameterDecodingConfig{ Name: "limit", Style: uri.QueryStyleForm, Explode: true, } if err := q.HasParam(cfg); err == nil { if err := q.DecodeParam(cfg, func(d uri.Decoder) error { var paramsDotLimitVal int if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToInt(val) if err != nil { return err } paramsDotLimitVal = c return nil }(); err != nil { return err } params.Limit.SetTo(paramsDotLimitVal) return nil }); err != nil { return err } if err := func() error { if value, ok := params.Limit.Get(); ok { if err := func() error { if err := (validate.Int{ MinSet: true, Min: 1, MaxSet: true, Max: 100, MinExclusive: false, MaxExclusive: false, MultipleOfSet: false, MultipleOf: 0, Pattern: nil, }).Validate(int64(value)); err != nil { return errors.Wrap(err, "int") } return nil }(); err != nil { return err } } return nil }(); err != nil { return err } } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "limit", In: "query", Err: err, } } // Decode query: cursor. if err := func() error { cfg := uri.QueryParameterDecodingConfig{ Name: "cursor", Style: uri.QueryStyleForm, Explode: true, } if err := q.HasParam(cfg); err == nil { if err := q.DecodeParam(cfg, func(d uri.Decoder) error { var paramsDotCursorVal string if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToString(val) if err != nil { return err } paramsDotCursorVal = c return nil }(); err != nil { return err } params.Cursor.SetTo(paramsDotCursorVal) return nil }); err != nil { return err } } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "cursor", In: "query", Err: err, } } return params, nil } // ReceiptsPostParams is parameters of POST /receipts operation. type ReceiptsPostParams struct { IdempotenceKey string } func unpackReceiptsPostParams(packed middleware.Parameters) (params ReceiptsPostParams) { { key := middleware.ParameterKey{ Name: "Idempotence-Key", In: "header", } params.IdempotenceKey = packed[key].(string) } return params } func decodeReceiptsPostParams(args [0]string, argsEscaped bool, r *http.Request) (params ReceiptsPostParams, _ error) { h := uri.NewHeaderDecoder(r.Header) // Set default value for header: Idempotence-Key. { val := string("2e1da982-1bb1-41f0-b9cf-758cc8bcf069") params.IdempotenceKey = val } // Decode header: Idempotence-Key. if err := func() error { cfg := uri.HeaderParameterDecodingConfig{ Name: "Idempotence-Key", Explode: false, } if err := h.HasParam(cfg); err == nil { if err := h.DecodeParam(cfg, func(d uri.Decoder) error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToString(val) if err != nil { return err } params.IdempotenceKey = c return nil }); err != nil { return err } if err := func() error { if err := (validate.String{ MinLength: 0, MinLengthSet: false, MaxLength: 64, MaxLengthSet: true, Email: false, Hostname: false, Regex: regexMap["[0-9a-zA-Z+-_.]{1,64}"], MinNumeric: 0, MinNumericSet: false, MaxNumeric: 0, MaxNumericSet: false, }).Validate(string(params.IdempotenceKey)); err != nil { return errors.Wrap(err, "string") } return nil }(); err != nil { return err } } else { return err } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "Idempotence-Key", In: "header", Err: err, } } return params, nil } // ReceiptsReceiptIDGetParams is parameters of GET /receipts/{receipt_id} operation. type ReceiptsReceiptIDGetParams struct { // Идентификатор чека. ReceiptID ReceiptId } func unpackReceiptsReceiptIDGetParams(packed middleware.Parameters) (params ReceiptsReceiptIDGetParams) { { key := middleware.ParameterKey{ Name: "receipt_id", In: "path", } params.ReceiptID = packed[key].(ReceiptId) } return params } func decodeReceiptsReceiptIDGetParams(args [1]string, argsEscaped bool, r *http.Request) (params ReceiptsReceiptIDGetParams, _ error) { // Decode path: receipt_id. if err := func() error { param := args[0] if argsEscaped { unescaped, err := url.PathUnescape(args[0]) if err != nil { return errors.Wrap(err, "unescape path") } param = unescaped } if len(param) > 0 { d := uri.NewPathDecoder(uri.PathDecoderConfig{ Param: "receipt_id", Value: param, Style: uri.PathStyleSimple, Explode: false, }) if err := func() error { var paramsDotReceiptIDVal string if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToString(val) if err != nil { return err } paramsDotReceiptIDVal = c return nil }(); err != nil { return err } params.ReceiptID = ReceiptId(paramsDotReceiptIDVal) return nil }(); err != nil { return err } if err := func() error { if err := params.ReceiptID.Validate(); err != nil { return err } return nil }(); err != nil { return err } } else { return validate.ErrFieldRequired } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "receipt_id", In: "path", Err: err, } } return params, nil } // RefundsGetParams is parameters of GET /refunds operation. type RefundsGetParams struct { // Фильтр по времени создания: время должно быть больше // указанного значения или равно ему («с такого-то // момента включительно»). Указывается в формате ISO 8601: // https://en.wikipedia.org/wiki/ISO_8601. Пример: created_at.gte=2018-07-18T10:51:18.139Z. CreatedAtGte OptDateTime `json:",omitempty,omitzero"` // Фильтр по времени создания: время должно быть больше // указанного значения («с такого-то момента, не включая // его»). Указывается в формате ISO 8601: https://en.wikipedia. // org/wiki/ISO_8601. Пример: created_at.gt=2018-07-18T10:51:18.139Z. CreatedAtGt OptDateTime `json:",omitempty,omitzero"` // Фильтр по времени создания: время должно быть меньше // указанного значения или равно ему («по такой-то // момент включительно»). Указывается в формате ISO 8601: // https://en.wikipedia.org/wiki/ISO_8601. Пример: created_at.lte=2018-07-18T10:51:18.139Z. CreatedAtLte OptDateTime `json:",omitempty,omitzero"` // Фильтр по времени создания: время должно быть меньше // указанного значения («по такой-то момент, не включая // его»). Указывается в формате ISO 8601: https://en.wikipedia. // org/wiki/ISO_8601. Пример: created_at.lt=2018-07-18T10:51:18.139Z. CreatedAtLt OptDateTime `json:",omitempty,omitzero"` // Фильтр по идентификатору платежа: https://yookassa. // ru/developers/api#payment_object_id (получить все возвраты по платежу). // Пример: payment_id=1da5c87d-0984-50e8-a7f3-8de646dd9ec9. PaymentID OptPaymentId `json:",omitempty,omitzero"` // Фильтр по статусу возврата. Возможные значения: pending // — в обработке, succeeded — успешно выполнен, canceled — // отменен. Пример: status=succeeded. Status OptRefundStatus `json:",omitempty,omitzero"` // Размер выдачи результатов запроса — количество // объектов, передаваемых в ответе. Возможные значения: // от 1 до 100. Пример: limit=50 Значение по умолчанию: 10. Limit OptInt `json:",omitempty,omitzero"` // Указатель на следующий фрагмент списка. Пример: // cursor=37a5c87d-3984-51e8-a7f3-8de646d39ec15 В качестве указателя // необходимо использовать значение параметра next_cursor, // полученное в ответе на предыдущий запрос. // Используется, если в списке больше объектов, чем // может поместиться в выдаче (limit), и конец выдачи не // достигнут. Пример использования: https://yookassa. // ru/developers/using-api/lists#pagination. Cursor OptString `json:",omitempty,omitzero"` } func unpackRefundsGetParams(packed middleware.Parameters) (params RefundsGetParams) { { key := middleware.ParameterKey{ Name: "created_at.gte", In: "query", } if v, ok := packed[key]; ok { params.CreatedAtGte = v.(OptDateTime) } } { key := middleware.ParameterKey{ Name: "created_at.gt", In: "query", } if v, ok := packed[key]; ok { params.CreatedAtGt = v.(OptDateTime) } } { key := middleware.ParameterKey{ Name: "created_at.lte", In: "query", } if v, ok := packed[key]; ok { params.CreatedAtLte = v.(OptDateTime) } } { key := middleware.ParameterKey{ Name: "created_at.lt", In: "query", } if v, ok := packed[key]; ok { params.CreatedAtLt = v.(OptDateTime) } } { key := middleware.ParameterKey{ Name: "payment_id", In: "query", } if v, ok := packed[key]; ok { params.PaymentID = v.(OptPaymentId) } } { key := middleware.ParameterKey{ Name: "status", In: "query", } if v, ok := packed[key]; ok { params.Status = v.(OptRefundStatus) } } { key := middleware.ParameterKey{ Name: "limit", In: "query", } if v, ok := packed[key]; ok { params.Limit = v.(OptInt) } } { key := middleware.ParameterKey{ Name: "cursor", In: "query", } if v, ok := packed[key]; ok { params.Cursor = v.(OptString) } } return params } func decodeRefundsGetParams(args [0]string, argsEscaped bool, r *http.Request) (params RefundsGetParams, _ error) { q := uri.NewQueryDecoder(r.URL.Query()) // Decode query: created_at.gte. if err := func() error { cfg := uri.QueryParameterDecodingConfig{ Name: "created_at.gte", Style: uri.QueryStyleForm, Explode: true, } if err := q.HasParam(cfg); err == nil { if err := q.DecodeParam(cfg, func(d uri.Decoder) error { var paramsDotCreatedAtGteVal time.Time if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToDateTime(val) if err != nil { return err } paramsDotCreatedAtGteVal = c return nil }(); err != nil { return err } params.CreatedAtGte.SetTo(paramsDotCreatedAtGteVal) return nil }); err != nil { return err } } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "created_at.gte", In: "query", Err: err, } } // Decode query: created_at.gt. if err := func() error { cfg := uri.QueryParameterDecodingConfig{ Name: "created_at.gt", Style: uri.QueryStyleForm, Explode: true, } if err := q.HasParam(cfg); err == nil { if err := q.DecodeParam(cfg, func(d uri.Decoder) error { var paramsDotCreatedAtGtVal time.Time if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToDateTime(val) if err != nil { return err } paramsDotCreatedAtGtVal = c return nil }(); err != nil { return err } params.CreatedAtGt.SetTo(paramsDotCreatedAtGtVal) return nil }); err != nil { return err } } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "created_at.gt", In: "query", Err: err, } } // Decode query: created_at.lte. if err := func() error { cfg := uri.QueryParameterDecodingConfig{ Name: "created_at.lte", Style: uri.QueryStyleForm, Explode: true, } if err := q.HasParam(cfg); err == nil { if err := q.DecodeParam(cfg, func(d uri.Decoder) error { var paramsDotCreatedAtLteVal time.Time if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToDateTime(val) if err != nil { return err } paramsDotCreatedAtLteVal = c return nil }(); err != nil { return err } params.CreatedAtLte.SetTo(paramsDotCreatedAtLteVal) return nil }); err != nil { return err } } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "created_at.lte", In: "query", Err: err, } } // Decode query: created_at.lt. if err := func() error { cfg := uri.QueryParameterDecodingConfig{ Name: "created_at.lt", Style: uri.QueryStyleForm, Explode: true, } if err := q.HasParam(cfg); err == nil { if err := q.DecodeParam(cfg, func(d uri.Decoder) error { var paramsDotCreatedAtLtVal time.Time if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToDateTime(val) if err != nil { return err } paramsDotCreatedAtLtVal = c return nil }(); err != nil { return err } params.CreatedAtLt.SetTo(paramsDotCreatedAtLtVal) return nil }); err != nil { return err } } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "created_at.lt", In: "query", Err: err, } } // Decode query: payment_id. if err := func() error { cfg := uri.QueryParameterDecodingConfig{ Name: "payment_id", Style: uri.QueryStyleForm, Explode: true, } if err := q.HasParam(cfg); err == nil { if err := q.DecodeParam(cfg, func(d uri.Decoder) error { var paramsDotPaymentIDVal PaymentId if err := func() error { var paramsDotPaymentIDValVal string if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToString(val) if err != nil { return err } paramsDotPaymentIDValVal = c return nil }(); err != nil { return err } paramsDotPaymentIDVal = PaymentId(paramsDotPaymentIDValVal) return nil }(); err != nil { return err } params.PaymentID.SetTo(paramsDotPaymentIDVal) return nil }); err != nil { return err } if err := func() error { if value, ok := params.PaymentID.Get(); ok { if err := func() error { if err := value.Validate(); err != nil { return err } return nil }(); err != nil { return err } } return nil }(); err != nil { return err } } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "payment_id", In: "query", Err: err, } } // Decode query: status. if err := func() error { cfg := uri.QueryParameterDecodingConfig{ Name: "status", Style: uri.QueryStyleForm, Explode: true, } if err := q.HasParam(cfg); err == nil { if err := q.DecodeParam(cfg, func(d uri.Decoder) error { var paramsDotStatusVal RefundStatus if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToString(val) if err != nil { return err } paramsDotStatusVal = RefundStatus(c) return nil }(); err != nil { return err } params.Status.SetTo(paramsDotStatusVal) return nil }); err != nil { return err } if err := func() error { if value, ok := params.Status.Get(); ok { if err := func() error { if err := value.Validate(); err != nil { return err } return nil }(); err != nil { return err } } return nil }(); err != nil { return err } } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "status", In: "query", Err: err, } } // Set default value for query: limit. { val := int(10) params.Limit.SetTo(val) } // Decode query: limit. if err := func() error { cfg := uri.QueryParameterDecodingConfig{ Name: "limit", Style: uri.QueryStyleForm, Explode: true, } if err := q.HasParam(cfg); err == nil { if err := q.DecodeParam(cfg, func(d uri.Decoder) error { var paramsDotLimitVal int if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToInt(val) if err != nil { return err } paramsDotLimitVal = c return nil }(); err != nil { return err } params.Limit.SetTo(paramsDotLimitVal) return nil }); err != nil { return err } if err := func() error { if value, ok := params.Limit.Get(); ok { if err := func() error { if err := (validate.Int{ MinSet: true, Min: 1, MaxSet: true, Max: 100, MinExclusive: false, MaxExclusive: false, MultipleOfSet: false, MultipleOf: 0, Pattern: nil, }).Validate(int64(value)); err != nil { return errors.Wrap(err, "int") } return nil }(); err != nil { return err } } return nil }(); err != nil { return err } } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "limit", In: "query", Err: err, } } // Decode query: cursor. if err := func() error { cfg := uri.QueryParameterDecodingConfig{ Name: "cursor", Style: uri.QueryStyleForm, Explode: true, } if err := q.HasParam(cfg); err == nil { if err := q.DecodeParam(cfg, func(d uri.Decoder) error { var paramsDotCursorVal string if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToString(val) if err != nil { return err } paramsDotCursorVal = c return nil }(); err != nil { return err } params.Cursor.SetTo(paramsDotCursorVal) return nil }); err != nil { return err } } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "cursor", In: "query", Err: err, } } return params, nil } // RefundsPostParams is parameters of POST /refunds operation. type RefundsPostParams struct { IdempotenceKey string } func unpackRefundsPostParams(packed middleware.Parameters) (params RefundsPostParams) { { key := middleware.ParameterKey{ Name: "Idempotence-Key", In: "header", } params.IdempotenceKey = packed[key].(string) } return params } func decodeRefundsPostParams(args [0]string, argsEscaped bool, r *http.Request) (params RefundsPostParams, _ error) { h := uri.NewHeaderDecoder(r.Header) // Set default value for header: Idempotence-Key. { val := string("2e1da982-1bb1-41f0-b9cf-758cc8bcf069") params.IdempotenceKey = val } // Decode header: Idempotence-Key. if err := func() error { cfg := uri.HeaderParameterDecodingConfig{ Name: "Idempotence-Key", Explode: false, } if err := h.HasParam(cfg); err == nil { if err := h.DecodeParam(cfg, func(d uri.Decoder) error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToString(val) if err != nil { return err } params.IdempotenceKey = c return nil }); err != nil { return err } if err := func() error { if err := (validate.String{ MinLength: 0, MinLengthSet: false, MaxLength: 64, MaxLengthSet: true, Email: false, Hostname: false, Regex: regexMap["[0-9a-zA-Z+-_.]{1,64}"], MinNumeric: 0, MinNumericSet: false, MaxNumeric: 0, MaxNumericSet: false, }).Validate(string(params.IdempotenceKey)); err != nil { return errors.Wrap(err, "string") } return nil }(); err != nil { return err } } else { return err } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "Idempotence-Key", In: "header", Err: err, } } return params, nil } // RefundsRefundIDGetParams is parameters of GET /refunds/{refund_id} operation. type RefundsRefundIDGetParams struct { // Идентификатор возврата. RefundID string } func unpackRefundsRefundIDGetParams(packed middleware.Parameters) (params RefundsRefundIDGetParams) { { key := middleware.ParameterKey{ Name: "refund_id", In: "path", } params.RefundID = packed[key].(string) } return params } func decodeRefundsRefundIDGetParams(args [1]string, argsEscaped bool, r *http.Request) (params RefundsRefundIDGetParams, _ error) { // Set default value for path: refund_id. { val := string("cae993f2-eb15-45f5-91c5-efb87107ae10") params.RefundID = val } // Decode path: refund_id. if err := func() error { param := args[0] if argsEscaped { unescaped, err := url.PathUnescape(args[0]) if err != nil { return errors.Wrap(err, "unescape path") } param = unescaped } if len(param) > 0 { d := uri.NewPathDecoder(uri.PathDecoderConfig{ Param: "refund_id", Value: param, Style: uri.PathStyleSimple, Explode: false, }) if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToString(val) if err != nil { return err } params.RefundID = c return nil }(); err != nil { return err } if err := func() error { if err := (validate.String{ MinLength: 36, MinLengthSet: true, MaxLength: 36, MaxLengthSet: true, Email: false, Hostname: false, Regex: nil, MinNumeric: 0, MinNumericSet: false, MaxNumeric: 0, MaxNumericSet: false, }).Validate(string(params.RefundID)); err != nil { return errors.Wrap(err, "string") } return nil }(); err != nil { return err } } else { return validate.ErrFieldRequired } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "refund_id", In: "path", Err: err, } } return params, nil } // WebhooksPostParams is parameters of POST /webhooks operation. type WebhooksPostParams struct { IdempotenceKey string } func unpackWebhooksPostParams(packed middleware.Parameters) (params WebhooksPostParams) { { key := middleware.ParameterKey{ Name: "Idempotence-Key", In: "header", } params.IdempotenceKey = packed[key].(string) } return params } func decodeWebhooksPostParams(args [0]string, argsEscaped bool, r *http.Request) (params WebhooksPostParams, _ error) { h := uri.NewHeaderDecoder(r.Header) // Set default value for header: Idempotence-Key. { val := string("2e1da982-1bb1-41f0-b9cf-758cc8bcf069") params.IdempotenceKey = val } // Decode header: Idempotence-Key. if err := func() error { cfg := uri.HeaderParameterDecodingConfig{ Name: "Idempotence-Key", Explode: false, } if err := h.HasParam(cfg); err == nil { if err := h.DecodeParam(cfg, func(d uri.Decoder) error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToString(val) if err != nil { return err } params.IdempotenceKey = c return nil }); err != nil { return err } if err := func() error { if err := (validate.String{ MinLength: 0, MinLengthSet: false, MaxLength: 64, MaxLengthSet: true, Email: false, Hostname: false, Regex: regexMap["[0-9a-zA-Z+-_.]{1,64}"], MinNumeric: 0, MinNumericSet: false, MaxNumeric: 0, MaxNumericSet: false, }).Validate(string(params.IdempotenceKey)); err != nil { return errors.Wrap(err, "string") } return nil }(); err != nil { return err } } else { return err } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "Idempotence-Key", In: "header", Err: err, } } return params, nil } // WebhooksWebhookIDDeleteParams is parameters of DELETE /webhooks/{webhook_id} operation. type WebhooksWebhookIDDeleteParams struct { // Идентификатор webhook-a. WebhookID string } func unpackWebhooksWebhookIDDeleteParams(packed middleware.Parameters) (params WebhooksWebhookIDDeleteParams) { { key := middleware.ParameterKey{ Name: "webhook_id", In: "path", } params.WebhookID = packed[key].(string) } return params } func decodeWebhooksWebhookIDDeleteParams(args [1]string, argsEscaped bool, r *http.Request) (params WebhooksWebhookIDDeleteParams, _ error) { // Set default value for path: webhook_id. { val := string("1da5c87d-0984-50e8-a7f3-8de646dd9ec9") params.WebhookID = val } // Decode path: webhook_id. if err := func() error { param := args[0] if argsEscaped { unescaped, err := url.PathUnescape(args[0]) if err != nil { return errors.Wrap(err, "unescape path") } param = unescaped } if len(param) > 0 { d := uri.NewPathDecoder(uri.PathDecoderConfig{ Param: "webhook_id", Value: param, Style: uri.PathStyleSimple, Explode: false, }) if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToString(val) if err != nil { return err } params.WebhookID = c return nil }(); err != nil { return err } if err := func() error { if err := (validate.String{ MinLength: 36, MinLengthSet: true, MaxLength: 36, MaxLengthSet: true, Email: false, Hostname: false, Regex: nil, MinNumeric: 0, MinNumericSet: false, MaxNumeric: 0, MaxNumericSet: false, }).Validate(string(params.WebhookID)); err != nil { return errors.Wrap(err, "string") } return nil }(); err != nil { return err } } else { return validate.ErrFieldRequired } return nil }(); err != nil { return params, &ogenerrors.DecodeParamError{ Name: "webhook_id", In: "path", Err: err, } } return params, nil }