Files
seanime-docker/seanime-2.9.10/internal/database/db/autodownloader_item.go
2025-09-20 14:08:38 +01:00

58 lines
1.5 KiB
Go

package db
import (
"seanime/internal/database/models"
)
func (db *Database) GetAutoDownloaderItems() ([]*models.AutoDownloaderItem, error) {
var res []*models.AutoDownloaderItem
err := db.gormdb.Find(&res).Error
if err != nil {
return nil, err
}
return res, nil
}
func (db *Database) GetAutoDownloaderItem(id uint) (*models.AutoDownloaderItem, error) {
var res models.AutoDownloaderItem
err := db.gormdb.First(&res, id).Error
if err != nil {
return nil, err
}
return &res, nil
}
func (db *Database) GetAutoDownloaderItemByMediaId(mId int) ([]*models.AutoDownloaderItem, error) {
var res []*models.AutoDownloaderItem
err := db.gormdb.Where("media_id = ?", mId).Find(&res).Error
if err != nil {
return nil, err
}
return res, nil
}
func (db *Database) InsertAutoDownloaderItem(item *models.AutoDownloaderItem) error {
err := db.gormdb.Create(item).Error
if err != nil {
return err
}
return nil
}
func (db *Database) DeleteAutoDownloaderItem(id uint) error {
return db.gormdb.Delete(&models.AutoDownloaderItem{}, id).Error
}
// DeleteDownloadedAutoDownloaderItems will delete all the downloaded queued items from the database.
func (db *Database) DeleteDownloadedAutoDownloaderItems() error {
return db.gormdb.Where("downloaded = ?", true).Delete(&models.AutoDownloaderItem{}).Error
}
func (db *Database) UpdateAutoDownloaderItem(id uint, item *models.AutoDownloaderItem) error {
// Save the data
return db.gormdb.Model(&models.AutoDownloaderItem{}).Where("id = ?", id).Updates(item).Error
}