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

71 lines
1.5 KiB
Go

package db
import (
"gorm.io/gorm/clause"
"seanime/internal/database/models"
)
func (db *Database) GetSilencedMediaEntries() ([]*models.SilencedMediaEntry, error) {
var res []*models.SilencedMediaEntry
err := db.gormdb.Find(&res).Error
if err != nil {
return nil, err
}
return res, nil
}
// GetSilencedMediaEntryIds returns the ids of all silenced media entries.
// It returns an empty slice if there is an error.
func (db *Database) GetSilencedMediaEntryIds() ([]int, error) {
var res []*models.SilencedMediaEntry
err := db.gormdb.Find(&res).Error
if err != nil {
return make([]int, 0), err
}
if len(res) == 0 {
return make([]int, 0), nil
}
mIds := make([]int, len(res))
for i, v := range res {
mIds[i] = int(v.ID)
}
return mIds, nil
}
func (db *Database) GetSilencedMediaEntry(mId uint) (*models.SilencedMediaEntry, error) {
var res models.SilencedMediaEntry
err := db.gormdb.First(&res, mId).Error
if err != nil {
return nil, err
}
return &res, nil
}
func (db *Database) InsertSilencedMediaEntry(mId uint) error {
err := db.gormdb.Clauses(clause.OnConflict{
Columns: []clause.Column{{Name: "id"}},
UpdateAll: true,
}).Create(&models.SilencedMediaEntry{
BaseModel: models.BaseModel{
ID: mId,
},
}).Error
if err != nil {
return err
}
return nil
}
func (db *Database) DeleteSilencedMediaEntry(id uint) error {
err := db.gormdb.Delete(&models.SilencedMediaEntry{}, id).Error
if err != nil {
return err
}
return nil
}