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
570 lines
15 KiB
Go
570 lines
15 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{}
|
|
)
|
|
|
|
// StoreTransactionAppStore represents TL type `storeTransactionAppStore#60e41d49`.
|
|
type StoreTransactionAppStore struct {
|
|
// App Store receipt
|
|
Receipt []byte
|
|
}
|
|
|
|
// StoreTransactionAppStoreTypeID is TL type id of StoreTransactionAppStore.
|
|
const StoreTransactionAppStoreTypeID = 0x60e41d49
|
|
|
|
// construct implements constructor of StoreTransactionClass.
|
|
func (s StoreTransactionAppStore) construct() StoreTransactionClass { return &s }
|
|
|
|
// Ensuring interfaces in compile-time for StoreTransactionAppStore.
|
|
var (
|
|
_ bin.Encoder = &StoreTransactionAppStore{}
|
|
_ bin.Decoder = &StoreTransactionAppStore{}
|
|
_ bin.BareEncoder = &StoreTransactionAppStore{}
|
|
_ bin.BareDecoder = &StoreTransactionAppStore{}
|
|
|
|
_ StoreTransactionClass = &StoreTransactionAppStore{}
|
|
)
|
|
|
|
func (s *StoreTransactionAppStore) Zero() bool {
|
|
if s == nil {
|
|
return true
|
|
}
|
|
if !(s.Receipt == nil) {
|
|
return false
|
|
}
|
|
|
|
return true
|
|
}
|
|
|
|
// String implements fmt.Stringer.
|
|
func (s *StoreTransactionAppStore) String() string {
|
|
if s == nil {
|
|
return "StoreTransactionAppStore(nil)"
|
|
}
|
|
type Alias StoreTransactionAppStore
|
|
return fmt.Sprintf("StoreTransactionAppStore%+v", Alias(*s))
|
|
}
|
|
|
|
// TypeID returns type id in TL schema.
|
|
//
|
|
// See https://core.telegram.org/mtproto/TL-tl#remarks.
|
|
func (*StoreTransactionAppStore) TypeID() uint32 {
|
|
return StoreTransactionAppStoreTypeID
|
|
}
|
|
|
|
// TypeName returns name of type in TL schema.
|
|
func (*StoreTransactionAppStore) TypeName() string {
|
|
return "storeTransactionAppStore"
|
|
}
|
|
|
|
// TypeInfo returns info about TL type.
|
|
func (s *StoreTransactionAppStore) TypeInfo() tdp.Type {
|
|
typ := tdp.Type{
|
|
Name: "storeTransactionAppStore",
|
|
ID: StoreTransactionAppStoreTypeID,
|
|
}
|
|
if s == nil {
|
|
typ.Null = true
|
|
return typ
|
|
}
|
|
typ.Fields = []tdp.Field{
|
|
{
|
|
Name: "Receipt",
|
|
SchemaName: "receipt",
|
|
},
|
|
}
|
|
return typ
|
|
}
|
|
|
|
// Encode implements bin.Encoder.
|
|
func (s *StoreTransactionAppStore) Encode(b *bin.Buffer) error {
|
|
if s == nil {
|
|
return fmt.Errorf("can't encode storeTransactionAppStore#60e41d49 as nil")
|
|
}
|
|
b.PutID(StoreTransactionAppStoreTypeID)
|
|
return s.EncodeBare(b)
|
|
}
|
|
|
|
// EncodeBare implements bin.BareEncoder.
|
|
func (s *StoreTransactionAppStore) EncodeBare(b *bin.Buffer) error {
|
|
if s == nil {
|
|
return fmt.Errorf("can't encode storeTransactionAppStore#60e41d49 as nil")
|
|
}
|
|
b.PutBytes(s.Receipt)
|
|
return nil
|
|
}
|
|
|
|
// Decode implements bin.Decoder.
|
|
func (s *StoreTransactionAppStore) Decode(b *bin.Buffer) error {
|
|
if s == nil {
|
|
return fmt.Errorf("can't decode storeTransactionAppStore#60e41d49 to nil")
|
|
}
|
|
if err := b.ConsumeID(StoreTransactionAppStoreTypeID); err != nil {
|
|
return fmt.Errorf("unable to decode storeTransactionAppStore#60e41d49: %w", err)
|
|
}
|
|
return s.DecodeBare(b)
|
|
}
|
|
|
|
// DecodeBare implements bin.BareDecoder.
|
|
func (s *StoreTransactionAppStore) DecodeBare(b *bin.Buffer) error {
|
|
if s == nil {
|
|
return fmt.Errorf("can't decode storeTransactionAppStore#60e41d49 to nil")
|
|
}
|
|
{
|
|
value, err := b.Bytes()
|
|
if err != nil {
|
|
return fmt.Errorf("unable to decode storeTransactionAppStore#60e41d49: field receipt: %w", err)
|
|
}
|
|
s.Receipt = value
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
|
|
func (s *StoreTransactionAppStore) EncodeTDLibJSON(b tdjson.Encoder) error {
|
|
if s == nil {
|
|
return fmt.Errorf("can't encode storeTransactionAppStore#60e41d49 as nil")
|
|
}
|
|
b.ObjStart()
|
|
b.PutID("storeTransactionAppStore")
|
|
b.Comma()
|
|
b.FieldStart("receipt")
|
|
b.PutBytes(s.Receipt)
|
|
b.Comma()
|
|
b.StripComma()
|
|
b.ObjEnd()
|
|
return nil
|
|
}
|
|
|
|
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
|
|
func (s *StoreTransactionAppStore) DecodeTDLibJSON(b tdjson.Decoder) error {
|
|
if s == nil {
|
|
return fmt.Errorf("can't decode storeTransactionAppStore#60e41d49 to nil")
|
|
}
|
|
|
|
return b.Obj(func(b tdjson.Decoder, key []byte) error {
|
|
switch string(key) {
|
|
case tdjson.TypeField:
|
|
if err := b.ConsumeID("storeTransactionAppStore"); err != nil {
|
|
return fmt.Errorf("unable to decode storeTransactionAppStore#60e41d49: %w", err)
|
|
}
|
|
case "receipt":
|
|
value, err := b.Bytes()
|
|
if err != nil {
|
|
return fmt.Errorf("unable to decode storeTransactionAppStore#60e41d49: field receipt: %w", err)
|
|
}
|
|
s.Receipt = value
|
|
default:
|
|
return b.Skip()
|
|
}
|
|
return nil
|
|
})
|
|
}
|
|
|
|
// GetReceipt returns value of Receipt field.
|
|
func (s *StoreTransactionAppStore) GetReceipt() (value []byte) {
|
|
if s == nil {
|
|
return
|
|
}
|
|
return s.Receipt
|
|
}
|
|
|
|
// StoreTransactionGooglePlay represents TL type `storeTransactionGooglePlay#41356639`.
|
|
type StoreTransactionGooglePlay struct {
|
|
// Application package name
|
|
PackageName string
|
|
// Identifier of the purchased store product
|
|
StoreProductID string
|
|
// Google Play purchase token
|
|
PurchaseToken string
|
|
}
|
|
|
|
// StoreTransactionGooglePlayTypeID is TL type id of StoreTransactionGooglePlay.
|
|
const StoreTransactionGooglePlayTypeID = 0x41356639
|
|
|
|
// construct implements constructor of StoreTransactionClass.
|
|
func (s StoreTransactionGooglePlay) construct() StoreTransactionClass { return &s }
|
|
|
|
// Ensuring interfaces in compile-time for StoreTransactionGooglePlay.
|
|
var (
|
|
_ bin.Encoder = &StoreTransactionGooglePlay{}
|
|
_ bin.Decoder = &StoreTransactionGooglePlay{}
|
|
_ bin.BareEncoder = &StoreTransactionGooglePlay{}
|
|
_ bin.BareDecoder = &StoreTransactionGooglePlay{}
|
|
|
|
_ StoreTransactionClass = &StoreTransactionGooglePlay{}
|
|
)
|
|
|
|
func (s *StoreTransactionGooglePlay) Zero() bool {
|
|
if s == nil {
|
|
return true
|
|
}
|
|
if !(s.PackageName == "") {
|
|
return false
|
|
}
|
|
if !(s.StoreProductID == "") {
|
|
return false
|
|
}
|
|
if !(s.PurchaseToken == "") {
|
|
return false
|
|
}
|
|
|
|
return true
|
|
}
|
|
|
|
// String implements fmt.Stringer.
|
|
func (s *StoreTransactionGooglePlay) String() string {
|
|
if s == nil {
|
|
return "StoreTransactionGooglePlay(nil)"
|
|
}
|
|
type Alias StoreTransactionGooglePlay
|
|
return fmt.Sprintf("StoreTransactionGooglePlay%+v", Alias(*s))
|
|
}
|
|
|
|
// TypeID returns type id in TL schema.
|
|
//
|
|
// See https://core.telegram.org/mtproto/TL-tl#remarks.
|
|
func (*StoreTransactionGooglePlay) TypeID() uint32 {
|
|
return StoreTransactionGooglePlayTypeID
|
|
}
|
|
|
|
// TypeName returns name of type in TL schema.
|
|
func (*StoreTransactionGooglePlay) TypeName() string {
|
|
return "storeTransactionGooglePlay"
|
|
}
|
|
|
|
// TypeInfo returns info about TL type.
|
|
func (s *StoreTransactionGooglePlay) TypeInfo() tdp.Type {
|
|
typ := tdp.Type{
|
|
Name: "storeTransactionGooglePlay",
|
|
ID: StoreTransactionGooglePlayTypeID,
|
|
}
|
|
if s == nil {
|
|
typ.Null = true
|
|
return typ
|
|
}
|
|
typ.Fields = []tdp.Field{
|
|
{
|
|
Name: "PackageName",
|
|
SchemaName: "package_name",
|
|
},
|
|
{
|
|
Name: "StoreProductID",
|
|
SchemaName: "store_product_id",
|
|
},
|
|
{
|
|
Name: "PurchaseToken",
|
|
SchemaName: "purchase_token",
|
|
},
|
|
}
|
|
return typ
|
|
}
|
|
|
|
// Encode implements bin.Encoder.
|
|
func (s *StoreTransactionGooglePlay) Encode(b *bin.Buffer) error {
|
|
if s == nil {
|
|
return fmt.Errorf("can't encode storeTransactionGooglePlay#41356639 as nil")
|
|
}
|
|
b.PutID(StoreTransactionGooglePlayTypeID)
|
|
return s.EncodeBare(b)
|
|
}
|
|
|
|
// EncodeBare implements bin.BareEncoder.
|
|
func (s *StoreTransactionGooglePlay) EncodeBare(b *bin.Buffer) error {
|
|
if s == nil {
|
|
return fmt.Errorf("can't encode storeTransactionGooglePlay#41356639 as nil")
|
|
}
|
|
b.PutString(s.PackageName)
|
|
b.PutString(s.StoreProductID)
|
|
b.PutString(s.PurchaseToken)
|
|
return nil
|
|
}
|
|
|
|
// Decode implements bin.Decoder.
|
|
func (s *StoreTransactionGooglePlay) Decode(b *bin.Buffer) error {
|
|
if s == nil {
|
|
return fmt.Errorf("can't decode storeTransactionGooglePlay#41356639 to nil")
|
|
}
|
|
if err := b.ConsumeID(StoreTransactionGooglePlayTypeID); err != nil {
|
|
return fmt.Errorf("unable to decode storeTransactionGooglePlay#41356639: %w", err)
|
|
}
|
|
return s.DecodeBare(b)
|
|
}
|
|
|
|
// DecodeBare implements bin.BareDecoder.
|
|
func (s *StoreTransactionGooglePlay) DecodeBare(b *bin.Buffer) error {
|
|
if s == nil {
|
|
return fmt.Errorf("can't decode storeTransactionGooglePlay#41356639 to nil")
|
|
}
|
|
{
|
|
value, err := b.String()
|
|
if err != nil {
|
|
return fmt.Errorf("unable to decode storeTransactionGooglePlay#41356639: field package_name: %w", err)
|
|
}
|
|
s.PackageName = value
|
|
}
|
|
{
|
|
value, err := b.String()
|
|
if err != nil {
|
|
return fmt.Errorf("unable to decode storeTransactionGooglePlay#41356639: field store_product_id: %w", err)
|
|
}
|
|
s.StoreProductID = value
|
|
}
|
|
{
|
|
value, err := b.String()
|
|
if err != nil {
|
|
return fmt.Errorf("unable to decode storeTransactionGooglePlay#41356639: field purchase_token: %w", err)
|
|
}
|
|
s.PurchaseToken = value
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// EncodeTDLibJSON implements tdjson.TDLibEncoder.
|
|
func (s *StoreTransactionGooglePlay) EncodeTDLibJSON(b tdjson.Encoder) error {
|
|
if s == nil {
|
|
return fmt.Errorf("can't encode storeTransactionGooglePlay#41356639 as nil")
|
|
}
|
|
b.ObjStart()
|
|
b.PutID("storeTransactionGooglePlay")
|
|
b.Comma()
|
|
b.FieldStart("package_name")
|
|
b.PutString(s.PackageName)
|
|
b.Comma()
|
|
b.FieldStart("store_product_id")
|
|
b.PutString(s.StoreProductID)
|
|
b.Comma()
|
|
b.FieldStart("purchase_token")
|
|
b.PutString(s.PurchaseToken)
|
|
b.Comma()
|
|
b.StripComma()
|
|
b.ObjEnd()
|
|
return nil
|
|
}
|
|
|
|
// DecodeTDLibJSON implements tdjson.TDLibDecoder.
|
|
func (s *StoreTransactionGooglePlay) DecodeTDLibJSON(b tdjson.Decoder) error {
|
|
if s == nil {
|
|
return fmt.Errorf("can't decode storeTransactionGooglePlay#41356639 to nil")
|
|
}
|
|
|
|
return b.Obj(func(b tdjson.Decoder, key []byte) error {
|
|
switch string(key) {
|
|
case tdjson.TypeField:
|
|
if err := b.ConsumeID("storeTransactionGooglePlay"); err != nil {
|
|
return fmt.Errorf("unable to decode storeTransactionGooglePlay#41356639: %w", err)
|
|
}
|
|
case "package_name":
|
|
value, err := b.String()
|
|
if err != nil {
|
|
return fmt.Errorf("unable to decode storeTransactionGooglePlay#41356639: field package_name: %w", err)
|
|
}
|
|
s.PackageName = value
|
|
case "store_product_id":
|
|
value, err := b.String()
|
|
if err != nil {
|
|
return fmt.Errorf("unable to decode storeTransactionGooglePlay#41356639: field store_product_id: %w", err)
|
|
}
|
|
s.StoreProductID = value
|
|
case "purchase_token":
|
|
value, err := b.String()
|
|
if err != nil {
|
|
return fmt.Errorf("unable to decode storeTransactionGooglePlay#41356639: field purchase_token: %w", err)
|
|
}
|
|
s.PurchaseToken = value
|
|
default:
|
|
return b.Skip()
|
|
}
|
|
return nil
|
|
})
|
|
}
|
|
|
|
// GetPackageName returns value of PackageName field.
|
|
func (s *StoreTransactionGooglePlay) GetPackageName() (value string) {
|
|
if s == nil {
|
|
return
|
|
}
|
|
return s.PackageName
|
|
}
|
|
|
|
// GetStoreProductID returns value of StoreProductID field.
|
|
func (s *StoreTransactionGooglePlay) GetStoreProductID() (value string) {
|
|
if s == nil {
|
|
return
|
|
}
|
|
return s.StoreProductID
|
|
}
|
|
|
|
// GetPurchaseToken returns value of PurchaseToken field.
|
|
func (s *StoreTransactionGooglePlay) GetPurchaseToken() (value string) {
|
|
if s == nil {
|
|
return
|
|
}
|
|
return s.PurchaseToken
|
|
}
|
|
|
|
// StoreTransactionClassName is schema name of StoreTransactionClass.
|
|
const StoreTransactionClassName = "StoreTransaction"
|
|
|
|
// StoreTransactionClass represents StoreTransaction generic type.
|
|
//
|
|
// Example:
|
|
//
|
|
// g, err := tdapi.DecodeStoreTransaction(buf)
|
|
// if err != nil {
|
|
// panic(err)
|
|
// }
|
|
// switch v := g.(type) {
|
|
// case *tdapi.StoreTransactionAppStore: // storeTransactionAppStore#60e41d49
|
|
// case *tdapi.StoreTransactionGooglePlay: // storeTransactionGooglePlay#41356639
|
|
// default: panic(v)
|
|
// }
|
|
type StoreTransactionClass interface {
|
|
bin.Encoder
|
|
bin.Decoder
|
|
bin.BareEncoder
|
|
bin.BareDecoder
|
|
construct() StoreTransactionClass
|
|
|
|
// 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
|
|
}
|
|
|
|
// DecodeStoreTransaction implements binary de-serialization for StoreTransactionClass.
|
|
func DecodeStoreTransaction(buf *bin.Buffer) (StoreTransactionClass, error) {
|
|
id, err := buf.PeekID()
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
switch id {
|
|
case StoreTransactionAppStoreTypeID:
|
|
// Decoding storeTransactionAppStore#60e41d49.
|
|
v := StoreTransactionAppStore{}
|
|
if err := v.Decode(buf); err != nil {
|
|
return nil, fmt.Errorf("unable to decode StoreTransactionClass: %w", err)
|
|
}
|
|
return &v, nil
|
|
case StoreTransactionGooglePlayTypeID:
|
|
// Decoding storeTransactionGooglePlay#41356639.
|
|
v := StoreTransactionGooglePlay{}
|
|
if err := v.Decode(buf); err != nil {
|
|
return nil, fmt.Errorf("unable to decode StoreTransactionClass: %w", err)
|
|
}
|
|
return &v, nil
|
|
default:
|
|
return nil, fmt.Errorf("unable to decode StoreTransactionClass: %w", bin.NewUnexpectedID(id))
|
|
}
|
|
}
|
|
|
|
// DecodeTDLibJSONStoreTransaction implements binary de-serialization for StoreTransactionClass.
|
|
func DecodeTDLibJSONStoreTransaction(buf tdjson.Decoder) (StoreTransactionClass, error) {
|
|
id, err := buf.FindTypeID()
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
switch id {
|
|
case "storeTransactionAppStore":
|
|
// Decoding storeTransactionAppStore#60e41d49.
|
|
v := StoreTransactionAppStore{}
|
|
if err := v.DecodeTDLibJSON(buf); err != nil {
|
|
return nil, fmt.Errorf("unable to decode StoreTransactionClass: %w", err)
|
|
}
|
|
return &v, nil
|
|
case "storeTransactionGooglePlay":
|
|
// Decoding storeTransactionGooglePlay#41356639.
|
|
v := StoreTransactionGooglePlay{}
|
|
if err := v.DecodeTDLibJSON(buf); err != nil {
|
|
return nil, fmt.Errorf("unable to decode StoreTransactionClass: %w", err)
|
|
}
|
|
return &v, nil
|
|
default:
|
|
return nil, fmt.Errorf("unable to decode StoreTransactionClass: %w", tdjson.NewUnexpectedID(id))
|
|
}
|
|
}
|
|
|
|
// StoreTransaction boxes the StoreTransactionClass providing a helper.
|
|
type StoreTransactionBox struct {
|
|
StoreTransaction StoreTransactionClass
|
|
}
|
|
|
|
// Decode implements bin.Decoder for StoreTransactionBox.
|
|
func (b *StoreTransactionBox) Decode(buf *bin.Buffer) error {
|
|
if b == nil {
|
|
return fmt.Errorf("unable to decode StoreTransactionBox to nil")
|
|
}
|
|
v, err := DecodeStoreTransaction(buf)
|
|
if err != nil {
|
|
return fmt.Errorf("unable to decode boxed value: %w", err)
|
|
}
|
|
b.StoreTransaction = v
|
|
return nil
|
|
}
|
|
|
|
// Encode implements bin.Encode for StoreTransactionBox.
|
|
func (b *StoreTransactionBox) Encode(buf *bin.Buffer) error {
|
|
if b == nil || b.StoreTransaction == nil {
|
|
return fmt.Errorf("unable to encode StoreTransactionClass as nil")
|
|
}
|
|
return b.StoreTransaction.Encode(buf)
|
|
}
|
|
|
|
// DecodeTDLibJSON implements bin.Decoder for StoreTransactionBox.
|
|
func (b *StoreTransactionBox) DecodeTDLibJSON(buf tdjson.Decoder) error {
|
|
if b == nil {
|
|
return fmt.Errorf("unable to decode StoreTransactionBox to nil")
|
|
}
|
|
v, err := DecodeTDLibJSONStoreTransaction(buf)
|
|
if err != nil {
|
|
return fmt.Errorf("unable to decode boxed value: %w", err)
|
|
}
|
|
b.StoreTransaction = v
|
|
return nil
|
|
}
|
|
|
|
// EncodeTDLibJSON implements bin.Encode for StoreTransactionBox.
|
|
func (b *StoreTransactionBox) EncodeTDLibJSON(buf tdjson.Encoder) error {
|
|
if b == nil || b.StoreTransaction == nil {
|
|
return fmt.Errorf("unable to encode StoreTransactionClass as nil")
|
|
}
|
|
return b.StoreTransaction.EncodeTDLibJSON(buf)
|
|
}
|