Move WebSocket API to it's own package and add websocket v4 endpoint (#5881)

Этот коммит содержится в:
Joram Wilander
2017-03-28 04:58:19 -04:00
коммит произвёл George Goldberg
родитель ca8b8d1245
Коммит daca0d93f6
22 изменённых файлов: 370 добавлений и 96 удалений

Просмотреть файл

@@ -18,8 +18,6 @@ func InitStatus() {
BaseRoutes.Users.Handle("/status", ApiUserRequired(getStatusesHttp)).Methods("GET")
BaseRoutes.Users.Handle("/status/ids", ApiUserRequired(getStatusesByIdsHttp)).Methods("POST")
app.Srv.WebSocketRouter.Handle("get_statuses", ApiWebSocketHandler(getStatusesWebSocket))
app.Srv.WebSocketRouter.Handle("get_statuses_by_ids", ApiWebSocketHandler(getStatusesByIdsWebSocket))
}
func getStatusesHttp(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -27,11 +25,6 @@ func getStatusesHttp(c *Context, w http.ResponseWriter, r *http.Request) {
w.Write([]byte(model.StringInterfaceToJson(statusMap)))
}
func getStatusesWebSocket(req *model.WebSocketRequest) (map[string]interface{}, *model.AppError) {
statusMap := app.GetAllStatuses()
return model.StatusMapToInterfaceMap(statusMap), nil
}
func getStatusesByIdsHttp(c *Context, w http.ResponseWriter, r *http.Request) {
userIds := model.ArrayFromJson(r.Body)
@@ -48,18 +41,3 @@ func getStatusesByIdsHttp(c *Context, w http.ResponseWriter, r *http.Request) {
w.Write([]byte(model.StringInterfaceToJson(statusMap)))
}
func getStatusesByIdsWebSocket(req *model.WebSocketRequest) (map[string]interface{}, *model.AppError) {
var userIds []string
if userIds = model.ArrayFromInterface(req.Data["user_ids"]); len(userIds) == 0 {
l4g.Error(model.StringInterfaceToJson(req.Data))
return nil, NewInvalidWebSocketParamError(req.Action, "user_ids")
}
statusMap, err := app.GetStatusesByIds(userIds)
if err != nil {
return nil, err
}
return statusMap, nil
}