* Initial implementation of a CopyFileInfos function that creates new FileInfo objects copied from provided FileIds with the provided user as the creator and not linked to a post yet. This can subsequently be used to copy existing attachments from another post to attach to a new post without having to re-upload the actual files

* added a unit test for the CopyFileInfos function

* resolving pull request suggestions
Этот коммит содержится в:
dmitrysamuylovpharo
2018-08-02 10:37:31 -04:00
коммит произвёл Harrison Healey
родитель b728b16f90
Коммит 7a731d2bd1
6 изменённых файлов: 127 добавлений и 0 удалений

Просмотреть файл

@@ -1820,6 +1820,36 @@ func (s *apiRPCServer) UpdatePost(args *Z_UpdatePostArgs, returns *Z_UpdatePostR
return nil
}
type Z_CopyFileInfosArgs struct {
A string
B []string
}
type Z_CopyFileInfosReturns struct {
A []string
B *model.AppError
}
func (g *apiRPCClient) CopyFileInfos(userId string, fileIds []string) ([]string, *model.AppError) {
_args := &Z_CopyFileInfosArgs{userId, fileIds}
_returns := &Z_CopyFileInfosReturns{}
if err := g.client.Call("Plugin.CopyFileInfos", _args, _returns); err != nil {
log.Printf("RPC call to CopyFileInfos API failed: %s", err.Error())
}
return _returns.A, _returns.B
}
func (s *apiRPCServer) CopyFileInfos(args *Z_CopyFileInfosArgs, returns *Z_CopyFileInfosReturns) error {
if hook, ok := s.impl.(interface {
CopyFileInfos(userId string, fileIds []string) ([]string, *model.AppError)
}); ok {
returns.A, returns.B = hook.CopyFileInfos(args.A, args.B)
} else {
return fmt.Errorf("API CopyFileInfos called but not implemented.")
}
return nil
}
type Z_KVSetArgs struct {
A string
B []byte