entity

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: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrCreatingGameResult = errors.New("error recording game result")
View Source
var ErrInvalidAmount = errors.New("invalid amount format")
View Source
var ErrInvalidGameStatus = errors.New("invalid game status")
View Source
var ErrInvalidTransactionSource = errors.New("invalid transaction source")
View Source
var ErrInvalidUser = errors.New("invalid user Id")
View Source
var ErrRequestPayload = errors.New("invalid request body")
View Source
var ErrServerInternal = errors.New("internal server error")
View Source
var ErrTransactionIdExists = errors.New("transaction id already exists")
View Source
var ErrUserNegativeBalance = errors.New("negative balance not allowed")
View Source
var ErrUserNotFound = errors.New("user not found")

Functions

This section is empty.

Types

type GameResult

type GameResult struct {
	ID                int               `db:"id"`
	UserID            uuid.UUID         `db:"user_id"`
	GameStatus        GameStatus        `db:"game_status"`
	ValidationStatus  ValidationStatus  `db:"validation_status"`
	TransactionSource TransactionSource `db:"transaction_source"`
	TransactionID     string            `db:"transaction_id"`
	Amount            float64           `db:"amount" `
	CreatedAt         time.Time         `db:"created_at"`
}

func (*GameResult) ShouldBeCanceled

func (dm *GameResult) ShouldBeCanceled() bool

type GameStatus

type GameStatus string
const (
	GameStatusWin  GameStatus = "win"
	GameStatusLost GameStatus = "lost"
)

func (*GameStatus) Scan

func (e *GameStatus) Scan(value interface{}) error

func (GameStatus) Value

func (e GameStatus) Value() (driver.Value, error)

type TransactionSource

type TransactionSource string
const (
	TransactionSourceGame    TransactionSource = "game"
	TransactionSourceServer  TransactionSource = "server"
	TransactionSourcePayment TransactionSource = "payment"
)

func ParseTransactionSource

func ParseTransactionSource(value interface{}) *TransactionSource

func (*TransactionSource) Scan

func (e *TransactionSource) Scan(value interface{}) error

func (TransactionSource) Value

func (e TransactionSource) Value() (driver.Value, error)

type User

type User struct {
	ID                   uuid.UUID    `db:"id"`
	Email                string       `db:"email"`
	Balance              float64      `db:"balance"`
	LastGameResultAt     sql.NullTime `db:"last_game_result_at"`
	GamesResultValidated sql.NullBool `db:"games_result_validated"`
	CreatedAt            time.Time    `db:"created_at"`
}

type ValidationStatus

type ValidationStatus string
const (
	ValidationStatusPending  ValidationStatus = "pending"
	ValidationStatusAccepted ValidationStatus = "accepted"
	ValidationStatusCanceled ValidationStatus = "canceled"
)

func (*ValidationStatus) Scan

func (e *ValidationStatus) Scan(value interface{}) error

func (ValidationStatus) Value

func (e ValidationStatus) Value() (driver.Value, error)

Jump to

Keyboard shortcuts

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