summaryrefslogtreecommitdiffstats
path: root/app/plugin_api.go
diff options
context:
space:
mode:
Diffstat (limited to 'app/plugin_api.go')
-rw-r--r--app/plugin_api.go26
1 files changed, 26 insertions, 0 deletions
diff --git a/app/plugin_api.go b/app/plugin_api.go
index 4130fc4b2..d7b116c0f 100644
--- a/app/plugin_api.go
+++ b/app/plugin_api.go
@@ -6,6 +6,7 @@ package app
import (
"encoding/json"
"fmt"
+ "net/http"
"strings"
"github.com/mattermost/mattermost-server/mlog"
@@ -144,6 +145,31 @@ func (api *PluginAPI) UpdateUser(user *model.User) (*model.User, *model.AppError
return api.app.UpdateUser(user, true)
}
+func (api *PluginAPI) GetUserStatus(userId string) (*model.Status, *model.AppError) {
+ return api.app.GetStatus(userId)
+}
+
+func (api *PluginAPI) GetUserStatusesByIds(userIds []string) ([]*model.Status, *model.AppError) {
+ return api.app.GetUserStatusesByIds(userIds)
+}
+
+func (api *PluginAPI) UpdateUserStatus(userId, status string) (*model.Status, *model.AppError) {
+ switch status {
+ case model.STATUS_ONLINE:
+ api.app.SetStatusOnline(userId, true)
+ case model.STATUS_OFFLINE:
+ api.app.SetStatusOffline(userId, true)
+ case model.STATUS_AWAY:
+ api.app.SetStatusAwayIfNeeded(userId, true)
+ case model.STATUS_DND:
+ api.app.SetStatusDoNotDisturb(userId)
+ default:
+ return nil, model.NewAppError("UpdateUserStatus", "plugin.api.update_user_status.bad_status", nil, "unrecognized status", http.StatusBadRequest)
+ }
+
+ return api.app.GetStatus(userId)
+}
+
func (api *PluginAPI) CreateChannel(channel *model.Channel) (*model.Channel, *model.AppError) {
return api.app.CreateChannel(channel, false)
}