clientdb

package
v0.0.0-...-a42c888 Latest Latest
Warning

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

Go to latest
Published: Mar 6, 2024 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const (
	PessimistLockingClientQuery = "SELECT id, balance_limit, balance FROM clients WHERE id = $1 FOR UPDATE" // Pessimist locking with "FOR UPDATE"
	UpdateClientBalanceQuery    = "UPDATE clients SET balance = $1 WHERE id = $2"
	InsertTransactionQuery      = "INSERT INTO transactions(client_id, amount, kind, description) VALUES($1, $2, $3, $4)"
	GetClientQuery              = "SELECT id, balance_limit, balance FROM clients WHERE id = $1"
	GetClientExtractQuery       = "SELECT amount, kind, description, created_at FROM transactions WHERE client_id = $1 ORDER BY created_at DESC LIMIT 10"
)

Variables

Functions

func NewClientRepository

func NewClientRepository(db *pgxpool.Pool) client.Repository

Types

type ClientRepository

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

func (*ClientRepository) CreateTransaction

func (c *ClientRepository) CreateTransaction(clientID string, value int, kind string, description string) (*models.ClientTransactionResponse, error)

func (*ClientRepository) GetClientExtract

func (c *ClientRepository) GetClientExtract(clientID string) (*models.GetClientExtractResponse, error)

Jump to

Keyboard shortcuts

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