Documentation
¶
Index ¶
- func AutoMigrate(db *sql.DB, dbConfig *Config, migrationConfig *MigrationConfig, ...) error
- func Connect(config *Config) (*sql.DB, error)
- type Config
- type MigrationConfig
- type PlaybackPreferencesRepository
- func (r *PlaybackPreferencesRepository) Delete(ctx context.Context, userID, mediaID int64, deviceProfile string) error
- func (r *PlaybackPreferencesRepository) DeleteByMediaID(ctx context.Context, mediaID int64) error
- func (r *PlaybackPreferencesRepository) DeleteByUserID(ctx context.Context, userID int64) error
- func (r *PlaybackPreferencesRepository) Get(ctx context.Context, userID, mediaID int64, deviceProfile string) (*progress.PlaybackPreferences, error)
- func (r *PlaybackPreferencesRepository) Upsert(ctx context.Context, prefs *progress.PlaybackPreferences) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AutoMigrate ¶
func AutoMigrate(db *sql.DB, dbConfig *Config, migrationConfig *MigrationConfig, logger *slog.Logger) error
AutoMigrate runs database migrations if AUTO_MIGRATE is enabled
Types ¶
type Config ¶
type Config struct {
Driver string // "sqlite" or "postgres"
Host string // PostgreSQL host
Port string // PostgreSQL port
User string // PostgreSQL user
Password string // PostgreSQL password
DBName string // Database name (or SQLite file path)
SSLMode string // PostgreSQL SSL mode (disable, require, verify-ca, verify-full)
// Connection pool settings
MaxOpenConns int
MaxIdleConns int
ConnMaxLifetime time.Duration
ConnMaxIdleTime time.Duration
}
Config holds database configuration
func LoadConfigFromEnv ¶
func LoadConfigFromEnv() *Config
LoadConfigFromEnv loads database configuration from environment variables
type MigrationConfig ¶
type MigrationConfig struct {
AutoMigrate bool // Whether to run migrations automatically on startup
MigrationsPath string // Path to migration files
BackupBeforeMigrate bool // Whether to backup database before running migrations
BackupPath string // Path to store backups
}
MigrationConfig holds configuration for database migrations
func LoadMigrationConfigFromEnv ¶
func LoadMigrationConfigFromEnv() *MigrationConfig
LoadMigrationConfigFromEnv loads migration configuration from environment variables
type PlaybackPreferencesRepository ¶
type PlaybackPreferencesRepository struct {
// contains filtered or unexported fields
}
PlaybackPreferencesRepository implements progress.PlaybackPreferencesRepository using SQLite.
func NewPlaybackPreferencesRepository ¶
func NewPlaybackPreferencesRepository(db *sql.DB) *PlaybackPreferencesRepository
NewPlaybackPreferencesRepository creates a new PlaybackPreferencesRepository.
func (*PlaybackPreferencesRepository) Delete ¶
func (r *PlaybackPreferencesRepository) Delete(ctx context.Context, userID, mediaID int64, deviceProfile string) error
Delete removes preferences for a specific user, media, and device profile.
func (*PlaybackPreferencesRepository) DeleteByMediaID ¶
func (r *PlaybackPreferencesRepository) DeleteByMediaID(ctx context.Context, mediaID int64) error
DeleteByMediaID removes all preferences for a media item.
func (*PlaybackPreferencesRepository) DeleteByUserID ¶
func (r *PlaybackPreferencesRepository) DeleteByUserID(ctx context.Context, userID int64) error
DeleteByUserID removes all preferences for a user.
func (*PlaybackPreferencesRepository) Get ¶
func (r *PlaybackPreferencesRepository) Get(ctx context.Context, userID, mediaID int64, deviceProfile string) (*progress.PlaybackPreferences, error)
Get retrieves preferences for a specific user, media, and device profile.
func (*PlaybackPreferencesRepository) Upsert ¶
func (r *PlaybackPreferencesRepository) Upsert(ctx context.Context, prefs *progress.PlaybackPreferences) error
Upsert creates or updates preferences.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package unified provides a database-agnostic interface for sqlc-generated code.
|
Package unified provides a database-agnostic interface for sqlc-generated code. |