github.com/keybase/client/go@v0.0.0-20240520164431-4f512a4c85a3/client/cmd_fake_following_changed.go (about)

     1  // Copyright 2015 Keybase, Inc. All rights reserved. Use of
     2  // this source code is governed by the included BSD license.
     3  
     4  package client
     5  
     6  import (
     7  	"fmt"
     8  	"github.com/keybase/cli"
     9  	"github.com/keybase/client/go/libcmdline"
    10  	"github.com/keybase/client/go/libkb"
    11  	keybase1 "github.com/keybase/client/go/protocol/keybase1"
    12  	"github.com/keybase/go-framed-msgpack-rpc/rpc"
    13  	"golang.org/x/net/context"
    14  )
    15  
    16  type CmdFakeTrackingChanged struct {
    17  	libkb.Contextified
    18  	arg keybase1.FakeTrackingChangedArg
    19  }
    20  
    21  func (c *CmdFakeTrackingChanged) ParseArgv(ctx *cli.Context) error {
    22  	if len(ctx.Args()) != 1 {
    23  		return fmt.Errorf("Must provide exactly one username.")
    24  	}
    25  	c.arg.Username = ctx.Args()[0]
    26  	return nil
    27  }
    28  
    29  func (c *CmdFakeTrackingChanged) Run() (err error) {
    30  	cli, err := GetTrackClient(c.G())
    31  	if err != nil {
    32  		return err
    33  	}
    34  
    35  	protocols := []rpc.Protocol{}
    36  	if err = RegisterProtocolsWithContext(protocols, c.G()); err != nil {
    37  		return err
    38  	}
    39  
    40  	err = cli.FakeTrackingChanged(context.TODO(), c.arg)
    41  	if err != nil {
    42  		return err
    43  	}
    44  	return nil
    45  }
    46  
    47  func NewCmdFakeTrackingChanged(cl *libcmdline.CommandLine, g *libkb.GlobalContext) cli.Command {
    48  	return cli.Command{
    49  		Name:  "fake-following-changed",
    50  		Flags: []cli.Flag{},
    51  		Action: func(c *cli.Context) {
    52  			cl.ChooseCommand(NewCmdFakeTrackingChangedRunner(g), "fake-following-changed", c)
    53  		},
    54  	}
    55  }
    56  
    57  func NewCmdFakeTrackingChangedRunner(g *libkb.GlobalContext) *CmdFakeTrackingChanged {
    58  	return &CmdFakeTrackingChanged{Contextified: libkb.NewContextified(g)}
    59  }
    60  
    61  func (c *CmdFakeTrackingChanged) GetUsage() libkb.Usage {
    62  	return libkb.Usage{
    63  		Config: true,
    64  		API:    true,
    65  	}
    66  }