feat: remove authentication requirement for avatar and image upload endpoints;
fix: remove 500 error responses from upload endpoints; fix: return validation error strings instead of error lists; fix: handle invalid avatar upload IDs with 400 Bad Request response; fix: add missing S3Controller to controller initialization; fix: change avatar_upload_id to string type and update validation rules; chore: add license header to smtp.go; refactor: replace manual proxy implementation with httputil.ReverseProxy; fix: inject S3Service dependency into ProfileService; fix: set color and color_grad fields during profile update; fix: correct DTO mapping for profile and settings; fix: check object existence before copying in SaveUpload; fix: adjust profile DTO mapping function for proper pointer handling
This commit is contained in:
@@ -21,6 +21,7 @@ import (
|
||||
"context"
|
||||
"easywish/config"
|
||||
minioclient "easywish/internal/minioClient"
|
||||
errs "easywish/internal/errors"
|
||||
"easywish/internal/utils"
|
||||
"fmt"
|
||||
"net/url"
|
||||
@@ -126,8 +127,14 @@ func (s *s3ServiceImpl) SaveUpload(uploadID string, bucketAlias string) (*string
|
||||
sourceBucket := minioclient.Buckets["uploads"]
|
||||
bucket := minioclient.Buckets[bucketAlias]
|
||||
newObjectKey := uuid.New().String()
|
||||
|
||||
_, err := s.minio.CopyObject(context.Background(), minio.CopyDestOptions{
|
||||
|
||||
_, err := s.minio.StatObject(context.Background(), sourceBucket, uploadID, minio.StatObjectOptions{})
|
||||
if err != nil {
|
||||
if minio.ToErrorResponse(err).Code == minio.NoSuchKey {
|
||||
return nil, errs.ErrFileNotFound
|
||||
}
|
||||
}
|
||||
_, err = s.minio.CopyObject(context.Background(), minio.CopyDestOptions{
|
||||
Bucket: bucket,
|
||||
Object: newObjectKey,
|
||||
}, minio.CopySrcOptions{
|
||||
|
||||
Reference in New Issue
Block a user