🐛 Fix on boost reupload
This commit is contained in:
		| @@ -94,7 +94,7 @@ func ActivateBoost(boost models.AttachmentBoost) error { | ||||
| 		return fmt.Errorf("invalid destination: %d", boost.Destination) | ||||
| 	} | ||||
|  | ||||
| 	if err := ReUploadFile(boost.Attachment, boost.Destination); err != nil { | ||||
| 	if err := ReUploadFile(boost.Attachment, boost.Destination, true); err != nil { | ||||
| 		log.Warn().Any("boost", boost).Err(err).Msg("Unable to activate boost...") | ||||
| 		database.C.Model(&boost).Update("status", models.BoostStatusError) | ||||
| 		return err | ||||
|   | ||||
| @@ -35,7 +35,7 @@ func UploadFileToTemporary(ctx *fiber.Ctx, file *multipart.FileHeader, meta mode | ||||
| 	} | ||||
| } | ||||
|  | ||||
| func ReUploadFile(meta models.Attachment, dst int) error { | ||||
| func ReUploadFile(meta models.Attachment, dst int, doNotUpdate ...bool) error { | ||||
| 	if meta.Destination == dst { | ||||
| 		return fmt.Errorf("destnation cannot be reversed temporary or the same as the original") | ||||
| 	} | ||||
| @@ -47,6 +47,9 @@ func ReUploadFile(meta models.Attachment, dst int) error { | ||||
| 	} | ||||
|  | ||||
| 	cleanupDst := func() { | ||||
| 		if len(doNotUpdate) == 0 || !doNotUpdate[0] { | ||||
| 			database.C.Save(&meta) | ||||
| 		} | ||||
| 		if prevDst == models.AttachmentDstTemporary { | ||||
| 			return | ||||
| 		} | ||||
| @@ -82,7 +85,6 @@ func ReUploadFile(meta models.Attachment, dst int) error { | ||||
| 			return fmt.Errorf("unable to copy data to dest file: %v", err) | ||||
| 		} | ||||
|  | ||||
| 		database.C.Save(&meta) | ||||
| 		cleanupDst() | ||||
| 		return nil | ||||
| 	case models.DestinationTypeS3: | ||||
| @@ -106,7 +108,6 @@ func ReUploadFile(meta models.Attachment, dst int) error { | ||||
| 			return fmt.Errorf("unable to upload file to s3: %v", err) | ||||
| 		} | ||||
|  | ||||
| 		database.C.Save(&meta) | ||||
| 		cleanupDst() | ||||
| 		return nil | ||||
| 	default: | ||||
|   | ||||
		Reference in New Issue
	
	Block a user