github.com/keybase/client/go@v0.0.0-20241007131713-f10651d043c8/protocol/keybase1/kvstore.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/kvstore.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 KVGetResult struct { 13 TeamName string `codec:"teamName" json:"teamName"` 14 Namespace string `codec:"namespace" json:"namespace"` 15 EntryKey string `codec:"entryKey" json:"entryKey"` 16 EntryValue *string `codec:"entryValue" json:"entryValue"` 17 Revision int `codec:"revision" json:"revision"` 18 } 19 20 func (o KVGetResult) DeepCopy() KVGetResult { 21 return KVGetResult{ 22 TeamName: o.TeamName, 23 Namespace: o.Namespace, 24 EntryKey: o.EntryKey, 25 EntryValue: (func(x *string) *string { 26 if x == nil { 27 return nil 28 } 29 tmp := (*x) 30 return &tmp 31 })(o.EntryValue), 32 Revision: o.Revision, 33 } 34 } 35 36 type KVPutResult struct { 37 TeamName string `codec:"teamName" json:"teamName"` 38 Namespace string `codec:"namespace" json:"namespace"` 39 EntryKey string `codec:"entryKey" json:"entryKey"` 40 Revision int `codec:"revision" json:"revision"` 41 } 42 43 func (o KVPutResult) DeepCopy() KVPutResult { 44 return KVPutResult{ 45 TeamName: o.TeamName, 46 Namespace: o.Namespace, 47 EntryKey: o.EntryKey, 48 Revision: o.Revision, 49 } 50 } 51 52 type KVEntryID struct { 53 TeamID TeamID `codec:"teamID" json:"teamID"` 54 Namespace string `codec:"namespace" json:"namespace"` 55 EntryKey string `codec:"entryKey" json:"entryKey"` 56 } 57 58 func (o KVEntryID) DeepCopy() KVEntryID { 59 return KVEntryID{ 60 TeamID: o.TeamID.DeepCopy(), 61 Namespace: o.Namespace, 62 EntryKey: o.EntryKey, 63 } 64 } 65 66 type EncryptedKVEntry struct { 67 V int `codec:"v" json:"v"` 68 E []byte `codec:"e" json:"e"` 69 N []byte `codec:"n" json:"n"` 70 } 71 72 func (o EncryptedKVEntry) DeepCopy() EncryptedKVEntry { 73 return EncryptedKVEntry{ 74 V: o.V, 75 E: (func(x []byte) []byte { 76 if x == nil { 77 return nil 78 } 79 return append([]byte{}, x...) 80 })(o.E), 81 N: (func(x []byte) []byte { 82 if x == nil { 83 return nil 84 } 85 return append([]byte{}, x...) 86 })(o.N), 87 } 88 } 89 90 type KVListNamespaceResult struct { 91 TeamName string `codec:"teamName" json:"teamName"` 92 Namespaces []string `codec:"namespaces" json:"namespaces"` 93 } 94 95 func (o KVListNamespaceResult) DeepCopy() KVListNamespaceResult { 96 return KVListNamespaceResult{ 97 TeamName: o.TeamName, 98 Namespaces: (func(x []string) []string { 99 if x == nil { 100 return nil 101 } 102 ret := make([]string, len(x)) 103 for i, v := range x { 104 vCopy := v 105 ret[i] = vCopy 106 } 107 return ret 108 })(o.Namespaces), 109 } 110 } 111 112 type KVListEntryKey struct { 113 EntryKey string `codec:"entryKey" json:"entryKey"` 114 Revision int `codec:"revision" json:"revision"` 115 } 116 117 func (o KVListEntryKey) DeepCopy() KVListEntryKey { 118 return KVListEntryKey{ 119 EntryKey: o.EntryKey, 120 Revision: o.Revision, 121 } 122 } 123 124 type KVListEntryResult struct { 125 TeamName string `codec:"teamName" json:"teamName"` 126 Namespace string `codec:"namespace" json:"namespace"` 127 EntryKeys []KVListEntryKey `codec:"entryKeys" json:"entryKeys"` 128 } 129 130 func (o KVListEntryResult) DeepCopy() KVListEntryResult { 131 return KVListEntryResult{ 132 TeamName: o.TeamName, 133 Namespace: o.Namespace, 134 EntryKeys: (func(x []KVListEntryKey) []KVListEntryKey { 135 if x == nil { 136 return nil 137 } 138 ret := make([]KVListEntryKey, len(x)) 139 for i, v := range x { 140 vCopy := v.DeepCopy() 141 ret[i] = vCopy 142 } 143 return ret 144 })(o.EntryKeys), 145 } 146 } 147 148 type KVDeleteEntryResult struct { 149 TeamName string `codec:"teamName" json:"teamName"` 150 Namespace string `codec:"namespace" json:"namespace"` 151 EntryKey string `codec:"entryKey" json:"entryKey"` 152 Revision int `codec:"revision" json:"revision"` 153 } 154 155 func (o KVDeleteEntryResult) DeepCopy() KVDeleteEntryResult { 156 return KVDeleteEntryResult{ 157 TeamName: o.TeamName, 158 Namespace: o.Namespace, 159 EntryKey: o.EntryKey, 160 Revision: o.Revision, 161 } 162 } 163 164 type GetKVEntryArg struct { 165 SessionID int `codec:"sessionID" json:"sessionID"` 166 TeamName string `codec:"teamName" json:"teamName"` 167 Namespace string `codec:"namespace" json:"namespace"` 168 EntryKey string `codec:"entryKey" json:"entryKey"` 169 } 170 171 type PutKVEntryArg struct { 172 SessionID int `codec:"sessionID" json:"sessionID"` 173 TeamName string `codec:"teamName" json:"teamName"` 174 Namespace string `codec:"namespace" json:"namespace"` 175 EntryKey string `codec:"entryKey" json:"entryKey"` 176 Revision int `codec:"revision" json:"revision"` 177 EntryValue string `codec:"entryValue" json:"entryValue"` 178 } 179 180 type ListKVNamespacesArg struct { 181 SessionID int `codec:"sessionID" json:"sessionID"` 182 TeamName string `codec:"teamName" json:"teamName"` 183 } 184 185 type ListKVEntriesArg struct { 186 SessionID int `codec:"sessionID" json:"sessionID"` 187 TeamName string `codec:"teamName" json:"teamName"` 188 Namespace string `codec:"namespace" json:"namespace"` 189 } 190 191 type DelKVEntryArg struct { 192 SessionID int `codec:"sessionID" json:"sessionID"` 193 TeamName string `codec:"teamName" json:"teamName"` 194 Namespace string `codec:"namespace" json:"namespace"` 195 EntryKey string `codec:"entryKey" json:"entryKey"` 196 Revision int `codec:"revision" json:"revision"` 197 } 198 199 type KvstoreInterface interface { 200 GetKVEntry(context.Context, GetKVEntryArg) (KVGetResult, error) 201 PutKVEntry(context.Context, PutKVEntryArg) (KVPutResult, error) 202 ListKVNamespaces(context.Context, ListKVNamespacesArg) (KVListNamespaceResult, error) 203 ListKVEntries(context.Context, ListKVEntriesArg) (KVListEntryResult, error) 204 DelKVEntry(context.Context, DelKVEntryArg) (KVDeleteEntryResult, error) 205 } 206 207 func KvstoreProtocol(i KvstoreInterface) rpc.Protocol { 208 return rpc.Protocol{ 209 Name: "keybase.1.kvstore", 210 Methods: map[string]rpc.ServeHandlerDescription{ 211 "getKVEntry": { 212 MakeArg: func() interface{} { 213 var ret [1]GetKVEntryArg 214 return &ret 215 }, 216 Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { 217 typedArgs, ok := args.(*[1]GetKVEntryArg) 218 if !ok { 219 err = rpc.NewTypeError((*[1]GetKVEntryArg)(nil), args) 220 return 221 } 222 ret, err = i.GetKVEntry(ctx, typedArgs[0]) 223 return 224 }, 225 }, 226 "putKVEntry": { 227 MakeArg: func() interface{} { 228 var ret [1]PutKVEntryArg 229 return &ret 230 }, 231 Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { 232 typedArgs, ok := args.(*[1]PutKVEntryArg) 233 if !ok { 234 err = rpc.NewTypeError((*[1]PutKVEntryArg)(nil), args) 235 return 236 } 237 ret, err = i.PutKVEntry(ctx, typedArgs[0]) 238 return 239 }, 240 }, 241 "listKVNamespaces": { 242 MakeArg: func() interface{} { 243 var ret [1]ListKVNamespacesArg 244 return &ret 245 }, 246 Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { 247 typedArgs, ok := args.(*[1]ListKVNamespacesArg) 248 if !ok { 249 err = rpc.NewTypeError((*[1]ListKVNamespacesArg)(nil), args) 250 return 251 } 252 ret, err = i.ListKVNamespaces(ctx, typedArgs[0]) 253 return 254 }, 255 }, 256 "listKVEntries": { 257 MakeArg: func() interface{} { 258 var ret [1]ListKVEntriesArg 259 return &ret 260 }, 261 Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { 262 typedArgs, ok := args.(*[1]ListKVEntriesArg) 263 if !ok { 264 err = rpc.NewTypeError((*[1]ListKVEntriesArg)(nil), args) 265 return 266 } 267 ret, err = i.ListKVEntries(ctx, typedArgs[0]) 268 return 269 }, 270 }, 271 "delKVEntry": { 272 MakeArg: func() interface{} { 273 var ret [1]DelKVEntryArg 274 return &ret 275 }, 276 Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { 277 typedArgs, ok := args.(*[1]DelKVEntryArg) 278 if !ok { 279 err = rpc.NewTypeError((*[1]DelKVEntryArg)(nil), args) 280 return 281 } 282 ret, err = i.DelKVEntry(ctx, typedArgs[0]) 283 return 284 }, 285 }, 286 }, 287 } 288 } 289 290 type KvstoreClient struct { 291 Cli rpc.GenericClient 292 } 293 294 func (c KvstoreClient) GetKVEntry(ctx context.Context, __arg GetKVEntryArg) (res KVGetResult, err error) { 295 err = c.Cli.Call(ctx, "keybase.1.kvstore.getKVEntry", []interface{}{__arg}, &res, 0*time.Millisecond) 296 return 297 } 298 299 func (c KvstoreClient) PutKVEntry(ctx context.Context, __arg PutKVEntryArg) (res KVPutResult, err error) { 300 err = c.Cli.Call(ctx, "keybase.1.kvstore.putKVEntry", []interface{}{__arg}, &res, 0*time.Millisecond) 301 return 302 } 303 304 func (c KvstoreClient) ListKVNamespaces(ctx context.Context, __arg ListKVNamespacesArg) (res KVListNamespaceResult, err error) { 305 err = c.Cli.Call(ctx, "keybase.1.kvstore.listKVNamespaces", []interface{}{__arg}, &res, 0*time.Millisecond) 306 return 307 } 308 309 func (c KvstoreClient) ListKVEntries(ctx context.Context, __arg ListKVEntriesArg) (res KVListEntryResult, err error) { 310 err = c.Cli.Call(ctx, "keybase.1.kvstore.listKVEntries", []interface{}{__arg}, &res, 0*time.Millisecond) 311 return 312 } 313 314 func (c KvstoreClient) DelKVEntry(ctx context.Context, __arg DelKVEntryArg) (res KVDeleteEntryResult, err error) { 315 err = c.Cli.Call(ctx, "keybase.1.kvstore.delKVEntry", []interface{}{__arg}, &res, 0*time.Millisecond) 316 return 317 }