user_v1

package
v1.4.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 18, 2026 License: MIT Imports: 3 Imported by: 0

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

func (h *Handler) GetBalances(c *rpc.Context)

GetBalances retrieves the balances of the user.

func (*Handler) GetTransactions

func (h *Handler) GetTransactions(c *rpc.Context)

GetTransactions retrieves transaction history for a user with optional filters.

type MockStore

type MockStore struct {
	mock.Mock
}

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

type StoreTxHandler func(Store) error

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL