This is a refactor of samhofi.us/x/keybase/v2 that takes advantage of the libkeybase performance improvements.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

36 lines
730 B

package keybase
import (
"encoding/json"
"fmt"
"os/exec"
)
// teamAPIOut sends JSON requests to the team API and returns its response.
func teamAPIOut(keybasePath string, w TeamAPI) (TeamAPI, error) {
jsonBytes, _ := json.Marshal(w)
cmd := exec.Command(keybasePath, "team", "api", "-m", string(jsonBytes))
cmdOut, err := cmd.Output()
if err != nil {
return TeamAPI{}, err
}
var r TeamAPI
json.Unmarshal(cmdOut, &r)
return r, nil
}
// CreateSubteam creates a subteam
func (t Team) CreateSubteam(name string) (TeamAPI, error) {
m := TeamAPI{
Params: &tParams{},
}
m.Method = "create-team"
m.Params.Options.Team = fmt.Sprintf("%s.%s", t.Name, name)
r, err := teamAPIOut(t.keybase.Path, m)
return r, err
}