github.com/keybase/client/go@v0.0.0-20241007131713-f10651d043c8/protocol/keybase1/featured_bot.go (about)

     1  // Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler)
     2  //   Input file: avdl/keybase1/featured_bot.avdl
     3  
     4  package keybase1
     5  
     6  import (
     7  	"github.com/keybase/go-framed-msgpack-rpc/rpc"
     8  	context "golang.org/x/net/context"
     9  	"time"
    10  )
    11  
    12  type FeaturedBot struct {
    13  	BotAlias               string  `codec:"botAlias" json:"botAlias"`
    14  	Description            string  `codec:"description" json:"description"`
    15  	ExtendedDescription    string  `codec:"extendedDescription" json:"extendedDescription"`
    16  	ExtendedDescriptionRaw string  `codec:"extendedDescriptionRaw" json:"extendedDescriptionRaw"`
    17  	BotUsername            string  `codec:"botUsername" json:"botUsername"`
    18  	OwnerTeam              *string `codec:"ownerTeam,omitempty" json:"ownerTeam,omitempty"`
    19  	OwnerUser              *string `codec:"ownerUser,omitempty" json:"ownerUser,omitempty"`
    20  	Rank                   int     `codec:"rank" json:"rank"`
    21  	IsPromoted             bool    `codec:"isPromoted" json:"isPromoted"`
    22  }
    23  
    24  func (o FeaturedBot) DeepCopy() FeaturedBot {
    25  	return FeaturedBot{
    26  		BotAlias:               o.BotAlias,
    27  		Description:            o.Description,
    28  		ExtendedDescription:    o.ExtendedDescription,
    29  		ExtendedDescriptionRaw: o.ExtendedDescriptionRaw,
    30  		BotUsername:            o.BotUsername,
    31  		OwnerTeam: (func(x *string) *string {
    32  			if x == nil {
    33  				return nil
    34  			}
    35  			tmp := (*x)
    36  			return &tmp
    37  		})(o.OwnerTeam),
    38  		OwnerUser: (func(x *string) *string {
    39  			if x == nil {
    40  				return nil
    41  			}
    42  			tmp := (*x)
    43  			return &tmp
    44  		})(o.OwnerUser),
    45  		Rank:       o.Rank,
    46  		IsPromoted: o.IsPromoted,
    47  	}
    48  }
    49  
    50  type FeaturedBotsRes struct {
    51  	Bots       []FeaturedBot `codec:"bots" json:"bots"`
    52  	IsLastPage bool          `codec:"isLastPage" json:"isLastPage"`
    53  }
    54  
    55  func (o FeaturedBotsRes) DeepCopy() FeaturedBotsRes {
    56  	return FeaturedBotsRes{
    57  		Bots: (func(x []FeaturedBot) []FeaturedBot {
    58  			if x == nil {
    59  				return nil
    60  			}
    61  			ret := make([]FeaturedBot, len(x))
    62  			for i, v := range x {
    63  				vCopy := v.DeepCopy()
    64  				ret[i] = vCopy
    65  			}
    66  			return ret
    67  		})(o.Bots),
    68  		IsLastPage: o.IsLastPage,
    69  	}
    70  }
    71  
    72  type SearchRes struct {
    73  	Bots       []FeaturedBot `codec:"bots" json:"bots"`
    74  	IsLastPage bool          `codec:"isLastPage" json:"isLastPage"`
    75  }
    76  
    77  func (o SearchRes) DeepCopy() SearchRes {
    78  	return SearchRes{
    79  		Bots: (func(x []FeaturedBot) []FeaturedBot {
    80  			if x == nil {
    81  				return nil
    82  			}
    83  			ret := make([]FeaturedBot, len(x))
    84  			for i, v := range x {
    85  				vCopy := v.DeepCopy()
    86  				ret[i] = vCopy
    87  			}
    88  			return ret
    89  		})(o.Bots),
    90  		IsLastPage: o.IsLastPage,
    91  	}
    92  }
    93  
    94  type FeaturedBotsArg struct {
    95  	Limit     int  `codec:"limit" json:"limit"`
    96  	Offset    int  `codec:"offset" json:"offset"`
    97  	SkipCache bool `codec:"skipCache" json:"skipCache"`
    98  }
    99  
   100  type SearchArg struct {
   101  	Query  string `codec:"query" json:"query"`
   102  	Limit  int    `codec:"limit" json:"limit"`
   103  	Offset int    `codec:"offset" json:"offset"`
   104  }
   105  
   106  type SearchLocalArg struct {
   107  	Query     string `codec:"query" json:"query"`
   108  	Limit     int    `codec:"limit" json:"limit"`
   109  	SkipCache bool   `codec:"skipCache" json:"skipCache"`
   110  }
   111  
   112  type FeaturedBotInterface interface {
   113  	FeaturedBots(context.Context, FeaturedBotsArg) (FeaturedBotsRes, error)
   114  	Search(context.Context, SearchArg) (SearchRes, error)
   115  	SearchLocal(context.Context, SearchLocalArg) (SearchRes, error)
   116  }
   117  
   118  func FeaturedBotProtocol(i FeaturedBotInterface) rpc.Protocol {
   119  	return rpc.Protocol{
   120  		Name: "keybase.1.featuredBot",
   121  		Methods: map[string]rpc.ServeHandlerDescription{
   122  			"featuredBots": {
   123  				MakeArg: func() interface{} {
   124  					var ret [1]FeaturedBotsArg
   125  					return &ret
   126  				},
   127  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
   128  					typedArgs, ok := args.(*[1]FeaturedBotsArg)
   129  					if !ok {
   130  						err = rpc.NewTypeError((*[1]FeaturedBotsArg)(nil), args)
   131  						return
   132  					}
   133  					ret, err = i.FeaturedBots(ctx, typedArgs[0])
   134  					return
   135  				},
   136  			},
   137  			"search": {
   138  				MakeArg: func() interface{} {
   139  					var ret [1]SearchArg
   140  					return &ret
   141  				},
   142  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
   143  					typedArgs, ok := args.(*[1]SearchArg)
   144  					if !ok {
   145  						err = rpc.NewTypeError((*[1]SearchArg)(nil), args)
   146  						return
   147  					}
   148  					ret, err = i.Search(ctx, typedArgs[0])
   149  					return
   150  				},
   151  			},
   152  			"searchLocal": {
   153  				MakeArg: func() interface{} {
   154  					var ret [1]SearchLocalArg
   155  					return &ret
   156  				},
   157  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
   158  					typedArgs, ok := args.(*[1]SearchLocalArg)
   159  					if !ok {
   160  						err = rpc.NewTypeError((*[1]SearchLocalArg)(nil), args)
   161  						return
   162  					}
   163  					ret, err = i.SearchLocal(ctx, typedArgs[0])
   164  					return
   165  				},
   166  			},
   167  		},
   168  	}
   169  }
   170  
   171  type FeaturedBotClient struct {
   172  	Cli rpc.GenericClient
   173  }
   174  
   175  func (c FeaturedBotClient) FeaturedBots(ctx context.Context, __arg FeaturedBotsArg) (res FeaturedBotsRes, err error) {
   176  	err = c.Cli.Call(ctx, "keybase.1.featuredBot.featuredBots", []interface{}{__arg}, &res, 0*time.Millisecond)
   177  	return
   178  }
   179  
   180  func (c FeaturedBotClient) Search(ctx context.Context, __arg SearchArg) (res SearchRes, err error) {
   181  	err = c.Cli.Call(ctx, "keybase.1.featuredBot.search", []interface{}{__arg}, &res, 0*time.Millisecond)
   182  	return
   183  }
   184  
   185  func (c FeaturedBotClient) SearchLocal(ctx context.Context, __arg SearchLocalArg) (res SearchRes, err error) {
   186  	err = c.Cli.Call(ctx, "keybase.1.featuredBot.searchLocal", []interface{}{__arg}, &res, 0*time.Millisecond)
   187  	return
   188  }