aboutsummaryrefslogtreecommitdiff
path: root/database/images.go
diff options
context:
space:
mode:
Diffstat (limited to 'database/images.go')
-rw-r--r--database/images.go10
1 files changed, 6 insertions, 4 deletions
diff --git a/database/images.go b/database/images.go
index 35efa7b..95b5339 100644
--- a/database/images.go
+++ b/database/images.go
@@ -6,6 +6,8 @@ import (
"imageboard/utils/format"
"imageboard/utils/transformers"
"time"
+
+ "gorm.io/gorm"
)
func GetTotalPostsCount() (int64, error) {
@@ -35,7 +37,7 @@ func GetTotalStorageSize() (string, error) {
return format.FileSize(totalSize), nil
}
-func CreateImage(fileName, contentType, md5Hash, sourceURL, rating string, uploaderID uint, requiresApproval bool) (*models.Image, error) {
+func CreateImageWithTx(tx *gorm.DB, fileName, contentType, md5Hash, sourceURL, rating string, uploaderID uint, requiresApproval bool) (*models.Image, error) {
ratingEnum, err := transformers.ConvertStringRatingToType(rating)
if err != nil {
return nil, err
@@ -56,14 +58,14 @@ func CreateImage(fileName, contentType, md5Hash, sourceURL, rating string, uploa
IsApproved: !requiresApproval,
}
- if err := DB.Create(&image).Error; err != nil {
+ if err := tx.Create(&image).Error; err != nil {
return nil, err
}
return &image, nil
}
-func CreateImageSize(imageID uint, sizeType config.ImageSizeType, width, height int, fileSize int64) (*models.ImageSize, error) {
+func CreateImageSizeWithTx(tx *gorm.DB, imageID uint, sizeType config.ImageSizeType, width, height int, fileSize int64) (*models.ImageSize, error) {
imageSize := models.ImageSize{
ImageID: imageID,
SizeType: sizeType,
@@ -72,7 +74,7 @@ func CreateImageSize(imageID uint, sizeType config.ImageSizeType, width, height
FileSize: fileSize,
}
- if err := DB.Create(&imageSize).Error; err != nil {
+ if err := tx.Create(&imageSize).Error; err != nil {
return nil, err
}