Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrAccountNotFound = errors.New("account not found") ErrFailedToCreateAccount = errors.New("failed to create account") ErrFailedToGetAccount = errors.New("failed to get account") ErrFailedToGetAccountsByUser = errors.New("failed to get accounts by user") ErrFailedToGetNextIndex = errors.New("failed to get next account index") ErrFailedToUpdateAccount = errors.New("failed to update account") ErrFailedToDeleteAccount = errors.New("failed to delete account") ErrFailedToRestoreAccount = errors.New("failed to restore account") )
Common errors for AccountRepository
View Source
var ( ErrTransactionNotFound = errors.New("transaction not found") ErrFailedToCreateTransaction = errors.New("failed to create transaction") ErrFailedToCreateBatchTransactions = errors.New("failed to create batch transactions") ErrFailedToGetTransaction = errors.New("failed to get transaction") ErrFailedToGetTransactionByHash = errors.New("failed to get transaction by stellar hash") ErrFailedToGetTransactionsByLoanID = errors.New("failed to get transactions by loan ID") ErrFailedToGetTransactionsByUserID = errors.New("failed to get transactions by user ID") ErrFailedToGetTransactionsByStatus = errors.New("failed to get transactions by status") ErrFailedToUpdateTransaction = errors.New("failed to update transaction") )
Common errors for TransactionRepository
View Source
var ( ErrUserNotFound = errors.New("user not found") ErrFailedToCreateUser = errors.New("failed to create user") ErrFailedToGetUser = errors.New("failed to get user") ErrFailedToGetUsers = errors.New("failed to get users") ErrFailedToGetUsersByKYC = errors.New("failed to get users by KYC status") ErrFailedToGetUsersByRole = errors.New("failed to get users by role") ErrFailedToCountUsers = errors.New("failed to count users") ErrFailedToCountAdmins = errors.New("failed to count admins") ErrFailedToUpdateUser = errors.New("failed to update user") ErrFailedToDeleteUser = errors.New("failed to delete user") ErrFailedToRestoreUser = errors.New("failed to restore user") )
Common errors for UserRepository
Functions ¶
This section is empty.
Types ¶
type AccountRepository ¶
type AccountRepository interface {
// Create operations
Create(ctx context.Context, account *models.Account) error
CreateWithTx(ctx context.Context, tx *gorm.DB, account *models.Account) error
// Read operations
GetByID(ctx context.Context, id string) (*models.Account, error)
GetByUserID(ctx context.Context, userID string) (*models.Account, error)
GetByPublicKey(ctx context.Context, publicKey string) (*models.Account, error)
GetNextAccountIndex(ctx context.Context, userID string) (int, error)
GetNextAccountIndexWithTx(ctx context.Context, tx *gorm.DB) (int, error)
// Update operations
Update(ctx context.Context, account *models.Account) error
Restore(ctx context.Context, id string) error
// Delete operations
Delete(ctx context.Context, id string) error
}
AccountRepository defines the interface for account data access
func NewAccountRepository ¶
func NewAccountRepository(db *gorm.DB) (AccountRepository, error)
NewAccountRepository creates a new AccountRepository
type Repositories ¶
type Repositories struct {
// Core repositories
User UserRepository
Account AccountRepository
Transaction TransactionRepository
}
func NewRepositories ¶
func NewRepositories(db *gorm.DB) (*Repositories, error)
type TransactionRepository ¶
type TransactionRepository interface {
// Create operations
Create(ctx context.Context, tx *models.Transaction) error
BatchCreate(ctx context.Context, txs []*models.Transaction) error
// Read operations
GetByID(ctx context.Context, id string) (*models.Transaction, error)
GetByStellarHash(ctx context.Context, txHash string) (*models.Transaction, error)
GetByExternalID(ctx context.Context, externalID string) (*models.Transaction, error)
GetByLoanID(ctx context.Context, loanID string, limit, offset int) ([]*models.Transaction, error)
GetByUserID(ctx context.Context, userID string, limit, offset int) ([]*models.Transaction, error)
GetByStatus(ctx context.Context, status string, limit, offset int) ([]*models.Transaction, error)
// Update operations
Update(ctx context.Context, tx *models.Transaction) error
}
TransactionRepository defines the interface for transaction data access
func NewTransactionRepository ¶
func NewTransactionRepository(db *gorm.DB) (TransactionRepository, error)
NewTransactionRepository creates a new instance of TransactionRepository
type UserRepository ¶
type UserRepository interface {
// Create operations
Create(ctx context.Context, user *models.User) error
CreateWithTx(ctx context.Context, tx *gorm.DB, user *models.User) error
// Read operations
GetByID(ctx context.Context, id string) (*models.User, error)
GetByMobileNumber(ctx context.Context, mobileNumber string) (*models.User, error)
GetByNationalID(ctx context.Context, nationalID string) (*models.User, error)
GetByKYCStatus(ctx context.Context, kycStatus string, limit, offset int) ([]*models.User, error)
GetByRole(ctx context.Context, role string, limit, offset int) ([]*models.User, error)
List(ctx context.Context, limit, offset int) ([]*models.User, error)
// Count operations
Count(ctx context.Context) (int64, error)
CountByKYCStatus(ctx context.Context, kycStatus string) (int64, error)
CountByRole(ctx context.Context, role string) (int64, error)
CountAdmins(ctx context.Context) (int, error)
// Update operations
Update(ctx context.Context, user *models.User) error
Restore(ctx context.Context, id string) error
// Delete operations
Delete(ctx context.Context, id string) error
}
UserRepository defines the interface for user data access
func NewUserRepository ¶
func NewUserRepository(db *gorm.DB) (UserRepository, error)
NewUserRepository creates a new instance of UserRepository
Click to show internal directories.
Click to hide internal directories.