Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Handler ¶
type Handler struct {
// contains filtered or unexported fields
}
Handler manages user data operations and provides RPC endpoints.
func NewHandler ¶
func NewHandler( store Store, useStoreInTx StoreTxProvider, ) *Handler
NewHandler creates a new Handler instance with the provided dependencies.
func (*Handler) GetBalances ¶
GetBalances retrieves the balances of the user.
func (*Handler) GetTransactions ¶
GetTransactions retrieves transaction history for a user with optional filters.
type MockStore ¶
MockStore is a mock implementation of the Store interface
func (*MockStore) GetUserBalances ¶
func (m *MockStore) GetUserBalances(wallet string) ([]core.BalanceEntry, error)
func (*MockStore) GetUserTransactions ¶
func (m *MockStore) GetUserTransactions(Wallet string, Asset *string, TxType *core.TransactionType, FromTime *uint64, ToTime *uint64, Paginate *core.PaginationParams) ([]core.Transaction, core.PaginationMetadata, error)
type Store ¶
type Store interface {
// GetUserBalances retrieves the balances for a user's wallet.
GetUserBalances(wallet string) ([]core.BalanceEntry, error)
// GetUserTransactions retrieves transaction history for a user with optional filters.
GetUserTransactions(Wallet string,
Asset *string,
TxType *core.TransactionType,
FromTime *uint64,
ToTime *uint64,
Paginate *core.PaginationParams) ([]core.Transaction, core.PaginationMetadata, error)
}
Store defines the persistence layer interface for user data management. All methods should be implemented to work within database transactions.
type StoreTxHandler ¶
StoreTxHandler is a function that executes Store operations within a transaction. If the handler returns an error, the transaction is rolled back; otherwise it's committed.
type StoreTxProvider ¶
type StoreTxProvider func(StoreTxHandler) error
StoreTxProvider wraps Store operations in a database transaction. It accepts a StoreTxHandler and manages transaction lifecycle (begin, commit, rollback). Returns an error if the handler fails or the transaction cannot be committed.