Files
mautrix-telegram/pkg/gotd/tdapi/tl_passport_element_gen.go
T
2025-06-27 20:03:37 -07:00

2493 lines
74 KiB
Go

// 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{}
)
// PassportElementPersonalDetails represents TL type `passportElementPersonalDetails#4894fe83`.
type PassportElementPersonalDetails struct {
// Personal details of the user
PersonalDetails PersonalDetails
}
// PassportElementPersonalDetailsTypeID is TL type id of PassportElementPersonalDetails.
const PassportElementPersonalDetailsTypeID = 0x4894fe83
// construct implements constructor of PassportElementClass.
func (p PassportElementPersonalDetails) construct() PassportElementClass { return &p }
// Ensuring interfaces in compile-time for PassportElementPersonalDetails.
var (
_ bin.Encoder = &PassportElementPersonalDetails{}
_ bin.Decoder = &PassportElementPersonalDetails{}
_ bin.BareEncoder = &PassportElementPersonalDetails{}
_ bin.BareDecoder = &PassportElementPersonalDetails{}
_ PassportElementClass = &PassportElementPersonalDetails{}
)
func (p *PassportElementPersonalDetails) Zero() bool {
if p == nil {
return true
}
if !(p.PersonalDetails.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (p *PassportElementPersonalDetails) String() string {
if p == nil {
return "PassportElementPersonalDetails(nil)"
}
type Alias PassportElementPersonalDetails
return fmt.Sprintf("PassportElementPersonalDetails%+v", Alias(*p))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*PassportElementPersonalDetails) TypeID() uint32 {
return PassportElementPersonalDetailsTypeID
}
// TypeName returns name of type in TL schema.
func (*PassportElementPersonalDetails) TypeName() string {
return "passportElementPersonalDetails"
}
// TypeInfo returns info about TL type.
func (p *PassportElementPersonalDetails) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "passportElementPersonalDetails",
ID: PassportElementPersonalDetailsTypeID,
}
if p == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "PersonalDetails",
SchemaName: "personal_details",
},
}
return typ
}
// Encode implements bin.Encoder.
func (p *PassportElementPersonalDetails) Encode(b *bin.Buffer) error {
if p == nil {
return fmt.Errorf("can't encode passportElementPersonalDetails#4894fe83 as nil")
}
b.PutID(PassportElementPersonalDetailsTypeID)
return p.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (p *PassportElementPersonalDetails) EncodeBare(b *bin.Buffer) error {
if p == nil {
return fmt.Errorf("can't encode passportElementPersonalDetails#4894fe83 as nil")
}
if err := p.PersonalDetails.Encode(b); err != nil {
return fmt.Errorf("unable to encode passportElementPersonalDetails#4894fe83: field personal_details: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (p *PassportElementPersonalDetails) Decode(b *bin.Buffer) error {
if p == nil {
return fmt.Errorf("can't decode passportElementPersonalDetails#4894fe83 to nil")
}
if err := b.ConsumeID(PassportElementPersonalDetailsTypeID); err != nil {
return fmt.Errorf("unable to decode passportElementPersonalDetails#4894fe83: %w", err)
}
return p.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (p *PassportElementPersonalDetails) DecodeBare(b *bin.Buffer) error {
if p == nil {
return fmt.Errorf("can't decode passportElementPersonalDetails#4894fe83 to nil")
}
{
if err := p.PersonalDetails.Decode(b); err != nil {
return fmt.Errorf("unable to decode passportElementPersonalDetails#4894fe83: field personal_details: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (p *PassportElementPersonalDetails) EncodeTDLibJSON(b tdjson.Encoder) error {
if p == nil {
return fmt.Errorf("can't encode passportElementPersonalDetails#4894fe83 as nil")
}
b.ObjStart()
b.PutID("passportElementPersonalDetails")
b.Comma()
b.FieldStart("personal_details")
if err := p.PersonalDetails.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode passportElementPersonalDetails#4894fe83: field personal_details: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (p *PassportElementPersonalDetails) DecodeTDLibJSON(b tdjson.Decoder) error {
if p == nil {
return fmt.Errorf("can't decode passportElementPersonalDetails#4894fe83 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("passportElementPersonalDetails"); err != nil {
return fmt.Errorf("unable to decode passportElementPersonalDetails#4894fe83: %w", err)
}
case "personal_details":
if err := p.PersonalDetails.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode passportElementPersonalDetails#4894fe83: field personal_details: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetPersonalDetails returns value of PersonalDetails field.
func (p *PassportElementPersonalDetails) GetPersonalDetails() (value PersonalDetails) {
if p == nil {
return
}
return p.PersonalDetails
}
// PassportElementPassport represents TL type `passportElementPassport#f043e723`.
type PassportElementPassport struct {
// Passport
Passport IdentityDocument
}
// PassportElementPassportTypeID is TL type id of PassportElementPassport.
const PassportElementPassportTypeID = 0xf043e723
// construct implements constructor of PassportElementClass.
func (p PassportElementPassport) construct() PassportElementClass { return &p }
// Ensuring interfaces in compile-time for PassportElementPassport.
var (
_ bin.Encoder = &PassportElementPassport{}
_ bin.Decoder = &PassportElementPassport{}
_ bin.BareEncoder = &PassportElementPassport{}
_ bin.BareDecoder = &PassportElementPassport{}
_ PassportElementClass = &PassportElementPassport{}
)
func (p *PassportElementPassport) Zero() bool {
if p == nil {
return true
}
if !(p.Passport.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (p *PassportElementPassport) String() string {
if p == nil {
return "PassportElementPassport(nil)"
}
type Alias PassportElementPassport
return fmt.Sprintf("PassportElementPassport%+v", Alias(*p))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*PassportElementPassport) TypeID() uint32 {
return PassportElementPassportTypeID
}
// TypeName returns name of type in TL schema.
func (*PassportElementPassport) TypeName() string {
return "passportElementPassport"
}
// TypeInfo returns info about TL type.
func (p *PassportElementPassport) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "passportElementPassport",
ID: PassportElementPassportTypeID,
}
if p == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Passport",
SchemaName: "passport",
},
}
return typ
}
// Encode implements bin.Encoder.
func (p *PassportElementPassport) Encode(b *bin.Buffer) error {
if p == nil {
return fmt.Errorf("can't encode passportElementPassport#f043e723 as nil")
}
b.PutID(PassportElementPassportTypeID)
return p.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (p *PassportElementPassport) EncodeBare(b *bin.Buffer) error {
if p == nil {
return fmt.Errorf("can't encode passportElementPassport#f043e723 as nil")
}
if err := p.Passport.Encode(b); err != nil {
return fmt.Errorf("unable to encode passportElementPassport#f043e723: field passport: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (p *PassportElementPassport) Decode(b *bin.Buffer) error {
if p == nil {
return fmt.Errorf("can't decode passportElementPassport#f043e723 to nil")
}
if err := b.ConsumeID(PassportElementPassportTypeID); err != nil {
return fmt.Errorf("unable to decode passportElementPassport#f043e723: %w", err)
}
return p.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (p *PassportElementPassport) DecodeBare(b *bin.Buffer) error {
if p == nil {
return fmt.Errorf("can't decode passportElementPassport#f043e723 to nil")
}
{
if err := p.Passport.Decode(b); err != nil {
return fmt.Errorf("unable to decode passportElementPassport#f043e723: field passport: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (p *PassportElementPassport) EncodeTDLibJSON(b tdjson.Encoder) error {
if p == nil {
return fmt.Errorf("can't encode passportElementPassport#f043e723 as nil")
}
b.ObjStart()
b.PutID("passportElementPassport")
b.Comma()
b.FieldStart("passport")
if err := p.Passport.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode passportElementPassport#f043e723: field passport: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (p *PassportElementPassport) DecodeTDLibJSON(b tdjson.Decoder) error {
if p == nil {
return fmt.Errorf("can't decode passportElementPassport#f043e723 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("passportElementPassport"); err != nil {
return fmt.Errorf("unable to decode passportElementPassport#f043e723: %w", err)
}
case "passport":
if err := p.Passport.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode passportElementPassport#f043e723: field passport: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetPassport returns value of Passport field.
func (p *PassportElementPassport) GetPassport() (value IdentityDocument) {
if p == nil {
return
}
return p.Passport
}
// PassportElementDriverLicense represents TL type `passportElementDriverLicense#61f70cad`.
type PassportElementDriverLicense struct {
// Driver license
DriverLicense IdentityDocument
}
// PassportElementDriverLicenseTypeID is TL type id of PassportElementDriverLicense.
const PassportElementDriverLicenseTypeID = 0x61f70cad
// construct implements constructor of PassportElementClass.
func (p PassportElementDriverLicense) construct() PassportElementClass { return &p }
// Ensuring interfaces in compile-time for PassportElementDriverLicense.
var (
_ bin.Encoder = &PassportElementDriverLicense{}
_ bin.Decoder = &PassportElementDriverLicense{}
_ bin.BareEncoder = &PassportElementDriverLicense{}
_ bin.BareDecoder = &PassportElementDriverLicense{}
_ PassportElementClass = &PassportElementDriverLicense{}
)
func (p *PassportElementDriverLicense) Zero() bool {
if p == nil {
return true
}
if !(p.DriverLicense.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (p *PassportElementDriverLicense) String() string {
if p == nil {
return "PassportElementDriverLicense(nil)"
}
type Alias PassportElementDriverLicense
return fmt.Sprintf("PassportElementDriverLicense%+v", Alias(*p))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*PassportElementDriverLicense) TypeID() uint32 {
return PassportElementDriverLicenseTypeID
}
// TypeName returns name of type in TL schema.
func (*PassportElementDriverLicense) TypeName() string {
return "passportElementDriverLicense"
}
// TypeInfo returns info about TL type.
func (p *PassportElementDriverLicense) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "passportElementDriverLicense",
ID: PassportElementDriverLicenseTypeID,
}
if p == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "DriverLicense",
SchemaName: "driver_license",
},
}
return typ
}
// Encode implements bin.Encoder.
func (p *PassportElementDriverLicense) Encode(b *bin.Buffer) error {
if p == nil {
return fmt.Errorf("can't encode passportElementDriverLicense#61f70cad as nil")
}
b.PutID(PassportElementDriverLicenseTypeID)
return p.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (p *PassportElementDriverLicense) EncodeBare(b *bin.Buffer) error {
if p == nil {
return fmt.Errorf("can't encode passportElementDriverLicense#61f70cad as nil")
}
if err := p.DriverLicense.Encode(b); err != nil {
return fmt.Errorf("unable to encode passportElementDriverLicense#61f70cad: field driver_license: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (p *PassportElementDriverLicense) Decode(b *bin.Buffer) error {
if p == nil {
return fmt.Errorf("can't decode passportElementDriverLicense#61f70cad to nil")
}
if err := b.ConsumeID(PassportElementDriverLicenseTypeID); err != nil {
return fmt.Errorf("unable to decode passportElementDriverLicense#61f70cad: %w", err)
}
return p.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (p *PassportElementDriverLicense) DecodeBare(b *bin.Buffer) error {
if p == nil {
return fmt.Errorf("can't decode passportElementDriverLicense#61f70cad to nil")
}
{
if err := p.DriverLicense.Decode(b); err != nil {
return fmt.Errorf("unable to decode passportElementDriverLicense#61f70cad: field driver_license: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (p *PassportElementDriverLicense) EncodeTDLibJSON(b tdjson.Encoder) error {
if p == nil {
return fmt.Errorf("can't encode passportElementDriverLicense#61f70cad as nil")
}
b.ObjStart()
b.PutID("passportElementDriverLicense")
b.Comma()
b.FieldStart("driver_license")
if err := p.DriverLicense.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode passportElementDriverLicense#61f70cad: field driver_license: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (p *PassportElementDriverLicense) DecodeTDLibJSON(b tdjson.Decoder) error {
if p == nil {
return fmt.Errorf("can't decode passportElementDriverLicense#61f70cad to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("passportElementDriverLicense"); err != nil {
return fmt.Errorf("unable to decode passportElementDriverLicense#61f70cad: %w", err)
}
case "driver_license":
if err := p.DriverLicense.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode passportElementDriverLicense#61f70cad: field driver_license: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetDriverLicense returns value of DriverLicense field.
func (p *PassportElementDriverLicense) GetDriverLicense() (value IdentityDocument) {
if p == nil {
return
}
return p.DriverLicense
}
// PassportElementIdentityCard represents TL type `passportElementIdentityCard#7c33e535`.
type PassportElementIdentityCard struct {
// Identity card
IdentityCard IdentityDocument
}
// PassportElementIdentityCardTypeID is TL type id of PassportElementIdentityCard.
const PassportElementIdentityCardTypeID = 0x7c33e535
// construct implements constructor of PassportElementClass.
func (p PassportElementIdentityCard) construct() PassportElementClass { return &p }
// Ensuring interfaces in compile-time for PassportElementIdentityCard.
var (
_ bin.Encoder = &PassportElementIdentityCard{}
_ bin.Decoder = &PassportElementIdentityCard{}
_ bin.BareEncoder = &PassportElementIdentityCard{}
_ bin.BareDecoder = &PassportElementIdentityCard{}
_ PassportElementClass = &PassportElementIdentityCard{}
)
func (p *PassportElementIdentityCard) Zero() bool {
if p == nil {
return true
}
if !(p.IdentityCard.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (p *PassportElementIdentityCard) String() string {
if p == nil {
return "PassportElementIdentityCard(nil)"
}
type Alias PassportElementIdentityCard
return fmt.Sprintf("PassportElementIdentityCard%+v", Alias(*p))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*PassportElementIdentityCard) TypeID() uint32 {
return PassportElementIdentityCardTypeID
}
// TypeName returns name of type in TL schema.
func (*PassportElementIdentityCard) TypeName() string {
return "passportElementIdentityCard"
}
// TypeInfo returns info about TL type.
func (p *PassportElementIdentityCard) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "passportElementIdentityCard",
ID: PassportElementIdentityCardTypeID,
}
if p == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "IdentityCard",
SchemaName: "identity_card",
},
}
return typ
}
// Encode implements bin.Encoder.
func (p *PassportElementIdentityCard) Encode(b *bin.Buffer) error {
if p == nil {
return fmt.Errorf("can't encode passportElementIdentityCard#7c33e535 as nil")
}
b.PutID(PassportElementIdentityCardTypeID)
return p.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (p *PassportElementIdentityCard) EncodeBare(b *bin.Buffer) error {
if p == nil {
return fmt.Errorf("can't encode passportElementIdentityCard#7c33e535 as nil")
}
if err := p.IdentityCard.Encode(b); err != nil {
return fmt.Errorf("unable to encode passportElementIdentityCard#7c33e535: field identity_card: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (p *PassportElementIdentityCard) Decode(b *bin.Buffer) error {
if p == nil {
return fmt.Errorf("can't decode passportElementIdentityCard#7c33e535 to nil")
}
if err := b.ConsumeID(PassportElementIdentityCardTypeID); err != nil {
return fmt.Errorf("unable to decode passportElementIdentityCard#7c33e535: %w", err)
}
return p.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (p *PassportElementIdentityCard) DecodeBare(b *bin.Buffer) error {
if p == nil {
return fmt.Errorf("can't decode passportElementIdentityCard#7c33e535 to nil")
}
{
if err := p.IdentityCard.Decode(b); err != nil {
return fmt.Errorf("unable to decode passportElementIdentityCard#7c33e535: field identity_card: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (p *PassportElementIdentityCard) EncodeTDLibJSON(b tdjson.Encoder) error {
if p == nil {
return fmt.Errorf("can't encode passportElementIdentityCard#7c33e535 as nil")
}
b.ObjStart()
b.PutID("passportElementIdentityCard")
b.Comma()
b.FieldStart("identity_card")
if err := p.IdentityCard.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode passportElementIdentityCard#7c33e535: field identity_card: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (p *PassportElementIdentityCard) DecodeTDLibJSON(b tdjson.Decoder) error {
if p == nil {
return fmt.Errorf("can't decode passportElementIdentityCard#7c33e535 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("passportElementIdentityCard"); err != nil {
return fmt.Errorf("unable to decode passportElementIdentityCard#7c33e535: %w", err)
}
case "identity_card":
if err := p.IdentityCard.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode passportElementIdentityCard#7c33e535: field identity_card: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetIdentityCard returns value of IdentityCard field.
func (p *PassportElementIdentityCard) GetIdentityCard() (value IdentityDocument) {
if p == nil {
return
}
return p.IdentityCard
}
// PassportElementInternalPassport represents TL type `passportElementInternalPassport#228ad87`.
type PassportElementInternalPassport struct {
// Internal passport
InternalPassport IdentityDocument
}
// PassportElementInternalPassportTypeID is TL type id of PassportElementInternalPassport.
const PassportElementInternalPassportTypeID = 0x228ad87
// construct implements constructor of PassportElementClass.
func (p PassportElementInternalPassport) construct() PassportElementClass { return &p }
// Ensuring interfaces in compile-time for PassportElementInternalPassport.
var (
_ bin.Encoder = &PassportElementInternalPassport{}
_ bin.Decoder = &PassportElementInternalPassport{}
_ bin.BareEncoder = &PassportElementInternalPassport{}
_ bin.BareDecoder = &PassportElementInternalPassport{}
_ PassportElementClass = &PassportElementInternalPassport{}
)
func (p *PassportElementInternalPassport) Zero() bool {
if p == nil {
return true
}
if !(p.InternalPassport.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (p *PassportElementInternalPassport) String() string {
if p == nil {
return "PassportElementInternalPassport(nil)"
}
type Alias PassportElementInternalPassport
return fmt.Sprintf("PassportElementInternalPassport%+v", Alias(*p))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*PassportElementInternalPassport) TypeID() uint32 {
return PassportElementInternalPassportTypeID
}
// TypeName returns name of type in TL schema.
func (*PassportElementInternalPassport) TypeName() string {
return "passportElementInternalPassport"
}
// TypeInfo returns info about TL type.
func (p *PassportElementInternalPassport) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "passportElementInternalPassport",
ID: PassportElementInternalPassportTypeID,
}
if p == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "InternalPassport",
SchemaName: "internal_passport",
},
}
return typ
}
// Encode implements bin.Encoder.
func (p *PassportElementInternalPassport) Encode(b *bin.Buffer) error {
if p == nil {
return fmt.Errorf("can't encode passportElementInternalPassport#228ad87 as nil")
}
b.PutID(PassportElementInternalPassportTypeID)
return p.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (p *PassportElementInternalPassport) EncodeBare(b *bin.Buffer) error {
if p == nil {
return fmt.Errorf("can't encode passportElementInternalPassport#228ad87 as nil")
}
if err := p.InternalPassport.Encode(b); err != nil {
return fmt.Errorf("unable to encode passportElementInternalPassport#228ad87: field internal_passport: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (p *PassportElementInternalPassport) Decode(b *bin.Buffer) error {
if p == nil {
return fmt.Errorf("can't decode passportElementInternalPassport#228ad87 to nil")
}
if err := b.ConsumeID(PassportElementInternalPassportTypeID); err != nil {
return fmt.Errorf("unable to decode passportElementInternalPassport#228ad87: %w", err)
}
return p.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (p *PassportElementInternalPassport) DecodeBare(b *bin.Buffer) error {
if p == nil {
return fmt.Errorf("can't decode passportElementInternalPassport#228ad87 to nil")
}
{
if err := p.InternalPassport.Decode(b); err != nil {
return fmt.Errorf("unable to decode passportElementInternalPassport#228ad87: field internal_passport: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (p *PassportElementInternalPassport) EncodeTDLibJSON(b tdjson.Encoder) error {
if p == nil {
return fmt.Errorf("can't encode passportElementInternalPassport#228ad87 as nil")
}
b.ObjStart()
b.PutID("passportElementInternalPassport")
b.Comma()
b.FieldStart("internal_passport")
if err := p.InternalPassport.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode passportElementInternalPassport#228ad87: field internal_passport: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (p *PassportElementInternalPassport) DecodeTDLibJSON(b tdjson.Decoder) error {
if p == nil {
return fmt.Errorf("can't decode passportElementInternalPassport#228ad87 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("passportElementInternalPassport"); err != nil {
return fmt.Errorf("unable to decode passportElementInternalPassport#228ad87: %w", err)
}
case "internal_passport":
if err := p.InternalPassport.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode passportElementInternalPassport#228ad87: field internal_passport: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetInternalPassport returns value of InternalPassport field.
func (p *PassportElementInternalPassport) GetInternalPassport() (value IdentityDocument) {
if p == nil {
return
}
return p.InternalPassport
}
// PassportElementAddress represents TL type `passportElementAddress#d15a1630`.
type PassportElementAddress struct {
// Address
Address Address
}
// PassportElementAddressTypeID is TL type id of PassportElementAddress.
const PassportElementAddressTypeID = 0xd15a1630
// construct implements constructor of PassportElementClass.
func (p PassportElementAddress) construct() PassportElementClass { return &p }
// Ensuring interfaces in compile-time for PassportElementAddress.
var (
_ bin.Encoder = &PassportElementAddress{}
_ bin.Decoder = &PassportElementAddress{}
_ bin.BareEncoder = &PassportElementAddress{}
_ bin.BareDecoder = &PassportElementAddress{}
_ PassportElementClass = &PassportElementAddress{}
)
func (p *PassportElementAddress) Zero() bool {
if p == nil {
return true
}
if !(p.Address.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (p *PassportElementAddress) String() string {
if p == nil {
return "PassportElementAddress(nil)"
}
type Alias PassportElementAddress
return fmt.Sprintf("PassportElementAddress%+v", Alias(*p))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*PassportElementAddress) TypeID() uint32 {
return PassportElementAddressTypeID
}
// TypeName returns name of type in TL schema.
func (*PassportElementAddress) TypeName() string {
return "passportElementAddress"
}
// TypeInfo returns info about TL type.
func (p *PassportElementAddress) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "passportElementAddress",
ID: PassportElementAddressTypeID,
}
if p == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "Address",
SchemaName: "address",
},
}
return typ
}
// Encode implements bin.Encoder.
func (p *PassportElementAddress) Encode(b *bin.Buffer) error {
if p == nil {
return fmt.Errorf("can't encode passportElementAddress#d15a1630 as nil")
}
b.PutID(PassportElementAddressTypeID)
return p.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (p *PassportElementAddress) EncodeBare(b *bin.Buffer) error {
if p == nil {
return fmt.Errorf("can't encode passportElementAddress#d15a1630 as nil")
}
if err := p.Address.Encode(b); err != nil {
return fmt.Errorf("unable to encode passportElementAddress#d15a1630: field address: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (p *PassportElementAddress) Decode(b *bin.Buffer) error {
if p == nil {
return fmt.Errorf("can't decode passportElementAddress#d15a1630 to nil")
}
if err := b.ConsumeID(PassportElementAddressTypeID); err != nil {
return fmt.Errorf("unable to decode passportElementAddress#d15a1630: %w", err)
}
return p.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (p *PassportElementAddress) DecodeBare(b *bin.Buffer) error {
if p == nil {
return fmt.Errorf("can't decode passportElementAddress#d15a1630 to nil")
}
{
if err := p.Address.Decode(b); err != nil {
return fmt.Errorf("unable to decode passportElementAddress#d15a1630: field address: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (p *PassportElementAddress) EncodeTDLibJSON(b tdjson.Encoder) error {
if p == nil {
return fmt.Errorf("can't encode passportElementAddress#d15a1630 as nil")
}
b.ObjStart()
b.PutID("passportElementAddress")
b.Comma()
b.FieldStart("address")
if err := p.Address.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode passportElementAddress#d15a1630: field address: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (p *PassportElementAddress) DecodeTDLibJSON(b tdjson.Decoder) error {
if p == nil {
return fmt.Errorf("can't decode passportElementAddress#d15a1630 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("passportElementAddress"); err != nil {
return fmt.Errorf("unable to decode passportElementAddress#d15a1630: %w", err)
}
case "address":
if err := p.Address.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode passportElementAddress#d15a1630: field address: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetAddress returns value of Address field.
func (p *PassportElementAddress) GetAddress() (value Address) {
if p == nil {
return
}
return p.Address
}
// PassportElementUtilityBill represents TL type `passportElementUtilityBill#f2041dd2`.
type PassportElementUtilityBill struct {
// Utility bill
UtilityBill PersonalDocument
}
// PassportElementUtilityBillTypeID is TL type id of PassportElementUtilityBill.
const PassportElementUtilityBillTypeID = 0xf2041dd2
// construct implements constructor of PassportElementClass.
func (p PassportElementUtilityBill) construct() PassportElementClass { return &p }
// Ensuring interfaces in compile-time for PassportElementUtilityBill.
var (
_ bin.Encoder = &PassportElementUtilityBill{}
_ bin.Decoder = &PassportElementUtilityBill{}
_ bin.BareEncoder = &PassportElementUtilityBill{}
_ bin.BareDecoder = &PassportElementUtilityBill{}
_ PassportElementClass = &PassportElementUtilityBill{}
)
func (p *PassportElementUtilityBill) Zero() bool {
if p == nil {
return true
}
if !(p.UtilityBill.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (p *PassportElementUtilityBill) String() string {
if p == nil {
return "PassportElementUtilityBill(nil)"
}
type Alias PassportElementUtilityBill
return fmt.Sprintf("PassportElementUtilityBill%+v", Alias(*p))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*PassportElementUtilityBill) TypeID() uint32 {
return PassportElementUtilityBillTypeID
}
// TypeName returns name of type in TL schema.
func (*PassportElementUtilityBill) TypeName() string {
return "passportElementUtilityBill"
}
// TypeInfo returns info about TL type.
func (p *PassportElementUtilityBill) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "passportElementUtilityBill",
ID: PassportElementUtilityBillTypeID,
}
if p == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "UtilityBill",
SchemaName: "utility_bill",
},
}
return typ
}
// Encode implements bin.Encoder.
func (p *PassportElementUtilityBill) Encode(b *bin.Buffer) error {
if p == nil {
return fmt.Errorf("can't encode passportElementUtilityBill#f2041dd2 as nil")
}
b.PutID(PassportElementUtilityBillTypeID)
return p.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (p *PassportElementUtilityBill) EncodeBare(b *bin.Buffer) error {
if p == nil {
return fmt.Errorf("can't encode passportElementUtilityBill#f2041dd2 as nil")
}
if err := p.UtilityBill.Encode(b); err != nil {
return fmt.Errorf("unable to encode passportElementUtilityBill#f2041dd2: field utility_bill: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (p *PassportElementUtilityBill) Decode(b *bin.Buffer) error {
if p == nil {
return fmt.Errorf("can't decode passportElementUtilityBill#f2041dd2 to nil")
}
if err := b.ConsumeID(PassportElementUtilityBillTypeID); err != nil {
return fmt.Errorf("unable to decode passportElementUtilityBill#f2041dd2: %w", err)
}
return p.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (p *PassportElementUtilityBill) DecodeBare(b *bin.Buffer) error {
if p == nil {
return fmt.Errorf("can't decode passportElementUtilityBill#f2041dd2 to nil")
}
{
if err := p.UtilityBill.Decode(b); err != nil {
return fmt.Errorf("unable to decode passportElementUtilityBill#f2041dd2: field utility_bill: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (p *PassportElementUtilityBill) EncodeTDLibJSON(b tdjson.Encoder) error {
if p == nil {
return fmt.Errorf("can't encode passportElementUtilityBill#f2041dd2 as nil")
}
b.ObjStart()
b.PutID("passportElementUtilityBill")
b.Comma()
b.FieldStart("utility_bill")
if err := p.UtilityBill.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode passportElementUtilityBill#f2041dd2: field utility_bill: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (p *PassportElementUtilityBill) DecodeTDLibJSON(b tdjson.Decoder) error {
if p == nil {
return fmt.Errorf("can't decode passportElementUtilityBill#f2041dd2 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("passportElementUtilityBill"); err != nil {
return fmt.Errorf("unable to decode passportElementUtilityBill#f2041dd2: %w", err)
}
case "utility_bill":
if err := p.UtilityBill.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode passportElementUtilityBill#f2041dd2: field utility_bill: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetUtilityBill returns value of UtilityBill field.
func (p *PassportElementUtilityBill) GetUtilityBill() (value PersonalDocument) {
if p == nil {
return
}
return p.UtilityBill
}
// PassportElementBankStatement represents TL type `passportElementBankStatement#ea283268`.
type PassportElementBankStatement struct {
// Bank statement
BankStatement PersonalDocument
}
// PassportElementBankStatementTypeID is TL type id of PassportElementBankStatement.
const PassportElementBankStatementTypeID = 0xea283268
// construct implements constructor of PassportElementClass.
func (p PassportElementBankStatement) construct() PassportElementClass { return &p }
// Ensuring interfaces in compile-time for PassportElementBankStatement.
var (
_ bin.Encoder = &PassportElementBankStatement{}
_ bin.Decoder = &PassportElementBankStatement{}
_ bin.BareEncoder = &PassportElementBankStatement{}
_ bin.BareDecoder = &PassportElementBankStatement{}
_ PassportElementClass = &PassportElementBankStatement{}
)
func (p *PassportElementBankStatement) Zero() bool {
if p == nil {
return true
}
if !(p.BankStatement.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (p *PassportElementBankStatement) String() string {
if p == nil {
return "PassportElementBankStatement(nil)"
}
type Alias PassportElementBankStatement
return fmt.Sprintf("PassportElementBankStatement%+v", Alias(*p))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*PassportElementBankStatement) TypeID() uint32 {
return PassportElementBankStatementTypeID
}
// TypeName returns name of type in TL schema.
func (*PassportElementBankStatement) TypeName() string {
return "passportElementBankStatement"
}
// TypeInfo returns info about TL type.
func (p *PassportElementBankStatement) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "passportElementBankStatement",
ID: PassportElementBankStatementTypeID,
}
if p == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "BankStatement",
SchemaName: "bank_statement",
},
}
return typ
}
// Encode implements bin.Encoder.
func (p *PassportElementBankStatement) Encode(b *bin.Buffer) error {
if p == nil {
return fmt.Errorf("can't encode passportElementBankStatement#ea283268 as nil")
}
b.PutID(PassportElementBankStatementTypeID)
return p.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (p *PassportElementBankStatement) EncodeBare(b *bin.Buffer) error {
if p == nil {
return fmt.Errorf("can't encode passportElementBankStatement#ea283268 as nil")
}
if err := p.BankStatement.Encode(b); err != nil {
return fmt.Errorf("unable to encode passportElementBankStatement#ea283268: field bank_statement: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (p *PassportElementBankStatement) Decode(b *bin.Buffer) error {
if p == nil {
return fmt.Errorf("can't decode passportElementBankStatement#ea283268 to nil")
}
if err := b.ConsumeID(PassportElementBankStatementTypeID); err != nil {
return fmt.Errorf("unable to decode passportElementBankStatement#ea283268: %w", err)
}
return p.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (p *PassportElementBankStatement) DecodeBare(b *bin.Buffer) error {
if p == nil {
return fmt.Errorf("can't decode passportElementBankStatement#ea283268 to nil")
}
{
if err := p.BankStatement.Decode(b); err != nil {
return fmt.Errorf("unable to decode passportElementBankStatement#ea283268: field bank_statement: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (p *PassportElementBankStatement) EncodeTDLibJSON(b tdjson.Encoder) error {
if p == nil {
return fmt.Errorf("can't encode passportElementBankStatement#ea283268 as nil")
}
b.ObjStart()
b.PutID("passportElementBankStatement")
b.Comma()
b.FieldStart("bank_statement")
if err := p.BankStatement.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode passportElementBankStatement#ea283268: field bank_statement: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (p *PassportElementBankStatement) DecodeTDLibJSON(b tdjson.Decoder) error {
if p == nil {
return fmt.Errorf("can't decode passportElementBankStatement#ea283268 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("passportElementBankStatement"); err != nil {
return fmt.Errorf("unable to decode passportElementBankStatement#ea283268: %w", err)
}
case "bank_statement":
if err := p.BankStatement.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode passportElementBankStatement#ea283268: field bank_statement: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetBankStatement returns value of BankStatement field.
func (p *PassportElementBankStatement) GetBankStatement() (value PersonalDocument) {
if p == nil {
return
}
return p.BankStatement
}
// PassportElementRentalAgreement represents TL type `passportElementRentalAgreement#eeb4cb28`.
type PassportElementRentalAgreement struct {
// Rental agreement
RentalAgreement PersonalDocument
}
// PassportElementRentalAgreementTypeID is TL type id of PassportElementRentalAgreement.
const PassportElementRentalAgreementTypeID = 0xeeb4cb28
// construct implements constructor of PassportElementClass.
func (p PassportElementRentalAgreement) construct() PassportElementClass { return &p }
// Ensuring interfaces in compile-time for PassportElementRentalAgreement.
var (
_ bin.Encoder = &PassportElementRentalAgreement{}
_ bin.Decoder = &PassportElementRentalAgreement{}
_ bin.BareEncoder = &PassportElementRentalAgreement{}
_ bin.BareDecoder = &PassportElementRentalAgreement{}
_ PassportElementClass = &PassportElementRentalAgreement{}
)
func (p *PassportElementRentalAgreement) Zero() bool {
if p == nil {
return true
}
if !(p.RentalAgreement.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (p *PassportElementRentalAgreement) String() string {
if p == nil {
return "PassportElementRentalAgreement(nil)"
}
type Alias PassportElementRentalAgreement
return fmt.Sprintf("PassportElementRentalAgreement%+v", Alias(*p))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*PassportElementRentalAgreement) TypeID() uint32 {
return PassportElementRentalAgreementTypeID
}
// TypeName returns name of type in TL schema.
func (*PassportElementRentalAgreement) TypeName() string {
return "passportElementRentalAgreement"
}
// TypeInfo returns info about TL type.
func (p *PassportElementRentalAgreement) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "passportElementRentalAgreement",
ID: PassportElementRentalAgreementTypeID,
}
if p == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "RentalAgreement",
SchemaName: "rental_agreement",
},
}
return typ
}
// Encode implements bin.Encoder.
func (p *PassportElementRentalAgreement) Encode(b *bin.Buffer) error {
if p == nil {
return fmt.Errorf("can't encode passportElementRentalAgreement#eeb4cb28 as nil")
}
b.PutID(PassportElementRentalAgreementTypeID)
return p.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (p *PassportElementRentalAgreement) EncodeBare(b *bin.Buffer) error {
if p == nil {
return fmt.Errorf("can't encode passportElementRentalAgreement#eeb4cb28 as nil")
}
if err := p.RentalAgreement.Encode(b); err != nil {
return fmt.Errorf("unable to encode passportElementRentalAgreement#eeb4cb28: field rental_agreement: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (p *PassportElementRentalAgreement) Decode(b *bin.Buffer) error {
if p == nil {
return fmt.Errorf("can't decode passportElementRentalAgreement#eeb4cb28 to nil")
}
if err := b.ConsumeID(PassportElementRentalAgreementTypeID); err != nil {
return fmt.Errorf("unable to decode passportElementRentalAgreement#eeb4cb28: %w", err)
}
return p.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (p *PassportElementRentalAgreement) DecodeBare(b *bin.Buffer) error {
if p == nil {
return fmt.Errorf("can't decode passportElementRentalAgreement#eeb4cb28 to nil")
}
{
if err := p.RentalAgreement.Decode(b); err != nil {
return fmt.Errorf("unable to decode passportElementRentalAgreement#eeb4cb28: field rental_agreement: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (p *PassportElementRentalAgreement) EncodeTDLibJSON(b tdjson.Encoder) error {
if p == nil {
return fmt.Errorf("can't encode passportElementRentalAgreement#eeb4cb28 as nil")
}
b.ObjStart()
b.PutID("passportElementRentalAgreement")
b.Comma()
b.FieldStart("rental_agreement")
if err := p.RentalAgreement.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode passportElementRentalAgreement#eeb4cb28: field rental_agreement: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (p *PassportElementRentalAgreement) DecodeTDLibJSON(b tdjson.Decoder) error {
if p == nil {
return fmt.Errorf("can't decode passportElementRentalAgreement#eeb4cb28 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("passportElementRentalAgreement"); err != nil {
return fmt.Errorf("unable to decode passportElementRentalAgreement#eeb4cb28: %w", err)
}
case "rental_agreement":
if err := p.RentalAgreement.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode passportElementRentalAgreement#eeb4cb28: field rental_agreement: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetRentalAgreement returns value of RentalAgreement field.
func (p *PassportElementRentalAgreement) GetRentalAgreement() (value PersonalDocument) {
if p == nil {
return
}
return p.RentalAgreement
}
// PassportElementPassportRegistration represents TL type `passportElementPassportRegistration#24dadc7f`.
type PassportElementPassportRegistration struct {
// Passport registration pages
PassportRegistration PersonalDocument
}
// PassportElementPassportRegistrationTypeID is TL type id of PassportElementPassportRegistration.
const PassportElementPassportRegistrationTypeID = 0x24dadc7f
// construct implements constructor of PassportElementClass.
func (p PassportElementPassportRegistration) construct() PassportElementClass { return &p }
// Ensuring interfaces in compile-time for PassportElementPassportRegistration.
var (
_ bin.Encoder = &PassportElementPassportRegistration{}
_ bin.Decoder = &PassportElementPassportRegistration{}
_ bin.BareEncoder = &PassportElementPassportRegistration{}
_ bin.BareDecoder = &PassportElementPassportRegistration{}
_ PassportElementClass = &PassportElementPassportRegistration{}
)
func (p *PassportElementPassportRegistration) Zero() bool {
if p == nil {
return true
}
if !(p.PassportRegistration.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (p *PassportElementPassportRegistration) String() string {
if p == nil {
return "PassportElementPassportRegistration(nil)"
}
type Alias PassportElementPassportRegistration
return fmt.Sprintf("PassportElementPassportRegistration%+v", Alias(*p))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*PassportElementPassportRegistration) TypeID() uint32 {
return PassportElementPassportRegistrationTypeID
}
// TypeName returns name of type in TL schema.
func (*PassportElementPassportRegistration) TypeName() string {
return "passportElementPassportRegistration"
}
// TypeInfo returns info about TL type.
func (p *PassportElementPassportRegistration) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "passportElementPassportRegistration",
ID: PassportElementPassportRegistrationTypeID,
}
if p == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "PassportRegistration",
SchemaName: "passport_registration",
},
}
return typ
}
// Encode implements bin.Encoder.
func (p *PassportElementPassportRegistration) Encode(b *bin.Buffer) error {
if p == nil {
return fmt.Errorf("can't encode passportElementPassportRegistration#24dadc7f as nil")
}
b.PutID(PassportElementPassportRegistrationTypeID)
return p.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (p *PassportElementPassportRegistration) EncodeBare(b *bin.Buffer) error {
if p == nil {
return fmt.Errorf("can't encode passportElementPassportRegistration#24dadc7f as nil")
}
if err := p.PassportRegistration.Encode(b); err != nil {
return fmt.Errorf("unable to encode passportElementPassportRegistration#24dadc7f: field passport_registration: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (p *PassportElementPassportRegistration) Decode(b *bin.Buffer) error {
if p == nil {
return fmt.Errorf("can't decode passportElementPassportRegistration#24dadc7f to nil")
}
if err := b.ConsumeID(PassportElementPassportRegistrationTypeID); err != nil {
return fmt.Errorf("unable to decode passportElementPassportRegistration#24dadc7f: %w", err)
}
return p.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (p *PassportElementPassportRegistration) DecodeBare(b *bin.Buffer) error {
if p == nil {
return fmt.Errorf("can't decode passportElementPassportRegistration#24dadc7f to nil")
}
{
if err := p.PassportRegistration.Decode(b); err != nil {
return fmt.Errorf("unable to decode passportElementPassportRegistration#24dadc7f: field passport_registration: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (p *PassportElementPassportRegistration) EncodeTDLibJSON(b tdjson.Encoder) error {
if p == nil {
return fmt.Errorf("can't encode passportElementPassportRegistration#24dadc7f as nil")
}
b.ObjStart()
b.PutID("passportElementPassportRegistration")
b.Comma()
b.FieldStart("passport_registration")
if err := p.PassportRegistration.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode passportElementPassportRegistration#24dadc7f: field passport_registration: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (p *PassportElementPassportRegistration) DecodeTDLibJSON(b tdjson.Decoder) error {
if p == nil {
return fmt.Errorf("can't decode passportElementPassportRegistration#24dadc7f to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("passportElementPassportRegistration"); err != nil {
return fmt.Errorf("unable to decode passportElementPassportRegistration#24dadc7f: %w", err)
}
case "passport_registration":
if err := p.PassportRegistration.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode passportElementPassportRegistration#24dadc7f: field passport_registration: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetPassportRegistration returns value of PassportRegistration field.
func (p *PassportElementPassportRegistration) GetPassportRegistration() (value PersonalDocument) {
if p == nil {
return
}
return p.PassportRegistration
}
// PassportElementTemporaryRegistration represents TL type `passportElementTemporaryRegistration#49c4aff0`.
type PassportElementTemporaryRegistration struct {
// Temporary registration
TemporaryRegistration PersonalDocument
}
// PassportElementTemporaryRegistrationTypeID is TL type id of PassportElementTemporaryRegistration.
const PassportElementTemporaryRegistrationTypeID = 0x49c4aff0
// construct implements constructor of PassportElementClass.
func (p PassportElementTemporaryRegistration) construct() PassportElementClass { return &p }
// Ensuring interfaces in compile-time for PassportElementTemporaryRegistration.
var (
_ bin.Encoder = &PassportElementTemporaryRegistration{}
_ bin.Decoder = &PassportElementTemporaryRegistration{}
_ bin.BareEncoder = &PassportElementTemporaryRegistration{}
_ bin.BareDecoder = &PassportElementTemporaryRegistration{}
_ PassportElementClass = &PassportElementTemporaryRegistration{}
)
func (p *PassportElementTemporaryRegistration) Zero() bool {
if p == nil {
return true
}
if !(p.TemporaryRegistration.Zero()) {
return false
}
return true
}
// String implements fmt.Stringer.
func (p *PassportElementTemporaryRegistration) String() string {
if p == nil {
return "PassportElementTemporaryRegistration(nil)"
}
type Alias PassportElementTemporaryRegistration
return fmt.Sprintf("PassportElementTemporaryRegistration%+v", Alias(*p))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*PassportElementTemporaryRegistration) TypeID() uint32 {
return PassportElementTemporaryRegistrationTypeID
}
// TypeName returns name of type in TL schema.
func (*PassportElementTemporaryRegistration) TypeName() string {
return "passportElementTemporaryRegistration"
}
// TypeInfo returns info about TL type.
func (p *PassportElementTemporaryRegistration) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "passportElementTemporaryRegistration",
ID: PassportElementTemporaryRegistrationTypeID,
}
if p == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "TemporaryRegistration",
SchemaName: "temporary_registration",
},
}
return typ
}
// Encode implements bin.Encoder.
func (p *PassportElementTemporaryRegistration) Encode(b *bin.Buffer) error {
if p == nil {
return fmt.Errorf("can't encode passportElementTemporaryRegistration#49c4aff0 as nil")
}
b.PutID(PassportElementTemporaryRegistrationTypeID)
return p.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (p *PassportElementTemporaryRegistration) EncodeBare(b *bin.Buffer) error {
if p == nil {
return fmt.Errorf("can't encode passportElementTemporaryRegistration#49c4aff0 as nil")
}
if err := p.TemporaryRegistration.Encode(b); err != nil {
return fmt.Errorf("unable to encode passportElementTemporaryRegistration#49c4aff0: field temporary_registration: %w", err)
}
return nil
}
// Decode implements bin.Decoder.
func (p *PassportElementTemporaryRegistration) Decode(b *bin.Buffer) error {
if p == nil {
return fmt.Errorf("can't decode passportElementTemporaryRegistration#49c4aff0 to nil")
}
if err := b.ConsumeID(PassportElementTemporaryRegistrationTypeID); err != nil {
return fmt.Errorf("unable to decode passportElementTemporaryRegistration#49c4aff0: %w", err)
}
return p.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (p *PassportElementTemporaryRegistration) DecodeBare(b *bin.Buffer) error {
if p == nil {
return fmt.Errorf("can't decode passportElementTemporaryRegistration#49c4aff0 to nil")
}
{
if err := p.TemporaryRegistration.Decode(b); err != nil {
return fmt.Errorf("unable to decode passportElementTemporaryRegistration#49c4aff0: field temporary_registration: %w", err)
}
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (p *PassportElementTemporaryRegistration) EncodeTDLibJSON(b tdjson.Encoder) error {
if p == nil {
return fmt.Errorf("can't encode passportElementTemporaryRegistration#49c4aff0 as nil")
}
b.ObjStart()
b.PutID("passportElementTemporaryRegistration")
b.Comma()
b.FieldStart("temporary_registration")
if err := p.TemporaryRegistration.EncodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to encode passportElementTemporaryRegistration#49c4aff0: field temporary_registration: %w", err)
}
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (p *PassportElementTemporaryRegistration) DecodeTDLibJSON(b tdjson.Decoder) error {
if p == nil {
return fmt.Errorf("can't decode passportElementTemporaryRegistration#49c4aff0 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("passportElementTemporaryRegistration"); err != nil {
return fmt.Errorf("unable to decode passportElementTemporaryRegistration#49c4aff0: %w", err)
}
case "temporary_registration":
if err := p.TemporaryRegistration.DecodeTDLibJSON(b); err != nil {
return fmt.Errorf("unable to decode passportElementTemporaryRegistration#49c4aff0: field temporary_registration: %w", err)
}
default:
return b.Skip()
}
return nil
})
}
// GetTemporaryRegistration returns value of TemporaryRegistration field.
func (p *PassportElementTemporaryRegistration) GetTemporaryRegistration() (value PersonalDocument) {
if p == nil {
return
}
return p.TemporaryRegistration
}
// PassportElementPhoneNumber represents TL type `passportElementPhoneNumber#b1509799`.
type PassportElementPhoneNumber struct {
// Phone number
PhoneNumber string
}
// PassportElementPhoneNumberTypeID is TL type id of PassportElementPhoneNumber.
const PassportElementPhoneNumberTypeID = 0xb1509799
// construct implements constructor of PassportElementClass.
func (p PassportElementPhoneNumber) construct() PassportElementClass { return &p }
// Ensuring interfaces in compile-time for PassportElementPhoneNumber.
var (
_ bin.Encoder = &PassportElementPhoneNumber{}
_ bin.Decoder = &PassportElementPhoneNumber{}
_ bin.BareEncoder = &PassportElementPhoneNumber{}
_ bin.BareDecoder = &PassportElementPhoneNumber{}
_ PassportElementClass = &PassportElementPhoneNumber{}
)
func (p *PassportElementPhoneNumber) Zero() bool {
if p == nil {
return true
}
if !(p.PhoneNumber == "") {
return false
}
return true
}
// String implements fmt.Stringer.
func (p *PassportElementPhoneNumber) String() string {
if p == nil {
return "PassportElementPhoneNumber(nil)"
}
type Alias PassportElementPhoneNumber
return fmt.Sprintf("PassportElementPhoneNumber%+v", Alias(*p))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*PassportElementPhoneNumber) TypeID() uint32 {
return PassportElementPhoneNumberTypeID
}
// TypeName returns name of type in TL schema.
func (*PassportElementPhoneNumber) TypeName() string {
return "passportElementPhoneNumber"
}
// TypeInfo returns info about TL type.
func (p *PassportElementPhoneNumber) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "passportElementPhoneNumber",
ID: PassportElementPhoneNumberTypeID,
}
if p == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "PhoneNumber",
SchemaName: "phone_number",
},
}
return typ
}
// Encode implements bin.Encoder.
func (p *PassportElementPhoneNumber) Encode(b *bin.Buffer) error {
if p == nil {
return fmt.Errorf("can't encode passportElementPhoneNumber#b1509799 as nil")
}
b.PutID(PassportElementPhoneNumberTypeID)
return p.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (p *PassportElementPhoneNumber) EncodeBare(b *bin.Buffer) error {
if p == nil {
return fmt.Errorf("can't encode passportElementPhoneNumber#b1509799 as nil")
}
b.PutString(p.PhoneNumber)
return nil
}
// Decode implements bin.Decoder.
func (p *PassportElementPhoneNumber) Decode(b *bin.Buffer) error {
if p == nil {
return fmt.Errorf("can't decode passportElementPhoneNumber#b1509799 to nil")
}
if err := b.ConsumeID(PassportElementPhoneNumberTypeID); err != nil {
return fmt.Errorf("unable to decode passportElementPhoneNumber#b1509799: %w", err)
}
return p.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (p *PassportElementPhoneNumber) DecodeBare(b *bin.Buffer) error {
if p == nil {
return fmt.Errorf("can't decode passportElementPhoneNumber#b1509799 to nil")
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode passportElementPhoneNumber#b1509799: field phone_number: %w", err)
}
p.PhoneNumber = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (p *PassportElementPhoneNumber) EncodeTDLibJSON(b tdjson.Encoder) error {
if p == nil {
return fmt.Errorf("can't encode passportElementPhoneNumber#b1509799 as nil")
}
b.ObjStart()
b.PutID("passportElementPhoneNumber")
b.Comma()
b.FieldStart("phone_number")
b.PutString(p.PhoneNumber)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (p *PassportElementPhoneNumber) DecodeTDLibJSON(b tdjson.Decoder) error {
if p == nil {
return fmt.Errorf("can't decode passportElementPhoneNumber#b1509799 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("passportElementPhoneNumber"); err != nil {
return fmt.Errorf("unable to decode passportElementPhoneNumber#b1509799: %w", err)
}
case "phone_number":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode passportElementPhoneNumber#b1509799: field phone_number: %w", err)
}
p.PhoneNumber = value
default:
return b.Skip()
}
return nil
})
}
// GetPhoneNumber returns value of PhoneNumber field.
func (p *PassportElementPhoneNumber) GetPhoneNumber() (value string) {
if p == nil {
return
}
return p.PhoneNumber
}
// PassportElementEmailAddress represents TL type `passportElementEmailAddress#a4ea9805`.
type PassportElementEmailAddress struct {
// Email address
EmailAddress string
}
// PassportElementEmailAddressTypeID is TL type id of PassportElementEmailAddress.
const PassportElementEmailAddressTypeID = 0xa4ea9805
// construct implements constructor of PassportElementClass.
func (p PassportElementEmailAddress) construct() PassportElementClass { return &p }
// Ensuring interfaces in compile-time for PassportElementEmailAddress.
var (
_ bin.Encoder = &PassportElementEmailAddress{}
_ bin.Decoder = &PassportElementEmailAddress{}
_ bin.BareEncoder = &PassportElementEmailAddress{}
_ bin.BareDecoder = &PassportElementEmailAddress{}
_ PassportElementClass = &PassportElementEmailAddress{}
)
func (p *PassportElementEmailAddress) Zero() bool {
if p == nil {
return true
}
if !(p.EmailAddress == "") {
return false
}
return true
}
// String implements fmt.Stringer.
func (p *PassportElementEmailAddress) String() string {
if p == nil {
return "PassportElementEmailAddress(nil)"
}
type Alias PassportElementEmailAddress
return fmt.Sprintf("PassportElementEmailAddress%+v", Alias(*p))
}
// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*PassportElementEmailAddress) TypeID() uint32 {
return PassportElementEmailAddressTypeID
}
// TypeName returns name of type in TL schema.
func (*PassportElementEmailAddress) TypeName() string {
return "passportElementEmailAddress"
}
// TypeInfo returns info about TL type.
func (p *PassportElementEmailAddress) TypeInfo() tdp.Type {
typ := tdp.Type{
Name: "passportElementEmailAddress",
ID: PassportElementEmailAddressTypeID,
}
if p == nil {
typ.Null = true
return typ
}
typ.Fields = []tdp.Field{
{
Name: "EmailAddress",
SchemaName: "email_address",
},
}
return typ
}
// Encode implements bin.Encoder.
func (p *PassportElementEmailAddress) Encode(b *bin.Buffer) error {
if p == nil {
return fmt.Errorf("can't encode passportElementEmailAddress#a4ea9805 as nil")
}
b.PutID(PassportElementEmailAddressTypeID)
return p.EncodeBare(b)
}
// EncodeBare implements bin.BareEncoder.
func (p *PassportElementEmailAddress) EncodeBare(b *bin.Buffer) error {
if p == nil {
return fmt.Errorf("can't encode passportElementEmailAddress#a4ea9805 as nil")
}
b.PutString(p.EmailAddress)
return nil
}
// Decode implements bin.Decoder.
func (p *PassportElementEmailAddress) Decode(b *bin.Buffer) error {
if p == nil {
return fmt.Errorf("can't decode passportElementEmailAddress#a4ea9805 to nil")
}
if err := b.ConsumeID(PassportElementEmailAddressTypeID); err != nil {
return fmt.Errorf("unable to decode passportElementEmailAddress#a4ea9805: %w", err)
}
return p.DecodeBare(b)
}
// DecodeBare implements bin.BareDecoder.
func (p *PassportElementEmailAddress) DecodeBare(b *bin.Buffer) error {
if p == nil {
return fmt.Errorf("can't decode passportElementEmailAddress#a4ea9805 to nil")
}
{
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode passportElementEmailAddress#a4ea9805: field email_address: %w", err)
}
p.EmailAddress = value
}
return nil
}
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
func (p *PassportElementEmailAddress) EncodeTDLibJSON(b tdjson.Encoder) error {
if p == nil {
return fmt.Errorf("can't encode passportElementEmailAddress#a4ea9805 as nil")
}
b.ObjStart()
b.PutID("passportElementEmailAddress")
b.Comma()
b.FieldStart("email_address")
b.PutString(p.EmailAddress)
b.Comma()
b.StripComma()
b.ObjEnd()
return nil
}
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
func (p *PassportElementEmailAddress) DecodeTDLibJSON(b tdjson.Decoder) error {
if p == nil {
return fmt.Errorf("can't decode passportElementEmailAddress#a4ea9805 to nil")
}
return b.Obj(func(b tdjson.Decoder, key []byte) error {
switch string(key) {
case tdjson.TypeField:
if err := b.ConsumeID("passportElementEmailAddress"); err != nil {
return fmt.Errorf("unable to decode passportElementEmailAddress#a4ea9805: %w", err)
}
case "email_address":
value, err := b.String()
if err != nil {
return fmt.Errorf("unable to decode passportElementEmailAddress#a4ea9805: field email_address: %w", err)
}
p.EmailAddress = value
default:
return b.Skip()
}
return nil
})
}
// GetEmailAddress returns value of EmailAddress field.
func (p *PassportElementEmailAddress) GetEmailAddress() (value string) {
if p == nil {
return
}
return p.EmailAddress
}
// PassportElementClassName is schema name of PassportElementClass.
const PassportElementClassName = "PassportElement"
// PassportElementClass represents PassportElement generic type.
//
// Example:
//
// g, err := tdapi.DecodePassportElement(buf)
// if err != nil {
// panic(err)
// }
// switch v := g.(type) {
// case *tdapi.PassportElementPersonalDetails: // passportElementPersonalDetails#4894fe83
// case *tdapi.PassportElementPassport: // passportElementPassport#f043e723
// case *tdapi.PassportElementDriverLicense: // passportElementDriverLicense#61f70cad
// case *tdapi.PassportElementIdentityCard: // passportElementIdentityCard#7c33e535
// case *tdapi.PassportElementInternalPassport: // passportElementInternalPassport#228ad87
// case *tdapi.PassportElementAddress: // passportElementAddress#d15a1630
// case *tdapi.PassportElementUtilityBill: // passportElementUtilityBill#f2041dd2
// case *tdapi.PassportElementBankStatement: // passportElementBankStatement#ea283268
// case *tdapi.PassportElementRentalAgreement: // passportElementRentalAgreement#eeb4cb28
// case *tdapi.PassportElementPassportRegistration: // passportElementPassportRegistration#24dadc7f
// case *tdapi.PassportElementTemporaryRegistration: // passportElementTemporaryRegistration#49c4aff0
// case *tdapi.PassportElementPhoneNumber: // passportElementPhoneNumber#b1509799
// case *tdapi.PassportElementEmailAddress: // passportElementEmailAddress#a4ea9805
// default: panic(v)
// }
type PassportElementClass interface {
bin.Encoder
bin.Decoder
bin.BareEncoder
bin.BareDecoder
construct() PassportElementClass
// 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
}
// DecodePassportElement implements binary de-serialization for PassportElementClass.
func DecodePassportElement(buf *bin.Buffer) (PassportElementClass, error) {
id, err := buf.PeekID()
if err != nil {
return nil, err
}
switch id {
case PassportElementPersonalDetailsTypeID:
// Decoding passportElementPersonalDetails#4894fe83.
v := PassportElementPersonalDetails{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode PassportElementClass: %w", err)
}
return &v, nil
case PassportElementPassportTypeID:
// Decoding passportElementPassport#f043e723.
v := PassportElementPassport{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode PassportElementClass: %w", err)
}
return &v, nil
case PassportElementDriverLicenseTypeID:
// Decoding passportElementDriverLicense#61f70cad.
v := PassportElementDriverLicense{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode PassportElementClass: %w", err)
}
return &v, nil
case PassportElementIdentityCardTypeID:
// Decoding passportElementIdentityCard#7c33e535.
v := PassportElementIdentityCard{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode PassportElementClass: %w", err)
}
return &v, nil
case PassportElementInternalPassportTypeID:
// Decoding passportElementInternalPassport#228ad87.
v := PassportElementInternalPassport{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode PassportElementClass: %w", err)
}
return &v, nil
case PassportElementAddressTypeID:
// Decoding passportElementAddress#d15a1630.
v := PassportElementAddress{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode PassportElementClass: %w", err)
}
return &v, nil
case PassportElementUtilityBillTypeID:
// Decoding passportElementUtilityBill#f2041dd2.
v := PassportElementUtilityBill{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode PassportElementClass: %w", err)
}
return &v, nil
case PassportElementBankStatementTypeID:
// Decoding passportElementBankStatement#ea283268.
v := PassportElementBankStatement{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode PassportElementClass: %w", err)
}
return &v, nil
case PassportElementRentalAgreementTypeID:
// Decoding passportElementRentalAgreement#eeb4cb28.
v := PassportElementRentalAgreement{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode PassportElementClass: %w", err)
}
return &v, nil
case PassportElementPassportRegistrationTypeID:
// Decoding passportElementPassportRegistration#24dadc7f.
v := PassportElementPassportRegistration{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode PassportElementClass: %w", err)
}
return &v, nil
case PassportElementTemporaryRegistrationTypeID:
// Decoding passportElementTemporaryRegistration#49c4aff0.
v := PassportElementTemporaryRegistration{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode PassportElementClass: %w", err)
}
return &v, nil
case PassportElementPhoneNumberTypeID:
// Decoding passportElementPhoneNumber#b1509799.
v := PassportElementPhoneNumber{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode PassportElementClass: %w", err)
}
return &v, nil
case PassportElementEmailAddressTypeID:
// Decoding passportElementEmailAddress#a4ea9805.
v := PassportElementEmailAddress{}
if err := v.Decode(buf); err != nil {
return nil, fmt.Errorf("unable to decode PassportElementClass: %w", err)
}
return &v, nil
default:
return nil, fmt.Errorf("unable to decode PassportElementClass: %w", bin.NewUnexpectedID(id))
}
}
// DecodeTDLibJSONPassportElement implements binary de-serialization for PassportElementClass.
func DecodeTDLibJSONPassportElement(buf tdjson.Decoder) (PassportElementClass, error) {
id, err := buf.FindTypeID()
if err != nil {
return nil, err
}
switch id {
case "passportElementPersonalDetails":
// Decoding passportElementPersonalDetails#4894fe83.
v := PassportElementPersonalDetails{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode PassportElementClass: %w", err)
}
return &v, nil
case "passportElementPassport":
// Decoding passportElementPassport#f043e723.
v := PassportElementPassport{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode PassportElementClass: %w", err)
}
return &v, nil
case "passportElementDriverLicense":
// Decoding passportElementDriverLicense#61f70cad.
v := PassportElementDriverLicense{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode PassportElementClass: %w", err)
}
return &v, nil
case "passportElementIdentityCard":
// Decoding passportElementIdentityCard#7c33e535.
v := PassportElementIdentityCard{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode PassportElementClass: %w", err)
}
return &v, nil
case "passportElementInternalPassport":
// Decoding passportElementInternalPassport#228ad87.
v := PassportElementInternalPassport{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode PassportElementClass: %w", err)
}
return &v, nil
case "passportElementAddress":
// Decoding passportElementAddress#d15a1630.
v := PassportElementAddress{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode PassportElementClass: %w", err)
}
return &v, nil
case "passportElementUtilityBill":
// Decoding passportElementUtilityBill#f2041dd2.
v := PassportElementUtilityBill{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode PassportElementClass: %w", err)
}
return &v, nil
case "passportElementBankStatement":
// Decoding passportElementBankStatement#ea283268.
v := PassportElementBankStatement{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode PassportElementClass: %w", err)
}
return &v, nil
case "passportElementRentalAgreement":
// Decoding passportElementRentalAgreement#eeb4cb28.
v := PassportElementRentalAgreement{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode PassportElementClass: %w", err)
}
return &v, nil
case "passportElementPassportRegistration":
// Decoding passportElementPassportRegistration#24dadc7f.
v := PassportElementPassportRegistration{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode PassportElementClass: %w", err)
}
return &v, nil
case "passportElementTemporaryRegistration":
// Decoding passportElementTemporaryRegistration#49c4aff0.
v := PassportElementTemporaryRegistration{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode PassportElementClass: %w", err)
}
return &v, nil
case "passportElementPhoneNumber":
// Decoding passportElementPhoneNumber#b1509799.
v := PassportElementPhoneNumber{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode PassportElementClass: %w", err)
}
return &v, nil
case "passportElementEmailAddress":
// Decoding passportElementEmailAddress#a4ea9805.
v := PassportElementEmailAddress{}
if err := v.DecodeTDLibJSON(buf); err != nil {
return nil, fmt.Errorf("unable to decode PassportElementClass: %w", err)
}
return &v, nil
default:
return nil, fmt.Errorf("unable to decode PassportElementClass: %w", tdjson.NewUnexpectedID(id))
}
}
// PassportElement boxes the PassportElementClass providing a helper.
type PassportElementBox struct {
PassportElement PassportElementClass
}
// Decode implements bin.Decoder for PassportElementBox.
func (b *PassportElementBox) Decode(buf *bin.Buffer) error {
if b == nil {
return fmt.Errorf("unable to decode PassportElementBox to nil")
}
v, err := DecodePassportElement(buf)
if err != nil {
return fmt.Errorf("unable to decode boxed value: %w", err)
}
b.PassportElement = v
return nil
}
// Encode implements bin.Encode for PassportElementBox.
func (b *PassportElementBox) Encode(buf *bin.Buffer) error {
if b == nil || b.PassportElement == nil {
return fmt.Errorf("unable to encode PassportElementClass as nil")
}
return b.PassportElement.Encode(buf)
}
// DecodeTDLibJSON implements bin.Decoder for PassportElementBox.
func (b *PassportElementBox) DecodeTDLibJSON(buf tdjson.Decoder) error {
if b == nil {
return fmt.Errorf("unable to decode PassportElementBox to nil")
}
v, err := DecodeTDLibJSONPassportElement(buf)
if err != nil {
return fmt.Errorf("unable to decode boxed value: %w", err)
}
b.PassportElement = v
return nil
}
// EncodeTDLibJSON implements bin.Encode for PassportElementBox.
func (b *PassportElementBox) EncodeTDLibJSON(buf tdjson.Encoder) error {
if b == nil || b.PassportElement == nil {
return fmt.Errorf("unable to encode PassportElementClass as nil")
}
return b.PassportElement.EncodeTDLibJSON(buf)
}