node build fixed
This commit is contained in:
200
seanime-2.9.10/internal/database/db/settings.go
Normal file
200
seanime-2.9.10/internal/database/db/settings.go
Normal file
@@ -0,0 +1,200 @@
|
||||
package db
|
||||
|
||||
import (
|
||||
"seanime/internal/database/models"
|
||||
|
||||
"gorm.io/gorm/clause"
|
||||
)
|
||||
|
||||
var CurrSettings *models.Settings
|
||||
|
||||
func (db *Database) UpsertSettings(settings *models.Settings) (*models.Settings, error) {
|
||||
|
||||
err := db.gormdb.Clauses(clause.OnConflict{
|
||||
Columns: []clause.Column{{Name: "id"}},
|
||||
UpdateAll: true,
|
||||
}).Create(settings).Error
|
||||
|
||||
if err != nil {
|
||||
db.Logger.Error().Err(err).Msg("db: Failed to save settings in the database")
|
||||
return nil, err
|
||||
}
|
||||
|
||||
CurrSettings = settings
|
||||
|
||||
db.Logger.Debug().Msg("db: Settings saved")
|
||||
return settings, nil
|
||||
|
||||
}
|
||||
|
||||
func (db *Database) GetSettings() (*models.Settings, error) {
|
||||
|
||||
if CurrSettings != nil {
|
||||
return CurrSettings, nil
|
||||
}
|
||||
|
||||
var settings models.Settings
|
||||
err := db.gormdb.Where("id = ?", 1).Find(&settings).Error
|
||||
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &settings, nil
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
func (db *Database) GetLibraryPathFromSettings() (string, error) {
|
||||
settings, err := db.GetSettings()
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
return settings.Library.LibraryPath, nil
|
||||
}
|
||||
|
||||
func (db *Database) GetAdditionalLibraryPathsFromSettings() ([]string, error) {
|
||||
settings, err := db.GetSettings()
|
||||
if err != nil {
|
||||
return []string{}, err
|
||||
}
|
||||
return settings.Library.LibraryPaths, nil
|
||||
}
|
||||
|
||||
func (db *Database) GetAllLibraryPathsFromSettings() ([]string, error) {
|
||||
settings, err := db.GetSettings()
|
||||
if err != nil {
|
||||
return []string{}, err
|
||||
}
|
||||
if settings.Library == nil {
|
||||
return []string{}, nil
|
||||
}
|
||||
return append([]string{settings.Library.LibraryPath}, settings.Library.LibraryPaths...), nil
|
||||
}
|
||||
|
||||
func (db *Database) AllLibraryPathsFromSettings(settings *models.Settings) *[]string {
|
||||
if settings.Library == nil {
|
||||
return &[]string{}
|
||||
}
|
||||
r := append([]string{settings.Library.LibraryPath}, settings.Library.LibraryPaths...)
|
||||
return &r
|
||||
}
|
||||
|
||||
func (db *Database) AutoUpdateProgressIsEnabled() (bool, error) {
|
||||
settings, err := db.GetSettings()
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
return settings.Library.AutoUpdateProgress, nil
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
var CurrMediastreamSettings *models.MediastreamSettings
|
||||
|
||||
func (db *Database) UpsertMediastreamSettings(settings *models.MediastreamSettings) (*models.MediastreamSettings, error) {
|
||||
|
||||
err := db.gormdb.Clauses(clause.OnConflict{
|
||||
Columns: []clause.Column{{Name: "id"}},
|
||||
UpdateAll: true,
|
||||
}).Create(settings).Error
|
||||
|
||||
if err != nil {
|
||||
db.Logger.Error().Err(err).Msg("db: Failed to save media streaming settings in the database")
|
||||
return nil, err
|
||||
}
|
||||
|
||||
CurrMediastreamSettings = settings
|
||||
|
||||
db.Logger.Debug().Msg("db: Media streaming settings saved")
|
||||
return settings, nil
|
||||
|
||||
}
|
||||
|
||||
func (db *Database) GetMediastreamSettings() (*models.MediastreamSettings, bool) {
|
||||
|
||||
if CurrMediastreamSettings != nil {
|
||||
return CurrMediastreamSettings, true
|
||||
}
|
||||
|
||||
var settings models.MediastreamSettings
|
||||
err := db.gormdb.Where("id = ?", 1).First(&settings).Error
|
||||
|
||||
if err != nil {
|
||||
return nil, false
|
||||
}
|
||||
return &settings, true
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
var CurrTorrentstreamSettings *models.TorrentstreamSettings
|
||||
|
||||
func (db *Database) UpsertTorrentstreamSettings(settings *models.TorrentstreamSettings) (*models.TorrentstreamSettings, error) {
|
||||
|
||||
err := db.gormdb.Clauses(clause.OnConflict{
|
||||
Columns: []clause.Column{{Name: "id"}},
|
||||
UpdateAll: true,
|
||||
}).Create(settings).Error
|
||||
|
||||
if err != nil {
|
||||
db.Logger.Error().Err(err).Msg("db: Failed to save torrent streaming settings in the database")
|
||||
return nil, err
|
||||
}
|
||||
|
||||
CurrTorrentstreamSettings = settings
|
||||
|
||||
db.Logger.Debug().Msg("db: Torrent streaming settings saved")
|
||||
return settings, nil
|
||||
}
|
||||
|
||||
func (db *Database) GetTorrentstreamSettings() (*models.TorrentstreamSettings, bool) {
|
||||
|
||||
if CurrTorrentstreamSettings != nil {
|
||||
return CurrTorrentstreamSettings, true
|
||||
}
|
||||
|
||||
var settings models.TorrentstreamSettings
|
||||
err := db.gormdb.Where("id = ?", 1).First(&settings).Error
|
||||
|
||||
if err != nil {
|
||||
return nil, false
|
||||
}
|
||||
return &settings, true
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
var CurrentDebridSettings *models.DebridSettings
|
||||
|
||||
func (db *Database) UpsertDebridSettings(settings *models.DebridSettings) (*models.DebridSettings, error) {
|
||||
err := db.gormdb.Clauses(clause.OnConflict{
|
||||
Columns: []clause.Column{{Name: "id"}},
|
||||
UpdateAll: true,
|
||||
}).Create(settings).Error
|
||||
|
||||
if err != nil {
|
||||
db.Logger.Error().Err(err).Msg("db: Failed to save debrid settings in the database")
|
||||
return nil, err
|
||||
}
|
||||
|
||||
CurrentDebridSettings = settings
|
||||
|
||||
db.Logger.Debug().Msg("db: Debrid settings saved")
|
||||
return settings, nil
|
||||
}
|
||||
|
||||
func (db *Database) GetDebridSettings() (*models.DebridSettings, bool) {
|
||||
|
||||
if CurrentDebridSettings != nil {
|
||||
return CurrentDebridSettings, true
|
||||
}
|
||||
|
||||
var settings models.DebridSettings
|
||||
err := db.gormdb.Where("id = ?", 1).First(&settings).Error
|
||||
if err != nil {
|
||||
return nil, false
|
||||
}
|
||||
return &settings, true
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
Reference in New Issue
Block a user