node build fixed
This commit is contained in:
@@ -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
|
||||
}
|
||||
Reference in New Issue
Block a user