7a04f298d2
- 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
2493 lines
74 KiB
Go
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)
|
|
}
|