From 160d2785927d4729441dfa6ecd0d5536ec640687 Mon Sep 17 00:00:00 2001 From: Alexander Akhmetov Date: Mon, 15 Oct 2018 16:23:41 +0200 Subject: GH-9633 Added plugin API method to return user's profile image (#9653) --- app/plugin_api.go | 10 ++++++++++ app/plugin_api_test.go | 18 +++++++++++++++++- 2 files changed, 27 insertions(+), 1 deletion(-) (limited to 'app') 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) +} -- cgit v1.2.3-1-g7c22