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,74 @@
package notifier
import (
"github.com/rs/zerolog"
"github.com/samber/mo"
"path/filepath"
"seanime/internal/database/models"
"sync"
)
type (
Notifier struct {
dataDir mo.Option[string]
settings mo.Option[*models.NotificationSettings]
mu sync.Mutex
logoPath string
logger mo.Option[*zerolog.Logger]
}
Notification string
)
const (
AutoDownloader Notification = "Auto Downloader"
AutoScanner Notification = "Auto Scanner"
Debrid Notification = "Debrid"
)
var GlobalNotifier = NewNotifier()
func init() {
GlobalNotifier = NewNotifier()
}
func NewNotifier() *Notifier {
return &Notifier{
dataDir: mo.None[string](),
settings: mo.None[*models.NotificationSettings](),
mu: sync.Mutex{},
logger: mo.None[*zerolog.Logger](),
}
}
func (n *Notifier) SetSettings(datadir string, settings *models.NotificationSettings, logger *zerolog.Logger) {
if datadir == "" || settings == nil {
return
}
n.mu.Lock()
n.dataDir = mo.Some(datadir)
n.settings = mo.Some(settings)
n.logoPath = filepath.Join(datadir, "logo.png")
n.logger = mo.Some(logger)
n.mu.Unlock()
}
func (n *Notifier) canProceed(id Notification) bool {
if !n.dataDir.IsPresent() || !n.settings.IsPresent() {
return false
}
if n.settings.MustGet().DisableNotifications {
return false
}
switch id {
case AutoDownloader:
return !n.settings.MustGet().DisableAutoDownloaderNotifications
case AutoScanner:
return !n.settings.MustGet().DisableAutoScannerNotifications
}
return false
}