github.com/keybase/client/go@v0.0.0-20240309051027-028f7c731f8b/protocol/keybase1/wot.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/wot.avdl 3 4 package keybase1 5 6 import ( 7 "fmt" 8 "github.com/keybase/go-framed-msgpack-rpc/rpc" 9 context "golang.org/x/net/context" 10 "time" 11 ) 12 13 type UsernameVerificationType string 14 15 func (o UsernameVerificationType) DeepCopy() UsernameVerificationType { 16 return o 17 } 18 19 type WotProof struct { 20 ProofType ProofType `codec:"proofType" json:"proof_type"` 21 Name string `codec:"name" json:"name,omitempty"` 22 Username string `codec:"username" json:"username,omitempty"` 23 Protocol string `codec:"protocol" json:"protocol,omitempty"` 24 Hostname string `codec:"hostname" json:"hostname,omitempty"` 25 Domain string `codec:"domain" json:"domain,omitempty"` 26 } 27 28 func (o WotProof) DeepCopy() WotProof { 29 return WotProof{ 30 ProofType: o.ProofType.DeepCopy(), 31 Name: o.Name, 32 Username: o.Username, 33 Protocol: o.Protocol, 34 Hostname: o.Hostname, 35 Domain: o.Domain, 36 } 37 } 38 39 type WotProofUI struct { 40 Type string `codec:"type" json:"type"` 41 Value string `codec:"value" json:"value"` 42 SiteIcon []SizedImage `codec:"siteIcon" json:"siteIcon"` 43 SiteIconDarkmode []SizedImage `codec:"siteIconDarkmode" json:"siteIconDarkmode"` 44 } 45 46 func (o WotProofUI) DeepCopy() WotProofUI { 47 return WotProofUI{ 48 Type: o.Type, 49 Value: o.Value, 50 SiteIcon: (func(x []SizedImage) []SizedImage { 51 if x == nil { 52 return nil 53 } 54 ret := make([]SizedImage, len(x)) 55 for i, v := range x { 56 vCopy := v.DeepCopy() 57 ret[i] = vCopy 58 } 59 return ret 60 })(o.SiteIcon), 61 SiteIconDarkmode: (func(x []SizedImage) []SizedImage { 62 if x == nil { 63 return nil 64 } 65 ret := make([]SizedImage, len(x)) 66 for i, v := range x { 67 vCopy := v.DeepCopy() 68 ret[i] = vCopy 69 } 70 return ret 71 })(o.SiteIconDarkmode), 72 } 73 } 74 75 type Confidence struct { 76 UsernameVerifiedVia UsernameVerificationType `codec:"usernameVerifiedVia" json:"username_verified_via,omitempty"` 77 Proofs []WotProof `codec:"proofs" json:"proofs,omitempty"` 78 Other string `codec:"other" json:"other,omitempty"` 79 } 80 81 func (o Confidence) DeepCopy() Confidence { 82 return Confidence{ 83 UsernameVerifiedVia: o.UsernameVerifiedVia.DeepCopy(), 84 Proofs: (func(x []WotProof) []WotProof { 85 if x == nil { 86 return nil 87 } 88 ret := make([]WotProof, len(x)) 89 for i, v := range x { 90 vCopy := v.DeepCopy() 91 ret[i] = vCopy 92 } 93 return ret 94 })(o.Proofs), 95 Other: o.Other, 96 } 97 } 98 99 type WotReactionType int 100 101 const ( 102 WotReactionType_REJECT WotReactionType = 0 103 WotReactionType_ACCEPT WotReactionType = 1 104 ) 105 106 func (o WotReactionType) DeepCopy() WotReactionType { return o } 107 108 var WotReactionTypeMap = map[string]WotReactionType{ 109 "REJECT": 0, 110 "ACCEPT": 1, 111 } 112 113 var WotReactionTypeRevMap = map[WotReactionType]string{ 114 0: "REJECT", 115 1: "ACCEPT", 116 } 117 118 func (e WotReactionType) String() string { 119 if v, ok := WotReactionTypeRevMap[e]; ok { 120 return v 121 } 122 return fmt.Sprintf("%v", int(e)) 123 } 124 125 type WotVouch struct { 126 Status WotStatusType `codec:"status" json:"status"` 127 VouchProof SigID `codec:"vouchProof" json:"vouchProof"` 128 Vouchee UserVersion `codec:"vouchee" json:"vouchee"` 129 VoucheeUsername string `codec:"voucheeUsername" json:"voucheeUsername"` 130 Voucher UserVersion `codec:"voucher" json:"voucher"` 131 VoucherUsername string `codec:"voucherUsername" json:"voucherUsername"` 132 VouchText string `codec:"vouchText" json:"vouchText"` 133 VouchedAt Time `codec:"vouchedAt" json:"vouchedAt"` 134 Confidence Confidence `codec:"confidence" json:"confidence"` 135 Proofs []WotProofUI `codec:"proofs" json:"proofs"` 136 } 137 138 func (o WotVouch) DeepCopy() WotVouch { 139 return WotVouch{ 140 Status: o.Status.DeepCopy(), 141 VouchProof: o.VouchProof.DeepCopy(), 142 Vouchee: o.Vouchee.DeepCopy(), 143 VoucheeUsername: o.VoucheeUsername, 144 Voucher: o.Voucher.DeepCopy(), 145 VoucherUsername: o.VoucherUsername, 146 VouchText: o.VouchText, 147 VouchedAt: o.VouchedAt.DeepCopy(), 148 Confidence: o.Confidence.DeepCopy(), 149 Proofs: (func(x []WotProofUI) []WotProofUI { 150 if x == nil { 151 return nil 152 } 153 ret := make([]WotProofUI, len(x)) 154 for i, v := range x { 155 vCopy := v.DeepCopy() 156 ret[i] = vCopy 157 } 158 return ret 159 })(o.Proofs), 160 } 161 } 162 163 type WotVouchArg struct { 164 SessionID int `codec:"sessionID" json:"sessionID"` 165 Username string `codec:"username" json:"username"` 166 GuiID Identify3GUIID `codec:"guiID" json:"guiID"` 167 VouchText string `codec:"vouchText" json:"vouchText"` 168 Confidence Confidence `codec:"confidence" json:"confidence"` 169 } 170 171 type WotVouchCLIArg struct { 172 SessionID int `codec:"sessionID" json:"sessionID"` 173 Assertion string `codec:"assertion" json:"assertion"` 174 VouchText string `codec:"vouchText" json:"vouchText"` 175 Confidence Confidence `codec:"confidence" json:"confidence"` 176 } 177 178 type WotReactArg struct { 179 SessionID int `codec:"sessionID" json:"sessionID"` 180 Voucher string `codec:"voucher" json:"voucher"` 181 SigID SigID `codec:"sigID" json:"sigID"` 182 Reaction WotReactionType `codec:"reaction" json:"reaction"` 183 AllowEmptySigID bool `codec:"allowEmptySigID" json:"allowEmptySigID"` 184 } 185 186 type DismissWotNotificationsArg struct { 187 SessionID int `codec:"sessionID" json:"sessionID"` 188 Voucher string `codec:"voucher" json:"voucher"` 189 Vouchee string `codec:"vouchee" json:"vouchee"` 190 } 191 192 type WotFetchVouchesArg struct { 193 SessionID int `codec:"sessionID" json:"sessionID"` 194 Vouchee string `codec:"vouchee" json:"vouchee"` 195 Voucher string `codec:"voucher" json:"voucher"` 196 } 197 198 type WotInterface interface { 199 WotVouch(context.Context, WotVouchArg) error 200 WotVouchCLI(context.Context, WotVouchCLIArg) error 201 WotReact(context.Context, WotReactArg) error 202 DismissWotNotifications(context.Context, DismissWotNotificationsArg) error 203 WotFetchVouches(context.Context, WotFetchVouchesArg) ([]WotVouch, error) 204 } 205 206 func WotProtocol(i WotInterface) rpc.Protocol { 207 return rpc.Protocol{ 208 Name: "keybase.1.wot", 209 Methods: map[string]rpc.ServeHandlerDescription{ 210 "wotVouch": { 211 MakeArg: func() interface{} { 212 var ret [1]WotVouchArg 213 return &ret 214 }, 215 Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { 216 typedArgs, ok := args.(*[1]WotVouchArg) 217 if !ok { 218 err = rpc.NewTypeError((*[1]WotVouchArg)(nil), args) 219 return 220 } 221 err = i.WotVouch(ctx, typedArgs[0]) 222 return 223 }, 224 }, 225 "wotVouchCLI": { 226 MakeArg: func() interface{} { 227 var ret [1]WotVouchCLIArg 228 return &ret 229 }, 230 Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { 231 typedArgs, ok := args.(*[1]WotVouchCLIArg) 232 if !ok { 233 err = rpc.NewTypeError((*[1]WotVouchCLIArg)(nil), args) 234 return 235 } 236 err = i.WotVouchCLI(ctx, typedArgs[0]) 237 return 238 }, 239 }, 240 "wotReact": { 241 MakeArg: func() interface{} { 242 var ret [1]WotReactArg 243 return &ret 244 }, 245 Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { 246 typedArgs, ok := args.(*[1]WotReactArg) 247 if !ok { 248 err = rpc.NewTypeError((*[1]WotReactArg)(nil), args) 249 return 250 } 251 err = i.WotReact(ctx, typedArgs[0]) 252 return 253 }, 254 }, 255 "dismissWotNotifications": { 256 MakeArg: func() interface{} { 257 var ret [1]DismissWotNotificationsArg 258 return &ret 259 }, 260 Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { 261 typedArgs, ok := args.(*[1]DismissWotNotificationsArg) 262 if !ok { 263 err = rpc.NewTypeError((*[1]DismissWotNotificationsArg)(nil), args) 264 return 265 } 266 err = i.DismissWotNotifications(ctx, typedArgs[0]) 267 return 268 }, 269 }, 270 "wotFetchVouches": { 271 MakeArg: func() interface{} { 272 var ret [1]WotFetchVouchesArg 273 return &ret 274 }, 275 Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) { 276 typedArgs, ok := args.(*[1]WotFetchVouchesArg) 277 if !ok { 278 err = rpc.NewTypeError((*[1]WotFetchVouchesArg)(nil), args) 279 return 280 } 281 ret, err = i.WotFetchVouches(ctx, typedArgs[0]) 282 return 283 }, 284 }, 285 }, 286 } 287 } 288 289 type WotClient struct { 290 Cli rpc.GenericClient 291 } 292 293 func (c WotClient) WotVouch(ctx context.Context, __arg WotVouchArg) (err error) { 294 err = c.Cli.Call(ctx, "keybase.1.wot.wotVouch", []interface{}{__arg}, nil, 0*time.Millisecond) 295 return 296 } 297 298 func (c WotClient) WotVouchCLI(ctx context.Context, __arg WotVouchCLIArg) (err error) { 299 err = c.Cli.Call(ctx, "keybase.1.wot.wotVouchCLI", []interface{}{__arg}, nil, 0*time.Millisecond) 300 return 301 } 302 303 func (c WotClient) WotReact(ctx context.Context, __arg WotReactArg) (err error) { 304 err = c.Cli.Call(ctx, "keybase.1.wot.wotReact", []interface{}{__arg}, nil, 0*time.Millisecond) 305 return 306 } 307 308 func (c WotClient) DismissWotNotifications(ctx context.Context, __arg DismissWotNotificationsArg) (err error) { 309 err = c.Cli.Call(ctx, "keybase.1.wot.dismissWotNotifications", []interface{}{__arg}, nil, 0*time.Millisecond) 310 return 311 } 312 313 func (c WotClient) WotFetchVouches(ctx context.Context, __arg WotFetchVouchesArg) (res []WotVouch, err error) { 314 err = c.Cli.Call(ctx, "keybase.1.wot.wotFetchVouches", []interface{}{__arg}, &res, 0*time.Millisecond) 315 return 316 }