Documentation
¶
Index ¶
- type CooldownStats
- type Manager
- func (m *Manager) CleanupExpired(ctx context.Context) (int64, error)
- func (m *Manager) GetActiveCooldownMediaIDs(ctx context.Context) ([]int64, error)
- func (m *Manager) GetActiveCooldowns(ctx context.Context) ([]models.MediaCooldown, error)
- func (m *Manager) GetCooldown(ctx context.Context, mediaID int64) (*models.MediaCooldown, error)
- func (m *Manager) GetPlayHistory(ctx context.Context, opts repository.ListHistoryOptions) ([]models.PlayHistory, error)
- func (m *Manager) GetStats(ctx context.Context) (*CooldownStats, error)
- func (m *Manager) IsOnCooldown(ctx context.Context, mediaID int64) (bool, error)
- func (m *Manager) RecordPlay(ctx context.Context, media *models.Media, channelID, themeName string) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CooldownStats ¶
type CooldownStats struct {
ActiveCooldowns int64
ExpiredCooldowns int64
TotalPlays int64
RecentPlays int64
}
CooldownStats contains cooldown statistics
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
Manager handles media cooldown tracking
func NewManager ¶
func NewManager( cooldownRepo *repository.CooldownRepository, historyRepo *repository.HistoryRepository, cfg *config.CooldownConfig, logger *slog.Logger, ) *Manager
NewManager creates a new cooldown Manager
func (*Manager) CleanupExpired ¶
CleanupExpired removes all expired cooldowns
func (*Manager) GetActiveCooldownMediaIDs ¶
GetActiveCooldownMediaIDs returns IDs of all media currently on cooldown
func (*Manager) GetActiveCooldowns ¶
GetActiveCooldowns retrieves all active cooldowns
func (*Manager) GetCooldown ¶
GetCooldown retrieves the cooldown info for a media item
func (*Manager) GetPlayHistory ¶
func (m *Manager) GetPlayHistory(ctx context.Context, opts repository.ListHistoryOptions) ([]models.PlayHistory, error)
GetPlayHistory retrieves play history with filters
func (*Manager) GetStats ¶
func (m *Manager) GetStats(ctx context.Context) (*CooldownStats, error)
GetStats returns cooldown statistics
func (*Manager) IsOnCooldown ¶
IsOnCooldown checks if a media item is currently on cooldown
Click to show internal directories.
Click to hide internal directories.