github.com/keybase/client/go@v0.0.0-20240309051027-028f7c731f8b/protocol/keybase1/notify_badges.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/notify_badges.avdl
     3  
     4  package keybase1
     5  
     6  import (
     7  	gregor1 "github.com/keybase/client/go/protocol/gregor1"
     8  	"github.com/keybase/go-framed-msgpack-rpc/rpc"
     9  	context "golang.org/x/net/context"
    10  	"time"
    11  )
    12  
    13  type ChatConversationID []byte
    14  
    15  func (o ChatConversationID) DeepCopy() ChatConversationID {
    16  	return (func(x []byte) []byte {
    17  		if x == nil {
    18  			return nil
    19  		}
    20  		return append([]byte{}, x...)
    21  	})(o)
    22  }
    23  
    24  type TeamMemberOutReset struct {
    25  	TeamID   TeamID        `codec:"teamID" json:"teamID"`
    26  	Teamname string        `codec:"teamname" json:"teamname"`
    27  	Username string        `codec:"username" json:"username"`
    28  	Uid      UID           `codec:"uid" json:"uid"`
    29  	Id       gregor1.MsgID `codec:"id" json:"id"`
    30  }
    31  
    32  func (o TeamMemberOutReset) DeepCopy() TeamMemberOutReset {
    33  	return TeamMemberOutReset{
    34  		TeamID:   o.TeamID.DeepCopy(),
    35  		Teamname: o.Teamname,
    36  		Username: o.Username,
    37  		Uid:      o.Uid.DeepCopy(),
    38  		Id:       o.Id.DeepCopy(),
    39  	}
    40  }
    41  
    42  type DeletedTeamInfo struct {
    43  	TeamName  string        `codec:"teamName" json:"teamName"`
    44  	DeletedBy string        `codec:"deletedBy" json:"deletedBy"`
    45  	Id        gregor1.MsgID `codec:"id" json:"id"`
    46  }
    47  
    48  func (o DeletedTeamInfo) DeepCopy() DeletedTeamInfo {
    49  	return DeletedTeamInfo{
    50  		TeamName:  o.TeamName,
    51  		DeletedBy: o.DeletedBy,
    52  		Id:        o.Id.DeepCopy(),
    53  	}
    54  }
    55  
    56  type WalletAccountInfo struct {
    57  	AccountID string `codec:"accountID" json:"accountID"`
    58  	NumUnread int    `codec:"numUnread" json:"numUnread"`
    59  }
    60  
    61  func (o WalletAccountInfo) DeepCopy() WalletAccountInfo {
    62  	return WalletAccountInfo{
    63  		AccountID: o.AccountID,
    64  		NumUnread: o.NumUnread,
    65  	}
    66  }
    67  
    68  type ResetState struct {
    69  	EndTime Time `codec:"endTime" json:"end_time"`
    70  	Active  bool `codec:"active" json:"active"`
    71  }
    72  
    73  func (o ResetState) DeepCopy() ResetState {
    74  	return ResetState{
    75  		EndTime: o.EndTime.DeepCopy(),
    76  		Active:  o.Active,
    77  	}
    78  }
    79  
    80  type WotUpdate struct {
    81  	Voucher string        `codec:"voucher" json:"voucher"`
    82  	Vouchee string        `codec:"vouchee" json:"vouchee"`
    83  	Status  WotStatusType `codec:"status" json:"status"`
    84  }
    85  
    86  func (o WotUpdate) DeepCopy() WotUpdate {
    87  	return WotUpdate{
    88  		Voucher: o.Voucher,
    89  		Vouchee: o.Vouchee,
    90  		Status:  o.Status.DeepCopy(),
    91  	}
    92  }
    93  
    94  type BadgeState struct {
    95  	NewTlfs                   int                     `codec:"newTlfs" json:"newTlfs"`
    96  	RekeysNeeded              int                     `codec:"rekeysNeeded" json:"rekeysNeeded"`
    97  	NewFollowers              int                     `codec:"newFollowers" json:"newFollowers"`
    98  	InboxVers                 int                     `codec:"inboxVers" json:"inboxVers"`
    99  	HomeTodoItems             int                     `codec:"homeTodoItems" json:"homeTodoItems"`
   100  	UnverifiedEmails          int                     `codec:"unverifiedEmails" json:"unverifiedEmails"`
   101  	UnverifiedPhones          int                     `codec:"unverifiedPhones" json:"unverifiedPhones"`
   102  	SmallTeamBadgeCount       int                     `codec:"smallTeamBadgeCount" json:"smallTeamBadgeCount"`
   103  	BigTeamBadgeCount         int                     `codec:"bigTeamBadgeCount" json:"bigTeamBadgeCount"`
   104  	NewTeamAccessRequestCount int                     `codec:"newTeamAccessRequestCount" json:"newTeamAccessRequestCount"`
   105  	NewDevices                []DeviceID              `codec:"newDevices" json:"newDevices"`
   106  	RevokedDevices            []DeviceID              `codec:"revokedDevices" json:"revokedDevices"`
   107  	Conversations             []BadgeConversationInfo `codec:"conversations" json:"conversations"`
   108  	NewGitRepoGlobalUniqueIDs []string                `codec:"newGitRepoGlobalUniqueIDs" json:"newGitRepoGlobalUniqueIDs"`
   109  	NewTeams                  []TeamID                `codec:"newTeams" json:"newTeams"`
   110  	DeletedTeams              []DeletedTeamInfo       `codec:"deletedTeams" json:"deletedTeams"`
   111  	TeamsWithResetUsers       []TeamMemberOutReset    `codec:"teamsWithResetUsers" json:"teamsWithResetUsers"`
   112  	UnreadWalletAccounts      []WalletAccountInfo     `codec:"unreadWalletAccounts" json:"unreadWalletAccounts"`
   113  	WotUpdates                map[string]WotUpdate    `codec:"wotUpdates" json:"wotUpdates"`
   114  	ResetState                ResetState              `codec:"resetState" json:"resetState"`
   115  }
   116  
   117  func (o BadgeState) DeepCopy() BadgeState {
   118  	return BadgeState{
   119  		NewTlfs:                   o.NewTlfs,
   120  		RekeysNeeded:              o.RekeysNeeded,
   121  		NewFollowers:              o.NewFollowers,
   122  		InboxVers:                 o.InboxVers,
   123  		HomeTodoItems:             o.HomeTodoItems,
   124  		UnverifiedEmails:          o.UnverifiedEmails,
   125  		UnverifiedPhones:          o.UnverifiedPhones,
   126  		SmallTeamBadgeCount:       o.SmallTeamBadgeCount,
   127  		BigTeamBadgeCount:         o.BigTeamBadgeCount,
   128  		NewTeamAccessRequestCount: o.NewTeamAccessRequestCount,
   129  		NewDevices: (func(x []DeviceID) []DeviceID {
   130  			if x == nil {
   131  				return nil
   132  			}
   133  			ret := make([]DeviceID, len(x))
   134  			for i, v := range x {
   135  				vCopy := v.DeepCopy()
   136  				ret[i] = vCopy
   137  			}
   138  			return ret
   139  		})(o.NewDevices),
   140  		RevokedDevices: (func(x []DeviceID) []DeviceID {
   141  			if x == nil {
   142  				return nil
   143  			}
   144  			ret := make([]DeviceID, len(x))
   145  			for i, v := range x {
   146  				vCopy := v.DeepCopy()
   147  				ret[i] = vCopy
   148  			}
   149  			return ret
   150  		})(o.RevokedDevices),
   151  		Conversations: (func(x []BadgeConversationInfo) []BadgeConversationInfo {
   152  			if x == nil {
   153  				return nil
   154  			}
   155  			ret := make([]BadgeConversationInfo, len(x))
   156  			for i, v := range x {
   157  				vCopy := v.DeepCopy()
   158  				ret[i] = vCopy
   159  			}
   160  			return ret
   161  		})(o.Conversations),
   162  		NewGitRepoGlobalUniqueIDs: (func(x []string) []string {
   163  			if x == nil {
   164  				return nil
   165  			}
   166  			ret := make([]string, len(x))
   167  			for i, v := range x {
   168  				vCopy := v
   169  				ret[i] = vCopy
   170  			}
   171  			return ret
   172  		})(o.NewGitRepoGlobalUniqueIDs),
   173  		NewTeams: (func(x []TeamID) []TeamID {
   174  			if x == nil {
   175  				return nil
   176  			}
   177  			ret := make([]TeamID, len(x))
   178  			for i, v := range x {
   179  				vCopy := v.DeepCopy()
   180  				ret[i] = vCopy
   181  			}
   182  			return ret
   183  		})(o.NewTeams),
   184  		DeletedTeams: (func(x []DeletedTeamInfo) []DeletedTeamInfo {
   185  			if x == nil {
   186  				return nil
   187  			}
   188  			ret := make([]DeletedTeamInfo, len(x))
   189  			for i, v := range x {
   190  				vCopy := v.DeepCopy()
   191  				ret[i] = vCopy
   192  			}
   193  			return ret
   194  		})(o.DeletedTeams),
   195  		TeamsWithResetUsers: (func(x []TeamMemberOutReset) []TeamMemberOutReset {
   196  			if x == nil {
   197  				return nil
   198  			}
   199  			ret := make([]TeamMemberOutReset, len(x))
   200  			for i, v := range x {
   201  				vCopy := v.DeepCopy()
   202  				ret[i] = vCopy
   203  			}
   204  			return ret
   205  		})(o.TeamsWithResetUsers),
   206  		UnreadWalletAccounts: (func(x []WalletAccountInfo) []WalletAccountInfo {
   207  			if x == nil {
   208  				return nil
   209  			}
   210  			ret := make([]WalletAccountInfo, len(x))
   211  			for i, v := range x {
   212  				vCopy := v.DeepCopy()
   213  				ret[i] = vCopy
   214  			}
   215  			return ret
   216  		})(o.UnreadWalletAccounts),
   217  		WotUpdates: (func(x map[string]WotUpdate) map[string]WotUpdate {
   218  			if x == nil {
   219  				return nil
   220  			}
   221  			ret := make(map[string]WotUpdate, len(x))
   222  			for k, v := range x {
   223  				kCopy := k
   224  				vCopy := v.DeepCopy()
   225  				ret[kCopy] = vCopy
   226  			}
   227  			return ret
   228  		})(o.WotUpdates),
   229  		ResetState: o.ResetState.DeepCopy(),
   230  	}
   231  }
   232  
   233  type BadgeConversationInfo struct {
   234  	ConvID         ChatConversationID `codec:"convID" json:"convID"`
   235  	BadgeCount     int                `codec:"badgeCount" json:"badgeCount"`
   236  	UnreadMessages int                `codec:"unreadMessages" json:"unreadMessages"`
   237  }
   238  
   239  func (o BadgeConversationInfo) DeepCopy() BadgeConversationInfo {
   240  	return BadgeConversationInfo{
   241  		ConvID:         o.ConvID.DeepCopy(),
   242  		BadgeCount:     o.BadgeCount,
   243  		UnreadMessages: o.UnreadMessages,
   244  	}
   245  }
   246  
   247  type BadgeStateArg struct {
   248  	BadgeState BadgeState `codec:"badgeState" json:"badgeState"`
   249  }
   250  
   251  type NotifyBadgesInterface interface {
   252  	BadgeState(context.Context, BadgeState) error
   253  }
   254  
   255  func NotifyBadgesProtocol(i NotifyBadgesInterface) rpc.Protocol {
   256  	return rpc.Protocol{
   257  		Name: "keybase.1.NotifyBadges",
   258  		Methods: map[string]rpc.ServeHandlerDescription{
   259  			"badgeState": {
   260  				MakeArg: func() interface{} {
   261  					var ret [1]BadgeStateArg
   262  					return &ret
   263  				},
   264  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
   265  					typedArgs, ok := args.(*[1]BadgeStateArg)
   266  					if !ok {
   267  						err = rpc.NewTypeError((*[1]BadgeStateArg)(nil), args)
   268  						return
   269  					}
   270  					err = i.BadgeState(ctx, typedArgs[0].BadgeState)
   271  					return
   272  				},
   273  			},
   274  		},
   275  	}
   276  }
   277  
   278  type NotifyBadgesClient struct {
   279  	Cli rpc.GenericClient
   280  }
   281  
   282  func (c NotifyBadgesClient) BadgeState(ctx context.Context, badgeState BadgeState) (err error) {
   283  	__arg := BadgeStateArg{BadgeState: badgeState}
   284  	err = c.Cli.Notify(ctx, "keybase.1.NotifyBadges.badgeState", []interface{}{__arg}, 0*time.Millisecond)
   285  	return
   286  }