node build fixed
This commit is contained in:
51
seanime-2.9.10/internal/database/db/localfiles.go
Normal file
51
seanime-2.9.10/internal/database/db/localfiles.go
Normal file
@@ -0,0 +1,51 @@
|
||||
package db
|
||||
|
||||
import (
|
||||
"seanime/internal/database/models"
|
||||
|
||||
"gorm.io/gorm/clause"
|
||||
)
|
||||
|
||||
// TrimLocalFileEntries will trim the local file entries if there are more than 10 entries.
|
||||
// This is run in a goroutine.
|
||||
func (db *Database) TrimLocalFileEntries() {
|
||||
go func() {
|
||||
var count int64
|
||||
err := db.gormdb.Model(&models.LocalFiles{}).Count(&count).Error
|
||||
if err != nil {
|
||||
db.Logger.Error().Err(err).Msg("database: Failed to count local file entries")
|
||||
return
|
||||
}
|
||||
if count > 10 {
|
||||
// Leave 5 entries
|
||||
err = db.gormdb.Delete(&models.LocalFiles{}, "id IN (SELECT id FROM local_files ORDER BY id ASC LIMIT ?)", count-5).Error
|
||||
if err != nil {
|
||||
db.Logger.Error().Err(err).Msg("database: Failed to delete old local file entries")
|
||||
return
|
||||
}
|
||||
}
|
||||
}()
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
func (db *Database) UpsertLocalFiles(lfs *models.LocalFiles) (*models.LocalFiles, error) {
|
||||
err := db.gormdb.Clauses(clause.OnConflict{
|
||||
Columns: []clause.Column{{Name: "id"}},
|
||||
UpdateAll: true,
|
||||
}).Create(lfs).Error
|
||||
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return lfs, nil
|
||||
}
|
||||
|
||||
func (db *Database) InsertLocalFiles(lfs *models.LocalFiles) (*models.LocalFiles, error) {
|
||||
err := db.gormdb.Create(lfs).Error
|
||||
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return lfs, nil
|
||||
}
|
||||
Reference in New Issue
Block a user