Documentation ¶
Index ¶
- func IsNotFoundError(err error) bool
- func IsUniqueViolationError(err error) bool
- type AccountRepository
- func (r *AccountRepository) CreateAccount(ctx context.Context, params core.CreateAccountParams) error
- func (r *AccountRepository) DeleteAccount(ctx context.Context, accountID int64) error
- func (r *AccountRepository) GetAccount(ctx context.Context, accountID int64) (core.Account, error)
- func (r *AccountRepository) GetAccounts(ctx context.Context, userID int64) ([]core.Account, error)
- type CardRepository
- func (r *CardRepository) CreateCard(ctx context.Context, params core.CreateCardParams) error
- func (r *CardRepository) DeleteCard(ctx context.Context, cardNumber string) error
- func (r *CardRepository) GetCard(ctx context.Context, cardNumber string) (core.Card, error)
- func (r *CardRepository) GetCardAccount(ctx context.Context, cardNumber string) (core.Account, error)
- func (r *CardRepository) GetCards(ctx context.Context, accountID int64) ([]core.Card, error)
- type TransactionRepository
- func (r *TransactionRepository) Deposit(ctx context.Context, params core.CreateTransactionParams) error
- func (r *TransactionRepository) GetTransaction(ctx context.Context, transactionID uuid.UUID) (core.Transaction, error)
- func (r *TransactionRepository) GetTransactions(ctx context.Context, params core.GetTransactionsParams) ([]core.Transaction, error)
- func (r *TransactionRepository) RollbackTransaction(ctx context.Context, transactionID uuid.UUID) error
- func (r *TransactionRepository) Transfer(ctx context.Context, params core.CreateTransactionParams) error
- func (r *TransactionRepository) Withdraw(ctx context.Context, params core.CreateTransactionParams) error
- type UserRepository
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func IsNotFoundError ¶
func IsUniqueViolationError ¶
Types ¶
type AccountRepository ¶
type AccountRepository struct {
// contains filtered or unexported fields
}
func NewAccountRepository ¶
func NewAccountRepository(db *sql.DB) *AccountRepository
func (*AccountRepository) CreateAccount ¶
func (r *AccountRepository) CreateAccount(ctx context.Context, params core.CreateAccountParams) error
CreateAccount creates an account for a user
func (*AccountRepository) DeleteAccount ¶
func (r *AccountRepository) DeleteAccount(ctx context.Context, accountID int64) error
DeleteAccount deletes account by given id
func (*AccountRepository) GetAccount ¶
GetAccount returns account for given account id
func (*AccountRepository) GetAccounts ¶
GetAccounts returns all accounts for given user
type CardRepository ¶
type CardRepository struct {
// contains filtered or unexported fields
}
func NewCardRepository ¶
func NewCardRepository(db *sql.DB) *CardRepository
func (*CardRepository) CreateCard ¶
func (r *CardRepository) CreateCard(ctx context.Context, params core.CreateCardParams) error
CreateCard creates a new card in the database
func (*CardRepository) DeleteCard ¶
func (r *CardRepository) DeleteCard(ctx context.Context, cardNumber string) error
DeleteCard deletes a card for a given number
func (*CardRepository) GetCardAccount ¶
type TransactionRepository ¶
type TransactionRepository struct {
// contains filtered or unexported fields
}
func NewTransactionRepository ¶
func NewTransactionRepository(db *sql.DB) *TransactionRepository
func (*TransactionRepository) Deposit ¶
func (r *TransactionRepository) Deposit(ctx context.Context, params core.CreateTransactionParams) error
Deposit adds money to an account and creates a transaction
func (*TransactionRepository) GetTransaction ¶
func (r *TransactionRepository) GetTransaction(ctx context.Context, transactionID uuid.UUID) (core.Transaction, error)
GetTransaction returns a transaction by its ID
func (*TransactionRepository) GetTransactions ¶
func (r *TransactionRepository) GetTransactions(ctx context.Context, params core.GetTransactionsParams) ([]core.Transaction, error)
GetTransactions returns a list of transactions for a given account with filters(pagination, date range, etc)
func (*TransactionRepository) RollbackTransaction ¶
func (r *TransactionRepository) RollbackTransaction(ctx context.Context, transactionID uuid.UUID) error
RollbackTransaction deletes a transaction and restores the balance of the involved accounts
func (*TransactionRepository) Transfer ¶
func (r *TransactionRepository) Transfer(ctx context.Context, params core.CreateTransactionParams) error
Transfer transfers money from one account to another
func (*TransactionRepository) Withdraw ¶
func (r *TransactionRepository) Withdraw(ctx context.Context, params core.CreateTransactionParams) error
Withdraw subtracts money from an account and creates a transaction
type UserRepository ¶
type UserRepository struct {
// contains filtered or unexported fields
}
func NewUserRepository ¶
func NewUserRepository(db *sql.DB) *UserRepository
func (*UserRepository) CreateUser ¶
CreateUser creates a new user in the database with the given uuid