MM-13492 Allow empty channel in /channels/view (#10062)
* Allow empty channel in /channels/view * Simplify if statement.
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
dc175cc704
Коммит
ca4dcf4404
@@ -917,11 +917,22 @@ func viewChannel(c *Context, w http.ResponseWriter, r *http.Request) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
view := model.ChannelViewFromJson(r.Body)
|
view := model.ChannelViewFromJson(r.Body)
|
||||||
if view == nil || !model.IsValidId(view.ChannelId) || (view.PrevChannelId != "" && !model.IsValidId(view.PrevChannelId)) {
|
if view == nil {
|
||||||
c.SetInvalidParam("channel_view")
|
c.SetInvalidParam("channel_view")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Validate view struct
|
||||||
|
// Check IDs are valid or blank. Blank IDs are used to denote focus loss or inital channel view.
|
||||||
|
if view.ChannelId != "" && !model.IsValidId(view.ChannelId) {
|
||||||
|
c.SetInvalidParam("channel_view.channel_id")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if view.PrevChannelId != "" && !model.IsValidId(view.PrevChannelId) {
|
||||||
|
c.SetInvalidParam("channel_view.prev_channel_id")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
times, err := c.App.ViewChannel(view, c.Params.UserId, !c.App.Session.IsMobileApp())
|
times, err := c.App.ViewChannel(view, c.Params.UserId, !c.App.Session.IsMobileApp())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
c.Err = err
|
c.Err = err
|
||||||
|
|||||||
@@ -1418,6 +1418,12 @@ func TestViewChannel(t *testing.T) {
|
|||||||
_, resp = Client.ViewChannel(th.BasicUser.Id, view)
|
_, resp = Client.ViewChannel(th.BasicUser.Id, view)
|
||||||
CheckBadRequestStatus(t, resp)
|
CheckBadRequestStatus(t, resp)
|
||||||
|
|
||||||
|
// All blank is OK we use it for clicking off of the browser.
|
||||||
|
view.PrevChannelId = ""
|
||||||
|
view.ChannelId = ""
|
||||||
|
_, resp = Client.ViewChannel(th.BasicUser.Id, view)
|
||||||
|
CheckNoError(t, resp)
|
||||||
|
|
||||||
view.PrevChannelId = ""
|
view.PrevChannelId = ""
|
||||||
view.ChannelId = "junk"
|
view.ChannelId = "junk"
|
||||||
_, resp = Client.ViewChannel(th.BasicUser.Id, view)
|
_, resp = Client.ViewChannel(th.BasicUser.Id, view)
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user