mirror of
https://github.com/wgh136/nysoure.git
synced 2025-09-27 12:17:24 +00:00
Add modified_time field to Resource model and update logic for tracking modifications
This commit is contained in:
@@ -100,6 +100,11 @@ func CreateFile(filename string, description string, resourceID uint, storageID
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
err = tx.Model(&model.Resource{}).Where("id = ?", resourceID).
|
||||||
|
UpdateColumn("modified_time", time.Now()).Error
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
return nil
|
return nil
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@@ -15,6 +15,7 @@ import (
|
|||||||
|
|
||||||
func CreateResource(r model.Resource) (model.Resource, error) {
|
func CreateResource(r model.Resource) (model.Resource, error) {
|
||||||
err := db.Transaction(func(tx *gorm.DB) error {
|
err := db.Transaction(func(tx *gorm.DB) error {
|
||||||
|
r.ModifiedTime = time.Now()
|
||||||
err := tx.Create(&r).Error
|
err := tx.Create(&r).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
@@ -71,9 +72,9 @@ func GetResourceList(page, pageSize int, sort model.RSort) ([]model.Resource, in
|
|||||||
order := ""
|
order := ""
|
||||||
switch sort {
|
switch sort {
|
||||||
case model.RSortTimeAsc:
|
case model.RSortTimeAsc:
|
||||||
order = "created_at ASC"
|
order = "modified_time ASC"
|
||||||
case model.RSortTimeDesc:
|
case model.RSortTimeDesc:
|
||||||
order = "created_at DESC"
|
order = "modified_time DESC"
|
||||||
case model.RSortViewsAsc:
|
case model.RSortViewsAsc:
|
||||||
order = "views ASC"
|
order = "views ASC"
|
||||||
case model.RSortViewsDesc:
|
case model.RSortViewsDesc:
|
||||||
@@ -83,7 +84,7 @@ func GetResourceList(page, pageSize int, sort model.RSort) ([]model.Resource, in
|
|||||||
case model.RSortDownloadsDesc:
|
case model.RSortDownloadsDesc:
|
||||||
order = "downloads DESC"
|
order = "downloads DESC"
|
||||||
default:
|
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 {
|
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.Images = nil
|
||||||
r.Tags = nil
|
r.Tags = nil
|
||||||
r.Files = nil
|
r.Files = nil
|
||||||
|
r.ModifiedTime = time.Now()
|
||||||
if err := db.Save(&r).Error; err != nil {
|
if err := db.Save(&r).Error; err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@@ -20,6 +20,7 @@ type Resource struct {
|
|||||||
Views uint
|
Views uint
|
||||||
Downloads uint
|
Downloads uint
|
||||||
Comments uint
|
Comments uint
|
||||||
|
ModifiedTime time.Time
|
||||||
}
|
}
|
||||||
|
|
||||||
type Link struct {
|
type Link struct {
|
||||||
|
Reference in New Issue
Block a user