summaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
authorAlexander Akhmetov <me@alex.earth>2018-10-15 16:23:41 +0200
committerCarlos Tadeu Panato Junior <ctadeu@gmail.com>2018-10-15 16:23:41 +0200
commit160d2785927d4729441dfa6ecd0d5536ec640687 (patch)
tree55b703d485b148ebc2a4c5903dfff57e7c2a634b /app
parentc1e5fff56534387864565d7c910d49e11a3add4a (diff)
downloadchat-160d2785927d4729441dfa6ecd0d5536ec640687.tar.gz
chat-160d2785927d4729441dfa6ecd0d5536ec640687.tar.bz2
chat-160d2785927d4729441dfa6ecd0d5536ec640687.zip
GH-9633 Added plugin API method to return user's profile image (#9653)
Diffstat (limited to 'app')
-rw-r--r--app/plugin_api.go10
-rw-r--r--app/plugin_api_test.go18
2 files changed, 27 insertions, 1 deletions
diff --git a/app/plugin_api.go b/app/plugin_api.go
index 85d62b317..4b2fa0447 100644
--- a/app/plugin_api.go
+++ b/app/plugin_api.go
@@ -323,6 +323,16 @@ func (api *PluginAPI) UpdatePost(post *model.Post) (*model.Post, *model.AppError
return api.app.UpdatePost(post, false)
}
+func (api *PluginAPI) GetProfileImage(userId string) ([]byte, *model.AppError) {
+ user, err := api.app.GetUser(userId)
+ if err != nil {
+ return nil, err
+ }
+
+ data, _, err := api.app.GetProfileImage(user)
+ return data, err
+}
+
func (api *PluginAPI) CopyFileInfos(userId string, fileIds []string) ([]string, *model.AppError) {
return api.app.CopyFileInfos(userId, fileIds)
}
diff --git a/app/plugin_api_test.go b/app/plugin_api_test.go
index 12701e87e..d95ae38fb 100644
--- a/app/plugin_api_test.go
+++ b/app/plugin_api_test.go
@@ -83,7 +83,7 @@ func TestPluginAPILoadPluginConfiguration(t *testing.T) {
}
type MyPlugin struct {
- plugin.MattermostPlugin
+ plugin.MattermostPlugin
configuration configuration
}
@@ -199,3 +199,19 @@ func TestPluginAPILoadPluginConfigurationDefaults(t *testing.T) {
_, ret := hooks.MessageWillBePosted(nil, nil)
assert.Equal(t, "override35true", ret)
}
+
+func TestPluginAPIGetProfileImage(t *testing.T) {
+ th := Setup().InitBasic()
+ defer th.TearDown()
+ api := th.SetupPluginAPI()
+
+ // check existing user first
+ data, err := api.GetProfileImage(th.BasicUser.Id)
+ require.Nil(t, err)
+ require.NotEmpty(t, data)
+
+ // then unknown user
+ data, err = api.GetProfileImage(model.NewId())
+ require.NotNil(t, err)
+ require.Nil(t, data)
+}