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 ¶
View Source
var Module = fx.Provide( fx.Annotate( NewClientRepository, fx.As(new(client.Repository)), ), )
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)
Click to show internal directories.
Click to hide internal directories.