From 0267a1f76e48ae833a4f951c82e69db59d39b314 Mon Sep 17 00:00:00 2001 From: Hanzei <16541325+hanzei@users.noreply.github.com> Date: Mon, 15 Oct 2018 15:19:36 +0200 Subject: Add GetPostThread() to plugin API (#9652) --- app/plugin_api.go | 4 ++++ plugin/api.go | 3 +++ plugin/client_rpc_generated.go | 29 +++++++++++++++++++++++++++++ plugin/plugintest/api.go | 25 +++++++++++++++++++++++++ 4 files changed, 61 insertions(+) diff --git a/app/plugin_api.go b/app/plugin_api.go index 70b3d60fe..53f3516fc 100644 --- a/app/plugin_api.go +++ b/app/plugin_api.go @@ -303,6 +303,10 @@ func (api *PluginAPI) DeletePost(postId string) *model.AppError { return err } +func (api *PluginAPI) GetPostThread(postId string) (*model.PostList, *model.AppError) { + return api.app.GetPostThread(postId) +} + func (api *PluginAPI) GetPost(postId string) (*model.Post, *model.AppError) { return api.app.GetSinglePost(postId) } diff --git a/plugin/api.go b/plugin/api.go index 5a5727659..36012c23e 100644 --- a/plugin/api.go +++ b/plugin/api.go @@ -170,6 +170,9 @@ type API interface { // DeletePost deletes a post. DeletePost(postId string) *model.AppError + // GetPostThread gets a post with all the other posts in the same thread. + GetPostThread(postId string) (*model.PostList, *model.AppError) + // GetPost gets a post. GetPost(postId string) (*model.Post, *model.AppError) diff --git a/plugin/client_rpc_generated.go b/plugin/client_rpc_generated.go index da41d9418..9da133449 100644 --- a/plugin/client_rpc_generated.go +++ b/plugin/client_rpc_generated.go @@ -1950,6 +1950,35 @@ func (s *apiRPCServer) DeletePost(args *Z_DeletePostArgs, returns *Z_DeletePostR return nil } +type Z_GetPostThreadArgs struct { + A string +} + +type Z_GetPostThreadReturns struct { + A *model.PostList + B *model.AppError +} + +func (g *apiRPCClient) GetPostThread(postId string) (*model.PostList, *model.AppError) { + _args := &Z_GetPostThreadArgs{postId} + _returns := &Z_GetPostThreadReturns{} + if err := g.client.Call("Plugin.GetPostThread", _args, _returns); err != nil { + log.Printf("RPC call to GetPostThread API failed: %s", err.Error()) + } + return _returns.A, _returns.B +} + +func (s *apiRPCServer) GetPostThread(args *Z_GetPostThreadArgs, returns *Z_GetPostThreadReturns) error { + if hook, ok := s.impl.(interface { + GetPostThread(postId string) (*model.PostList, *model.AppError) + }); ok { + returns.A, returns.B = hook.GetPostThread(args.A) + } else { + return encodableError(fmt.Errorf("API GetPostThread called but not implemented.")) + } + return nil +} + type Z_GetPostArgs struct { A string } diff --git a/plugin/plugintest/api.go b/plugin/plugintest/api.go index c11446bda..c0302c1cf 100644 --- a/plugin/plugintest/api.go +++ b/plugin/plugintest/api.go @@ -599,6 +599,31 @@ func (_m *API) GetPost(postId string) (*model.Post, *model.AppError) { return r0, r1 } +// GetPostThread provides a mock function with given fields: postId +func (_m *API) GetPostThread(postId string) (*model.PostList, *model.AppError) { + ret := _m.Called(postId) + + var r0 *model.PostList + if rf, ok := ret.Get(0).(func(string) *model.PostList); ok { + r0 = rf(postId) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(*model.PostList) + } + } + + var r1 *model.AppError + if rf, ok := ret.Get(1).(func(string) *model.AppError); ok { + r1 = rf(postId) + } else { + if ret.Get(1) != nil { + r1 = ret.Get(1).(*model.AppError) + } + } + + return r0, r1 +} + // GetPostsForChannel provides a mock function with given fields: channelId, page, perPage func (_m *API) GetPostsForChannel(channelId string, page int, perPage int) (*model.PostList, *model.AppError) { ret := _m.Called(channelId, page, perPage) -- cgit v1.2.3-1-g7c22