package upload import ( "clapclap/internal/apperr" "clapclap/internal/dtos" "clapclap/internal/ginctx" "clapclap/internal/utils" "net/url" "github.com/gin-gonic/gin" ) func GetEventInfos(c *gin.Context) { event, err := ginctx.GetDto[dtos.MinioUploadEvent](c) if err != nil { apperr.AbortWithError(c, apperr.NewValidationError(err)) return } objects := make([]utils.S3Object, 0, len(event.Records)) for _, record := range event.Records { objectKey, err := url.PathUnescape(record.S3.Object.Key) if err != nil { apperr.AbortWithError(c, apperr.NewInternalServerError(err, "Failed to unescape webhook path")) return } obj := utils.S3Object{ Bucket: record.S3.Bucket.Name, Key: objectKey, } objects = append(objects, obj) } c.Set("S3EventObjects", objects) }