7fae5654ff
this adds a helper method to prompt for a line of input using the clingy context to the global flag state that errors if interactive mode is disabled. Change-Id: Ie113c8920dfa4719e85cc24f11401d91b32812f9
33 lines
731 B
Go
33 lines
731 B
Go
// Copyright (C) 2021 Storj Labs, Inc.
|
|
// See LICENSE for copying information.
|
|
|
|
package main
|
|
|
|
import (
|
|
"github.com/zeebo/clingy"
|
|
"github.com/zeebo/errs"
|
|
)
|
|
|
|
type cmdAccessDelete struct {
|
|
name string
|
|
}
|
|
|
|
func (c *cmdAccessDelete) Setup(a clingy.Arguments, f clingy.Flags) {
|
|
c.name = a.New("name", "Access to delete").(string)
|
|
}
|
|
|
|
func (c *cmdAccessDelete) Execute(ctx clingy.Context) error {
|
|
accessDefault, accesses, err := gf.GetAccessInfo(true)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
if c.name == accessDefault {
|
|
return errs.New("cannot delete current access")
|
|
}
|
|
if _, ok := accesses[c.name]; !ok {
|
|
return errs.New("unknown access: %q", c.name)
|
|
}
|
|
delete(accesses, c.name)
|
|
return gf.SaveAccessInfo(accessDefault, accesses)
|
|
}
|