func cmdAssignRole() { if flagCmdAssignRole { if len(flagEmail) == 0 { fmt.Fprintln(os.Stderr, "flag needs an argument: -email") flag.Usage() os.Exit(1) } if !model.IsValidUserRoles(flagRole) { fmt.Fprintln(os.Stderr, "flag invalid argument: -role") flag.Usage() os.Exit(1) } c := getMockContext() var user *model.User if result := <-api.Srv.Store.User().GetByEmail(flagEmail); result.Err != nil { l4g.Error("%v", result.Err) flushLogAndExit(1) } else { user = result.Data.(*model.User) } if !user.IsInRole(flagRole) { api.UpdateUserRoles(c, user, flagRole) } os.Exit(0) } }
func TestIncomingWebhook(t *testing.T) { Setup() team := &model.Team{DisplayName: "Name", Name: "z-z-" + model.NewId() + "a", Email: "*****@*****.**", Type: model.TEAM_OPEN} team = ApiClient.Must(ApiClient.CreateTeam(team)).Data.(*model.Team) user := &model.User{Email: model.NewId() + "*****@*****.**", Nickname: "Corey Hulen", Password: "******"} user = ApiClient.Must(ApiClient.CreateUser(user, "")).Data.(*model.User) store.Must(api.Srv.Store.User().VerifyEmail(user.Id)) api.JoinUserToTeam(team, user) c := &api.Context{} c.RequestId = model.NewId() c.IpAddress = "cmd_line" api.UpdateUserRoles(c, user, model.ROLE_SYSTEM_ADMIN) ApiClient.Login(user.Email, "pwd") ApiClient.SetTeamId(team.Id) channel1 := &model.Channel{DisplayName: "Test API Name", Name: "a" + model.NewId() + "a", Type: model.CHANNEL_OPEN, TeamId: team.Id} channel1 = ApiClient.Must(ApiClient.CreateChannel(channel1)).Data.(*model.Channel) if utils.Cfg.ServiceSettings.EnableIncomingWebhooks { hook1 := &model.IncomingWebhook{ChannelId: channel1.Id} hook1 = ApiClient.Must(ApiClient.CreateIncomingWebhook(hook1)).Data.(*model.IncomingWebhook) payload := "payload={\"text\": \"test text\"}" if _, err := ApiClient.PostToWebhook(hook1.Id, payload); err != nil { t.Fatal(err) } payload = "payload={\"text\": \"\"}" if _, err := ApiClient.PostToWebhook(hook1.Id, payload); err == nil { t.Fatal("should have errored - no text to post") } payload = "payload={\"text\": \"test text\", \"channel\": \"junk\"}" if _, err := ApiClient.PostToWebhook(hook1.Id, payload); err == nil { t.Fatal("should have errored - bad channel") } payload = "payload={\"text\": \"test text\"}" if _, err := ApiClient.PostToWebhook("abc123", payload); err == nil { t.Fatal("should have errored - bad hook") } } else { if _, err := ApiClient.PostToWebhook("123", "123"); err == nil { t.Fatal("should have failed - webhooks turned off") } } }
func userCreateCmdF(cmd *cobra.Command, args []string) error { initDBCommandContextCobra(cmd) username, erru := cmd.Flags().GetString("username") if erru != nil || username == "" { return errors.New("Username is required") } email, erre := cmd.Flags().GetString("email") if erre != nil || email == "" { return errors.New("Email is required") } password, errp := cmd.Flags().GetString("password") if errp != nil || password == "" { return errors.New("Password is required") } nickname, _ := cmd.Flags().GetString("nickname") firstname, _ := cmd.Flags().GetString("firstname") lastname, _ := cmd.Flags().GetString("lastname") locale, _ := cmd.Flags().GetString("locale") system_admin, _ := cmd.Flags().GetBool("system_admin") user := &model.User{ Username: username, Email: email, Password: password, Nickname: nickname, FirstName: firstname, LastName: lastname, Locale: locale, } ruser, err := api.CreateUser(user) if err != nil { return errors.New("Unable to create user. Error: " + err.Error()) } if system_admin { api.UpdateUserRoles(ruser, "system_user system_admin") } CommandPrettyPrintln("Created User") return nil }
func makeMemberCmdF(cmd *cobra.Command, args []string) error { initDBCommandContextCobra(cmd) if len(args) < 1 { return errors.New("Enter at least one user.") } users := getUsersFromUserArgs(args) for i, user := range users { if user == nil { return errors.New("Unable to find user '" + args[i] + "'") } if _, err := api.UpdateUserRoles(user, "system_user"); err != nil { return err } } return nil }
func cmdAssignRole() { if flagCmdAssignRole { if len(flagEmail) == 0 { fmt.Fprintln(os.Stderr, "flag needs an argument: -email") os.Exit(1) } // Do some conversions if flagRole == "system_admin" { flagRole = "system_user system_admin" } if flagRole == "" { flagRole = "system_user" } if !model.IsValidUserRoles(flagRole) { fmt.Fprintln(os.Stderr, "flag invalid argument: -role") os.Exit(1) } var user *model.User if result := <-app.Srv.Store.User().GetByEmail(flagEmail); result.Err != nil { l4g.Error("%v", result.Err) flushLogAndExit(1) } else { user = result.Data.(*model.User) } if !user.IsInRole(flagRole) { api.UpdateUserRoles(user, flagRole) } os.Exit(0) } }