Documentation
¶
Index ¶
- func Connect(ctx context.Context, logger *slog.Logger, config *DBConfig) (*sql.DB, error)
- func ConnectAndMigrate(ctx context.Context, logger *slog.Logger, config *DBConfig) (*sql.DB, error)
- func MigrationStatus(db *sql.DB) error
- func RollbackMigration(db *sql.DB) error
- func RunMigrations(db *sql.DB) error
- type CreatePaymentParams
- type CreateSiteParams
- type CreateUserParams
- type DBConfig
- type DBTX
- type Payment
- type Querier
- type Queries
- func (q *Queries) CreatePayment(ctx context.Context, arg CreatePaymentParams) (Payment, error)
- func (q *Queries) CreateSite(ctx context.Context, arg CreateSiteParams) (Site, error)
- func (q *Queries) CreateUser(ctx context.Context, arg CreateUserParams) (User, error)
- func (q *Queries) DeleteSite(ctx context.Context, id int64) error
- func (q *Queries) DeleteUser(ctx context.Context, id int64) error
- func (q *Queries) GetPaymentByID(ctx context.Context, id int64) (Payment, error)
- func (q *Queries) GetPaymentsByUserID(ctx context.Context, userID int64) ([]Payment, error)
- func (q *Queries) GetSiteByDomain(ctx context.Context, domain string) (Site, error)
- func (q *Queries) GetSiteByID(ctx context.Context, id int64) (Site, error)
- func (q *Queries) GetSitesByUserID(ctx context.Context, userID int64) ([]Site, error)
- func (q *Queries) GetUserByID(ctx context.Context, id int64) (User, error)
- func (q *Queries) GetUserByOIDCSubject(ctx context.Context, oidcSubject string) (User, error)
- func (q *Queries) ListUsers(ctx context.Context) ([]User, error)
- func (q *Queries) UpdatePaymentStatus(ctx context.Context, arg UpdatePaymentStatusParams) (Payment, error)
- func (q *Queries) UpdateUser(ctx context.Context, arg UpdateUserParams) (User, error)
- func (q *Queries) WithTx(tx *sql.Tx) *Queries
- type Site
- type UpdatePaymentStatusParams
- type UpdateUserParams
- type User
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Connect ¶
Connect initializes and returns a new database connection pool. This is the basic connection function without any automatic operations.
func ConnectAndMigrate ¶
ConnectAndMigrate initializes a database connection and automatically runs migrations. This is the main function for application startup.
func MigrationStatus ¶
MigrationStatus shows the status of all migrations
func RollbackMigration ¶
RollbackMigration rolls back the last migration
Types ¶
type CreatePaymentParams ¶
type CreateSiteParams ¶
type CreateUserParams ¶
type DBConfig ¶
type DBConfig struct { DSN string // Data Source Name for SQLite MaxOpenConns int // Maximum number of open connections MaxIdleConns int // Maximum number of idle connections ConnMaxLifetime time.Duration // Maximum lifetime of connections ConnMaxIdleTime time.Duration // Maximum idle time for connections MaxRetries int // Maximum number of connection retry attempts RetryDelay time.Duration // Delay between retry attempts }
DBConfig holds database configuration.
func DefaultDBConfig ¶
DefaultDBConfig returns a DBConfig with sensible defaults for SQLite.
type Payment ¶
type Payment struct { ID int64 `json:"id"` UserID int64 `json:"user_id"` Amount int64 `json:"amount"` Currency string `json:"currency"` Status string `json:"status"` PaymentProcessorID sql.NullString `json:"payment_processor_id"` PaidAt sql.NullTime `json:"paid_at"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` }
type Querier ¶
type Querier interface { CreatePayment(ctx context.Context, arg CreatePaymentParams) (Payment, error) CreateSite(ctx context.Context, arg CreateSiteParams) (Site, error) CreateUser(ctx context.Context, arg CreateUserParams) (User, error) DeleteSite(ctx context.Context, id int64) error DeleteUser(ctx context.Context, id int64) error GetPaymentByID(ctx context.Context, id int64) (Payment, error) GetPaymentsByUserID(ctx context.Context, userID int64) ([]Payment, error) GetSiteByDomain(ctx context.Context, domain string) (Site, error) GetSiteByID(ctx context.Context, id int64) (Site, error) GetSitesByUserID(ctx context.Context, userID int64) ([]Site, error) GetUserByID(ctx context.Context, id int64) (User, error) GetUserByOIDCSubject(ctx context.Context, oidcSubject string) (User, error) ListUsers(ctx context.Context) ([]User, error) UpdatePaymentStatus(ctx context.Context, arg UpdatePaymentStatusParams) (Payment, error) UpdateUser(ctx context.Context, arg UpdateUserParams) (User, error) }
type Queries ¶
type Queries struct {
// contains filtered or unexported fields
}
func (*Queries) CreatePayment ¶
func (*Queries) CreateSite ¶
func (*Queries) CreateUser ¶
func (*Queries) GetPaymentByID ¶
func (*Queries) GetPaymentsByUserID ¶
func (*Queries) GetSiteByDomain ¶
func (*Queries) GetSiteByID ¶
func (*Queries) GetSitesByUserID ¶
func (*Queries) GetUserByID ¶
func (*Queries) GetUserByOIDCSubject ¶
func (*Queries) UpdatePaymentStatus ¶
func (*Queries) UpdateUser ¶
type UpdateUserParams ¶
Click to show internal directories.
Click to hide internal directories.