From 3bc89083fca64a1d096cc897f13d0a9b68433a8f Mon Sep 17 00:00:00 2001 From: Charles Kenney Date: Wed, 17 Oct 2018 20:31:51 -0400 Subject: Add GetFileLink method to plugin API (#9665) * add GetFileLink method to plugin API * Update plugin/api.go * add translations for new plugin API errors --- plugin/api.go | 5 +++++ plugin/client_rpc_generated.go | 29 +++++++++++++++++++++++++++++ plugin/plugintest/api.go | 23 +++++++++++++++++++++++ 3 files changed, 57 insertions(+) (limited to 'plugin') diff --git a/plugin/api.go b/plugin/api.go index 3e35811b8..660309f57 100644 --- a/plugin/api.go +++ b/plugin/api.go @@ -256,6 +256,11 @@ type API interface { // Minimum server version: 5.3 GetFileInfo(fileId string) (*model.FileInfo, *model.AppError) + // GetFileLink gets the public link to a file by fileId. + // + // Minimum server version: 5.6 + GetFileLink(fileId string) (string, *model.AppError) + // ReadFileAtPath reads the file from the backend for a specific path // // Minimum server version: 5.3 diff --git a/plugin/client_rpc_generated.go b/plugin/client_rpc_generated.go index f7db87e2e..4648b86ce 100644 --- a/plugin/client_rpc_generated.go +++ b/plugin/client_rpc_generated.go @@ -2399,6 +2399,35 @@ func (s *apiRPCServer) GetFileInfo(args *Z_GetFileInfoArgs, returns *Z_GetFileIn return nil } +type Z_GetFileLinkArgs struct { + A string +} + +type Z_GetFileLinkReturns struct { + A string + B *model.AppError +} + +func (g *apiRPCClient) GetFileLink(fileId string) (string, *model.AppError) { + _args := &Z_GetFileLinkArgs{fileId} + _returns := &Z_GetFileLinkReturns{} + if err := g.client.Call("Plugin.GetFileLink", _args, _returns); err != nil { + log.Printf("RPC call to GetFileLink API failed: %s", err.Error()) + } + return _returns.A, _returns.B +} + +func (s *apiRPCServer) GetFileLink(args *Z_GetFileLinkArgs, returns *Z_GetFileLinkReturns) error { + if hook, ok := s.impl.(interface { + GetFileLink(fileId string) (string, *model.AppError) + }); ok { + returns.A, returns.B = hook.GetFileLink(args.A) + } else { + return encodableError(fmt.Errorf("API GetFileLink called but not implemented.")) + } + return nil +} + type Z_ReadFileArgs struct { A string } diff --git a/plugin/plugintest/api.go b/plugin/plugintest/api.go index 0fe2ab0ea..78e361e0f 100644 --- a/plugin/plugintest/api.go +++ b/plugin/plugintest/api.go @@ -574,6 +574,29 @@ func (_m *API) GetFileInfo(fileId string) (*model.FileInfo, *model.AppError) { return r0, r1 } +// GetFileLink provides a mock function with given fields: fileId +func (_m *API) GetFileLink(fileId string) (string, *model.AppError) { + ret := _m.Called(fileId) + + var r0 string + if rf, ok := ret.Get(0).(func(string) string); ok { + r0 = rf(fileId) + } else { + r0 = ret.Get(0).(string) + } + + var r1 *model.AppError + if rf, ok := ret.Get(1).(func(string) *model.AppError); ok { + r1 = rf(fileId) + } else { + if ret.Get(1) != nil { + r1 = ret.Get(1).(*model.AppError) + } + } + + return r0, r1 +} + // GetGroupChannel provides a mock function with given fields: userIds func (_m *API) GetGroupChannel(userIds []string) (*model.Channel, *model.AppError) { ret := _m.Called(userIds) -- cgit v1.2.3-1-g7c22