summaryrefslogtreecommitdiffstats
path: root/cmd/platform/team.go
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/platform/team.go')
-rw-r--r--cmd/platform/team.go215
1 files changed, 0 insertions, 215 deletions
diff --git a/cmd/platform/team.go b/cmd/platform/team.go
deleted file mode 100644
index 1cb5bd99e..000000000
--- a/cmd/platform/team.go
+++ /dev/null
@@ -1,215 +0,0 @@
-// Copyright (c) 2016-present Mattermost, Inc. All Rights Reserved.
-// See License.txt for license information.
-package main
-
-import (
- "errors"
- "fmt"
-
- "github.com/mattermost/mattermost-server/app"
- "github.com/mattermost/mattermost-server/model"
- "github.com/spf13/cobra"
-)
-
-var teamCmd = &cobra.Command{
- Use: "team",
- Short: "Management of teams",
-}
-
-var teamCreateCmd = &cobra.Command{
- Use: "create",
- Short: "Create a team",
- Long: `Create a team.`,
- Example: ` team create --name mynewteam --display_name "My New Team"
- team create --name private --display_name "My New Private Team" --private`,
- RunE: createTeamCmdF,
-}
-
-var removeUsersCmd = &cobra.Command{
- Use: "remove [team] [users]",
- Short: "Remove users from team",
- Long: "Remove some users from team",
- Example: " team remove myteam user@example.com username",
- RunE: removeUsersCmdF,
-}
-
-var addUsersCmd = &cobra.Command{
- Use: "add [team] [users]",
- Short: "Add users to team",
- Long: "Add some users to team",
- Example: " team add myteam user@example.com username",
- RunE: addUsersCmdF,
-}
-
-var deleteTeamsCmd = &cobra.Command{
- Use: "delete [teams]",
- Short: "Delete teams",
- Long: `Permanently delete some teams.
-Permanently deletes a team along with all related information including posts from the database.`,
- Example: " team delete myteam",
- RunE: deleteTeamsCmdF,
-}
-
-func init() {
- teamCreateCmd.Flags().String("name", "", "Team Name")
- teamCreateCmd.Flags().String("display_name", "", "Team Display Name")
- teamCreateCmd.Flags().Bool("private", false, "Create a private team.")
- teamCreateCmd.Flags().String("email", "", "Administrator Email (anyone with this email is automatically a team admin)")
-
- deleteTeamsCmd.Flags().Bool("confirm", false, "Confirm you really want to delete the team and a DB backup has been performed.")
-
- teamCmd.AddCommand(
- teamCreateCmd,
- removeUsersCmd,
- addUsersCmd,
- deleteTeamsCmd,
- )
-}
-
-func createTeamCmdF(cmd *cobra.Command, args []string) error {
- a, err := initDBCommandContextCobra(cmd)
- if err != nil {
- return err
- }
-
- name, errn := cmd.Flags().GetString("name")
- if errn != nil || name == "" {
- return errors.New("Name is required")
- }
- displayname, errdn := cmd.Flags().GetString("display_name")
- if errdn != nil || displayname == "" {
- return errors.New("Display Name is required")
- }
- email, _ := cmd.Flags().GetString("email")
- useprivate, _ := cmd.Flags().GetBool("private")
-
- teamType := model.TEAM_OPEN
- if useprivate {
- teamType = model.TEAM_INVITE
- }
-
- team := &model.Team{
- Name: name,
- DisplayName: displayname,
- Email: email,
- Type: teamType,
- }
-
- if _, err := a.CreateTeam(team); err != nil {
- return errors.New("Team creation failed: " + err.Error())
- }
-
- return nil
-}
-
-func removeUsersCmdF(cmd *cobra.Command, args []string) error {
- a, err := initDBCommandContextCobra(cmd)
- if err != nil {
- return err
- }
-
- if len(args) < 2 {
- return errors.New("Not enough arguments.")
- }
-
- team := getTeamFromTeamArg(a, args[0])
- if team == nil {
- return errors.New("Unable to find team '" + args[0] + "'")
- }
-
- users := getUsersFromUserArgs(a, args[1:])
- for i, user := range users {
- removeUserFromTeam(a, team, user, args[i+1])
- }
-
- return nil
-}
-
-func removeUserFromTeam(a *app.App, team *model.Team, user *model.User, userArg string) {
- if user == nil {
- CommandPrintErrorln("Can't find user '" + userArg + "'")
- return
- }
- if err := a.LeaveTeam(team, user, ""); err != nil {
- CommandPrintErrorln("Unable to remove '" + userArg + "' from " + team.Name + ". Error: " + err.Error())
- }
-}
-
-func addUsersCmdF(cmd *cobra.Command, args []string) error {
- a, err := initDBCommandContextCobra(cmd)
- if err != nil {
- return err
- }
-
- if len(args) < 2 {
- return errors.New("Not enough arguments.")
- }
-
- team := getTeamFromTeamArg(a, args[0])
- if team == nil {
- return errors.New("Unable to find team '" + args[0] + "'")
- }
-
- users := getUsersFromUserArgs(a, args[1:])
- for i, user := range users {
- addUserToTeam(a, team, user, args[i+1])
- }
-
- return nil
-}
-
-func addUserToTeam(a *app.App, team *model.Team, user *model.User, userArg string) {
- if user == nil {
- CommandPrintErrorln("Can't find user '" + userArg + "'")
- return
- }
- if err := a.JoinUserToTeam(team, user, ""); err != nil {
- CommandPrintErrorln("Unable to add '" + userArg + "' to " + team.Name)
- }
-}
-
-func deleteTeamsCmdF(cmd *cobra.Command, args []string) error {
- a, err := initDBCommandContextCobra(cmd)
- if err != nil {
- return err
- }
-
- if len(args) < 1 {
- return errors.New("Not enough arguments.")
- }
-
- confirmFlag, _ := cmd.Flags().GetBool("confirm")
- if !confirmFlag {
- var confirm string
- CommandPrettyPrintln("Have you performed a database backup? (YES/NO): ")
- fmt.Scanln(&confirm)
-
- if confirm != "YES" {
- return errors.New("ABORTED: You did not answer YES exactly, in all capitals.")
- }
- CommandPrettyPrintln("Are you sure you want to delete the teams specified? All data will be permanently deleted? (YES/NO): ")
- fmt.Scanln(&confirm)
- if confirm != "YES" {
- return errors.New("ABORTED: You did not answer YES exactly, in all capitals.")
- }
- }
-
- teams := getTeamsFromTeamArgs(a, args)
- for i, team := range teams {
- if team == nil {
- CommandPrintErrorln("Unable to find team '" + args[i] + "'")
- continue
- }
- if err := deleteTeam(a, team); err != nil {
- CommandPrintErrorln("Unable to delete team '" + team.Name + "' error: " + err.Error())
- } else {
- CommandPrettyPrintln("Deleted team '" + team.Name + "'")
- }
- }
-
- return nil
-}
-
-func deleteTeam(a *app.App, team *model.Team) *model.AppError {
- return a.PermanentDeleteTeam(team)
-}