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.
35 lines
730 B
35 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 |
|
}
|
|
|