diff options
Diffstat (limited to 'database/images.go')
| -rw-r--r-- | database/images.go | 10 |
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 } |
