MM-8810: Add CSV Compliance export (#8966)

* MM-8810: Add CSV Compliance export

* Only allowing to schedule actiances export throught the cli

* De-duplicating some code

* Fixes on texts

* Fixes on translations
Этот коммит содержится в:
Jesús Espino
2018-06-22 11:15:19 +02:00
коммит произвёл GitHub
родитель 8526739066
Коммит d9390244af
11 изменённых файлов: 129 добавлений и 30 удалений

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

@@ -13,6 +13,7 @@ import (
type FileBackend interface {
TestConnection() *model.AppError
Reader(path string) (io.ReadCloser, *model.AppError)
ReadFile(path string) ([]byte, *model.AppError)
CopyFile(oldPath, newPath string) *model.AppError
MoveFile(oldPath, newPath string) *model.AppError

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

@@ -33,6 +33,14 @@ func (b *LocalFileBackend) TestConnection() *model.AppError {
return nil
}
func (b *LocalFileBackend) Reader(path string) (io.ReadCloser, *model.AppError) {
if f, err := os.Open(filepath.Join(b.directory, path)); err != nil {
return nil, model.NewAppError("Reader", "api.file.reader.reading_local.app_error", nil, err.Error(), http.StatusInternalServerError)
} else {
return f, nil
}
}
func (b *LocalFileBackend) ReadFile(path string) ([]byte, *model.AppError) {
if f, err := ioutil.ReadFile(filepath.Join(b.directory, path)); err != nil {
return nil, model.NewAppError("ReadFile", "api.file.read_file.reading_local.app_error", nil, err.Error(), http.StatusInternalServerError)

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

@@ -82,6 +82,18 @@ func (b *S3FileBackend) TestConnection() *model.AppError {
return nil
}
func (b *S3FileBackend) Reader(path string) (io.ReadCloser, *model.AppError) {
s3Clnt, err := b.s3New()
if err != nil {
return nil, model.NewAppError("Reader", "api.file.reader.s3.app_error", nil, err.Error(), http.StatusInternalServerError)
}
minioObject, err := s3Clnt.GetObject(b.bucket, path, s3.GetObjectOptions{})
if err != nil {
return nil, model.NewAppError("Reader", "api.file.reader.s3.app_error", nil, err.Error(), http.StatusInternalServerError)
}
return minioObject, nil
}
func (b *S3FileBackend) ReadFile(path string) ([]byte, *model.AppError) {
s3Clnt, err := b.s3New()
if err != nil {