chore: remove direct avatar upload endpoint (POST /profile/avatar);
feat: add endpoints for presigned upload URLs (GET /upload/avatar, GET /upload/image); refactor: replace ProfileDto with NewProfileDto in update profile endpoint; feat: implement S3 integration for avatar management; fix: update database queries to handle new avatar upload flow; chore: add new dependencies for S3 handling (golang.org/x/time); refactor: rename UploadService to S3Service; refactor: change return type for func LocalizeS3Url(originalURL string) (*url.URL, error); feat: add custom validator for upload_id
This commit is contained in:
@@ -110,6 +110,20 @@ func GetCustomHandlers() []CustomValidatorHandler {
|
||||
|
||||
panic(fmt.Sprintf("'%s' is not a valid verification code type", codeType))
|
||||
}},
|
||||
|
||||
{
|
||||
FieldName: "upload_id",
|
||||
Function: func(fl validator.FieldLevel) bool {
|
||||
uploadType := fl.Param()
|
||||
uploadID := fl.Field().String()
|
||||
|
||||
pattern := fmt.Sprintf(
|
||||
"^%s-([{(]?([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})[})]?)$",
|
||||
uploadType,
|
||||
)
|
||||
|
||||
return regexp.MustCompile(pattern).MatchString(uploadID)
|
||||
}},
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user