userdb

package
v2.8.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 1, 2026 License: GPL-3.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

View Source
const (
	MappingTypeID         = "id"
	MappingTypeValue      = "value"
	MappingTypeData       = "data"
	MatchTypeExact        = "exact"
	MatchTypePartial      = "partial"
	MatchTypeRegex        = "regex"
	LegacyMappingTypeUID  = "uid"
	LegacyMappingTypeText = "text"
)

Variables

View Source
var ErrNullSQL = errors.New("UserDB is not connected")

Functions

func NormalizeID

func NormalizeID(uid string) string

Types

type UserDB

type UserDB struct {
	// contains filtered or unexported fields
}

func OpenUserDB

func OpenUserDB(ctx context.Context, pl platforms.Platform) (*UserDB, error)

func (*UserDB) AddHistory

func (db *UserDB) AddHistory(entry *database.HistoryEntry) error

func (*UserDB) AddInboxMessage added in v2.8.0

func (db *UserDB) AddInboxMessage(msg *database.InboxMessage) (*database.InboxMessage, error)

func (*UserDB) AddMapping

func (db *UserDB) AddMapping(m *database.Mapping) error

func (*UserDB) AddMediaHistory added in v2.7.0

func (db *UserDB) AddMediaHistory(entry *database.MediaHistoryEntry) (int64, error)

AddMediaHistory adds a new media history entry and returns the DBID.

func (*UserDB) Allocate

func (db *UserDB) Allocate() error

func (*UserDB) CleanupHistory added in v2.7.0

func (db *UserDB) CleanupHistory(retentionDays int) (int64, error)

func (*UserDB) CleanupMediaHistory added in v2.7.0

func (db *UserDB) CleanupMediaHistory(retentionDays int) (int64, error)

CleanupMediaHistory removes media history older than the retention period.

func (*UserDB) Close

func (db *UserDB) Close() error

func (*UserDB) CloseHangingMediaHistory added in v2.7.0

func (db *UserDB) CloseHangingMediaHistory() error

CloseHangingMediaHistory closes any media history entries left open from unclean shutdowns. It sets EndTime = StartTime + PlayTime for entries where EndTime is NULL.

func (*UserDB) CloseMediaHistory added in v2.7.0

func (db *UserDB) CloseMediaHistory(dbid int64, endTime time.Time, playTime int) error

CloseMediaHistory finalizes a media history entry with end time and final play time.

func (*UserDB) DeleteAllInboxMessages added in v2.8.0

func (db *UserDB) DeleteAllInboxMessages() (int64, error)

func (*UserDB) DeleteInboxMessage added in v2.8.0

func (db *UserDB) DeleteInboxMessage(id int64) error

func (*UserDB) DeleteMapping

func (db *UserDB) DeleteMapping(id int64) error

func (*UserDB) GetAllMappings

func (db *UserDB) GetAllMappings() ([]database.Mapping, error)

func (*UserDB) GetDBPath

func (db *UserDB) GetDBPath() string

func (*UserDB) GetEnabledMappings

func (db *UserDB) GetEnabledMappings() ([]database.Mapping, error)

func (*UserDB) GetHistory

func (db *UserDB) GetHistory(lastID int) ([]database.HistoryEntry, error)

func (*UserDB) GetInboxMessages added in v2.8.0

func (db *UserDB) GetInboxMessages() ([]database.InboxMessage, error)

func (*UserDB) GetMapping

func (db *UserDB) GetMapping(id int64) (database.Mapping, error)

func (*UserDB) GetMediaHistory added in v2.7.0

func (db *UserDB) GetMediaHistory(lastID, limit int) ([]database.MediaHistoryEntry, error)

GetMediaHistory retrieves media history entries with pagination.

func (*UserDB) GetSupportedZapLinkHosts added in v2.8.0

func (db *UserDB) GetSupportedZapLinkHosts() ([]string, error)

func (*UserDB) GetZapLinkCache

func (db *UserDB) GetZapLinkCache(url string) (string, error)

func (*UserDB) GetZapLinkHost

func (db *UserDB) GetZapLinkHost(host string) (found, zapScript bool, err error)

func (*UserDB) HealTimestamps added in v2.7.0

func (db *UserDB) HealTimestamps(bootUUID string, trueBootTime time.Time) (int64, error)

HealTimestamps corrects timestamps for records created with unreliable clocks (MiSTer boot without NTP). When NTP syncs, this reconstructs correct timestamps using: TrueStartTime = TrueBootTime + MonotonicStart

func (*UserDB) MigrateUp

func (db *UserDB) MigrateUp() error

func (*UserDB) Open

func (db *UserDB) Open() error

func (*UserDB) PruneExpiredZapLinkHosts added in v2.8.0

func (db *UserDB) PruneExpiredZapLinkHosts(olderThan time.Duration) (int64, error)

func (*UserDB) SetSQLForTesting

func (db *UserDB) SetSQLForTesting(ctx context.Context, sqlDB *sql.DB, platform platforms.Platform) error

SetSQLForTesting allows injection of a sql.DB instance for testing purposes. This method should only be used in tests to set up in-memory databases.

func (*UserDB) Truncate

func (db *UserDB) Truncate() error

func (*UserDB) UnsafeGetSQLDb

func (db *UserDB) UnsafeGetSQLDb() *sql.DB

func (*UserDB) UpdateMapping

func (db *UserDB) UpdateMapping(id int64, m *database.Mapping) error

func (*UserDB) UpdateMediaHistoryTime added in v2.7.0

func (db *UserDB) UpdateMediaHistoryTime(dbid int64, playTime int) error

UpdateMediaHistoryTime updates only the PlayTime for currently playing media.

func (*UserDB) UpdateZapLinkCache

func (db *UserDB) UpdateZapLinkCache(url, zapscript string) error

func (*UserDB) UpdateZapLinkHost

func (db *UserDB) UpdateZapLinkHost(host string, zapscript int) error

func (*UserDB) Vacuum

func (db *UserDB) Vacuum() error

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL