summaryrefslogtreecommitdiffstats
path: root/api/channel.go
diff options
context:
space:
mode:
authorJoram Wilander <jwawilander@gmail.com>2017-02-02 09:04:36 -0500
committerGitHub <noreply@github.com>2017-02-02 09:04:36 -0500
commit609d4f43d9eef504d852fbf02af5473b0d1424c8 (patch)
tree63fe24f08d5364501d3afed7c44b6739719d86e3 /api/channel.go
parent2ac4f36587b8b217dcfd53e67c650c8ad27c75df (diff)
downloadchat-609d4f43d9eef504d852fbf02af5473b0d1424c8.tar.gz
chat-609d4f43d9eef504d852fbf02af5473b0d1424c8.tar.bz2
chat-609d4f43d9eef504d852fbf02af5473b0d1424c8.zip
Implement POST /channels endpoint for APIv4 (#5241)
Diffstat (limited to 'api/channel.go')
-rw-r--r--api/channel.go31
1 files changed, 1 insertions, 30 deletions
diff --git a/api/channel.go b/api/channel.go
index c5ec36d4b..33e083f14 100644
--- a/api/channel.go
+++ b/api/channel.go
@@ -6,7 +6,6 @@ package api
import (
"net/http"
"strconv"
- "strings"
l4g "github.com/alecthomas/log4go"
"github.com/gorilla/mux"
@@ -48,9 +47,7 @@ func InitChannel() {
}
func createChannel(c *Context, w http.ResponseWriter, r *http.Request) {
-
channel := model.ChannelFromJson(r.Body)
-
if channel == nil {
c.SetInvalidParam("createChannel", "channel")
return
@@ -60,16 +57,6 @@ func createChannel(c *Context, w http.ResponseWriter, r *http.Request) {
channel.TeamId = c.TeamId
}
- if channel.Type == model.CHANNEL_DIRECT {
- c.Err = model.NewLocAppError("createDirectChannel", "api.channel.create_channel.direct_channel.app_error", nil, "")
- return
- }
-
- if strings.Index(channel.Name, "__") > 0 {
- c.Err = model.NewLocAppError("createDirectChannel", "api.channel.create_channel.invalid_character.app_error", nil, "")
- return
- }
-
if channel.Type == model.CHANNEL_OPEN && !app.SessionHasPermissionToTeam(c.Session, channel.TeamId, model.PERMISSION_CREATE_PUBLIC_CHANNEL) {
c.SetPermissionError(model.PERMISSION_CREATE_PUBLIC_CHANNEL)
return
@@ -80,23 +67,7 @@ func createChannel(c *Context, w http.ResponseWriter, r *http.Request) {
return
}
- if channel.TeamId == c.TeamId {
-
- // Get total number of channels on current team
- if count, err := app.GetNumberOfChannelsOnTeam(channel.TeamId); err != nil {
- c.Err = model.NewLocAppError("createChannel", "api.channel.get_channels.error", nil, err.Error())
- return
- } else {
- if int64(count+1) > *utils.Cfg.TeamSettings.MaxChannelsPerTeam {
- c.Err = model.NewLocAppError("createChannel", "api.channel.create_channel.max_channel_limit.app_error", map[string]interface{}{"MaxChannelsPerTeam": *utils.Cfg.TeamSettings.MaxChannelsPerTeam}, "")
- return
- }
- }
- }
-
- channel.CreatorId = c.Session.UserId
-
- if sc, err := app.CreateChannel(channel, true); err != nil {
+ if sc, err := app.CreateChannelWithUser(channel, c.Session.UserId); err != nil {
c.Err = err
return
} else {