summaryrefslogtreecommitdiffstats
path: root/api4
diff options
context:
space:
mode:
authorJoramWilander <jwawilander@gmail.com>2018-06-27 16:56:50 -0400
committerJoramWilander <jwawilander@gmail.com>2018-06-27 16:56:50 -0400
commit88c5e469ca869d9e8ceadb0f2b03e86005102f24 (patch)
treebbb1b4cc1312879476f222940651e4d3e763da9e /api4
parentd7976549a0b45a42c04ac043a15677b7ca1228e9 (diff)
parent437f9f5b64ddb4e1f84e6c4e993120d074001777 (diff)
downloadchat-88c5e469ca869d9e8ceadb0f2b03e86005102f24.tar.gz
chat-88c5e469ca869d9e8ceadb0f2b03e86005102f24.tar.bz2
chat-88c5e469ca869d9e8ceadb0f2b03e86005102f24.zip
Merge branch 'master' into plugins-2
Diffstat (limited to 'api4')
-rw-r--r--api4/channel.go107
-rw-r--r--api4/oauth_test.go13
2 files changed, 86 insertions, 34 deletions
diff --git a/api4/channel.go b/api4/channel.go
index b2c920ddb..cb9112677 100644
--- a/api4/channel.go
+++ b/api4/channel.go
@@ -209,13 +209,20 @@ func patchChannel(c *Context, w http.ResponseWriter, r *http.Request) {
return
}
- if rchannel, err := c.App.PatchChannel(oldChannel, patch, c.Session.UserId); err != nil {
+ rchannel, err := c.App.PatchChannel(oldChannel, patch, c.Session.UserId)
+ if err != nil {
+ c.Err = err
+ return
+ }
+
+ err = c.App.FillInChannelProps(rchannel)
+ if err != nil {
c.Err = err
return
- } else {
- c.LogAudit("")
- w.Write([]byte(rchannel.ToJson()))
}
+
+ c.LogAudit("")
+ w.Write([]byte(rchannel.ToJson()))
}
func restoreChannel(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -361,6 +368,12 @@ func getChannel(c *Context, w http.ResponseWriter, r *http.Request) {
}
}
+ err = c.App.FillInChannelProps(channel)
+ if err != nil {
+ c.Err = err
+ return
+ }
+
w.Write([]byte(channel.ToJson()))
}
@@ -444,13 +457,19 @@ func getPublicChannelsForTeam(c *Context, w http.ResponseWriter, r *http.Request
return
}
- if channels, err := c.App.GetPublicChannelsForTeam(c.Params.TeamId, c.Params.Page*c.Params.PerPage, c.Params.PerPage); err != nil {
+ channels, err := c.App.GetPublicChannelsForTeam(c.Params.TeamId, c.Params.Page*c.Params.PerPage, c.Params.PerPage)
+ if err != nil {
c.Err = err
return
- } else {
- w.Write([]byte(channels.ToJson()))
+ }
+
+ err = c.App.FillInChannelsProps(channels)
+ if err != nil {
+ c.Err = err
return
}
+
+ w.Write([]byte(channels.ToJson()))
}
func getDeletedChannelsForTeam(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -464,13 +483,19 @@ func getDeletedChannelsForTeam(c *Context, w http.ResponseWriter, r *http.Reques
return
}
- if channels, err := c.App.GetDeletedChannels(c.Params.TeamId, c.Params.Page*c.Params.PerPage, c.Params.PerPage); err != nil {
+ channels, err := c.App.GetDeletedChannels(c.Params.TeamId, c.Params.Page*c.Params.PerPage, c.Params.PerPage)
+ if err != nil {
c.Err = err
return
- } else {
- w.Write([]byte(channels.ToJson()))
+ }
+
+ err = c.App.FillInChannelsProps(channels)
+ if err != nil {
+ c.Err = err
return
}
+
+ w.Write([]byte(channels.ToJson()))
}
func getPublicChannelsByIdsForTeam(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -497,12 +522,19 @@ func getPublicChannelsByIdsForTeam(c *Context, w http.ResponseWriter, r *http.Re
return
}
- if channels, err := c.App.GetPublicChannelsByIdsForTeam(c.Params.TeamId, channelIds); err != nil {
+ channels, err := c.App.GetPublicChannelsByIdsForTeam(c.Params.TeamId, channelIds)
+ if err != nil {
+ c.Err = err
+ return
+ }
+
+ err = c.App.FillInChannelsProps(channels)
+ if err != nil {
c.Err = err
return
- } else {
- w.Write([]byte(channels.ToJson()))
}
+
+ w.Write([]byte(channels.ToJson()))
}
func getChannelsForTeamForUser(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -521,15 +553,24 @@ func getChannelsForTeamForUser(c *Context, w http.ResponseWriter, r *http.Reques
return
}
- if channels, err := c.App.GetChannelsForUser(c.Params.TeamId, c.Params.UserId); err != nil {
+ channels, err := c.App.GetChannelsForUser(c.Params.TeamId, c.Params.UserId)
+ if err != nil {
c.Err = err
return
- } else if c.HandleEtag(channels.Etag(), "Get Channels", w, r) {
+ }
+
+ if c.HandleEtag(channels.Etag(), "Get Channels", w, r) {
return
- } else {
- w.Header().Set(model.HEADER_ETAG_SERVER, channels.Etag())
- w.Write([]byte(channels.ToJson()))
}
+
+ err = c.App.FillInChannelsProps(channels)
+ if err != nil {
+ c.Err = err
+ return
+ }
+
+ w.Header().Set(model.HEADER_ETAG_SERVER, channels.Etag())
+ w.Write([]byte(channels.ToJson()))
}
func autocompleteChannelsForTeam(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -545,12 +586,15 @@ func autocompleteChannelsForTeam(c *Context, w http.ResponseWriter, r *http.Requ
name := r.URL.Query().Get("name")
- if channels, err := c.App.AutocompleteChannels(c.Params.TeamId, name); err != nil {
+ channels, err := c.App.AutocompleteChannels(c.Params.TeamId, name)
+ if err != nil {
c.Err = err
return
- } else {
- w.Write([]byte(channels.ToJson()))
}
+
+ // Don't fill in channels props, since unused by client and potentially expensive.
+
+ w.Write([]byte(channels.ToJson()))
}
func searchChannelsForTeam(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -570,12 +614,15 @@ func searchChannelsForTeam(c *Context, w http.ResponseWriter, r *http.Request) {
return
}
- if channels, err := c.App.SearchChannels(c.Params.TeamId, props.Term); err != nil {
+ channels, err := c.App.SearchChannels(c.Params.TeamId, props.Term)
+ if err != nil {
c.Err = err
return
- } else {
- w.Write([]byte(channels.ToJson()))
}
+
+ // Don't fill in channels props, since unused by client and potentially expensive.
+
+ w.Write([]byte(channels.ToJson()))
}
func deleteChannel(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -638,6 +685,12 @@ func getChannelByName(c *Context, w http.ResponseWriter, r *http.Request) {
}
}
+ err = c.App.FillInChannelProps(channel)
+ if err != nil {
+ c.Err = err
+ return
+ }
+
w.Write([]byte(channel.ToJson()))
}
@@ -660,6 +713,12 @@ func getChannelByNameForTeamName(c *Context, w http.ResponseWriter, r *http.Requ
return
}
+ err = c.App.FillInChannelProps(channel)
+ if err != nil {
+ c.Err = err
+ return
+ }
+
w.Write([]byte(channel.ToJson()))
}
diff --git a/api4/oauth_test.go b/api4/oauth_test.go
index 8cf20ca5e..6bbd99ccc 100644
--- a/api4/oauth_test.go
+++ b/api4/oauth_test.go
@@ -1127,15 +1127,8 @@ func closeBody(r *http.Response) {
type MattermostTestProvider struct {
}
-func (m *MattermostTestProvider) GetIdentifier() string {
- return model.SERVICE_GITLAB
-}
-
func (m *MattermostTestProvider) GetUserFromJson(data io.Reader) *model.User {
- return model.UserFromJson(data)
-}
-
-func (m *MattermostTestProvider) GetAuthDataFromJson(data io.Reader) string {
- authData := model.UserFromJson(data)
- return authData.Email
+ user := model.UserFromJson(data)
+ user.AuthData = &user.Email
+ return user
}