299 lines
8.3 KiB
Go
299 lines
8.3 KiB
Go
// Code generated by sqlc. DO NOT EDIT.
|
|
// versions:
|
|
// sqlc v1.29.0
|
|
// source: virtual_games.sql
|
|
|
|
package dbgen
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/jackc/pgx/v5/pgtype"
|
|
)
|
|
|
|
const CreateVirtualGameHistory = `-- name: CreateVirtualGameHistory :one
|
|
INSERT INTO virtual_game_histories (
|
|
session_id,
|
|
user_id,
|
|
wallet_id,
|
|
game_id,
|
|
transaction_type,
|
|
amount,
|
|
currency,
|
|
external_transaction_id,
|
|
reference_transaction_id,
|
|
status
|
|
) VALUES (
|
|
$1, $2, $3, $4, $5, $6, $7, $8, $9, $10
|
|
) RETURNING
|
|
id,
|
|
session_id,
|
|
user_id,
|
|
wallet_id,
|
|
game_id,
|
|
transaction_type,
|
|
amount,
|
|
currency,
|
|
external_transaction_id,
|
|
reference_transaction_id,
|
|
status,
|
|
created_at,
|
|
updated_at
|
|
`
|
|
|
|
type CreateVirtualGameHistoryParams struct {
|
|
SessionID pgtype.Text `json:"session_id"`
|
|
UserID int64 `json:"user_id"`
|
|
WalletID pgtype.Int8 `json:"wallet_id"`
|
|
GameID pgtype.Int8 `json:"game_id"`
|
|
TransactionType string `json:"transaction_type"`
|
|
Amount int64 `json:"amount"`
|
|
Currency string `json:"currency"`
|
|
ExternalTransactionID string `json:"external_transaction_id"`
|
|
ReferenceTransactionID pgtype.Text `json:"reference_transaction_id"`
|
|
Status string `json:"status"`
|
|
}
|
|
|
|
func (q *Queries) CreateVirtualGameHistory(ctx context.Context, arg CreateVirtualGameHistoryParams) (VirtualGameHistory, error) {
|
|
row := q.db.QueryRow(ctx, CreateVirtualGameHistory,
|
|
arg.SessionID,
|
|
arg.UserID,
|
|
arg.WalletID,
|
|
arg.GameID,
|
|
arg.TransactionType,
|
|
arg.Amount,
|
|
arg.Currency,
|
|
arg.ExternalTransactionID,
|
|
arg.ReferenceTransactionID,
|
|
arg.Status,
|
|
)
|
|
var i VirtualGameHistory
|
|
err := row.Scan(
|
|
&i.ID,
|
|
&i.SessionID,
|
|
&i.UserID,
|
|
&i.WalletID,
|
|
&i.GameID,
|
|
&i.TransactionType,
|
|
&i.Amount,
|
|
&i.Currency,
|
|
&i.ExternalTransactionID,
|
|
&i.ReferenceTransactionID,
|
|
&i.Status,
|
|
&i.CreatedAt,
|
|
&i.UpdatedAt,
|
|
)
|
|
return i, err
|
|
}
|
|
|
|
const CreateVirtualGameSession = `-- name: CreateVirtualGameSession :one
|
|
INSERT INTO virtual_game_sessions (
|
|
user_id, game_id, session_token, currency, status, expires_at
|
|
) VALUES (
|
|
$1, $2, $3, $4, $5, $6
|
|
) RETURNING id, user_id, game_id, session_token, currency, status, created_at, updated_at, expires_at
|
|
`
|
|
|
|
type CreateVirtualGameSessionParams struct {
|
|
UserID int64 `json:"user_id"`
|
|
GameID string `json:"game_id"`
|
|
SessionToken string `json:"session_token"`
|
|
Currency string `json:"currency"`
|
|
Status string `json:"status"`
|
|
ExpiresAt pgtype.Timestamptz `json:"expires_at"`
|
|
}
|
|
|
|
func (q *Queries) CreateVirtualGameSession(ctx context.Context, arg CreateVirtualGameSessionParams) (VirtualGameSession, error) {
|
|
row := q.db.QueryRow(ctx, CreateVirtualGameSession,
|
|
arg.UserID,
|
|
arg.GameID,
|
|
arg.SessionToken,
|
|
arg.Currency,
|
|
arg.Status,
|
|
arg.ExpiresAt,
|
|
)
|
|
var i VirtualGameSession
|
|
err := row.Scan(
|
|
&i.ID,
|
|
&i.UserID,
|
|
&i.GameID,
|
|
&i.SessionToken,
|
|
&i.Currency,
|
|
&i.Status,
|
|
&i.CreatedAt,
|
|
&i.UpdatedAt,
|
|
&i.ExpiresAt,
|
|
)
|
|
return i, err
|
|
}
|
|
|
|
const CreateVirtualGameTransaction = `-- name: CreateVirtualGameTransaction :one
|
|
INSERT INTO virtual_game_transactions (
|
|
session_id, user_id, wallet_id, transaction_type, amount, currency, external_transaction_id, status
|
|
) VALUES (
|
|
$1, $2, $3, $4, $5, $6, $7, $8
|
|
) RETURNING id, session_id, user_id, wallet_id, transaction_type, amount, currency, external_transaction_id, status, created_at, updated_at
|
|
`
|
|
|
|
type CreateVirtualGameTransactionParams struct {
|
|
SessionID int64 `json:"session_id"`
|
|
UserID int64 `json:"user_id"`
|
|
WalletID int64 `json:"wallet_id"`
|
|
TransactionType string `json:"transaction_type"`
|
|
Amount int64 `json:"amount"`
|
|
Currency string `json:"currency"`
|
|
ExternalTransactionID string `json:"external_transaction_id"`
|
|
Status string `json:"status"`
|
|
}
|
|
|
|
func (q *Queries) CreateVirtualGameTransaction(ctx context.Context, arg CreateVirtualGameTransactionParams) (VirtualGameTransaction, error) {
|
|
row := q.db.QueryRow(ctx, CreateVirtualGameTransaction,
|
|
arg.SessionID,
|
|
arg.UserID,
|
|
arg.WalletID,
|
|
arg.TransactionType,
|
|
arg.Amount,
|
|
arg.Currency,
|
|
arg.ExternalTransactionID,
|
|
arg.Status,
|
|
)
|
|
var i VirtualGameTransaction
|
|
err := row.Scan(
|
|
&i.ID,
|
|
&i.SessionID,
|
|
&i.UserID,
|
|
&i.WalletID,
|
|
&i.TransactionType,
|
|
&i.Amount,
|
|
&i.Currency,
|
|
&i.ExternalTransactionID,
|
|
&i.Status,
|
|
&i.CreatedAt,
|
|
&i.UpdatedAt,
|
|
)
|
|
return i, err
|
|
}
|
|
|
|
const GetVirtualGameSessionByToken = `-- name: GetVirtualGameSessionByToken :one
|
|
SELECT id, user_id, game_id, session_token, currency, status, created_at, updated_at, expires_at
|
|
FROM virtual_game_sessions
|
|
WHERE session_token = $1
|
|
`
|
|
|
|
func (q *Queries) GetVirtualGameSessionByToken(ctx context.Context, sessionToken string) (VirtualGameSession, error) {
|
|
row := q.db.QueryRow(ctx, GetVirtualGameSessionByToken, sessionToken)
|
|
var i VirtualGameSession
|
|
err := row.Scan(
|
|
&i.ID,
|
|
&i.UserID,
|
|
&i.GameID,
|
|
&i.SessionToken,
|
|
&i.Currency,
|
|
&i.Status,
|
|
&i.CreatedAt,
|
|
&i.UpdatedAt,
|
|
&i.ExpiresAt,
|
|
)
|
|
return i, err
|
|
}
|
|
|
|
const GetVirtualGameSummaryInRange = `-- name: GetVirtualGameSummaryInRange :many
|
|
SELECT
|
|
vg.name AS game_name,
|
|
COUNT(vgh.id) AS number_of_bets,
|
|
COALESCE(SUM(vgh.amount), 0) AS total_transaction_sum
|
|
FROM virtual_game_histories vgh
|
|
JOIN virtual_games vg ON vgh.game_id = vg.id
|
|
WHERE vgh.transaction_type = 'BET'
|
|
AND vgh.created_at BETWEEN $1 AND $2
|
|
GROUP BY vg.name
|
|
`
|
|
|
|
type GetVirtualGameSummaryInRangeParams struct {
|
|
CreatedAt pgtype.Timestamp `json:"created_at"`
|
|
CreatedAt_2 pgtype.Timestamp `json:"created_at_2"`
|
|
}
|
|
|
|
type GetVirtualGameSummaryInRangeRow struct {
|
|
GameName string `json:"game_name"`
|
|
NumberOfBets int64 `json:"number_of_bets"`
|
|
TotalTransactionSum interface{} `json:"total_transaction_sum"`
|
|
}
|
|
|
|
func (q *Queries) GetVirtualGameSummaryInRange(ctx context.Context, arg GetVirtualGameSummaryInRangeParams) ([]GetVirtualGameSummaryInRangeRow, error) {
|
|
rows, err := q.db.Query(ctx, GetVirtualGameSummaryInRange, arg.CreatedAt, arg.CreatedAt_2)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
defer rows.Close()
|
|
var items []GetVirtualGameSummaryInRangeRow
|
|
for rows.Next() {
|
|
var i GetVirtualGameSummaryInRangeRow
|
|
if err := rows.Scan(&i.GameName, &i.NumberOfBets, &i.TotalTransactionSum); err != nil {
|
|
return nil, err
|
|
}
|
|
items = append(items, i)
|
|
}
|
|
if err := rows.Err(); err != nil {
|
|
return nil, err
|
|
}
|
|
return items, nil
|
|
}
|
|
|
|
const GetVirtualGameTransactionByExternalID = `-- name: GetVirtualGameTransactionByExternalID :one
|
|
SELECT id, session_id, user_id, wallet_id, transaction_type, amount, currency, external_transaction_id, status, created_at, updated_at
|
|
FROM virtual_game_transactions
|
|
WHERE external_transaction_id = $1
|
|
`
|
|
|
|
func (q *Queries) GetVirtualGameTransactionByExternalID(ctx context.Context, externalTransactionID string) (VirtualGameTransaction, error) {
|
|
row := q.db.QueryRow(ctx, GetVirtualGameTransactionByExternalID, externalTransactionID)
|
|
var i VirtualGameTransaction
|
|
err := row.Scan(
|
|
&i.ID,
|
|
&i.SessionID,
|
|
&i.UserID,
|
|
&i.WalletID,
|
|
&i.TransactionType,
|
|
&i.Amount,
|
|
&i.Currency,
|
|
&i.ExternalTransactionID,
|
|
&i.Status,
|
|
&i.CreatedAt,
|
|
&i.UpdatedAt,
|
|
)
|
|
return i, err
|
|
}
|
|
|
|
const UpdateVirtualGameSessionStatus = `-- name: UpdateVirtualGameSessionStatus :exec
|
|
UPDATE virtual_game_sessions
|
|
SET status = $2, updated_at = CURRENT_TIMESTAMP
|
|
WHERE id = $1
|
|
`
|
|
|
|
type UpdateVirtualGameSessionStatusParams struct {
|
|
ID int64 `json:"id"`
|
|
Status string `json:"status"`
|
|
}
|
|
|
|
func (q *Queries) UpdateVirtualGameSessionStatus(ctx context.Context, arg UpdateVirtualGameSessionStatusParams) error {
|
|
_, err := q.db.Exec(ctx, UpdateVirtualGameSessionStatus, arg.ID, arg.Status)
|
|
return err
|
|
}
|
|
|
|
const UpdateVirtualGameTransactionStatus = `-- name: UpdateVirtualGameTransactionStatus :exec
|
|
UPDATE virtual_game_transactions
|
|
SET status = $2, updated_at = CURRENT_TIMESTAMP
|
|
WHERE id = $1
|
|
`
|
|
|
|
type UpdateVirtualGameTransactionStatusParams struct {
|
|
ID int64 `json:"id"`
|
|
Status string `json:"status"`
|
|
}
|
|
|
|
func (q *Queries) UpdateVirtualGameTransactionStatus(ctx context.Context, arg UpdateVirtualGameTransactionStatusParams) error {
|
|
_, err := q.db.Exec(ctx, UpdateVirtualGameTransactionStatus, arg.ID, arg.Status)
|
|
return err
|
|
}
|