Add modified_time field to Resource model and update logic for tracking modifications

This commit is contained in:
2025-09-27 16:22:04 +08:00
parent c131f48448
commit e117a2e708
3 changed files with 11 additions and 3 deletions

View File

@@ -100,6 +100,11 @@ func CreateFile(filename string, description string, resourceID uint, storageID
if err != nil {
return err
}
err = tx.Model(&model.Resource{}).Where("id = ?", resourceID).
UpdateColumn("modified_time", time.Now()).Error
if err != nil {
return err
}
return nil
})

View File

@@ -15,6 +15,7 @@ import (
func CreateResource(r model.Resource) (model.Resource, error) {
err := db.Transaction(func(tx *gorm.DB) error {
r.ModifiedTime = time.Now()
err := tx.Create(&r).Error
if err != nil {
return err
@@ -71,9 +72,9 @@ func GetResourceList(page, pageSize int, sort model.RSort) ([]model.Resource, in
order := ""
switch sort {
case model.RSortTimeAsc:
order = "created_at ASC"
order = "modified_time ASC"
case model.RSortTimeDesc:
order = "created_at DESC"
order = "modified_time DESC"
case model.RSortViewsAsc:
order = "views ASC"
case model.RSortViewsDesc:
@@ -83,7 +84,7 @@ func GetResourceList(page, pageSize int, sort model.RSort) ([]model.Resource, in
case model.RSortDownloadsDesc:
order = "downloads DESC"
default:
order = "created_at DESC" // Default sort order
order = "modified_time DESC" // Default sort order
}
if err := db.Offset((page - 1) * pageSize).Limit(pageSize).Preload("User").Preload("Images").Preload("Tags").Order(order).Find(&resources).Error; err != nil {
@@ -102,6 +103,7 @@ func UpdateResource(r model.Resource) error {
r.Images = nil
r.Tags = nil
r.Files = nil
r.ModifiedTime = time.Now()
if err := db.Save(&r).Error; err != nil {
return err
}

View File

@@ -20,6 +20,7 @@ type Resource struct {
Views uint
Downloads uint
Comments uint
ModifiedTime time.Time
}
type Link struct {