func listCommands(c *Context, w http.ResponseWriter, r *http.Request) { commands := make([]*model.Command, 0, 32) seen := make(map[string]bool) for _, value := range commandProviders { cpy := *value.GetCommand(c) if cpy.AutoComplete && !seen[cpy.Id] { cpy.Sanitize() seen[cpy.Trigger] = true commands = append(commands, &cpy) } } if *utils.Cfg.ServiceSettings.EnableCommands { if result := <-Srv.Store.Command().GetByTeam(c.Session.TeamId); result.Err != nil { c.Err = result.Err return } else { teamCmds := result.Data.([]*model.Command) for _, cmd := range teamCmds { if cmd.AutoComplete && !seen[cmd.Id] { cmd.Sanitize() seen[cmd.Trigger] = true commands = append(commands, cmd) } } } } w.Write([]byte(model.CommandListToJson(commands))) }
func listTeamCommands(c *Context, w http.ResponseWriter, r *http.Request) { if !*utils.Cfg.ServiceSettings.EnableCommands { c.Err = model.NewLocAppError("listTeamCommands", "api.command.disabled.app_error", nil, "") c.Err.StatusCode = http.StatusNotImplemented return } if !HasPermissionToCurrentTeamContext(c, model.PERMISSION_MANAGE_SLASH_COMMANDS) { c.Err = model.NewLocAppError("listTeamCommands", "api.command.admin_only.app_error", nil, "") c.Err.StatusCode = http.StatusForbidden return } if result := <-Srv.Store.Command().GetByTeam(c.TeamId); result.Err != nil { c.Err = result.Err return } else { cmds := result.Data.([]*model.Command) w.Write([]byte(model.CommandListToJson(cmds))) } }
func listTeamCommands(c *Context, w http.ResponseWriter, r *http.Request) { if !*utils.Cfg.ServiceSettings.EnableCommands { c.Err = model.NewLocAppError("listTeamCommands", "api.command.disabled.app_error", nil, "") c.Err.StatusCode = http.StatusNotImplemented return } if *utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations { if !(c.IsSystemAdmin() || c.IsTeamAdmin()) { c.Err = model.NewLocAppError("listTeamCommands", "api.command.admin_only.app_error", nil, "") c.Err.StatusCode = http.StatusForbidden return } } if result := <-Srv.Store.Command().GetByTeam(c.Session.TeamId); result.Err != nil { c.Err = result.Err return } else { cmds := result.Data.([]*model.Command) w.Write([]byte(model.CommandListToJson(cmds))) } }