move gotd fork into repo. (#111)
- update to latest telegram layer - remove some references to fields in tg.Entities that don't exist in the schema - originally added here: https://github.com/beeper/td/commit/820929062a2ba0104397bc01235ab58a9cff780e - referenced here - https://github.com/mautrix/telegramgo/commit/124f0967ed195b5a380c9bd02e170ada9710dde3 - https://github.com/mautrix/telegramgo/commit/4205047aab2e0639217148b5d125bfaab668bd8e
This commit is contained in:
@@ -0,0 +1,897 @@
|
||||
// Code generated by gotdgen, DO NOT EDIT.
|
||||
|
||||
package tdapi
|
||||
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
"sort"
|
||||
"strings"
|
||||
|
||||
"go.uber.org/multierr"
|
||||
|
||||
"go.mau.fi/mautrix-telegram/pkg/gotd/bin"
|
||||
"go.mau.fi/mautrix-telegram/pkg/gotd/tdjson"
|
||||
"go.mau.fi/mautrix-telegram/pkg/gotd/tdp"
|
||||
"go.mau.fi/mautrix-telegram/pkg/gotd/tgerr"
|
||||
)
|
||||
|
||||
// No-op definition for keeping imports.
|
||||
var (
|
||||
_ = bin.Buffer{}
|
||||
_ = context.Background()
|
||||
_ = fmt.Stringer(nil)
|
||||
_ = strings.Builder{}
|
||||
_ = errors.Is
|
||||
_ = multierr.AppendInto
|
||||
_ = sort.Ints
|
||||
_ = tdp.Format
|
||||
_ = tgerr.Error{}
|
||||
_ = tdjson.Encoder{}
|
||||
)
|
||||
|
||||
// InputCredentialsSaved represents TL type `inputCredentialsSaved#86bdbe2c`.
|
||||
type InputCredentialsSaved struct {
|
||||
// Identifier of the saved credentials
|
||||
SavedCredentialsID string
|
||||
}
|
||||
|
||||
// InputCredentialsSavedTypeID is TL type id of InputCredentialsSaved.
|
||||
const InputCredentialsSavedTypeID = 0x86bdbe2c
|
||||
|
||||
// construct implements constructor of InputCredentialsClass.
|
||||
func (i InputCredentialsSaved) construct() InputCredentialsClass { return &i }
|
||||
|
||||
// Ensuring interfaces in compile-time for InputCredentialsSaved.
|
||||
var (
|
||||
_ bin.Encoder = &InputCredentialsSaved{}
|
||||
_ bin.Decoder = &InputCredentialsSaved{}
|
||||
_ bin.BareEncoder = &InputCredentialsSaved{}
|
||||
_ bin.BareDecoder = &InputCredentialsSaved{}
|
||||
|
||||
_ InputCredentialsClass = &InputCredentialsSaved{}
|
||||
)
|
||||
|
||||
func (i *InputCredentialsSaved) Zero() bool {
|
||||
if i == nil {
|
||||
return true
|
||||
}
|
||||
if !(i.SavedCredentialsID == "") {
|
||||
return false
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
// String implements fmt.Stringer.
|
||||
func (i *InputCredentialsSaved) String() string {
|
||||
if i == nil {
|
||||
return "InputCredentialsSaved(nil)"
|
||||
}
|
||||
type Alias InputCredentialsSaved
|
||||
return fmt.Sprintf("InputCredentialsSaved%+v", Alias(*i))
|
||||
}
|
||||
|
||||
// TypeID returns type id in TL schema.
|
||||
//
|
||||
// See https://core.telegram.org/mtproto/TL-tl#remarks.
|
||||
func (*InputCredentialsSaved) TypeID() uint32 {
|
||||
return InputCredentialsSavedTypeID
|
||||
}
|
||||
|
||||
// TypeName returns name of type in TL schema.
|
||||
func (*InputCredentialsSaved) TypeName() string {
|
||||
return "inputCredentialsSaved"
|
||||
}
|
||||
|
||||
// TypeInfo returns info about TL type.
|
||||
func (i *InputCredentialsSaved) TypeInfo() tdp.Type {
|
||||
typ := tdp.Type{
|
||||
Name: "inputCredentialsSaved",
|
||||
ID: InputCredentialsSavedTypeID,
|
||||
}
|
||||
if i == nil {
|
||||
typ.Null = true
|
||||
return typ
|
||||
}
|
||||
typ.Fields = []tdp.Field{
|
||||
{
|
||||
Name: "SavedCredentialsID",
|
||||
SchemaName: "saved_credentials_id",
|
||||
},
|
||||
}
|
||||
return typ
|
||||
}
|
||||
|
||||
// Encode implements bin.Encoder.
|
||||
func (i *InputCredentialsSaved) Encode(b *bin.Buffer) error {
|
||||
if i == nil {
|
||||
return fmt.Errorf("can't encode inputCredentialsSaved#86bdbe2c as nil")
|
||||
}
|
||||
b.PutID(InputCredentialsSavedTypeID)
|
||||
return i.EncodeBare(b)
|
||||
}
|
||||
|
||||
// EncodeBare implements bin.BareEncoder.
|
||||
func (i *InputCredentialsSaved) EncodeBare(b *bin.Buffer) error {
|
||||
if i == nil {
|
||||
return fmt.Errorf("can't encode inputCredentialsSaved#86bdbe2c as nil")
|
||||
}
|
||||
b.PutString(i.SavedCredentialsID)
|
||||
return nil
|
||||
}
|
||||
|
||||
// Decode implements bin.Decoder.
|
||||
func (i *InputCredentialsSaved) Decode(b *bin.Buffer) error {
|
||||
if i == nil {
|
||||
return fmt.Errorf("can't decode inputCredentialsSaved#86bdbe2c to nil")
|
||||
}
|
||||
if err := b.ConsumeID(InputCredentialsSavedTypeID); err != nil {
|
||||
return fmt.Errorf("unable to decode inputCredentialsSaved#86bdbe2c: %w", err)
|
||||
}
|
||||
return i.DecodeBare(b)
|
||||
}
|
||||
|
||||
// DecodeBare implements bin.BareDecoder.
|
||||
func (i *InputCredentialsSaved) DecodeBare(b *bin.Buffer) error {
|
||||
if i == nil {
|
||||
return fmt.Errorf("can't decode inputCredentialsSaved#86bdbe2c to nil")
|
||||
}
|
||||
{
|
||||
value, err := b.String()
|
||||
if err != nil {
|
||||
return fmt.Errorf("unable to decode inputCredentialsSaved#86bdbe2c: field saved_credentials_id: %w", err)
|
||||
}
|
||||
i.SavedCredentialsID = value
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
|
||||
func (i *InputCredentialsSaved) EncodeTDLibJSON(b tdjson.Encoder) error {
|
||||
if i == nil {
|
||||
return fmt.Errorf("can't encode inputCredentialsSaved#86bdbe2c as nil")
|
||||
}
|
||||
b.ObjStart()
|
||||
b.PutID("inputCredentialsSaved")
|
||||
b.Comma()
|
||||
b.FieldStart("saved_credentials_id")
|
||||
b.PutString(i.SavedCredentialsID)
|
||||
b.Comma()
|
||||
b.StripComma()
|
||||
b.ObjEnd()
|
||||
return nil
|
||||
}
|
||||
|
||||
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
|
||||
func (i *InputCredentialsSaved) DecodeTDLibJSON(b tdjson.Decoder) error {
|
||||
if i == nil {
|
||||
return fmt.Errorf("can't decode inputCredentialsSaved#86bdbe2c to nil")
|
||||
}
|
||||
|
||||
return b.Obj(func(b tdjson.Decoder, key []byte) error {
|
||||
switch string(key) {
|
||||
case tdjson.TypeField:
|
||||
if err := b.ConsumeID("inputCredentialsSaved"); err != nil {
|
||||
return fmt.Errorf("unable to decode inputCredentialsSaved#86bdbe2c: %w", err)
|
||||
}
|
||||
case "saved_credentials_id":
|
||||
value, err := b.String()
|
||||
if err != nil {
|
||||
return fmt.Errorf("unable to decode inputCredentialsSaved#86bdbe2c: field saved_credentials_id: %w", err)
|
||||
}
|
||||
i.SavedCredentialsID = value
|
||||
default:
|
||||
return b.Skip()
|
||||
}
|
||||
return nil
|
||||
})
|
||||
}
|
||||
|
||||
// GetSavedCredentialsID returns value of SavedCredentialsID field.
|
||||
func (i *InputCredentialsSaved) GetSavedCredentialsID() (value string) {
|
||||
if i == nil {
|
||||
return
|
||||
}
|
||||
return i.SavedCredentialsID
|
||||
}
|
||||
|
||||
// InputCredentialsNew represents TL type `inputCredentialsNew#ce8bf12a`.
|
||||
type InputCredentialsNew struct {
|
||||
// JSON-encoded data with the credential identifier from the payment provider
|
||||
Data string
|
||||
// True, if the credential identifier can be saved on the server side
|
||||
AllowSave bool
|
||||
}
|
||||
|
||||
// InputCredentialsNewTypeID is TL type id of InputCredentialsNew.
|
||||
const InputCredentialsNewTypeID = 0xce8bf12a
|
||||
|
||||
// construct implements constructor of InputCredentialsClass.
|
||||
func (i InputCredentialsNew) construct() InputCredentialsClass { return &i }
|
||||
|
||||
// Ensuring interfaces in compile-time for InputCredentialsNew.
|
||||
var (
|
||||
_ bin.Encoder = &InputCredentialsNew{}
|
||||
_ bin.Decoder = &InputCredentialsNew{}
|
||||
_ bin.BareEncoder = &InputCredentialsNew{}
|
||||
_ bin.BareDecoder = &InputCredentialsNew{}
|
||||
|
||||
_ InputCredentialsClass = &InputCredentialsNew{}
|
||||
)
|
||||
|
||||
func (i *InputCredentialsNew) Zero() bool {
|
||||
if i == nil {
|
||||
return true
|
||||
}
|
||||
if !(i.Data == "") {
|
||||
return false
|
||||
}
|
||||
if !(i.AllowSave == false) {
|
||||
return false
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
// String implements fmt.Stringer.
|
||||
func (i *InputCredentialsNew) String() string {
|
||||
if i == nil {
|
||||
return "InputCredentialsNew(nil)"
|
||||
}
|
||||
type Alias InputCredentialsNew
|
||||
return fmt.Sprintf("InputCredentialsNew%+v", Alias(*i))
|
||||
}
|
||||
|
||||
// TypeID returns type id in TL schema.
|
||||
//
|
||||
// See https://core.telegram.org/mtproto/TL-tl#remarks.
|
||||
func (*InputCredentialsNew) TypeID() uint32 {
|
||||
return InputCredentialsNewTypeID
|
||||
}
|
||||
|
||||
// TypeName returns name of type in TL schema.
|
||||
func (*InputCredentialsNew) TypeName() string {
|
||||
return "inputCredentialsNew"
|
||||
}
|
||||
|
||||
// TypeInfo returns info about TL type.
|
||||
func (i *InputCredentialsNew) TypeInfo() tdp.Type {
|
||||
typ := tdp.Type{
|
||||
Name: "inputCredentialsNew",
|
||||
ID: InputCredentialsNewTypeID,
|
||||
}
|
||||
if i == nil {
|
||||
typ.Null = true
|
||||
return typ
|
||||
}
|
||||
typ.Fields = []tdp.Field{
|
||||
{
|
||||
Name: "Data",
|
||||
SchemaName: "data",
|
||||
},
|
||||
{
|
||||
Name: "AllowSave",
|
||||
SchemaName: "allow_save",
|
||||
},
|
||||
}
|
||||
return typ
|
||||
}
|
||||
|
||||
// Encode implements bin.Encoder.
|
||||
func (i *InputCredentialsNew) Encode(b *bin.Buffer) error {
|
||||
if i == nil {
|
||||
return fmt.Errorf("can't encode inputCredentialsNew#ce8bf12a as nil")
|
||||
}
|
||||
b.PutID(InputCredentialsNewTypeID)
|
||||
return i.EncodeBare(b)
|
||||
}
|
||||
|
||||
// EncodeBare implements bin.BareEncoder.
|
||||
func (i *InputCredentialsNew) EncodeBare(b *bin.Buffer) error {
|
||||
if i == nil {
|
||||
return fmt.Errorf("can't encode inputCredentialsNew#ce8bf12a as nil")
|
||||
}
|
||||
b.PutString(i.Data)
|
||||
b.PutBool(i.AllowSave)
|
||||
return nil
|
||||
}
|
||||
|
||||
// Decode implements bin.Decoder.
|
||||
func (i *InputCredentialsNew) Decode(b *bin.Buffer) error {
|
||||
if i == nil {
|
||||
return fmt.Errorf("can't decode inputCredentialsNew#ce8bf12a to nil")
|
||||
}
|
||||
if err := b.ConsumeID(InputCredentialsNewTypeID); err != nil {
|
||||
return fmt.Errorf("unable to decode inputCredentialsNew#ce8bf12a: %w", err)
|
||||
}
|
||||
return i.DecodeBare(b)
|
||||
}
|
||||
|
||||
// DecodeBare implements bin.BareDecoder.
|
||||
func (i *InputCredentialsNew) DecodeBare(b *bin.Buffer) error {
|
||||
if i == nil {
|
||||
return fmt.Errorf("can't decode inputCredentialsNew#ce8bf12a to nil")
|
||||
}
|
||||
{
|
||||
value, err := b.String()
|
||||
if err != nil {
|
||||
return fmt.Errorf("unable to decode inputCredentialsNew#ce8bf12a: field data: %w", err)
|
||||
}
|
||||
i.Data = value
|
||||
}
|
||||
{
|
||||
value, err := b.Bool()
|
||||
if err != nil {
|
||||
return fmt.Errorf("unable to decode inputCredentialsNew#ce8bf12a: field allow_save: %w", err)
|
||||
}
|
||||
i.AllowSave = value
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
|
||||
func (i *InputCredentialsNew) EncodeTDLibJSON(b tdjson.Encoder) error {
|
||||
if i == nil {
|
||||
return fmt.Errorf("can't encode inputCredentialsNew#ce8bf12a as nil")
|
||||
}
|
||||
b.ObjStart()
|
||||
b.PutID("inputCredentialsNew")
|
||||
b.Comma()
|
||||
b.FieldStart("data")
|
||||
b.PutString(i.Data)
|
||||
b.Comma()
|
||||
b.FieldStart("allow_save")
|
||||
b.PutBool(i.AllowSave)
|
||||
b.Comma()
|
||||
b.StripComma()
|
||||
b.ObjEnd()
|
||||
return nil
|
||||
}
|
||||
|
||||
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
|
||||
func (i *InputCredentialsNew) DecodeTDLibJSON(b tdjson.Decoder) error {
|
||||
if i == nil {
|
||||
return fmt.Errorf("can't decode inputCredentialsNew#ce8bf12a to nil")
|
||||
}
|
||||
|
||||
return b.Obj(func(b tdjson.Decoder, key []byte) error {
|
||||
switch string(key) {
|
||||
case tdjson.TypeField:
|
||||
if err := b.ConsumeID("inputCredentialsNew"); err != nil {
|
||||
return fmt.Errorf("unable to decode inputCredentialsNew#ce8bf12a: %w", err)
|
||||
}
|
||||
case "data":
|
||||
value, err := b.String()
|
||||
if err != nil {
|
||||
return fmt.Errorf("unable to decode inputCredentialsNew#ce8bf12a: field data: %w", err)
|
||||
}
|
||||
i.Data = value
|
||||
case "allow_save":
|
||||
value, err := b.Bool()
|
||||
if err != nil {
|
||||
return fmt.Errorf("unable to decode inputCredentialsNew#ce8bf12a: field allow_save: %w", err)
|
||||
}
|
||||
i.AllowSave = value
|
||||
default:
|
||||
return b.Skip()
|
||||
}
|
||||
return nil
|
||||
})
|
||||
}
|
||||
|
||||
// GetData returns value of Data field.
|
||||
func (i *InputCredentialsNew) GetData() (value string) {
|
||||
if i == nil {
|
||||
return
|
||||
}
|
||||
return i.Data
|
||||
}
|
||||
|
||||
// GetAllowSave returns value of AllowSave field.
|
||||
func (i *InputCredentialsNew) GetAllowSave() (value bool) {
|
||||
if i == nil {
|
||||
return
|
||||
}
|
||||
return i.AllowSave
|
||||
}
|
||||
|
||||
// InputCredentialsApplePay represents TL type `inputCredentialsApplePay#b5b2d6d1`.
|
||||
type InputCredentialsApplePay struct {
|
||||
// JSON-encoded data with the credential identifier
|
||||
Data string
|
||||
}
|
||||
|
||||
// InputCredentialsApplePayTypeID is TL type id of InputCredentialsApplePay.
|
||||
const InputCredentialsApplePayTypeID = 0xb5b2d6d1
|
||||
|
||||
// construct implements constructor of InputCredentialsClass.
|
||||
func (i InputCredentialsApplePay) construct() InputCredentialsClass { return &i }
|
||||
|
||||
// Ensuring interfaces in compile-time for InputCredentialsApplePay.
|
||||
var (
|
||||
_ bin.Encoder = &InputCredentialsApplePay{}
|
||||
_ bin.Decoder = &InputCredentialsApplePay{}
|
||||
_ bin.BareEncoder = &InputCredentialsApplePay{}
|
||||
_ bin.BareDecoder = &InputCredentialsApplePay{}
|
||||
|
||||
_ InputCredentialsClass = &InputCredentialsApplePay{}
|
||||
)
|
||||
|
||||
func (i *InputCredentialsApplePay) Zero() bool {
|
||||
if i == nil {
|
||||
return true
|
||||
}
|
||||
if !(i.Data == "") {
|
||||
return false
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
// String implements fmt.Stringer.
|
||||
func (i *InputCredentialsApplePay) String() string {
|
||||
if i == nil {
|
||||
return "InputCredentialsApplePay(nil)"
|
||||
}
|
||||
type Alias InputCredentialsApplePay
|
||||
return fmt.Sprintf("InputCredentialsApplePay%+v", Alias(*i))
|
||||
}
|
||||
|
||||
// TypeID returns type id in TL schema.
|
||||
//
|
||||
// See https://core.telegram.org/mtproto/TL-tl#remarks.
|
||||
func (*InputCredentialsApplePay) TypeID() uint32 {
|
||||
return InputCredentialsApplePayTypeID
|
||||
}
|
||||
|
||||
// TypeName returns name of type in TL schema.
|
||||
func (*InputCredentialsApplePay) TypeName() string {
|
||||
return "inputCredentialsApplePay"
|
||||
}
|
||||
|
||||
// TypeInfo returns info about TL type.
|
||||
func (i *InputCredentialsApplePay) TypeInfo() tdp.Type {
|
||||
typ := tdp.Type{
|
||||
Name: "inputCredentialsApplePay",
|
||||
ID: InputCredentialsApplePayTypeID,
|
||||
}
|
||||
if i == nil {
|
||||
typ.Null = true
|
||||
return typ
|
||||
}
|
||||
typ.Fields = []tdp.Field{
|
||||
{
|
||||
Name: "Data",
|
||||
SchemaName: "data",
|
||||
},
|
||||
}
|
||||
return typ
|
||||
}
|
||||
|
||||
// Encode implements bin.Encoder.
|
||||
func (i *InputCredentialsApplePay) Encode(b *bin.Buffer) error {
|
||||
if i == nil {
|
||||
return fmt.Errorf("can't encode inputCredentialsApplePay#b5b2d6d1 as nil")
|
||||
}
|
||||
b.PutID(InputCredentialsApplePayTypeID)
|
||||
return i.EncodeBare(b)
|
||||
}
|
||||
|
||||
// EncodeBare implements bin.BareEncoder.
|
||||
func (i *InputCredentialsApplePay) EncodeBare(b *bin.Buffer) error {
|
||||
if i == nil {
|
||||
return fmt.Errorf("can't encode inputCredentialsApplePay#b5b2d6d1 as nil")
|
||||
}
|
||||
b.PutString(i.Data)
|
||||
return nil
|
||||
}
|
||||
|
||||
// Decode implements bin.Decoder.
|
||||
func (i *InputCredentialsApplePay) Decode(b *bin.Buffer) error {
|
||||
if i == nil {
|
||||
return fmt.Errorf("can't decode inputCredentialsApplePay#b5b2d6d1 to nil")
|
||||
}
|
||||
if err := b.ConsumeID(InputCredentialsApplePayTypeID); err != nil {
|
||||
return fmt.Errorf("unable to decode inputCredentialsApplePay#b5b2d6d1: %w", err)
|
||||
}
|
||||
return i.DecodeBare(b)
|
||||
}
|
||||
|
||||
// DecodeBare implements bin.BareDecoder.
|
||||
func (i *InputCredentialsApplePay) DecodeBare(b *bin.Buffer) error {
|
||||
if i == nil {
|
||||
return fmt.Errorf("can't decode inputCredentialsApplePay#b5b2d6d1 to nil")
|
||||
}
|
||||
{
|
||||
value, err := b.String()
|
||||
if err != nil {
|
||||
return fmt.Errorf("unable to decode inputCredentialsApplePay#b5b2d6d1: field data: %w", err)
|
||||
}
|
||||
i.Data = value
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
|
||||
func (i *InputCredentialsApplePay) EncodeTDLibJSON(b tdjson.Encoder) error {
|
||||
if i == nil {
|
||||
return fmt.Errorf("can't encode inputCredentialsApplePay#b5b2d6d1 as nil")
|
||||
}
|
||||
b.ObjStart()
|
||||
b.PutID("inputCredentialsApplePay")
|
||||
b.Comma()
|
||||
b.FieldStart("data")
|
||||
b.PutString(i.Data)
|
||||
b.Comma()
|
||||
b.StripComma()
|
||||
b.ObjEnd()
|
||||
return nil
|
||||
}
|
||||
|
||||
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
|
||||
func (i *InputCredentialsApplePay) DecodeTDLibJSON(b tdjson.Decoder) error {
|
||||
if i == nil {
|
||||
return fmt.Errorf("can't decode inputCredentialsApplePay#b5b2d6d1 to nil")
|
||||
}
|
||||
|
||||
return b.Obj(func(b tdjson.Decoder, key []byte) error {
|
||||
switch string(key) {
|
||||
case tdjson.TypeField:
|
||||
if err := b.ConsumeID("inputCredentialsApplePay"); err != nil {
|
||||
return fmt.Errorf("unable to decode inputCredentialsApplePay#b5b2d6d1: %w", err)
|
||||
}
|
||||
case "data":
|
||||
value, err := b.String()
|
||||
if err != nil {
|
||||
return fmt.Errorf("unable to decode inputCredentialsApplePay#b5b2d6d1: field data: %w", err)
|
||||
}
|
||||
i.Data = value
|
||||
default:
|
||||
return b.Skip()
|
||||
}
|
||||
return nil
|
||||
})
|
||||
}
|
||||
|
||||
// GetData returns value of Data field.
|
||||
func (i *InputCredentialsApplePay) GetData() (value string) {
|
||||
if i == nil {
|
||||
return
|
||||
}
|
||||
return i.Data
|
||||
}
|
||||
|
||||
// InputCredentialsGooglePay represents TL type `inputCredentialsGooglePay#32544764`.
|
||||
type InputCredentialsGooglePay struct {
|
||||
// JSON-encoded data with the credential identifier
|
||||
Data string
|
||||
}
|
||||
|
||||
// InputCredentialsGooglePayTypeID is TL type id of InputCredentialsGooglePay.
|
||||
const InputCredentialsGooglePayTypeID = 0x32544764
|
||||
|
||||
// construct implements constructor of InputCredentialsClass.
|
||||
func (i InputCredentialsGooglePay) construct() InputCredentialsClass { return &i }
|
||||
|
||||
// Ensuring interfaces in compile-time for InputCredentialsGooglePay.
|
||||
var (
|
||||
_ bin.Encoder = &InputCredentialsGooglePay{}
|
||||
_ bin.Decoder = &InputCredentialsGooglePay{}
|
||||
_ bin.BareEncoder = &InputCredentialsGooglePay{}
|
||||
_ bin.BareDecoder = &InputCredentialsGooglePay{}
|
||||
|
||||
_ InputCredentialsClass = &InputCredentialsGooglePay{}
|
||||
)
|
||||
|
||||
func (i *InputCredentialsGooglePay) Zero() bool {
|
||||
if i == nil {
|
||||
return true
|
||||
}
|
||||
if !(i.Data == "") {
|
||||
return false
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
// String implements fmt.Stringer.
|
||||
func (i *InputCredentialsGooglePay) String() string {
|
||||
if i == nil {
|
||||
return "InputCredentialsGooglePay(nil)"
|
||||
}
|
||||
type Alias InputCredentialsGooglePay
|
||||
return fmt.Sprintf("InputCredentialsGooglePay%+v", Alias(*i))
|
||||
}
|
||||
|
||||
// TypeID returns type id in TL schema.
|
||||
//
|
||||
// See https://core.telegram.org/mtproto/TL-tl#remarks.
|
||||
func (*InputCredentialsGooglePay) TypeID() uint32 {
|
||||
return InputCredentialsGooglePayTypeID
|
||||
}
|
||||
|
||||
// TypeName returns name of type in TL schema.
|
||||
func (*InputCredentialsGooglePay) TypeName() string {
|
||||
return "inputCredentialsGooglePay"
|
||||
}
|
||||
|
||||
// TypeInfo returns info about TL type.
|
||||
func (i *InputCredentialsGooglePay) TypeInfo() tdp.Type {
|
||||
typ := tdp.Type{
|
||||
Name: "inputCredentialsGooglePay",
|
||||
ID: InputCredentialsGooglePayTypeID,
|
||||
}
|
||||
if i == nil {
|
||||
typ.Null = true
|
||||
return typ
|
||||
}
|
||||
typ.Fields = []tdp.Field{
|
||||
{
|
||||
Name: "Data",
|
||||
SchemaName: "data",
|
||||
},
|
||||
}
|
||||
return typ
|
||||
}
|
||||
|
||||
// Encode implements bin.Encoder.
|
||||
func (i *InputCredentialsGooglePay) Encode(b *bin.Buffer) error {
|
||||
if i == nil {
|
||||
return fmt.Errorf("can't encode inputCredentialsGooglePay#32544764 as nil")
|
||||
}
|
||||
b.PutID(InputCredentialsGooglePayTypeID)
|
||||
return i.EncodeBare(b)
|
||||
}
|
||||
|
||||
// EncodeBare implements bin.BareEncoder.
|
||||
func (i *InputCredentialsGooglePay) EncodeBare(b *bin.Buffer) error {
|
||||
if i == nil {
|
||||
return fmt.Errorf("can't encode inputCredentialsGooglePay#32544764 as nil")
|
||||
}
|
||||
b.PutString(i.Data)
|
||||
return nil
|
||||
}
|
||||
|
||||
// Decode implements bin.Decoder.
|
||||
func (i *InputCredentialsGooglePay) Decode(b *bin.Buffer) error {
|
||||
if i == nil {
|
||||
return fmt.Errorf("can't decode inputCredentialsGooglePay#32544764 to nil")
|
||||
}
|
||||
if err := b.ConsumeID(InputCredentialsGooglePayTypeID); err != nil {
|
||||
return fmt.Errorf("unable to decode inputCredentialsGooglePay#32544764: %w", err)
|
||||
}
|
||||
return i.DecodeBare(b)
|
||||
}
|
||||
|
||||
// DecodeBare implements bin.BareDecoder.
|
||||
func (i *InputCredentialsGooglePay) DecodeBare(b *bin.Buffer) error {
|
||||
if i == nil {
|
||||
return fmt.Errorf("can't decode inputCredentialsGooglePay#32544764 to nil")
|
||||
}
|
||||
{
|
||||
value, err := b.String()
|
||||
if err != nil {
|
||||
return fmt.Errorf("unable to decode inputCredentialsGooglePay#32544764: field data: %w", err)
|
||||
}
|
||||
i.Data = value
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
|
||||
func (i *InputCredentialsGooglePay) EncodeTDLibJSON(b tdjson.Encoder) error {
|
||||
if i == nil {
|
||||
return fmt.Errorf("can't encode inputCredentialsGooglePay#32544764 as nil")
|
||||
}
|
||||
b.ObjStart()
|
||||
b.PutID("inputCredentialsGooglePay")
|
||||
b.Comma()
|
||||
b.FieldStart("data")
|
||||
b.PutString(i.Data)
|
||||
b.Comma()
|
||||
b.StripComma()
|
||||
b.ObjEnd()
|
||||
return nil
|
||||
}
|
||||
|
||||
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
|
||||
func (i *InputCredentialsGooglePay) DecodeTDLibJSON(b tdjson.Decoder) error {
|
||||
if i == nil {
|
||||
return fmt.Errorf("can't decode inputCredentialsGooglePay#32544764 to nil")
|
||||
}
|
||||
|
||||
return b.Obj(func(b tdjson.Decoder, key []byte) error {
|
||||
switch string(key) {
|
||||
case tdjson.TypeField:
|
||||
if err := b.ConsumeID("inputCredentialsGooglePay"); err != nil {
|
||||
return fmt.Errorf("unable to decode inputCredentialsGooglePay#32544764: %w", err)
|
||||
}
|
||||
case "data":
|
||||
value, err := b.String()
|
||||
if err != nil {
|
||||
return fmt.Errorf("unable to decode inputCredentialsGooglePay#32544764: field data: %w", err)
|
||||
}
|
||||
i.Data = value
|
||||
default:
|
||||
return b.Skip()
|
||||
}
|
||||
return nil
|
||||
})
|
||||
}
|
||||
|
||||
// GetData returns value of Data field.
|
||||
func (i *InputCredentialsGooglePay) GetData() (value string) {
|
||||
if i == nil {
|
||||
return
|
||||
}
|
||||
return i.Data
|
||||
}
|
||||
|
||||
// InputCredentialsClassName is schema name of InputCredentialsClass.
|
||||
const InputCredentialsClassName = "InputCredentials"
|
||||
|
||||
// InputCredentialsClass represents InputCredentials generic type.
|
||||
//
|
||||
// Example:
|
||||
//
|
||||
// g, err := tdapi.DecodeInputCredentials(buf)
|
||||
// if err != nil {
|
||||
// panic(err)
|
||||
// }
|
||||
// switch v := g.(type) {
|
||||
// case *tdapi.InputCredentialsSaved: // inputCredentialsSaved#86bdbe2c
|
||||
// case *tdapi.InputCredentialsNew: // inputCredentialsNew#ce8bf12a
|
||||
// case *tdapi.InputCredentialsApplePay: // inputCredentialsApplePay#b5b2d6d1
|
||||
// case *tdapi.InputCredentialsGooglePay: // inputCredentialsGooglePay#32544764
|
||||
// default: panic(v)
|
||||
// }
|
||||
type InputCredentialsClass interface {
|
||||
bin.Encoder
|
||||
bin.Decoder
|
||||
bin.BareEncoder
|
||||
bin.BareDecoder
|
||||
construct() InputCredentialsClass
|
||||
|
||||
// TypeID returns type id in TL schema.
|
||||
//
|
||||
// See https://core.telegram.org/mtproto/TL-tl#remarks.
|
||||
TypeID() uint32
|
||||
// TypeName returns name of type in TL schema.
|
||||
TypeName() string
|
||||
// String implements fmt.Stringer.
|
||||
String() string
|
||||
// Zero returns true if current object has a zero value.
|
||||
Zero() bool
|
||||
|
||||
EncodeTDLibJSON(b tdjson.Encoder) error
|
||||
DecodeTDLibJSON(b tdjson.Decoder) error
|
||||
}
|
||||
|
||||
// DecodeInputCredentials implements binary de-serialization for InputCredentialsClass.
|
||||
func DecodeInputCredentials(buf *bin.Buffer) (InputCredentialsClass, error) {
|
||||
id, err := buf.PeekID()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
switch id {
|
||||
case InputCredentialsSavedTypeID:
|
||||
// Decoding inputCredentialsSaved#86bdbe2c.
|
||||
v := InputCredentialsSaved{}
|
||||
if err := v.Decode(buf); err != nil {
|
||||
return nil, fmt.Errorf("unable to decode InputCredentialsClass: %w", err)
|
||||
}
|
||||
return &v, nil
|
||||
case InputCredentialsNewTypeID:
|
||||
// Decoding inputCredentialsNew#ce8bf12a.
|
||||
v := InputCredentialsNew{}
|
||||
if err := v.Decode(buf); err != nil {
|
||||
return nil, fmt.Errorf("unable to decode InputCredentialsClass: %w", err)
|
||||
}
|
||||
return &v, nil
|
||||
case InputCredentialsApplePayTypeID:
|
||||
// Decoding inputCredentialsApplePay#b5b2d6d1.
|
||||
v := InputCredentialsApplePay{}
|
||||
if err := v.Decode(buf); err != nil {
|
||||
return nil, fmt.Errorf("unable to decode InputCredentialsClass: %w", err)
|
||||
}
|
||||
return &v, nil
|
||||
case InputCredentialsGooglePayTypeID:
|
||||
// Decoding inputCredentialsGooglePay#32544764.
|
||||
v := InputCredentialsGooglePay{}
|
||||
if err := v.Decode(buf); err != nil {
|
||||
return nil, fmt.Errorf("unable to decode InputCredentialsClass: %w", err)
|
||||
}
|
||||
return &v, nil
|
||||
default:
|
||||
return nil, fmt.Errorf("unable to decode InputCredentialsClass: %w", bin.NewUnexpectedID(id))
|
||||
}
|
||||
}
|
||||
|
||||
// DecodeTDLibJSONInputCredentials implements binary de-serialization for InputCredentialsClass.
|
||||
func DecodeTDLibJSONInputCredentials(buf tdjson.Decoder) (InputCredentialsClass, error) {
|
||||
id, err := buf.FindTypeID()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
switch id {
|
||||
case "inputCredentialsSaved":
|
||||
// Decoding inputCredentialsSaved#86bdbe2c.
|
||||
v := InputCredentialsSaved{}
|
||||
if err := v.DecodeTDLibJSON(buf); err != nil {
|
||||
return nil, fmt.Errorf("unable to decode InputCredentialsClass: %w", err)
|
||||
}
|
||||
return &v, nil
|
||||
case "inputCredentialsNew":
|
||||
// Decoding inputCredentialsNew#ce8bf12a.
|
||||
v := InputCredentialsNew{}
|
||||
if err := v.DecodeTDLibJSON(buf); err != nil {
|
||||
return nil, fmt.Errorf("unable to decode InputCredentialsClass: %w", err)
|
||||
}
|
||||
return &v, nil
|
||||
case "inputCredentialsApplePay":
|
||||
// Decoding inputCredentialsApplePay#b5b2d6d1.
|
||||
v := InputCredentialsApplePay{}
|
||||
if err := v.DecodeTDLibJSON(buf); err != nil {
|
||||
return nil, fmt.Errorf("unable to decode InputCredentialsClass: %w", err)
|
||||
}
|
||||
return &v, nil
|
||||
case "inputCredentialsGooglePay":
|
||||
// Decoding inputCredentialsGooglePay#32544764.
|
||||
v := InputCredentialsGooglePay{}
|
||||
if err := v.DecodeTDLibJSON(buf); err != nil {
|
||||
return nil, fmt.Errorf("unable to decode InputCredentialsClass: %w", err)
|
||||
}
|
||||
return &v, nil
|
||||
default:
|
||||
return nil, fmt.Errorf("unable to decode InputCredentialsClass: %w", tdjson.NewUnexpectedID(id))
|
||||
}
|
||||
}
|
||||
|
||||
// InputCredentials boxes the InputCredentialsClass providing a helper.
|
||||
type InputCredentialsBox struct {
|
||||
InputCredentials InputCredentialsClass
|
||||
}
|
||||
|
||||
// Decode implements bin.Decoder for InputCredentialsBox.
|
||||
func (b *InputCredentialsBox) Decode(buf *bin.Buffer) error {
|
||||
if b == nil {
|
||||
return fmt.Errorf("unable to decode InputCredentialsBox to nil")
|
||||
}
|
||||
v, err := DecodeInputCredentials(buf)
|
||||
if err != nil {
|
||||
return fmt.Errorf("unable to decode boxed value: %w", err)
|
||||
}
|
||||
b.InputCredentials = v
|
||||
return nil
|
||||
}
|
||||
|
||||
// Encode implements bin.Encode for InputCredentialsBox.
|
||||
func (b *InputCredentialsBox) Encode(buf *bin.Buffer) error {
|
||||
if b == nil || b.InputCredentials == nil {
|
||||
return fmt.Errorf("unable to encode InputCredentialsClass as nil")
|
||||
}
|
||||
return b.InputCredentials.Encode(buf)
|
||||
}
|
||||
|
||||
// DecodeTDLibJSON implements bin.Decoder for InputCredentialsBox.
|
||||
func (b *InputCredentialsBox) DecodeTDLibJSON(buf tdjson.Decoder) error {
|
||||
if b == nil {
|
||||
return fmt.Errorf("unable to decode InputCredentialsBox to nil")
|
||||
}
|
||||
v, err := DecodeTDLibJSONInputCredentials(buf)
|
||||
if err != nil {
|
||||
return fmt.Errorf("unable to decode boxed value: %w", err)
|
||||
}
|
||||
b.InputCredentials = v
|
||||
return nil
|
||||
}
|
||||
|
||||
// EncodeTDLibJSON implements bin.Encode for InputCredentialsBox.
|
||||
func (b *InputCredentialsBox) EncodeTDLibJSON(buf tdjson.Encoder) error {
|
||||
if b == nil || b.InputCredentials == nil {
|
||||
return fmt.Errorf("unable to encode InputCredentialsClass as nil")
|
||||
}
|
||||
return b.InputCredentials.EncodeTDLibJSON(buf)
|
||||
}
|
||||
Reference in New Issue
Block a user