package profileService import ( "bytes" "context" "fmt" "io" "gitea.cybertalant.ru/VisionCareerMiniapp/MiniappGoService/internal/application/constants" "gitea.cybertalant.ru/VisionCareerMiniapp/MiniappGoService/internal/application/types" "gitea.cybertalant.ru/VisionCareerMiniapp/MiniappGoService/internal/application/utils" "github.com/minio/minio-go/v7" ) func (t *service) SaveResume( user *types.User, fileName string, fileReader io.Reader, fileSize int64, ) (string, error) { op := "profileService/SaveResume" // Read file data, err := io.ReadAll(fileReader) if err != nil { t.logger.Error(fmt.Sprintf("%v: %v", op, err.Error())) return "", fmt.Errorf("Произошла ошибка при проверке файла...") } // Validate file if err := utils.FileValidation(fileName, data); err != nil { t.logger.Error(fmt.Sprintf("%v: %v", op, err.Error())) return "", fmt.Errorf("Невалидный файл...") } // Save resume file resumePath, err := t.minioDB.UploadFile( context.Background(), constants.ResumeBucketName, fileName, bytes.NewReader(data), fileSize, minio.PutObjectOptions{}, ) if err != nil { t.logger.Error(fmt.Sprintf("%v: %v", op, err.Error())) return "", fmt.Errorf("Произошла ошибка при cохранении файла...") } return resumePath, nil }