Documentation
¶
Index ¶
- Constants
- Variables
- func ErrorCode(err error) string
- type Account
- type AddAccountBalanceParams
- type CreateAccountParams
- type CreateEntryParams
- type CreateTransferParams
- type CreateUserParams
- type DBTX
- type Entry
- type ListAccountsParams
- type ListEntriesParams
- type ListTransferParams
- type Querier
- type Queries
- func (q *Queries) AddAccountBalance(ctx context.Context, arg AddAccountBalanceParams) (Account, error)
- func (q *Queries) Close() error
- func (q *Queries) CreateAccount(ctx context.Context, arg CreateAccountParams) (Account, error)
- func (q *Queries) CreateEntry(ctx context.Context, arg CreateEntryParams) (Entry, error)
- func (q *Queries) CreateTransfer(ctx context.Context, arg CreateTransferParams) (Transfer, error)
- func (q *Queries) CreateUser(ctx context.Context, arg CreateUserParams) (User, error)
- func (q *Queries) DeleteAccount(ctx context.Context, id int64) error
- func (q *Queries) GetAccount(ctx context.Context, id int64) (Account, error)
- func (q *Queries) GetAccountForUpdate(ctx context.Context, id int64) (Account, error)
- func (q *Queries) GetEntry(ctx context.Context, id int64) (Entry, error)
- func (q *Queries) GetTransfer(ctx context.Context, id int64) (Transfer, error)
- func (q *Queries) GetUser(ctx context.Context, username string) (User, error)
- func (q *Queries) ListAccounts(ctx context.Context, arg ListAccountsParams) ([]Account, error)
- func (q *Queries) ListEntries(ctx context.Context, arg ListEntriesParams) ([]Entry, error)
- func (q *Queries) ListTransfer(ctx context.Context, arg ListTransferParams) ([]Transfer, error)
- func (q *Queries) UpdateAccount(ctx context.Context, arg UpdateAccountParams) (Account, error)
- func (q *Queries) WithTx(tx *sql.Tx) *Queries
- type SQLStore
- type Store
- type Transfer
- type TransferTrxResult
- type TransferTxnParams
- type UpdateAccountParams
- type User
Constants ¶
View Source
const ( ForeignKeyViolation = "23503" UniqueViolation = "23505" )
Variables ¶
View Source
var ErrRecordViolation = &pgconn.PgError{ Code: UniqueViolation, }
View Source
var ErrUniqueViolation = pgx.ErrNoRows
Functions ¶
Types ¶
type AddAccountBalanceParams ¶
type CreateAccountParams ¶
type CreateEntryParams ¶
type CreateTransferParams ¶
type CreateUserParams ¶
type ListAccountsParams ¶
type ListEntriesParams ¶
type ListTransferParams ¶
type Querier ¶
type Querier interface {
AddAccountBalance(ctx context.Context, arg AddAccountBalanceParams) (Account, error)
CreateAccount(ctx context.Context, arg CreateAccountParams) (Account, error)
CreateEntry(ctx context.Context, arg CreateEntryParams) (Entry, error)
CreateTransfer(ctx context.Context, arg CreateTransferParams) (Transfer, error)
CreateUser(ctx context.Context, arg CreateUserParams) (User, error)
DeleteAccount(ctx context.Context, id int64) error
GetAccount(ctx context.Context, id int64) (Account, error)
GetAccountForUpdate(ctx context.Context, id int64) (Account, error)
GetEntry(ctx context.Context, id int64) (Entry, error)
GetTransfer(ctx context.Context, id int64) (Transfer, error)
GetUser(ctx context.Context, username string) (User, error)
ListAccounts(ctx context.Context, arg ListAccountsParams) ([]Account, error)
ListEntries(ctx context.Context, arg ListEntriesParams) ([]Entry, error)
ListTransfer(ctx context.Context, arg ListTransferParams) ([]Transfer, error)
UpdateAccount(ctx context.Context, arg UpdateAccountParams) (Account, error)
}
type Queries ¶
type Queries struct {
// contains filtered or unexported fields
}
func (*Queries) AddAccountBalance ¶
func (*Queries) CreateAccount ¶
func (*Queries) CreateEntry ¶
func (*Queries) CreateTransfer ¶
func (*Queries) CreateUser ¶
func (*Queries) DeleteAccount ¶
func (*Queries) GetAccount ¶
func (*Queries) GetAccountForUpdate ¶
func (*Queries) GetTransfer ¶
func (*Queries) ListAccounts ¶
func (*Queries) ListEntries ¶
func (*Queries) ListTransfer ¶
func (*Queries) UpdateAccount ¶
type SQLStore ¶
type SQLStore struct {
*Queries
// contains filtered or unexported fields
}
Store provides all necessary information to execute db queries and transactions
func (*SQLStore) PerformTransactionTrxn ¶
func (store *SQLStore) PerformTransactionTrxn(ctx context.Context, arg TransferTxnParams) (TransferTrxResult, error)
PerformTransactionTrxn performs a money from one account to the other . It creates a transfer record , add account entries and update accounts balance within a single database transaction
type Store ¶
type Store interface {
Querier
PerformTransactionTrxn(ctx context.Context, arg TransferTxnParams) (TransferTrxResult, error)
}
type TransferTrxResult ¶
type TransferTrxResult struct {
Transfer Transfer `json:"transfer"`
FromAccount Account `json:"from_account"`
ToAccount Account `json:"to_account"`
FromEntry Entry `json:"from_entry"`
ToEntry Entry `json:"to_entry"`
}
TransferTxnResult is the result of the transfer transaction.
type TransferTxnParams ¶
type TransferTxnParams struct {
FromAccountID int64 `json:"from_account_id"`
ToAccountID int64 `json:"to_account_id"`
Amount int64 `json:"amount"`
}
TransferTxnParams contains the input parameters of the transfer transaction.
type UpdateAccountParams ¶
Click to show internal directories.
Click to hide internal directories.