database

package
v0.0.0-...-ecad64e Latest Latest
Warning

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

Go to latest
Published: Jul 20, 2024 License: GPL-3.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

View Source
const (
	CustomMigrationParam = "x-migrations-table"
	CustomMigrationValue = "schema_migrations"
)

Variables

View Source
var (
	ErrorNilUUID = errors.New("UUID is nil")
)

Functions

This section is empty.

Types

type PostgresQuerier

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

func NewPostgresQuerier

func NewPostgresQuerier(ctx context.Context, url string) (*PostgresQuerier, error)

func (*PostgresQuerier) CheckTransactionID

func (q *PostgresQuerier) CheckTransactionID(ctx context.Context, transactionId string) (bool, error)

func (*PostgresQuerier) Close

func (q *PostgresQuerier) Close()

func (*PostgresQuerier) InsertGameResult

func (q *PostgresQuerier) InsertGameResult(ctx context.Context, txn sqlx.Tx, gameResult entity.GameResult) (int, error)

func (*PostgresQuerier) LockUserRow

func (q *PostgresQuerier) LockUserRow(ctx context.Context, txn sqlx.Tx, userId uuid.UUID) error

func (*PostgresQuerier) SelectGameResultsByUser

func (q *PostgresQuerier) SelectGameResultsByUser(ctx context.Context, userId uuid.UUID, validationStatus entity.ValidationStatus) ([]entity.GameResult, error)

func (*PostgresQuerier) SelectUser

func (q *PostgresQuerier) SelectUser(ctx context.Context, userId uuid.UUID) (*entity.User, error)

func (*PostgresQuerier) SelectUsersByValidationStatus

func (q *PostgresQuerier) SelectUsersByValidationStatus(ctx context.Context, validationStatus bool) ([]entity.User, error)

func (*PostgresQuerier) UpdateGameResult

func (q *PostgresQuerier) UpdateGameResult(ctx context.Context, txn sqlx.Tx, gameResultId int, validationStatus entity.ValidationStatus) error

func (*PostgresQuerier) UpdateUserBalance

func (q *PostgresQuerier) UpdateUserBalance(ctx context.Context, txn sqlx.Tx, userId uuid.UUID, balance float64, validationStatus bool) error

func (*PostgresQuerier) WithTransaction

func (q *PostgresQuerier) WithTransaction(ctx context.Context, fn func(*sqlx.Tx) error) (err error)

WithTransaction creates a new transaction and handles rollback/commit based on the error object returned by the `TxFn`

type Querier

type Querier interface {
	Close()
	WithTransaction(ctx context.Context, fn func(*sqlx.Tx) error) (err error)

	InsertGameResult(ctx context.Context, txn sqlx.Tx, gameResult entity.GameResult) (int, error)

	LockUserRow(ctx context.Context, txn sqlx.Tx, userId uuid.UUID) error
	SelectUser(ctx context.Context, userId uuid.UUID) (*entity.User, error)
	SelectUsersByValidationStatus(ctx context.Context, validationStatus bool) ([]entity.User, error)

	CheckTransactionID(ctx context.Context, transactionId string) (bool, error)
	SelectGameResultsByUser(ctx context.Context, userId uuid.UUID, validationStatus entity.ValidationStatus) ([]entity.GameResult, error)

	UpdateUserBalance(ctx context.Context, txn sqlx.Tx, userId uuid.UUID, balance float64, validationStatus bool) error
	UpdateGameResult(ctx context.Context, txn sqlx.Tx, gameResultId int, validationStatus entity.ValidationStatus) error
}

Jump to

Keyboard shortcuts

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