github.com/keybase/client/go@v0.0.0-20240309051027-028f7c731f8b/protocol/keybase1/ephemeral.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/ephemeral.avdl
     3  
     4  package keybase1
     5  
     6  import (
     7  	"errors"
     8  	"fmt"
     9  	"github.com/keybase/go-framed-msgpack-rpc/rpc"
    10  )
    11  
    12  type EkGeneration int64
    13  
    14  func (o EkGeneration) DeepCopy() EkGeneration {
    15  	return o
    16  }
    17  
    18  type DeviceEkMetadata struct {
    19  	Kid         KID          `codec:"kid" json:"device_ephemeral_dh_public"`
    20  	HashMeta    HashMeta     `codec:"hashMeta" json:"hash_meta"`
    21  	Generation  EkGeneration `codec:"generation" json:"generation"`
    22  	Ctime       Time         `codec:"ctime" json:"ctime"`
    23  	DeviceCtime Time         `codec:"deviceCtime" json:"deviceCtime"`
    24  }
    25  
    26  func (o DeviceEkMetadata) DeepCopy() DeviceEkMetadata {
    27  	return DeviceEkMetadata{
    28  		Kid:         o.Kid.DeepCopy(),
    29  		HashMeta:    o.HashMeta.DeepCopy(),
    30  		Generation:  o.Generation.DeepCopy(),
    31  		Ctime:       o.Ctime.DeepCopy(),
    32  		DeviceCtime: o.DeviceCtime.DeepCopy(),
    33  	}
    34  }
    35  
    36  type DeviceEkStatement struct {
    37  	CurrentDeviceEkMetadata DeviceEkMetadata `codec:"currentDeviceEkMetadata" json:"current_device_ek_metadata"`
    38  }
    39  
    40  func (o DeviceEkStatement) DeepCopy() DeviceEkStatement {
    41  	return DeviceEkStatement{
    42  		CurrentDeviceEkMetadata: o.CurrentDeviceEkMetadata.DeepCopy(),
    43  	}
    44  }
    45  
    46  type DeviceEk struct {
    47  	Seed     Bytes32          `codec:"seed" json:"seed"`
    48  	Metadata DeviceEkMetadata `codec:"metadata" json:"metadata"`
    49  }
    50  
    51  func (o DeviceEk) DeepCopy() DeviceEk {
    52  	return DeviceEk{
    53  		Seed:     o.Seed.DeepCopy(),
    54  		Metadata: o.Metadata.DeepCopy(),
    55  	}
    56  }
    57  
    58  type UserEkStatement struct {
    59  	CurrentUserEkMetadata UserEkMetadata `codec:"currentUserEkMetadata" json:"current_user_ek_metadata"`
    60  }
    61  
    62  func (o UserEkStatement) DeepCopy() UserEkStatement {
    63  	return UserEkStatement{
    64  		CurrentUserEkMetadata: o.CurrentUserEkMetadata.DeepCopy(),
    65  	}
    66  }
    67  
    68  type UserEkMetadata struct {
    69  	Kid        KID          `codec:"kid" json:"user_ephemeral_dh_public"`
    70  	HashMeta   HashMeta     `codec:"hashMeta" json:"hash_meta"`
    71  	Generation EkGeneration `codec:"generation" json:"generation"`
    72  	Ctime      Time         `codec:"ctime" json:"ctime"`
    73  }
    74  
    75  func (o UserEkMetadata) DeepCopy() UserEkMetadata {
    76  	return UserEkMetadata{
    77  		Kid:        o.Kid.DeepCopy(),
    78  		HashMeta:   o.HashMeta.DeepCopy(),
    79  		Generation: o.Generation.DeepCopy(),
    80  		Ctime:      o.Ctime.DeepCopy(),
    81  	}
    82  }
    83  
    84  type UserEkBoxed struct {
    85  	Box                string         `codec:"box" json:"box"`
    86  	DeviceEkGeneration EkGeneration   `codec:"deviceEkGeneration" json:"device_ek_generation"`
    87  	Metadata           UserEkMetadata `codec:"metadata" json:"metadata"`
    88  }
    89  
    90  func (o UserEkBoxed) DeepCopy() UserEkBoxed {
    91  	return UserEkBoxed{
    92  		Box:                o.Box,
    93  		DeviceEkGeneration: o.DeviceEkGeneration.DeepCopy(),
    94  		Metadata:           o.Metadata.DeepCopy(),
    95  	}
    96  }
    97  
    98  type UserEkBoxMetadata struct {
    99  	Box                 string       `codec:"box" json:"box"`
   100  	RecipientGeneration EkGeneration `codec:"recipientGeneration" json:"recipient_generation"`
   101  	RecipientDeviceID   DeviceID     `codec:"recipientDeviceID" json:"recipient_device_id"`
   102  }
   103  
   104  func (o UserEkBoxMetadata) DeepCopy() UserEkBoxMetadata {
   105  	return UserEkBoxMetadata{
   106  		Box:                 o.Box,
   107  		RecipientGeneration: o.RecipientGeneration.DeepCopy(),
   108  		RecipientDeviceID:   o.RecipientDeviceID.DeepCopy(),
   109  	}
   110  }
   111  
   112  type UserEk struct {
   113  	Seed     Bytes32        `codec:"seed" json:"seed"`
   114  	Metadata UserEkMetadata `codec:"metadata" json:"metadata"`
   115  }
   116  
   117  func (o UserEk) DeepCopy() UserEk {
   118  	return UserEk{
   119  		Seed:     o.Seed.DeepCopy(),
   120  		Metadata: o.Metadata.DeepCopy(),
   121  	}
   122  }
   123  
   124  type UserEkReboxArg struct {
   125  	UserEkBoxMetadata    UserEkBoxMetadata `codec:"userEkBoxMetadata" json:"userEkBoxMetadata"`
   126  	DeviceID             DeviceID          `codec:"deviceID" json:"deviceID"`
   127  	DeviceEkStatementSig string            `codec:"deviceEkStatementSig" json:"deviceEkStatementSig"`
   128  }
   129  
   130  func (o UserEkReboxArg) DeepCopy() UserEkReboxArg {
   131  	return UserEkReboxArg{
   132  		UserEkBoxMetadata:    o.UserEkBoxMetadata.DeepCopy(),
   133  		DeviceID:             o.DeviceID.DeepCopy(),
   134  		DeviceEkStatementSig: o.DeviceEkStatementSig,
   135  	}
   136  }
   137  
   138  type TeamEkMetadata struct {
   139  	Kid        KID          `codec:"kid" json:"team_ephemeral_dh_public"`
   140  	HashMeta   HashMeta     `codec:"hashMeta" json:"hash_meta"`
   141  	Generation EkGeneration `codec:"generation" json:"generation"`
   142  	Ctime      Time         `codec:"ctime" json:"ctime"`
   143  }
   144  
   145  func (o TeamEkMetadata) DeepCopy() TeamEkMetadata {
   146  	return TeamEkMetadata{
   147  		Kid:        o.Kid.DeepCopy(),
   148  		HashMeta:   o.HashMeta.DeepCopy(),
   149  		Generation: o.Generation.DeepCopy(),
   150  		Ctime:      o.Ctime.DeepCopy(),
   151  	}
   152  }
   153  
   154  type TeamEkStatement struct {
   155  	CurrentTeamEkMetadata TeamEkMetadata `codec:"currentTeamEkMetadata" json:"current_team_ek_metadata"`
   156  }
   157  
   158  func (o TeamEkStatement) DeepCopy() TeamEkStatement {
   159  	return TeamEkStatement{
   160  		CurrentTeamEkMetadata: o.CurrentTeamEkMetadata.DeepCopy(),
   161  	}
   162  }
   163  
   164  type TeamEkBoxed struct {
   165  	Box              string         `codec:"box" json:"box"`
   166  	UserEkGeneration EkGeneration   `codec:"userEkGeneration" json:"user_ek_generation"`
   167  	Metadata         TeamEkMetadata `codec:"metadata" json:"metadata"`
   168  }
   169  
   170  func (o TeamEkBoxed) DeepCopy() TeamEkBoxed {
   171  	return TeamEkBoxed{
   172  		Box:              o.Box,
   173  		UserEkGeneration: o.UserEkGeneration.DeepCopy(),
   174  		Metadata:         o.Metadata.DeepCopy(),
   175  	}
   176  }
   177  
   178  type TeamEkBoxMetadata struct {
   179  	Box                 string       `codec:"box" json:"box"`
   180  	RecipientGeneration EkGeneration `codec:"recipientGeneration" json:"recipient_generation"`
   181  	RecipientUID        UID          `codec:"recipientUID" json:"recipient_uid"`
   182  }
   183  
   184  func (o TeamEkBoxMetadata) DeepCopy() TeamEkBoxMetadata {
   185  	return TeamEkBoxMetadata{
   186  		Box:                 o.Box,
   187  		RecipientGeneration: o.RecipientGeneration.DeepCopy(),
   188  		RecipientUID:        o.RecipientUID.DeepCopy(),
   189  	}
   190  }
   191  
   192  type TeamEk struct {
   193  	Seed     Bytes32        `codec:"seed" json:"seed"`
   194  	Metadata TeamEkMetadata `codec:"metadata" json:"metadata"`
   195  }
   196  
   197  func (o TeamEk) DeepCopy() TeamEk {
   198  	return TeamEk{
   199  		Seed:     o.Seed.DeepCopy(),
   200  		Metadata: o.Metadata.DeepCopy(),
   201  	}
   202  }
   203  
   204  type TeambotEkMetadata struct {
   205  	Kid              KID          `codec:"kid" json:"teambot_dh_public"`
   206  	Generation       EkGeneration `codec:"generation" json:"generation"`
   207  	Uid              UID          `codec:"uid" json:"uid"`
   208  	UserEkGeneration EkGeneration `codec:"userEkGeneration" json:"user_ek_generation"`
   209  	HashMeta         HashMeta     `codec:"hashMeta" json:"hash_meta"`
   210  	Ctime            Time         `codec:"ctime" json:"ctime"`
   211  }
   212  
   213  func (o TeambotEkMetadata) DeepCopy() TeambotEkMetadata {
   214  	return TeambotEkMetadata{
   215  		Kid:              o.Kid.DeepCopy(),
   216  		Generation:       o.Generation.DeepCopy(),
   217  		Uid:              o.Uid.DeepCopy(),
   218  		UserEkGeneration: o.UserEkGeneration.DeepCopy(),
   219  		HashMeta:         o.HashMeta.DeepCopy(),
   220  		Ctime:            o.Ctime.DeepCopy(),
   221  	}
   222  }
   223  
   224  type TeambotEkBoxed struct {
   225  	Box      string            `codec:"box" json:"box"`
   226  	Metadata TeambotEkMetadata `codec:"metadata" json:"metadata"`
   227  }
   228  
   229  func (o TeambotEkBoxed) DeepCopy() TeambotEkBoxed {
   230  	return TeambotEkBoxed{
   231  		Box:      o.Box,
   232  		Metadata: o.Metadata.DeepCopy(),
   233  	}
   234  }
   235  
   236  type TeambotEk struct {
   237  	Seed     Bytes32           `codec:"seed" json:"seed"`
   238  	Metadata TeambotEkMetadata `codec:"metadata" json:"metadata"`
   239  }
   240  
   241  func (o TeambotEk) DeepCopy() TeambotEk {
   242  	return TeambotEk{
   243  		Seed:     o.Seed.DeepCopy(),
   244  		Metadata: o.Metadata.DeepCopy(),
   245  	}
   246  }
   247  
   248  type TeamEphemeralKeyType int
   249  
   250  const (
   251  	TeamEphemeralKeyType_TEAM    TeamEphemeralKeyType = 0
   252  	TeamEphemeralKeyType_TEAMBOT TeamEphemeralKeyType = 1
   253  )
   254  
   255  func (o TeamEphemeralKeyType) DeepCopy() TeamEphemeralKeyType { return o }
   256  
   257  var TeamEphemeralKeyTypeMap = map[string]TeamEphemeralKeyType{
   258  	"TEAM":    0,
   259  	"TEAMBOT": 1,
   260  }
   261  
   262  var TeamEphemeralKeyTypeRevMap = map[TeamEphemeralKeyType]string{
   263  	0: "TEAM",
   264  	1: "TEAMBOT",
   265  }
   266  
   267  func (e TeamEphemeralKeyType) String() string {
   268  	if v, ok := TeamEphemeralKeyTypeRevMap[e]; ok {
   269  		return v
   270  	}
   271  	return fmt.Sprintf("%v", int(e))
   272  }
   273  
   274  type TeamEphemeralKey struct {
   275  	KeyType__ TeamEphemeralKeyType `codec:"keyType" json:"keyType"`
   276  	Team__    *TeamEk              `codec:"team,omitempty" json:"team,omitempty"`
   277  	Teambot__ *TeambotEk           `codec:"teambot,omitempty" json:"teambot,omitempty"`
   278  }
   279  
   280  func (o *TeamEphemeralKey) KeyType() (ret TeamEphemeralKeyType, err error) {
   281  	switch o.KeyType__ {
   282  	case TeamEphemeralKeyType_TEAM:
   283  		if o.Team__ == nil {
   284  			err = errors.New("unexpected nil value for Team__")
   285  			return ret, err
   286  		}
   287  	case TeamEphemeralKeyType_TEAMBOT:
   288  		if o.Teambot__ == nil {
   289  			err = errors.New("unexpected nil value for Teambot__")
   290  			return ret, err
   291  		}
   292  	}
   293  	return o.KeyType__, nil
   294  }
   295  
   296  func (o TeamEphemeralKey) Team() (res TeamEk) {
   297  	if o.KeyType__ != TeamEphemeralKeyType_TEAM {
   298  		panic("wrong case accessed")
   299  	}
   300  	if o.Team__ == nil {
   301  		return
   302  	}
   303  	return *o.Team__
   304  }
   305  
   306  func (o TeamEphemeralKey) Teambot() (res TeambotEk) {
   307  	if o.KeyType__ != TeamEphemeralKeyType_TEAMBOT {
   308  		panic("wrong case accessed")
   309  	}
   310  	if o.Teambot__ == nil {
   311  		return
   312  	}
   313  	return *o.Teambot__
   314  }
   315  
   316  func NewTeamEphemeralKeyWithTeam(v TeamEk) TeamEphemeralKey {
   317  	return TeamEphemeralKey{
   318  		KeyType__: TeamEphemeralKeyType_TEAM,
   319  		Team__:    &v,
   320  	}
   321  }
   322  
   323  func NewTeamEphemeralKeyWithTeambot(v TeambotEk) TeamEphemeralKey {
   324  	return TeamEphemeralKey{
   325  		KeyType__: TeamEphemeralKeyType_TEAMBOT,
   326  		Teambot__: &v,
   327  	}
   328  }
   329  
   330  func (o TeamEphemeralKey) DeepCopy() TeamEphemeralKey {
   331  	return TeamEphemeralKey{
   332  		KeyType__: o.KeyType__.DeepCopy(),
   333  		Team__: (func(x *TeamEk) *TeamEk {
   334  			if x == nil {
   335  				return nil
   336  			}
   337  			tmp := (*x).DeepCopy()
   338  			return &tmp
   339  		})(o.Team__),
   340  		Teambot__: (func(x *TeambotEk) *TeambotEk {
   341  			if x == nil {
   342  				return nil
   343  			}
   344  			tmp := (*x).DeepCopy()
   345  			return &tmp
   346  		})(o.Teambot__),
   347  	}
   348  }
   349  
   350  type TeamEphemeralKeyBoxed struct {
   351  	KeyType__ TeamEphemeralKeyType `codec:"keyType" json:"keyType"`
   352  	Team__    *TeamEkBoxed         `codec:"team,omitempty" json:"team,omitempty"`
   353  	Teambot__ *TeambotEkBoxed      `codec:"teambot,omitempty" json:"teambot,omitempty"`
   354  }
   355  
   356  func (o *TeamEphemeralKeyBoxed) KeyType() (ret TeamEphemeralKeyType, err error) {
   357  	switch o.KeyType__ {
   358  	case TeamEphemeralKeyType_TEAM:
   359  		if o.Team__ == nil {
   360  			err = errors.New("unexpected nil value for Team__")
   361  			return ret, err
   362  		}
   363  	case TeamEphemeralKeyType_TEAMBOT:
   364  		if o.Teambot__ == nil {
   365  			err = errors.New("unexpected nil value for Teambot__")
   366  			return ret, err
   367  		}
   368  	}
   369  	return o.KeyType__, nil
   370  }
   371  
   372  func (o TeamEphemeralKeyBoxed) Team() (res TeamEkBoxed) {
   373  	if o.KeyType__ != TeamEphemeralKeyType_TEAM {
   374  		panic("wrong case accessed")
   375  	}
   376  	if o.Team__ == nil {
   377  		return
   378  	}
   379  	return *o.Team__
   380  }
   381  
   382  func (o TeamEphemeralKeyBoxed) Teambot() (res TeambotEkBoxed) {
   383  	if o.KeyType__ != TeamEphemeralKeyType_TEAMBOT {
   384  		panic("wrong case accessed")
   385  	}
   386  	if o.Teambot__ == nil {
   387  		return
   388  	}
   389  	return *o.Teambot__
   390  }
   391  
   392  func NewTeamEphemeralKeyBoxedWithTeam(v TeamEkBoxed) TeamEphemeralKeyBoxed {
   393  	return TeamEphemeralKeyBoxed{
   394  		KeyType__: TeamEphemeralKeyType_TEAM,
   395  		Team__:    &v,
   396  	}
   397  }
   398  
   399  func NewTeamEphemeralKeyBoxedWithTeambot(v TeambotEkBoxed) TeamEphemeralKeyBoxed {
   400  	return TeamEphemeralKeyBoxed{
   401  		KeyType__: TeamEphemeralKeyType_TEAMBOT,
   402  		Teambot__: &v,
   403  	}
   404  }
   405  
   406  func (o TeamEphemeralKeyBoxed) DeepCopy() TeamEphemeralKeyBoxed {
   407  	return TeamEphemeralKeyBoxed{
   408  		KeyType__: o.KeyType__.DeepCopy(),
   409  		Team__: (func(x *TeamEkBoxed) *TeamEkBoxed {
   410  			if x == nil {
   411  				return nil
   412  			}
   413  			tmp := (*x).DeepCopy()
   414  			return &tmp
   415  		})(o.Team__),
   416  		Teambot__: (func(x *TeambotEkBoxed) *TeambotEkBoxed {
   417  			if x == nil {
   418  				return nil
   419  			}
   420  			tmp := (*x).DeepCopy()
   421  			return &tmp
   422  		})(o.Teambot__),
   423  	}
   424  }
   425  
   426  type EphemeralInterface interface {
   427  }
   428  
   429  func EphemeralProtocol(i EphemeralInterface) rpc.Protocol {
   430  	return rpc.Protocol{
   431  		Name:    "keybase.1.ephemeral",
   432  		Methods: map[string]rpc.ServeHandlerDescription{},
   433  	}
   434  }
   435  
   436  type EphemeralClient struct {
   437  	Cli rpc.GenericClient
   438  }