github.com/dschalla/mattermost-server@v4.8.1-rc1+incompatible/wsapi/status.go (about) 1 // Copyright (c) 2017-present Mattermost, Inc. All Rights Reserved. 2 // See License.txt for license information. 3 4 package wsapi 5 6 import ( 7 l4g "github.com/alecthomas/log4go" 8 9 "github.com/mattermost/mattermost-server/model" 10 ) 11 12 func (api *API) InitStatus() { 13 api.Router.Handle("get_statuses", api.ApiWebSocketHandler(api.getStatuses)) 14 api.Router.Handle("get_statuses_by_ids", api.ApiWebSocketHandler(api.getStatusesByIds)) 15 } 16 17 func (api *API) getStatuses(req *model.WebSocketRequest) (map[string]interface{}, *model.AppError) { 18 statusMap := api.App.GetAllStatuses() 19 return model.StatusMapToInterfaceMap(statusMap), nil 20 } 21 22 func (api *API) getStatusesByIds(req *model.WebSocketRequest) (map[string]interface{}, *model.AppError) { 23 var userIds []string 24 if userIds = model.ArrayFromInterface(req.Data["user_ids"]); len(userIds) == 0 { 25 l4g.Error(model.StringInterfaceToJson(req.Data)) 26 return nil, NewInvalidWebSocketParamError(req.Action, "user_ids") 27 } 28 29 statusMap, err := api.App.GetStatusesByIds(userIds) 30 if err != nil { 31 return nil, err 32 } 33 34 return statusMap, nil 35 }