From 8d680cf64ec7fb6c8b242b8048989d0f0550cb68 Mon Sep 17 00:00:00 2001 From: Saturnino Abril Date: Wed, 6 Sep 2017 03:42:18 +0800 Subject: [PLT-7475] Add S3 region to system console and add S3 validation (#7373) * add S3 region to system console and add S3 validation * update translation message * add bool as return value to Validate* functions * update Validate* functions to be pure --- utils/file.go | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) (limited to 'utils/file.go') diff --git a/utils/file.go b/utils/file.go index 19fa335c4..d8926cfaa 100644 --- a/utils/file.go +++ b/utils/file.go @@ -48,13 +48,13 @@ func s3New(endpoint, accessKey, secretKey string, secure bool, signV2 bool, regi func TestFileConnection() *model.AppError { if *Cfg.FileSettings.DriverName == model.IMAGE_DRIVER_S3 { - endpoint := Cfg.FileSettings.AmazonS3Endpoint + endpoint := *Cfg.FileSettings.AmazonS3Endpoint accessKey := Cfg.FileSettings.AmazonS3AccessKeyId secretKey := Cfg.FileSettings.AmazonS3SecretAccessKey secure := *Cfg.FileSettings.AmazonS3SSL signV2 := *Cfg.FileSettings.AmazonS3SignV2 - region := Cfg.FileSettings.AmazonS3Region - bucket := Cfg.FileSettings.AmazonS3Bucket + region := *Cfg.FileSettings.AmazonS3Region + bucket := *Cfg.FileSettings.AmazonS3Bucket s3Clnt, err := s3New(endpoint, accessKey, secretKey, secure, signV2, region) if err != nil { @@ -91,17 +91,17 @@ func TestFileConnection() *model.AppError { func ReadFile(path string) ([]byte, *model.AppError) { if *Cfg.FileSettings.DriverName == model.IMAGE_DRIVER_S3 { - endpoint := Cfg.FileSettings.AmazonS3Endpoint + endpoint := *Cfg.FileSettings.AmazonS3Endpoint accessKey := Cfg.FileSettings.AmazonS3AccessKeyId secretKey := Cfg.FileSettings.AmazonS3SecretAccessKey secure := *Cfg.FileSettings.AmazonS3SSL signV2 := *Cfg.FileSettings.AmazonS3SignV2 - region := Cfg.FileSettings.AmazonS3Region + region := *Cfg.FileSettings.AmazonS3Region s3Clnt, err := s3New(endpoint, accessKey, secretKey, secure, signV2, region) if err != nil { return nil, model.NewLocAppError("ReadFile", "api.file.read_file.s3.app_error", nil, err.Error()) } - bucket := Cfg.FileSettings.AmazonS3Bucket + bucket := *Cfg.FileSettings.AmazonS3Bucket minioObject, err := s3Clnt.GetObject(bucket, path) defer minioObject.Close() if err != nil { @@ -125,12 +125,12 @@ func ReadFile(path string) ([]byte, *model.AppError) { func MoveFile(oldPath, newPath string) *model.AppError { if *Cfg.FileSettings.DriverName == model.IMAGE_DRIVER_S3 { - endpoint := Cfg.FileSettings.AmazonS3Endpoint + endpoint := *Cfg.FileSettings.AmazonS3Endpoint accessKey := Cfg.FileSettings.AmazonS3AccessKeyId secretKey := Cfg.FileSettings.AmazonS3SecretAccessKey secure := *Cfg.FileSettings.AmazonS3SSL signV2 := *Cfg.FileSettings.AmazonS3SignV2 - region := Cfg.FileSettings.AmazonS3Region + region := *Cfg.FileSettings.AmazonS3Region encrypt := false if *Cfg.FileSettings.AmazonS3SSE && IsLicensed() && *License().Features.Compliance { encrypt = true @@ -139,7 +139,7 @@ func MoveFile(oldPath, newPath string) *model.AppError { if err != nil { return model.NewLocAppError("moveFile", "api.file.write_file.s3.app_error", nil, err.Error()) } - bucket := Cfg.FileSettings.AmazonS3Bucket + bucket := *Cfg.FileSettings.AmazonS3Bucket source := s3.NewSourceInfo(bucket, oldPath, nil) destination, err := s3.NewDestinationInfo(bucket, newPath, nil, CopyMetadata(encrypt)) @@ -169,12 +169,12 @@ func MoveFile(oldPath, newPath string) *model.AppError { func WriteFile(f []byte, path string) *model.AppError { if *Cfg.FileSettings.DriverName == model.IMAGE_DRIVER_S3 { - endpoint := Cfg.FileSettings.AmazonS3Endpoint + endpoint := *Cfg.FileSettings.AmazonS3Endpoint accessKey := Cfg.FileSettings.AmazonS3AccessKeyId secretKey := Cfg.FileSettings.AmazonS3SecretAccessKey secure := *Cfg.FileSettings.AmazonS3SSL signV2 := *Cfg.FileSettings.AmazonS3SignV2 - region := Cfg.FileSettings.AmazonS3Region + region := *Cfg.FileSettings.AmazonS3Region encrypt := false if *Cfg.FileSettings.AmazonS3SSE && IsLicensed() && *License().Features.Compliance { encrypt = true @@ -185,7 +185,7 @@ func WriteFile(f []byte, path string) *model.AppError { return model.NewLocAppError("WriteFile", "api.file.write_file.s3.app_error", nil, err.Error()) } - bucket := Cfg.FileSettings.AmazonS3Bucket + bucket := *Cfg.FileSettings.AmazonS3Bucket ext := filepath.Ext(path) metaData := S3Metadata(encrypt, "binary/octet-stream") if model.IsFileExtImage(ext) { @@ -222,19 +222,19 @@ func writeFileLocally(f []byte, path string) *model.AppError { func RemoveFile(path string) *model.AppError { if *Cfg.FileSettings.DriverName == model.IMAGE_DRIVER_S3 { - endpoint := Cfg.FileSettings.AmazonS3Endpoint + endpoint := *Cfg.FileSettings.AmazonS3Endpoint accessKey := Cfg.FileSettings.AmazonS3AccessKeyId secretKey := Cfg.FileSettings.AmazonS3SecretAccessKey secure := *Cfg.FileSettings.AmazonS3SSL signV2 := *Cfg.FileSettings.AmazonS3SignV2 - region := Cfg.FileSettings.AmazonS3Region + region := *Cfg.FileSettings.AmazonS3Region s3Clnt, err := s3New(endpoint, accessKey, secretKey, secure, signV2, region) if err != nil { return model.NewLocAppError("RemoveFile", "utils.file.remove_file.s3.app_error", nil, err.Error()) } - bucket := Cfg.FileSettings.AmazonS3Bucket + bucket := *Cfg.FileSettings.AmazonS3Bucket if err := s3Clnt.RemoveObject(bucket, path); err != nil { return model.NewLocAppError("RemoveFile", "utils.file.remove_file.s3.app_error", nil, err.Error()) } @@ -271,12 +271,12 @@ func getPathsFromObjectInfos(in <-chan s3.ObjectInfo) <-chan string { func RemoveDirectory(path string) *model.AppError { if *Cfg.FileSettings.DriverName == model.IMAGE_DRIVER_S3 { - endpoint := Cfg.FileSettings.AmazonS3Endpoint + endpoint := *Cfg.FileSettings.AmazonS3Endpoint accessKey := Cfg.FileSettings.AmazonS3AccessKeyId secretKey := Cfg.FileSettings.AmazonS3SecretAccessKey secure := *Cfg.FileSettings.AmazonS3SSL signV2 := *Cfg.FileSettings.AmazonS3SignV2 - region := Cfg.FileSettings.AmazonS3Region + region := *Cfg.FileSettings.AmazonS3Region s3Clnt, err := s3New(endpoint, accessKey, secretKey, secure, signV2, region) if err != nil { @@ -285,7 +285,7 @@ func RemoveDirectory(path string) *model.AppError { doneCh := make(chan struct{}) - bucket := Cfg.FileSettings.AmazonS3Bucket + bucket := *Cfg.FileSettings.AmazonS3Bucket for err := range s3Clnt.RemoveObjects(bucket, getPathsFromObjectInfos(s3Clnt.ListObjects(bucket, path, true, doneCh))) { if err.Err != nil { doneCh <- struct{}{} -- cgit v1.2.3-1-g7c22