node build fixed

This commit is contained in:
ra_ma
2025-09-20 14:08:38 +01:00
parent c6ebbe069d
commit 3d298fa434
1516 changed files with 535727 additions and 2 deletions

View File

@@ -0,0 +1,109 @@
package db_bridge
import (
"github.com/goccy/go-json"
"seanime/internal/database/db"
"seanime/internal/database/models"
"seanime/internal/library/anime"
)
var CurrAutoDownloaderRules []*anime.AutoDownloaderRule
func GetAutoDownloaderRules(db *db.Database) ([]*anime.AutoDownloaderRule, error) {
//if CurrAutoDownloaderRules != nil {
// return CurrAutoDownloaderRules, nil
//}
var res []*models.AutoDownloaderRule
err := db.Gorm().Find(&res).Error
if err != nil {
return nil, err
}
// Unmarshal the data
var rules []*anime.AutoDownloaderRule
for _, r := range res {
smBytes := r.Value
var sm anime.AutoDownloaderRule
if err := json.Unmarshal(smBytes, &sm); err != nil {
return nil, err
}
sm.DbID = r.ID
rules = append(rules, &sm)
}
//CurrAutoDownloaderRules = rules
return rules, nil
}
func GetAutoDownloaderRule(db *db.Database, id uint) (*anime.AutoDownloaderRule, error) {
var res models.AutoDownloaderRule
err := db.Gorm().First(&res, id).Error
if err != nil {
return nil, err
}
// Unmarshal the data
smBytes := res.Value
var sm anime.AutoDownloaderRule
if err := json.Unmarshal(smBytes, &sm); err != nil {
return nil, err
}
sm.DbID = res.ID
return &sm, nil
}
func GetAutoDownloaderRulesByMediaId(db *db.Database, mediaId int) (ret []*anime.AutoDownloaderRule) {
rules, err := GetAutoDownloaderRules(db)
if err != nil {
return
}
for _, rule := range rules {
if rule.MediaId == mediaId {
ret = append(ret, rule)
}
}
return
}
func InsertAutoDownloaderRule(db *db.Database, sm *anime.AutoDownloaderRule) error {
CurrAutoDownloaderRules = nil
// Marshal the data
bytes, err := json.Marshal(sm)
if err != nil {
return err
}
// Save the data
return db.Gorm().Create(&models.AutoDownloaderRule{
Value: bytes,
}).Error
}
func DeleteAutoDownloaderRule(db *db.Database, id uint) error {
CurrAutoDownloaderRules = nil
return db.Gorm().Delete(&models.AutoDownloaderRule{}, id).Error
}
func UpdateAutoDownloaderRule(db *db.Database, id uint, sm *anime.AutoDownloaderRule) error {
CurrAutoDownloaderRules = nil
// Marshal the data
bytes, err := json.Marshal(sm)
if err != nil {
return err
}
// Save the data
return db.Gorm().Model(&models.AutoDownloaderRule{}).Where("id = ?", id).Update("value", bytes).Error
}