sqlite

package
v0.0.0-...-fc1d423 Latest Latest
Warning

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

Go to latest
Published: Mar 16, 2026 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func MigrateUserStoreFromJsonToDatabase

func MigrateUserStoreFromJsonToDatabase(logger *zap.Logger) error

Read user store and convert to sqlite database

Types

type SQLiteWrapper

type SQLiteWrapper struct {
	*UserStoreDB // Embed the existing SQLite implementation
}

SQLiteWrapper wraps a UserStoreDB and implements the DatabaseIF interface. Note: We place this in the 'database' package to access UserStoreDB unexported fields if needed in future, but we need to be careful with package naming and imports.

func NewSQLiteWrapper

func NewSQLiteWrapper(dbPath string, logger *zap.Logger) (*SQLiteWrapper, error)

NewSQLiteWrapper creates a new SQLiteWrapper, initializes the database, and creates the table if needed.

func (*SQLiteWrapper) Close

func (sw *SQLiteWrapper) Close() error

Close the database connection. This implements the Close method required by DatabaseIF. It wraps the existing Close method from UserStoreDB which doesn't return an error.

func (*SQLiteWrapper) Ping

func (sw *SQLiteWrapper) Ping() error

Ping checks if the database connection is still active. For SQLite, we check if a simple query executes without error.

type UserStoreDB

type UserStoreDB struct {
	DB     *sql.DB
	Name   string
	Logger *zap.Logger
}

func CreateDatabaseConnection

func CreateDatabaseConnection(dbName string, logger *zap.Logger) (*UserStoreDB, error)

Connect to the database with connection pooling

func (*UserStoreDB) AddUser

func (udb *UserStoreDB) AddUser(user *models.UserData) error

Add user to the database with retry mechanism

func (*UserStoreDB) Close

func (udb *UserStoreDB) Close() error

Close the database

func (*UserStoreDB) CreateTable

func (udb *UserStoreDB) CreateTable() error

Create *models.UserData table in database

func (*UserStoreDB) CreateWebUser

func (udb *UserStoreDB) CreateWebUser(user *models.WebUser) error

CreateWebUser inserts a new web user record.

func (*UserStoreDB) CreateWebUsersTable

func (udb *UserStoreDB) CreateWebUsersTable() error

CreateWebUsersTable creates the web_users table and migrates any missing columns/indexes.

func (*UserStoreDB) DeleteUser

func (udb *UserStoreDB) DeleteUser(user *models.UserData) error

Delete user from the database with retry mechanism

func (*UserStoreDB) DeleteWebUser

func (udb *UserStoreDB) DeleteWebUser(id string) error

DeleteWebUser removes a web user by UUID.

func (*UserStoreDB) GetAllVerifiedWebUsers

func (udb *UserStoreDB) GetAllVerifiedWebUsers() ([]*models.WebUser, error)

GetAllVerifiedWebUsers returns all web users whose email has been verified.

func (*UserStoreDB) GetUser

func (udb *UserStoreDB) GetUser(chatID int64) (*models.UserData, error)

Get user from the database by chat_id

func (*UserStoreDB) GetWebUserByEmail

func (udb *UserStoreDB) GetWebUserByEmail(email string) (*models.WebUser, error)

GetWebUserByEmail retrieves a web user by email address.

func (*UserStoreDB) GetWebUserByID

func (udb *UserStoreDB) GetWebUserByID(id string) (*models.WebUser, error)

GetWebUserByID retrieves a web user by UUID.

func (*UserStoreDB) GetWebUserByLinkToken

func (udb *UserStoreDB) GetWebUserByLinkToken(token string) (*models.WebUser, error)

GetWebUserByLinkToken retrieves a web user by a non-expired Telegram link token.

func (*UserStoreDB) GetWebUserByResetToken

func (udb *UserStoreDB) GetWebUserByResetToken(token string) (*models.WebUser, error)

GetWebUserByResetToken retrieves a web user by a non-expired password reset token.

func (*UserStoreDB) GetWebUserByVerifyToken

func (udb *UserStoreDB) GetWebUserByVerifyToken(token string) (*models.WebUser, error)

GetWebUserByVerifyToken retrieves a web user by a non-expired email verification token.

func (*UserStoreDB) ReadUserStore

func (udb *UserStoreDB) ReadUserStore() (*models.UserStore, error)

Read all users from the database

func (*UserStoreDB) UpdateUser

func (udb *UserStoreDB) UpdateUser(user *models.UserData) error

Update user in the database with retry mechanism

func (*UserStoreDB) UpdateWebUser

func (udb *UserStoreDB) UpdateWebUser(user *models.WebUser) error

UpdateWebUser updates all mutable fields of a web user record.

func (*UserStoreDB) WriteUserStore

func (udb *UserStoreDB) WriteUserStore(userStore *models.UserStore) error

Write *models.UserStore to the database

Jump to

Keyboard shortcuts

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