You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
627 lines
16 KiB
627 lines
16 KiB
5 years ago
|
// Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler)
|
||
|
// Input file: ../client/protocol/avdl/keybase1/upk.avdl
|
||
|
|
||
|
package keybase1
|
||
|
|
||
|
import (
|
||
|
"errors"
|
||
|
"fmt"
|
||
|
)
|
||
|
|
||
|
type KeyType int
|
||
|
|
||
|
const (
|
||
|
KeyType_NONE KeyType = 0
|
||
|
KeyType_NACL KeyType = 1
|
||
|
KeyType_PGP KeyType = 2
|
||
|
)
|
||
|
|
||
|
func (o KeyType) DeepCopy() KeyType { return o }
|
||
|
|
||
|
var KeyTypeMap = map[string]KeyType{
|
||
|
"NONE": 0,
|
||
|
"NACL": 1,
|
||
|
"PGP": 2,
|
||
|
}
|
||
|
|
||
|
var KeyTypeRevMap = map[KeyType]string{
|
||
|
0: "NONE",
|
||
|
1: "NACL",
|
||
|
2: "PGP",
|
||
|
}
|
||
|
|
||
|
func (e KeyType) String() string {
|
||
|
if v, ok := KeyTypeRevMap[e]; ok {
|
||
|
return v
|
||
|
}
|
||
|
return fmt.Sprintf("%v", int(e))
|
||
|
}
|
||
|
|
||
|
type UPK2MinorVersion int
|
||
|
|
||
|
const (
|
||
|
UPK2MinorVersion_V0 UPK2MinorVersion = 0
|
||
|
UPK2MinorVersion_V1 UPK2MinorVersion = 1
|
||
|
UPK2MinorVersion_V2 UPK2MinorVersion = 2
|
||
|
UPK2MinorVersion_V3 UPK2MinorVersion = 3
|
||
|
UPK2MinorVersion_V4 UPK2MinorVersion = 4
|
||
|
UPK2MinorVersion_V5 UPK2MinorVersion = 5
|
||
|
UPK2MinorVersion_V6 UPK2MinorVersion = 6
|
||
|
)
|
||
|
|
||
|
func (o UPK2MinorVersion) DeepCopy() UPK2MinorVersion { return o }
|
||
|
|
||
|
var UPK2MinorVersionMap = map[string]UPK2MinorVersion{
|
||
|
"V0": 0,
|
||
|
"V1": 1,
|
||
|
"V2": 2,
|
||
|
"V3": 3,
|
||
|
"V4": 4,
|
||
|
"V5": 5,
|
||
|
"V6": 6,
|
||
|
}
|
||
|
|
||
|
var UPK2MinorVersionRevMap = map[UPK2MinorVersion]string{
|
||
|
0: "V0",
|
||
|
1: "V1",
|
||
|
2: "V2",
|
||
|
3: "V3",
|
||
|
4: "V4",
|
||
|
5: "V5",
|
||
|
6: "V6",
|
||
|
}
|
||
|
|
||
|
func (e UPK2MinorVersion) String() string {
|
||
|
if v, ok := UPK2MinorVersionRevMap[e]; ok {
|
||
|
return v
|
||
|
}
|
||
|
return fmt.Sprintf("%v", int(e))
|
||
|
}
|
||
|
|
||
|
type MerkleRootV2 struct {
|
||
|
Seqno Seqno `codec:"seqno" json:"seqno"`
|
||
|
HashMeta HashMeta `codec:"hashMeta" json:"hashMeta"`
|
||
|
}
|
||
|
|
||
|
func (o MerkleRootV2) DeepCopy() MerkleRootV2 {
|
||
|
return MerkleRootV2{
|
||
|
Seqno: o.Seqno.DeepCopy(),
|
||
|
HashMeta: o.HashMeta.DeepCopy(),
|
||
|
}
|
||
|
}
|
||
|
|
||
|
type SigChainLocation struct {
|
||
|
Seqno Seqno `codec:"seqno" json:"seqno"`
|
||
|
SeqType SeqType `codec:"seqType" json:"seqType"`
|
||
|
}
|
||
|
|
||
|
func (o SigChainLocation) DeepCopy() SigChainLocation {
|
||
|
return SigChainLocation{
|
||
|
Seqno: o.Seqno.DeepCopy(),
|
||
|
SeqType: o.SeqType.DeepCopy(),
|
||
|
}
|
||
|
}
|
||
|
|
||
|
type MerkleTreeLocation struct {
|
||
|
Leaf UserOrTeamID `codec:"leaf" json:"leaf"`
|
||
|
Loc SigChainLocation `codec:"loc" json:"loc"`
|
||
|
}
|
||
|
|
||
|
func (o MerkleTreeLocation) DeepCopy() MerkleTreeLocation {
|
||
|
return MerkleTreeLocation{
|
||
|
Leaf: o.Leaf.DeepCopy(),
|
||
|
Loc: o.Loc.DeepCopy(),
|
||
|
}
|
||
|
}
|
||
|
|
||
|
type SignatureMetadata struct {
|
||
|
SigningKID KID `codec:"signingKID" json:"signingKID"`
|
||
|
PrevMerkleRootSigned MerkleRootV2 `codec:"prevMerkleRootSigned" json:"prevMerkleRootSigned"`
|
||
|
FirstAppearedUnverified Seqno `codec:"firstAppearedUnverified" json:"firstAppearedUnverified"`
|
||
|
Time Time `codec:"time" json:"time"`
|
||
|
SigChainLocation SigChainLocation `codec:"sigChainLocation" json:"sigChainLocation"`
|
||
|
}
|
||
|
|
||
|
func (o SignatureMetadata) DeepCopy() SignatureMetadata {
|
||
|
return SignatureMetadata{
|
||
|
SigningKID: o.SigningKID.DeepCopy(),
|
||
|
PrevMerkleRootSigned: o.PrevMerkleRootSigned.DeepCopy(),
|
||
|
FirstAppearedUnverified: o.FirstAppearedUnverified.DeepCopy(),
|
||
|
Time: o.Time.DeepCopy(),
|
||
|
SigChainLocation: o.SigChainLocation.DeepCopy(),
|
||
|
}
|
||
|
}
|
||
|
|
||
|
type PublicKeyV2Base struct {
|
||
|
Kid KID `codec:"kid" json:"kid"`
|
||
|
IsSibkey bool `codec:"isSibkey" json:"isSibkey"`
|
||
|
IsEldest bool `codec:"isEldest" json:"isEldest"`
|
||
|
CTime Time `codec:"cTime" json:"cTime"`
|
||
|
ETime Time `codec:"eTime" json:"eTime"`
|
||
|
Provisioning SignatureMetadata `codec:"provisioning" json:"provisioning"`
|
||
|
Revocation *SignatureMetadata `codec:"revocation,omitempty" json:"revocation,omitempty"`
|
||
|
}
|
||
|
|
||
|
func (o PublicKeyV2Base) DeepCopy() PublicKeyV2Base {
|
||
|
return PublicKeyV2Base{
|
||
|
Kid: o.Kid.DeepCopy(),
|
||
|
IsSibkey: o.IsSibkey,
|
||
|
IsEldest: o.IsEldest,
|
||
|
CTime: o.CTime.DeepCopy(),
|
||
|
ETime: o.ETime.DeepCopy(),
|
||
|
Provisioning: o.Provisioning.DeepCopy(),
|
||
|
Revocation: (func(x *SignatureMetadata) *SignatureMetadata {
|
||
|
if x == nil {
|
||
|
return nil
|
||
|
}
|
||
|
tmp := (*x).DeepCopy()
|
||
|
return &tmp
|
||
|
})(o.Revocation),
|
||
|
}
|
||
|
}
|
||
|
|
||
|
type PublicKeyV2NaCl struct {
|
||
|
Base PublicKeyV2Base `codec:"base" json:"base"`
|
||
|
Parent *KID `codec:"parent,omitempty" json:"parent,omitempty"`
|
||
|
DeviceID DeviceID `codec:"deviceID" json:"deviceID"`
|
||
|
DeviceDescription string `codec:"deviceDescription" json:"deviceDescription"`
|
||
|
DeviceType string `codec:"deviceType" json:"deviceType"`
|
||
|
}
|
||
|
|
||
|
func (o PublicKeyV2NaCl) DeepCopy() PublicKeyV2NaCl {
|
||
|
return PublicKeyV2NaCl{
|
||
|
Base: o.Base.DeepCopy(),
|
||
|
Parent: (func(x *KID) *KID {
|
||
|
if x == nil {
|
||
|
return nil
|
||
|
}
|
||
|
tmp := (*x).DeepCopy()
|
||
|
return &tmp
|
||
|
})(o.Parent),
|
||
|
DeviceID: o.DeviceID.DeepCopy(),
|
||
|
DeviceDescription: o.DeviceDescription,
|
||
|
DeviceType: o.DeviceType,
|
||
|
}
|
||
|
}
|
||
|
|
||
|
type PGPFingerprint [20]byte
|
||
|
|
||
|
func (o PGPFingerprint) DeepCopy() PGPFingerprint {
|
||
|
var ret PGPFingerprint
|
||
|
copy(ret[:], o[:])
|
||
|
return ret
|
||
|
}
|
||
|
|
||
|
type PublicKeyV2PGPSummary struct {
|
||
|
Base PublicKeyV2Base `codec:"base" json:"base"`
|
||
|
Fingerprint PGPFingerprint `codec:"fingerprint" json:"fingerprint"`
|
||
|
Identities []PGPIdentity `codec:"identities" json:"identities"`
|
||
|
}
|
||
|
|
||
|
func (o PublicKeyV2PGPSummary) DeepCopy() PublicKeyV2PGPSummary {
|
||
|
return PublicKeyV2PGPSummary{
|
||
|
Base: o.Base.DeepCopy(),
|
||
|
Fingerprint: o.Fingerprint.DeepCopy(),
|
||
|
Identities: (func(x []PGPIdentity) []PGPIdentity {
|
||
|
if x == nil {
|
||
|
return nil
|
||
|
}
|
||
|
ret := make([]PGPIdentity, len(x))
|
||
|
for i, v := range x {
|
||
|
vCopy := v.DeepCopy()
|
||
|
ret[i] = vCopy
|
||
|
}
|
||
|
return ret
|
||
|
})(o.Identities),
|
||
|
}
|
||
|
}
|
||
|
|
||
|
type PublicKeyV2 struct {
|
||
|
KeyType__ KeyType `codec:"keyType" json:"keyType"`
|
||
|
Nacl__ *PublicKeyV2NaCl `codec:"nacl,omitempty" json:"nacl,omitempty"`
|
||
|
PGP__ *PublicKeyV2PGPSummary `codec:"pgp,omitempty" json:"pgp,omitempty"`
|
||
|
}
|
||
|
|
||
|
func (o *PublicKeyV2) KeyType() (ret KeyType, err error) {
|
||
|
switch o.KeyType__ {
|
||
|
case KeyType_NACL:
|
||
|
if o.Nacl__ == nil {
|
||
|
err = errors.New("unexpected nil value for Nacl__")
|
||
|
return ret, err
|
||
|
}
|
||
|
case KeyType_PGP:
|
||
|
if o.PGP__ == nil {
|
||
|
err = errors.New("unexpected nil value for PGP__")
|
||
|
return ret, err
|
||
|
}
|
||
|
}
|
||
|
return o.KeyType__, nil
|
||
|
}
|
||
|
|
||
|
func (o PublicKeyV2) Nacl() (res PublicKeyV2NaCl) {
|
||
|
if o.KeyType__ != KeyType_NACL {
|
||
|
panic("wrong case accessed")
|
||
|
}
|
||
|
if o.Nacl__ == nil {
|
||
|
return
|
||
|
}
|
||
|
return *o.Nacl__
|
||
|
}
|
||
|
|
||
|
func (o PublicKeyV2) Pgp() (res PublicKeyV2PGPSummary) {
|
||
|
if o.KeyType__ != KeyType_PGP {
|
||
|
panic("wrong case accessed")
|
||
|
}
|
||
|
if o.PGP__ == nil {
|
||
|
return
|
||
|
}
|
||
|
return *o.PGP__
|
||
|
}
|
||
|
|
||
|
func NewPublicKeyV2WithNacl(v PublicKeyV2NaCl) PublicKeyV2 {
|
||
|
return PublicKeyV2{
|
||
|
KeyType__: KeyType_NACL,
|
||
|
Nacl__: &v,
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func NewPublicKeyV2WithPgp(v PublicKeyV2PGPSummary) PublicKeyV2 {
|
||
|
return PublicKeyV2{
|
||
|
KeyType__: KeyType_PGP,
|
||
|
PGP__: &v,
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func NewPublicKeyV2Default(keyType KeyType) PublicKeyV2 {
|
||
|
return PublicKeyV2{
|
||
|
KeyType__: keyType,
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func (o PublicKeyV2) DeepCopy() PublicKeyV2 {
|
||
|
return PublicKeyV2{
|
||
|
KeyType__: o.KeyType__.DeepCopy(),
|
||
|
Nacl__: (func(x *PublicKeyV2NaCl) *PublicKeyV2NaCl {
|
||
|
if x == nil {
|
||
|
return nil
|
||
|
}
|
||
|
tmp := (*x).DeepCopy()
|
||
|
return &tmp
|
||
|
})(o.Nacl__),
|
||
|
PGP__: (func(x *PublicKeyV2PGPSummary) *PublicKeyV2PGPSummary {
|
||
|
if x == nil {
|
||
|
return nil
|
||
|
}
|
||
|
tmp := (*x).DeepCopy()
|
||
|
return &tmp
|
||
|
})(o.PGP__),
|
||
|
}
|
||
|
}
|
||
|
|
||
|
type UserPlusKeysV2 struct {
|
||
|
Uid UID `codec:"uid" json:"uid"`
|
||
|
Username string `codec:"username" json:"username"`
|
||
|
EldestSeqno Seqno `codec:"eldestSeqno" json:"eldestSeqno"`
|
||
|
Status StatusCode `codec:"status" json:"status"`
|
||
|
PerUserKeys []PerUserKey `codec:"perUserKeys" json:"perUserKeys"`
|
||
|
DeviceKeys map[KID]PublicKeyV2NaCl `codec:"deviceKeys" json:"deviceKeys"`
|
||
|
PGPKeys map[KID]PublicKeyV2PGPSummary `codec:"pgpKeys" json:"pgpKeys"`
|
||
|
StellarAccountID *string `codec:"stellarAccountID,omitempty" json:"stellarAccountID,omitempty"`
|
||
|
RemoteTracks map[UID]RemoteTrack `codec:"remoteTracks" json:"remoteTracks"`
|
||
|
Reset *ResetSummary `codec:"reset,omitempty" json:"reset,omitempty"`
|
||
|
Unstubbed bool `codec:"unstubbed" json:"unstubbed"`
|
||
|
}
|
||
|
|
||
|
func (o UserPlusKeysV2) DeepCopy() UserPlusKeysV2 {
|
||
|
return UserPlusKeysV2{
|
||
|
Uid: o.Uid.DeepCopy(),
|
||
|
Username: o.Username,
|
||
|
EldestSeqno: o.EldestSeqno.DeepCopy(),
|
||
|
Status: o.Status.DeepCopy(),
|
||
|
PerUserKeys: (func(x []PerUserKey) []PerUserKey {
|
||
|
if x == nil {
|
||
|
return nil
|
||
|
}
|
||
|
ret := make([]PerUserKey, len(x))
|
||
|
for i, v := range x {
|
||
|
vCopy := v.DeepCopy()
|
||
|
ret[i] = vCopy
|
||
|
}
|
||
|
return ret
|
||
|
})(o.PerUserKeys),
|
||
|
DeviceKeys: (func(x map[KID]PublicKeyV2NaCl) map[KID]PublicKeyV2NaCl {
|
||
|
if x == nil {
|
||
|
return nil
|
||
|
}
|
||
|
ret := make(map[KID]PublicKeyV2NaCl, len(x))
|
||
|
for k, v := range x {
|
||
|
kCopy := k.DeepCopy()
|
||
|
vCopy := v.DeepCopy()
|
||
|
ret[kCopy] = vCopy
|
||
|
}
|
||
|
return ret
|
||
|
})(o.DeviceKeys),
|
||
|
PGPKeys: (func(x map[KID]PublicKeyV2PGPSummary) map[KID]PublicKeyV2PGPSummary {
|
||
|
if x == nil {
|
||
|
return nil
|
||
|
}
|
||
|
ret := make(map[KID]PublicKeyV2PGPSummary, len(x))
|
||
|
for k, v := range x {
|
||
|
kCopy := k.DeepCopy()
|
||
|
vCopy := v.DeepCopy()
|
||
|
ret[kCopy] = vCopy
|
||
|
}
|
||
|
return ret
|
||
|
})(o.PGPKeys),
|
||
|
StellarAccountID: (func(x *string) *string {
|
||
|
if x == nil {
|
||
|
return nil
|
||
|
}
|
||
|
tmp := (*x)
|
||
|
return &tmp
|
||
|
})(o.StellarAccountID),
|
||
|
RemoteTracks: (func(x map[UID]RemoteTrack) map[UID]RemoteTrack {
|
||
|
if x == nil {
|
||
|
return nil
|
||
|
}
|
||
|
ret := make(map[UID]RemoteTrack, len(x))
|
||
|
for k, v := range x {
|
||
|
kCopy := k.DeepCopy()
|
||
|
vCopy := v.DeepCopy()
|
||
|
ret[kCopy] = vCopy
|
||
|
}
|
||
|
return ret
|
||
|
})(o.RemoteTracks),
|
||
|
Reset: (func(x *ResetSummary) *ResetSummary {
|
||
|
if x == nil {
|
||
|
return nil
|
||
|
}
|
||
|
tmp := (*x).DeepCopy()
|
||
|
return &tmp
|
||
|
})(o.Reset),
|
||
|
Unstubbed: o.Unstubbed,
|
||
|
}
|
||
|
}
|
||
|
|
||
|
type UserPlusKeysV2AllIncarnations struct {
|
||
|
Current UserPlusKeysV2 `codec:"current" json:"current"`
|
||
|
PastIncarnations []UserPlusKeysV2 `codec:"pastIncarnations" json:"pastIncarnations"`
|
||
|
Uvv UserVersionVector `codec:"uvv" json:"uvv"`
|
||
|
SeqnoLinkIDs map[Seqno]LinkID `codec:"seqnoLinkIDs" json:"seqnoLinkIDs"`
|
||
|
MinorVersion UPK2MinorVersion `codec:"minorVersion" json:"minorVersion"`
|
||
|
Stale bool `codec:"stale" json:"stale"`
|
||
|
}
|
||
|
|
||
|
func (o UserPlusKeysV2AllIncarnations) DeepCopy() UserPlusKeysV2AllIncarnations {
|
||
|
return UserPlusKeysV2AllIncarnations{
|
||
|
Current: o.Current.DeepCopy(),
|
||
|
PastIncarnations: (func(x []UserPlusKeysV2) []UserPlusKeysV2 {
|
||
|
if x == nil {
|
||
|
return nil
|
||
|
}
|
||
|
ret := make([]UserPlusKeysV2, len(x))
|
||
|
for i, v := range x {
|
||
|
vCopy := v.DeepCopy()
|
||
|
ret[i] = vCopy
|
||
|
}
|
||
|
return ret
|
||
|
})(o.PastIncarnations),
|
||
|
Uvv: o.Uvv.DeepCopy(),
|
||
|
SeqnoLinkIDs: (func(x map[Seqno]LinkID) map[Seqno]LinkID {
|
||
|
if x == nil {
|
||
|
return nil
|
||
|
}
|
||
|
ret := make(map[Seqno]LinkID, len(x))
|
||
|
for k, v := range x {
|
||
|
kCopy := k.DeepCopy()
|
||
|
vCopy := v.DeepCopy()
|
||
|
ret[kCopy] = vCopy
|
||
|
}
|
||
|
return ret
|
||
|
})(o.SeqnoLinkIDs),
|
||
|
MinorVersion: o.MinorVersion.DeepCopy(),
|
||
|
Stale: o.Stale,
|
||
|
}
|
||
|
}
|
||
|
|
||
|
type UPAKVersion int
|
||
|
|
||
|
const (
|
||
|
UPAKVersion_V1 UPAKVersion = 1
|
||
|
UPAKVersion_V2 UPAKVersion = 2
|
||
|
)
|
||
|
|
||
|
func (o UPAKVersion) DeepCopy() UPAKVersion { return o }
|
||
|
|
||
|
var UPAKVersionMap = map[string]UPAKVersion{
|
||
|
"V1": 1,
|
||
|
"V2": 2,
|
||
|
}
|
||
|
|
||
|
var UPAKVersionRevMap = map[UPAKVersion]string{
|
||
|
1: "V1",
|
||
|
2: "V2",
|
||
|
}
|
||
|
|
||
|
func (e UPAKVersion) String() string {
|
||
|
if v, ok := UPAKVersionRevMap[e]; ok {
|
||
|
return v
|
||
|
}
|
||
|
return fmt.Sprintf("%v", int(e))
|
||
|
}
|
||
|
|
||
|
// * What we're storing for each user. At first it was UPAKs, as defined
|
||
|
// * in common.avdl. But going forward, we're going to use UserPlusKeysV2AllIncarnations.
|
||
|
type UPAKVersioned struct {
|
||
|
V__ UPAKVersion `codec:"v" json:"v"`
|
||
|
V1__ *UserPlusAllKeys `codec:"v1,omitempty" json:"v1,omitempty"`
|
||
|
V2__ *UserPlusKeysV2AllIncarnations `codec:"v2,omitempty" json:"v2,omitempty"`
|
||
|
}
|
||
|
|
||
|
func (o *UPAKVersioned) V() (ret UPAKVersion, err error) {
|
||
|
switch o.V__ {
|
||
|
case UPAKVersion_V1:
|
||
|
if o.V1__ == nil {
|
||
|
err = errors.New("unexpected nil value for V1__")
|
||
|
return ret, err
|
||
|
}
|
||
|
case UPAKVersion_V2:
|
||
|
if o.V2__ == nil {
|
||
|
err = errors.New("unexpected nil value for V2__")
|
||
|
return ret, err
|
||
|
}
|
||
|
}
|
||
|
return o.V__, nil
|
||
|
}
|
||
|
|
||
|
func (o UPAKVersioned) V1() (res UserPlusAllKeys) {
|
||
|
if o.V__ != UPAKVersion_V1 {
|
||
|
panic("wrong case accessed")
|
||
|
}
|
||
|
if o.V1__ == nil {
|
||
|
return
|
||
|
}
|
||
|
return *o.V1__
|
||
|
}
|
||
|
|
||
|
func (o UPAKVersioned) V2() (res UserPlusKeysV2AllIncarnations) {
|
||
|
if o.V__ != UPAKVersion_V2 {
|
||
|
panic("wrong case accessed")
|
||
|
}
|
||
|
if o.V2__ == nil {
|
||
|
return
|
||
|
}
|
||
|
return *o.V2__
|
||
|
}
|
||
|
|
||
|
func NewUPAKVersionedWithV1(v UserPlusAllKeys) UPAKVersioned {
|
||
|
return UPAKVersioned{
|
||
|
V__: UPAKVersion_V1,
|
||
|
V1__: &v,
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func NewUPAKVersionedWithV2(v UserPlusKeysV2AllIncarnations) UPAKVersioned {
|
||
|
return UPAKVersioned{
|
||
|
V__: UPAKVersion_V2,
|
||
|
V2__: &v,
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func (o UPAKVersioned) DeepCopy() UPAKVersioned {
|
||
|
return UPAKVersioned{
|
||
|
V__: o.V__.DeepCopy(),
|
||
|
V1__: (func(x *UserPlusAllKeys) *UserPlusAllKeys {
|
||
|
if x == nil {
|
||
|
return nil
|
||
|
}
|
||
|
tmp := (*x).DeepCopy()
|
||
|
return &tmp
|
||
|
})(o.V1__),
|
||
|
V2__: (func(x *UserPlusKeysV2AllIncarnations) *UserPlusKeysV2AllIncarnations {
|
||
|
if x == nil {
|
||
|
return nil
|
||
|
}
|
||
|
tmp := (*x).DeepCopy()
|
||
|
return &tmp
|
||
|
})(o.V2__),
|
||
|
}
|
||
|
}
|
||
|
|
||
|
type UPKLiteMinorVersion int
|
||
|
|
||
|
const (
|
||
|
UPKLiteMinorVersion_V0 UPKLiteMinorVersion = 0
|
||
|
)
|
||
|
|
||
|
func (o UPKLiteMinorVersion) DeepCopy() UPKLiteMinorVersion { return o }
|
||
|
|
||
|
var UPKLiteMinorVersionMap = map[string]UPKLiteMinorVersion{
|
||
|
"V0": 0,
|
||
|
}
|
||
|
|
||
|
var UPKLiteMinorVersionRevMap = map[UPKLiteMinorVersion]string{
|
||
|
0: "V0",
|
||
|
}
|
||
|
|
||
|
func (e UPKLiteMinorVersion) String() string {
|
||
|
if v, ok := UPKLiteMinorVersionRevMap[e]; ok {
|
||
|
return v
|
||
|
}
|
||
|
return fmt.Sprintf("%v", int(e))
|
||
|
}
|
||
|
|
||
|
type UPKLiteV1 struct {
|
||
|
Uid UID `codec:"uid" json:"uid"`
|
||
|
Username string `codec:"username" json:"username"`
|
||
|
EldestSeqno Seqno `codec:"eldestSeqno" json:"eldestSeqno"`
|
||
|
Status StatusCode `codec:"status" json:"status"`
|
||
|
DeviceKeys map[KID]PublicKeyV2NaCl `codec:"deviceKeys" json:"deviceKeys"`
|
||
|
Reset *ResetSummary `codec:"reset,omitempty" json:"reset,omitempty"`
|
||
|
}
|
||
|
|
||
|
func (o UPKLiteV1) DeepCopy() UPKLiteV1 {
|
||
|
return UPKLiteV1{
|
||
|
Uid: o.Uid.DeepCopy(),
|
||
|
Username: o.Username,
|
||
|
EldestSeqno: o.EldestSeqno.DeepCopy(),
|
||
|
Status: o.Status.DeepCopy(),
|
||
|
DeviceKeys: (func(x map[KID]PublicKeyV2NaCl) map[KID]PublicKeyV2NaCl {
|
||
|
if x == nil {
|
||
|
return nil
|
||
|
}
|
||
|
ret := make(map[KID]PublicKeyV2NaCl, len(x))
|
||
|
for k, v := range x {
|
||
|
kCopy := k.DeepCopy()
|
||
|
vCopy := v.DeepCopy()
|
||
|
ret[kCopy] = vCopy
|
||
|
}
|
||
|
return ret
|
||
|
})(o.DeviceKeys),
|
||
|
Reset: (func(x *ResetSummary) *ResetSummary {
|
||
|
if x == nil {
|
||
|
return nil
|
||
|
}
|
||
|
tmp := (*x).DeepCopy()
|
||
|
return &tmp
|
||
|
})(o.Reset),
|
||
|
}
|
||
|
}
|
||
|
|
||
|
type UPKLiteV1AllIncarnations struct {
|
||
|
Current UPKLiteV1 `codec:"current" json:"current"`
|
||
|
PastIncarnations []UPKLiteV1 `codec:"pastIncarnations" json:"pastIncarnations"`
|
||
|
SeqnoLinkIDs map[Seqno]LinkID `codec:"seqnoLinkIDs" json:"seqnoLinkIDs"`
|
||
|
MinorVersion UPKLiteMinorVersion `codec:"minorVersion" json:"minorVersion"`
|
||
|
}
|
||
|
|
||
|
func (o UPKLiteV1AllIncarnations) DeepCopy() UPKLiteV1AllIncarnations {
|
||
|
return UPKLiteV1AllIncarnations{
|
||
|
Current: o.Current.DeepCopy(),
|
||
|
PastIncarnations: (func(x []UPKLiteV1) []UPKLiteV1 {
|
||
|
if x == nil {
|
||
|
return nil
|
||
|
}
|
||
|
ret := make([]UPKLiteV1, len(x))
|
||
|
for i, v := range x {
|
||
|
vCopy := v.DeepCopy()
|
||
|
ret[i] = vCopy
|
||
|
}
|
||
|
return ret
|
||
|
})(o.PastIncarnations),
|
||
|
SeqnoLinkIDs: (func(x map[Seqno]LinkID) map[Seqno]LinkID {
|
||
|
if x == nil {
|
||
|
return nil
|
||
|
}
|
||
|
ret := make(map[Seqno]LinkID, len(x))
|
||
|
for k, v := range x {
|
||
|
kCopy := k.DeepCopy()
|
||
|
vCopy := v.DeepCopy()
|
||
|
ret[kCopy] = vCopy
|
||
|
}
|
||
|
return ret
|
||
|
})(o.SeqnoLinkIDs),
|
||
|
MinorVersion: o.MinorVersion.DeepCopy(),
|
||
|
}
|
||
|
}
|