Documentation
¶
Index ¶
- type Account
- type AddAccountBalanceParams
- type CreateAccountParams
- type CreateEntryParams
- type CreateTransferParams
- type DBTX
- type Entry
- type ListAccountsParams
- type ListEntrysParams
- type ListTransfersParams
- 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) DeleteAccount(ctx context.Context, id int64) error
- func (q *Queries) DeleteEntry(ctx context.Context, id int64) error
- func (q *Queries) DeleteTransfer(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) ListAccounts(ctx context.Context, arg ListAccountsParams) ([]Account, error)
- func (q *Queries) ListEntrys(ctx context.Context, arg ListEntrysParams) ([]Entry, error)
- func (q *Queries) ListTransfers(ctx context.Context, arg ListTransfersParams) ([]Transfer, error)
- func (q *Queries) UpdateAccount(ctx context.Context, arg UpdateAccountParams) (Account, error)
- func (q *Queries) UpdateEntry(ctx context.Context, arg UpdateEntryParams) (Entry, error)
- func (q *Queries) UpdateTransfer(ctx context.Context, arg UpdateTransferParams) (Transfer, error)
- func (q *Queries) WithTx(tx *sql.Tx) *Queries
- type SQLStore
- type Store
- type Transfer
- type TransferTxParams
- type TransferTxResults
- type UpdateAccountParams
- type UpdateEntryParams
- type UpdateTransferParams
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AddAccountBalanceParams ¶
type CreateAccountParams ¶
type CreateEntryParams ¶
type CreateTransferParams ¶
type ListAccountsParams ¶
type ListEntrysParams ¶
type ListTransfersParams ¶
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) DeleteAccount(ctx context.Context, id int64) error DeleteEntry(ctx context.Context, id int64) error DeleteTransfer(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) ListAccounts(ctx context.Context, arg ListAccountsParams) ([]Account, error) ListEntrys(ctx context.Context, arg ListEntrysParams) ([]Entry, error) ListTransfers(ctx context.Context, arg ListTransfersParams) ([]Transfer, error) UpdateAccount(ctx context.Context, arg UpdateAccountParams) (Account, error) UpdateEntry(ctx context.Context, arg UpdateEntryParams) (Entry, error) UpdateTransfer(ctx context.Context, arg UpdateTransferParams) (Transfer, 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) DeleteAccount ¶
func (*Queries) DeleteTransfer ¶
func (*Queries) GetAccount ¶
func (*Queries) GetAccountForUpdate ¶
func (*Queries) GetTransfer ¶
func (*Queries) ListAccounts ¶
func (*Queries) ListEntrys ¶
func (*Queries) ListTransfers ¶
func (*Queries) UpdateAccount ¶
func (*Queries) UpdateEntry ¶
func (*Queries) UpdateTransfer ¶
type SQLStore ¶
type SQLStore struct { *Queries // contains filtered or unexported fields }
Store provides all fucntions to execute db queries and transactions
func (*SQLStore) TransferTx ¶
func (store *SQLStore) TransferTx(ctx context.Context, arg TransferTxParams) (TransferTxResults, error)
TransferTx preforms a money transfer from one account to another It creates a transfer record, adds account entries, and updates accounts' balance within a single database transaction
type Store ¶
type Store interface { Querier TransferTx(ctx context.Context, arg TransferTxParams) (TransferTxResults, error) }
type TransferTxParams ¶
type TransferTxParams struct { FromAccountID int64 `json:"from_account_id"` ToAccountID int64 `json:"to_account_id"` Amount int64 `json:"amount"` }
TransferTxParams contains the input parameters of the transfer transaction
type TransferTxResults ¶
type TransferTxResults struct { Transfer Transfer `json:"transfer"` FromEntry Entry `json:"from_entry"` ToEntry Entry `json:"to_entry"` FromAccount Account `json:"from_account"` ToAccount Account `json:"to_account"` }
TransferTxResults is the result of the transfer transaction
type UpdateAccountParams ¶
type UpdateEntryParams ¶
type UpdateTransferParams ¶
Click to show internal directories.
Click to hide internal directories.