// Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler) // Input file: ../../../../../../client/protocol/avdl/keybase1/ephemeral.avdl package keybase1 import ( "errors" "fmt" ) type EkGeneration int64 func (o EkGeneration) DeepCopy() EkGeneration { return o } type DeviceEkMetadata struct { Kid KID `codec:"kid" json:"device_ephemeral_dh_public"` HashMeta HashMeta `codec:"hashMeta" json:"hash_meta"` Generation EkGeneration `codec:"generation" json:"generation"` Ctime Time `codec:"ctime" json:"ctime"` DeviceCtime Time `codec:"deviceCtime" json:"deviceCtime"` } func (o DeviceEkMetadata) DeepCopy() DeviceEkMetadata { return DeviceEkMetadata{ Kid: o.Kid.DeepCopy(), HashMeta: o.HashMeta.DeepCopy(), Generation: o.Generation.DeepCopy(), Ctime: o.Ctime.DeepCopy(), DeviceCtime: o.DeviceCtime.DeepCopy(), } } type DeviceEkStatement struct { CurrentDeviceEkMetadata DeviceEkMetadata `codec:"currentDeviceEkMetadata" json:"current_device_ek_metadata"` } func (o DeviceEkStatement) DeepCopy() DeviceEkStatement { return DeviceEkStatement{ CurrentDeviceEkMetadata: o.CurrentDeviceEkMetadata.DeepCopy(), } } type DeviceEk struct { Seed Bytes32 `codec:"seed" json:"seed"` Metadata DeviceEkMetadata `codec:"metadata" json:"metadata"` } func (o DeviceEk) DeepCopy() DeviceEk { return DeviceEk{ Seed: o.Seed.DeepCopy(), Metadata: o.Metadata.DeepCopy(), } } type UserEkStatement struct { CurrentUserEkMetadata UserEkMetadata `codec:"currentUserEkMetadata" json:"current_user_ek_metadata"` } func (o UserEkStatement) DeepCopy() UserEkStatement { return UserEkStatement{ CurrentUserEkMetadata: o.CurrentUserEkMetadata.DeepCopy(), } } type UserEkMetadata struct { Kid KID `codec:"kid" json:"user_ephemeral_dh_public"` HashMeta HashMeta `codec:"hashMeta" json:"hash_meta"` Generation EkGeneration `codec:"generation" json:"generation"` Ctime Time `codec:"ctime" json:"ctime"` } func (o UserEkMetadata) DeepCopy() UserEkMetadata { return UserEkMetadata{ Kid: o.Kid.DeepCopy(), HashMeta: o.HashMeta.DeepCopy(), Generation: o.Generation.DeepCopy(), Ctime: o.Ctime.DeepCopy(), } } type UserEkBoxed struct { Box string `codec:"box" json:"box"` DeviceEkGeneration EkGeneration `codec:"deviceEkGeneration" json:"device_ek_generation"` Metadata UserEkMetadata `codec:"metadata" json:"metadata"` } func (o UserEkBoxed) DeepCopy() UserEkBoxed { return UserEkBoxed{ Box: o.Box, DeviceEkGeneration: o.DeviceEkGeneration.DeepCopy(), Metadata: o.Metadata.DeepCopy(), } } type UserEkBoxMetadata struct { Box string `codec:"box" json:"box"` RecipientGeneration EkGeneration `codec:"recipientGeneration" json:"recipient_generation"` RecipientDeviceID DeviceID `codec:"recipientDeviceID" json:"recipient_device_id"` } func (o UserEkBoxMetadata) DeepCopy() UserEkBoxMetadata { return UserEkBoxMetadata{ Box: o.Box, RecipientGeneration: o.RecipientGeneration.DeepCopy(), RecipientDeviceID: o.RecipientDeviceID.DeepCopy(), } } type UserEk struct { Seed Bytes32 `codec:"seed" json:"seed"` Metadata UserEkMetadata `codec:"metadata" json:"metadata"` } func (o UserEk) DeepCopy() UserEk { return UserEk{ Seed: o.Seed.DeepCopy(), Metadata: o.Metadata.DeepCopy(), } } type UserEkReboxArg struct { UserEkBoxMetadata UserEkBoxMetadata `codec:"userEkBoxMetadata" json:"userEkBoxMetadata"` DeviceID DeviceID `codec:"deviceID" json:"deviceID"` DeviceEkStatementSig string `codec:"deviceEkStatementSig" json:"deviceEkStatementSig"` } func (o UserEkReboxArg) DeepCopy() UserEkReboxArg { return UserEkReboxArg{ UserEkBoxMetadata: o.UserEkBoxMetadata.DeepCopy(), DeviceID: o.DeviceID.DeepCopy(), DeviceEkStatementSig: o.DeviceEkStatementSig, } } type TeamEkMetadata struct { Kid KID `codec:"kid" json:"team_ephemeral_dh_public"` HashMeta HashMeta `codec:"hashMeta" json:"hash_meta"` Generation EkGeneration `codec:"generation" json:"generation"` Ctime Time `codec:"ctime" json:"ctime"` } func (o TeamEkMetadata) DeepCopy() TeamEkMetadata { return TeamEkMetadata{ Kid: o.Kid.DeepCopy(), HashMeta: o.HashMeta.DeepCopy(), Generation: o.Generation.DeepCopy(), Ctime: o.Ctime.DeepCopy(), } } type TeamEkStatement struct { CurrentTeamEkMetadata TeamEkMetadata `codec:"currentTeamEkMetadata" json:"current_team_ek_metadata"` } func (o TeamEkStatement) DeepCopy() TeamEkStatement { return TeamEkStatement{ CurrentTeamEkMetadata: o.CurrentTeamEkMetadata.DeepCopy(), } } type TeamEkBoxed struct { Box string `codec:"box" json:"box"` UserEkGeneration EkGeneration `codec:"userEkGeneration" json:"user_ek_generation"` Metadata TeamEkMetadata `codec:"metadata" json:"metadata"` } func (o TeamEkBoxed) DeepCopy() TeamEkBoxed { return TeamEkBoxed{ Box: o.Box, UserEkGeneration: o.UserEkGeneration.DeepCopy(), Metadata: o.Metadata.DeepCopy(), } } type TeamEkBoxMetadata struct { Box string `codec:"box" json:"box"` RecipientGeneration EkGeneration `codec:"recipientGeneration" json:"recipient_generation"` RecipientUID UID `codec:"recipientUID" json:"recipient_uid"` } func (o TeamEkBoxMetadata) DeepCopy() TeamEkBoxMetadata { return TeamEkBoxMetadata{ Box: o.Box, RecipientGeneration: o.RecipientGeneration.DeepCopy(), RecipientUID: o.RecipientUID.DeepCopy(), } } type TeamEk struct { Seed Bytes32 `codec:"seed" json:"seed"` Metadata TeamEkMetadata `codec:"metadata" json:"metadata"` } func (o TeamEk) DeepCopy() TeamEk { return TeamEk{ Seed: o.Seed.DeepCopy(), Metadata: o.Metadata.DeepCopy(), } } type TeambotEkMetadata struct { Kid KID `codec:"kid" json:"teambot_dh_public"` Generation EkGeneration `codec:"generation" json:"generation"` Uid UID `codec:"uid" json:"uid"` UserEkGeneration EkGeneration `codec:"userEkGeneration" json:"user_ek_generation"` HashMeta HashMeta `codec:"hashMeta" json:"hash_meta"` Ctime Time `codec:"ctime" json:"ctime"` } func (o TeambotEkMetadata) DeepCopy() TeambotEkMetadata { return TeambotEkMetadata{ Kid: o.Kid.DeepCopy(), Generation: o.Generation.DeepCopy(), Uid: o.Uid.DeepCopy(), UserEkGeneration: o.UserEkGeneration.DeepCopy(), HashMeta: o.HashMeta.DeepCopy(), Ctime: o.Ctime.DeepCopy(), } } type TeambotEkBoxed struct { Box string `codec:"box" json:"box"` Metadata TeambotEkMetadata `codec:"metadata" json:"metadata"` } func (o TeambotEkBoxed) DeepCopy() TeambotEkBoxed { return TeambotEkBoxed{ Box: o.Box, Metadata: o.Metadata.DeepCopy(), } } type TeambotEk struct { Seed Bytes32 `codec:"seed" json:"seed"` Metadata TeambotEkMetadata `codec:"metadata" json:"metadata"` } func (o TeambotEk) DeepCopy() TeambotEk { return TeambotEk{ Seed: o.Seed.DeepCopy(), Metadata: o.Metadata.DeepCopy(), } } type TeamEphemeralKeyType int const ( TeamEphemeralKeyType_TEAM TeamEphemeralKeyType = 0 TeamEphemeralKeyType_TEAMBOT TeamEphemeralKeyType = 1 ) func (o TeamEphemeralKeyType) DeepCopy() TeamEphemeralKeyType { return o } var TeamEphemeralKeyTypeMap = map[string]TeamEphemeralKeyType{ "TEAM": 0, "TEAMBOT": 1, } var TeamEphemeralKeyTypeRevMap = map[TeamEphemeralKeyType]string{ 0: "TEAM", 1: "TEAMBOT", } func (e TeamEphemeralKeyType) String() string { if v, ok := TeamEphemeralKeyTypeRevMap[e]; ok { return v } return fmt.Sprintf("%v", int(e)) } type TeamEphemeralKey struct { KeyType__ TeamEphemeralKeyType `codec:"keyType" json:"keyType"` Team__ *TeamEk `codec:"team,omitempty" json:"team,omitempty"` Teambot__ *TeambotEk `codec:"teambot,omitempty" json:"teambot,omitempty"` } func (o *TeamEphemeralKey) KeyType() (ret TeamEphemeralKeyType, err error) { switch o.KeyType__ { case TeamEphemeralKeyType_TEAM: if o.Team__ == nil { err = errors.New("unexpected nil value for Team__") return ret, err } case TeamEphemeralKeyType_TEAMBOT: if o.Teambot__ == nil { err = errors.New("unexpected nil value for Teambot__") return ret, err } } return o.KeyType__, nil } func (o TeamEphemeralKey) Team() (res TeamEk) { if o.KeyType__ != TeamEphemeralKeyType_TEAM { panic("wrong case accessed") } if o.Team__ == nil { return } return *o.Team__ } func (o TeamEphemeralKey) Teambot() (res TeambotEk) { if o.KeyType__ != TeamEphemeralKeyType_TEAMBOT { panic("wrong case accessed") } if o.Teambot__ == nil { return } return *o.Teambot__ } func NewTeamEphemeralKeyWithTeam(v TeamEk) TeamEphemeralKey { return TeamEphemeralKey{ KeyType__: TeamEphemeralKeyType_TEAM, Team__: &v, } } func NewTeamEphemeralKeyWithTeambot(v TeambotEk) TeamEphemeralKey { return TeamEphemeralKey{ KeyType__: TeamEphemeralKeyType_TEAMBOT, Teambot__: &v, } } func (o TeamEphemeralKey) DeepCopy() TeamEphemeralKey { return TeamEphemeralKey{ KeyType__: o.KeyType__.DeepCopy(), Team__: (func(x *TeamEk) *TeamEk { if x == nil { return nil } tmp := (*x).DeepCopy() return &tmp })(o.Team__), Teambot__: (func(x *TeambotEk) *TeambotEk { if x == nil { return nil } tmp := (*x).DeepCopy() return &tmp })(o.Teambot__), } } type TeamEphemeralKeyBoxed struct { KeyType__ TeamEphemeralKeyType `codec:"keyType" json:"keyType"` Team__ *TeamEkBoxed `codec:"team,omitempty" json:"team,omitempty"` Teambot__ *TeambotEkBoxed `codec:"teambot,omitempty" json:"teambot,omitempty"` } func (o *TeamEphemeralKeyBoxed) KeyType() (ret TeamEphemeralKeyType, err error) { switch o.KeyType__ { case TeamEphemeralKeyType_TEAM: if o.Team__ == nil { err = errors.New("unexpected nil value for Team__") return ret, err } case TeamEphemeralKeyType_TEAMBOT: if o.Teambot__ == nil { err = errors.New("unexpected nil value for Teambot__") return ret, err } } return o.KeyType__, nil } func (o TeamEphemeralKeyBoxed) Team() (res TeamEkBoxed) { if o.KeyType__ != TeamEphemeralKeyType_TEAM { panic("wrong case accessed") } if o.Team__ == nil { return } return *o.Team__ } func (o TeamEphemeralKeyBoxed) Teambot() (res TeambotEkBoxed) { if o.KeyType__ != TeamEphemeralKeyType_TEAMBOT { panic("wrong case accessed") } if o.Teambot__ == nil { return } return *o.Teambot__ } func NewTeamEphemeralKeyBoxedWithTeam(v TeamEkBoxed) TeamEphemeralKeyBoxed { return TeamEphemeralKeyBoxed{ KeyType__: TeamEphemeralKeyType_TEAM, Team__: &v, } } func NewTeamEphemeralKeyBoxedWithTeambot(v TeambotEkBoxed) TeamEphemeralKeyBoxed { return TeamEphemeralKeyBoxed{ KeyType__: TeamEphemeralKeyType_TEAMBOT, Teambot__: &v, } } func (o TeamEphemeralKeyBoxed) DeepCopy() TeamEphemeralKeyBoxed { return TeamEphemeralKeyBoxed{ KeyType__: o.KeyType__.DeepCopy(), Team__: (func(x *TeamEkBoxed) *TeamEkBoxed { if x == nil { return nil } tmp := (*x).DeepCopy() return &tmp })(o.Team__), Teambot__: (func(x *TeambotEkBoxed) *TeambotEkBoxed { if x == nil { return nil } tmp := (*x).DeepCopy() return &tmp })(o.Teambot__), } }