github.com/coincircle/mattermost-server@v4.8.1-0.20180321182714-9d701c704416+incompatible/cmd/commands/roles.go (about) 1 // Copyright (c) 2016-present Mattermost, Inc. All Rights Reserved. 2 // See License.txt for license information. 3 4 package commands 5 6 import ( 7 "errors" 8 9 "github.com/mattermost/mattermost-server/cmd" 10 "github.com/spf13/cobra" 11 ) 12 13 var RolesCmd = &cobra.Command{ 14 Use: "roles", 15 Short: "Management of user roles", 16 } 17 18 var MakeSystemAdminCmd = &cobra.Command{ 19 Use: "system_admin [users]", 20 Short: "Set a user as system admin", 21 Long: "Make some users system admins", 22 Example: " roles system_admin user1", 23 RunE: makeSystemAdminCmdF, 24 } 25 26 var MakeMemberCmd = &cobra.Command{ 27 Use: "member [users]", 28 Short: "Remove system admin privileges", 29 Long: "Remove system admin privileges from some users.", 30 Example: " roles member user1", 31 RunE: makeMemberCmdF, 32 } 33 34 func init() { 35 RolesCmd.AddCommand( 36 MakeSystemAdminCmd, 37 MakeMemberCmd, 38 ) 39 cmd.RootCmd.AddCommand(RolesCmd) 40 } 41 42 func makeSystemAdminCmdF(command *cobra.Command, args []string) error { 43 a, err := cmd.InitDBCommandContextCobra(command) 44 if err != nil { 45 return err 46 } 47 48 if len(args) < 1 { 49 return errors.New("Enter at least one user.") 50 } 51 52 users := getUsersFromUserArgs(a, args) 53 for i, user := range users { 54 if user == nil { 55 return errors.New("Unable to find user '" + args[i] + "'") 56 } 57 58 if _, err := a.UpdateUserRoles(user.Id, "system_admin system_user", true); err != nil { 59 return err 60 } 61 } 62 63 return nil 64 } 65 66 func makeMemberCmdF(command *cobra.Command, args []string) error { 67 a, err := cmd.InitDBCommandContextCobra(command) 68 if err != nil { 69 return err 70 } 71 72 if len(args) < 1 { 73 return errors.New("Enter at least one user.") 74 } 75 76 users := getUsersFromUserArgs(a, args) 77 for i, user := range users { 78 if user == nil { 79 return errors.New("Unable to find user '" + args[i] + "'") 80 } 81 82 if _, err := a.UpdateUserRoles(user.Id, "system_user", true); err != nil { 83 return err 84 } 85 } 86 87 return nil 88 }