1// Copyright 2015 Keybase, Inc. All rights reserved. Use of 2// this source code is governed by the included BSD license. 3 4package engine 5 6import ( 7 "github.com/keybase/client/go/libkb" 8 keybase1 "github.com/keybase/client/go/protocol/keybase1" 9) 10 11type ProfileEdit struct { 12 libkb.Contextified 13 arg keybase1.ProfileEditArg 14} 15 16func NewProfileEdit(g *libkb.GlobalContext, arg keybase1.ProfileEditArg) *ProfileEdit { 17 return &ProfileEdit{ 18 Contextified: libkb.NewContextified(g), 19 arg: arg, 20 } 21} 22 23func (e *ProfileEdit) Run(m libkb.MetaContext) (err error) { 24 defer m.Trace("ProfileEdit#Run", &err)() 25 _, err = m.G().API.Post(m, libkb.APIArg{ 26 Endpoint: "profile-edit", 27 SessionType: libkb.APISessionTypeREQUIRED, 28 Args: libkb.HTTPArgs{ 29 "bio": libkb.S{Val: e.arg.Bio}, 30 "full_name": libkb.S{Val: e.arg.FullName}, 31 "location": libkb.S{Val: e.arg.Location}, 32 }, 33 }) 34 if err != nil { 35 return err 36 } 37 u := m.G().ActiveDevice.UID() 38 m.Debug("Clearing Card cache for %s", u) 39 _ = e.G().CardCache().Delete(u) 40 _ = e.G().UIDMapper.ClearUIDFullName(m.Ctx(), m.G(), u) 41 return nil 42} 43 44// Name is the unique engine name. 45func (e *ProfileEdit) Name() string { 46 return "ProfileEdit" 47} 48 49// GetPrereqs returns the engine prereqs (none). 50func (e *ProfileEdit) Prereqs() Prereqs { 51 return Prereqs{} 52} 53 54func (e *ProfileEdit) RequiredUIs() []libkb.UIKind { 55 return nil 56} 57 58func (e *ProfileEdit) SubConsumers() []libkb.UIConsumer { 59 return nil 60} 61