mirror of
https://github.com/5rahim/seanime
synced 2026-05-09 22:51:59 +02:00
32 lines
792 B
Go
32 lines
792 B
Go
package db
|
|
|
|
import (
|
|
"seanime/internal/database/models"
|
|
"seanime/internal/library/summary"
|
|
"time"
|
|
)
|
|
|
|
type ScanSummaryItem struct {
|
|
CreatedAt time.Time `json:"createdAt"`
|
|
ScanSummary *summary.ScanSummary `json:"scanSummary"`
|
|
}
|
|
|
|
func (db *Database) TrimScanSummaryEntries() {
|
|
go func() {
|
|
var count int64
|
|
err := db.gormdb.Model(&models.ScanSummary{}).Count(&count).Error
|
|
if err != nil {
|
|
db.Logger.Error().Err(err).Msg("Failed to count scan summary entries")
|
|
return
|
|
}
|
|
if count > 10 {
|
|
// Leave 5 entries
|
|
err = db.gormdb.Delete(&models.ScanSummary{}, "id IN (SELECT id FROM scan_summaries ORDER BY id ASC LIMIT ?)", count-5).Error
|
|
if err != nil {
|
|
db.Logger.Error().Err(err).Msg("Failed to delete old scan summary entries")
|
|
return
|
|
}
|
|
}
|
|
}()
|
|
}
|