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

47 lines
1.1 KiB
Go

package db_bridge
import (
"github.com/goccy/go-json"
"seanime/internal/database/db"
"seanime/internal/database/models"
hibiketorrent "seanime/internal/extension/hibike/torrent"
)
func GetTorrentstreamHistory(db *db.Database, mId int) (*hibiketorrent.AnimeTorrent, error) {
var history models.TorrentstreamHistory
if err := db.Gorm().Where("media_id = ?", mId).First(&history).Error; err != nil {
return nil, err
}
var torrent hibiketorrent.AnimeTorrent
if err := json.Unmarshal(history.Torrent, &torrent); err != nil {
return nil, err
}
return &torrent, nil
}
func InsertTorrentstreamHistory(db *db.Database, mId int, torrent *hibiketorrent.AnimeTorrent) error {
if torrent == nil {
return nil
}
// Marshal the data
bytes, err := json.Marshal(torrent)
if err != nil {
return err
}
// Get current history
var history models.TorrentstreamHistory
if err := db.Gorm().Where("media_id = ?", mId).First(&history).Error; err == nil {
// Update the history
history.Torrent = bytes
return db.Gorm().Save(&history).Error
}
return db.Gorm().Create(&models.TorrentstreamHistory{
MediaId: mId,
Torrent: bytes,
}).Error
}