aboutsummaryrefslogtreecommitdiff
path: root/database
diff options
context:
space:
mode:
authorBobby <[email protected]>2025-07-19 15:22:22 +0530
committerBobby <[email protected]>2025-07-19 15:22:22 +0530
commitd31111cf0133b223a8e665e6798b8ae09aa5c8a9 (patch)
tree3f4d98333a4c7da4854b7482cdab80802a1dde59 /database
parent1d582861feab127bdd588430d4d8374cf1d54fd5 (diff)
downloadimageboard-d31111cf0133b223a8e665e6798b8ae09aa5c8a9.tar.xz
imageboard-d31111cf0133b223a8e665e6798b8ae09aa5c8a9.zip
post metadata update via edit
Diffstat (limited to 'database')
-rw-r--r--database/images.go4
-rw-r--r--database/posts.go2
-rw-r--r--database/user.go17
3 files changed, 21 insertions, 2 deletions
diff --git a/database/images.go b/database/images.go
index 95b5339..40b6390 100644
--- a/database/images.go
+++ b/database/images.go
@@ -80,3 +80,7 @@ func CreateImageSizeWithTx(tx *gorm.DB, imageID uint, sizeType config.ImageSizeT
return &imageSize, nil
}
+
+func UpdateImage(imageID uint, updates map[string]interface{}) error {
+ return DB.Model(&models.Image{}).Where("id = ?", imageID).Updates(updates).Error
+}
diff --git a/database/posts.go b/database/posts.go
index 1aeaecd..9736feb 100644
--- a/database/posts.go
+++ b/database/posts.go
@@ -31,7 +31,7 @@ func GetPosts(limit int, ratings []config.Rating, tags []string) ([]models.Image
func GetPostByID(postID uint) (*models.Image, error) {
var post models.Image
- if err := DB.Preload("Sizes").Preload("Uploader").Preload("Tags").First(&post, postID).Error; err != nil {
+ if err := DB.Preload("Sizes").Preload("Uploader").Preload("Approver").Preload("Tags").First(&post, postID).Error; err != nil {
return nil, err
}
return &post, nil
diff --git a/database/user.go b/database/user.go
index 4fe7e18..cae46ae 100644
--- a/database/user.go
+++ b/database/user.go
@@ -1,6 +1,9 @@
package database
-import "imageboard/models"
+import (
+ "imageboard/config"
+ "imageboard/models"
+)
func GetUserByUsername(username string) (*models.User, error) {
var user models.User
@@ -10,6 +13,18 @@ func GetUserByUsername(username string) (*models.User, error) {
return &user, nil
}
+func ListAllUsers() ([]models.User, error) {
+ var users []models.User
+ err := DB.Where("is_deleted = ?", false).Order("LOWER(username) ASC").Find(&users).Error
+ return users, err
+}
+
+func ListAllApprovers() ([]models.User, error) {
+ var users []models.User
+ err := DB.Where("is_deleted = ? AND level >= ?", false, config.UserLevelJanitor).Order("LOWER(username) ASC").Find(&users).Error
+ return users, err
+}
+
func GetUserByID(userID uint) (*models.User, error) {
var user models.User
if err := DB.Where("id = ?", userID).First(&user).Error; err != nil {