Add tea org create <name> #420

Merged
6543 merged 2 commits from noerw/tea:add-org-craete into master 2021-09-28 20:32:16 +00:00
3 changed files with 29 additions and 9 deletions
Showing only changes of commit 25700be782 - Show all commits

View File

@ -5,9 +5,9 @@
package cmd
import (
"fmt"
"code.gitea.io/tea/cmd/organizations"
"code.gitea.io/tea/modules/context"
"code.gitea.io/tea/modules/print"
"github.com/urfave/cli/v2"
)
@ -29,13 +29,20 @@ var CmdOrgs = cli.Command{
Flags: organizations.CmdOrganizationList.Flags,
}
func runOrganizations(ctx *cli.Context) error {
func runOrganizations(cmd *cli.Context) error {
ctx := context.InitCommand(cmd)
if ctx.Args().Len() == 1 {
return runOrganizationDetail(ctx.Args().First())
return runOrganizationDetail(ctx)
}
return organizations.RunOrganizationList(ctx)
return organizations.RunOrganizationList(cmd)
}
func runOrganizationDetail(path string) error {
return fmt.Errorf("Not yet implemented")
func runOrganizationDetail(ctx *context.TeaContext) error {
org, _, err := ctx.Login.Client().GetOrg(ctx.Args().First())
if err != nil {
return err
}
print.OrganizationDetails(org)
return nil
}

View File

@ -9,6 +9,7 @@ import (
"code.gitea.io/tea/cmd/flags"
"code.gitea.io/tea/modules/context"
"code.gitea.io/tea/modules/print"
"code.gitea.io/sdk/gitea"
"github.com/urfave/cli/v2"
@ -70,7 +71,7 @@ func RunOrganizationCreate(cmd *cli.Context) error {
return fmt.Errorf("unknown visibility '%s'", ctx.String("visibility"))
}
_, _, err := ctx.Login.Client().CreateOrg(gitea.CreateOrgOption{
org, _, err := ctx.Login.Client().CreateOrg(gitea.CreateOrgOption{
Name: ctx.Args().First(),
// FullName: , // not really meaningful for orgs (not displayed in webui, use description instead?)
Description: ctx.String("description"),
@ -83,7 +84,7 @@ func RunOrganizationCreate(cmd *cli.Context) error {
return err
}
// TODO: print resulting org.
print.OrganizationDetails(org)
return err
}

View File

@ -10,6 +10,18 @@ import (
"code.gitea.io/sdk/gitea"
)
// OrganizationDetails prints details of an org with formatting
func OrganizationDetails(org *gitea.Organization) {
outputMarkdown(fmt.Sprintf(
"# %s\n%s\n\n- Visibility: %s\n- Location: %s\n- Website: %s\n",
org.UserName,
org.Description,
org.Visibility,
org.Location,
org.Website,
), "")
}
// OrganizationsList prints a listing of the organizations
func OrganizationsList(organizations []*gitea.Organization, output string) {
if len(organizations) == 0 {