api

package
v0.2.8 Latest Latest
Warning

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

Go to latest
Published: May 20, 2024 License: GPL-2.0 Imports: 11 Imported by: 0

Documentation

Overview

Package api defines implementations of endpoints and calls

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Call

type Call struct {
	// contains filtered or unexported fields
}

Call object

func (*Call) CreateCustomer

func (c *Call) CreateCustomer(ctx context.Context, request model.CreateCustomerRequest) (model.Customer, error)

CreateCustomer makes an API request using Call to create a customer

func (*Call) CreateYieldOfferingProfile

func (c *Call) CreateYieldOfferingProfile(ctx context.Context, request model.CreateYieldOfferingProfilesRequest) (model.YieldOfferingProfile, error)

CreateYieldOfferingProfile makes an API request using Call to create a yield offering profile

func (*Call) CryptoWithdrawal added in v0.1.5

func (c *Call) CryptoWithdrawal(ctx context.Context, request model.WithdrawalRequest) (model.Withdrawal, error)

CryptoWithdrawal makes an API request to withdrawal to a specified crypto wallet address

func (*Call) DeleteCustomer added in v0.2.3

func (c *Call) DeleteCustomer(ctx context.Context, customerID uuid.UUID) error

DeleteCustomer to delete a customer record by customer id

func (*Call) FeeWithdrawal added in v0.2.0

func (c *Call) FeeWithdrawal(ctx context.Context, request model.FeeWithdrawalRequest) (model.FeeWithdrawal, error)

FeeWithdrawal makes an API request to withdrawal for withdrawal fees

func (*Call) FiatWithdrawal added in v0.1.5

func (c *Call) FiatWithdrawal(ctx context.Context, request model.WithdrawalRequest) (model.Withdrawal, error)

FiatWithdrawal makes an API request to withdrawal to a provided bank account

func (*Call) GenerateBankAccount added in v0.1.8

func (c *Call) GenerateBankAccount(ctx context.Context, request model.BankAccountRequest) (model.BankAccountResponse, error)

GenerateBankAccount makes an API request to generate bank account

func (*Call) GetAllCustomers

func (c *Call) GetAllCustomers(ctx context.Context) ([]model.Customer, error)

GetAllCustomers makes an API request using Call to get all customers

func (*Call) GetAllDeposits added in v0.0.2

func (c *Call) GetAllDeposits(ctx context.Context) (model.DepositBatchResponse, error)

GetAllDeposits makes an API request using Call to get all deposits

func (*Call) GetAllYieldProfiles

func (c *Call) GetAllYieldProfiles(ctx context.Context) ([]model.YieldOfferingProfile, error)

GetAllYieldProfiles makes an API request using Call to get all yield offering profiles

func (*Call) GetBankAccount added in v0.1.8

func (c *Call) GetBankAccount(ctx context.Context, customerID uuid.UUID) (model.BankAccountResponse, error)

GetBankAccount makes an API request to get bank account

func (*Call) GetBanks added in v0.1.4

func (c *Call) GetBanks(ctx context.Context) ([]model.BankCodeResponse, error)

GetBanks makes an API request using Call to get list of banks

func (*Call) GetBusinessPortfolios

func (c *Call) GetBusinessPortfolios(ctx context.Context) ([]model.Portfolio, error)

GetBusinessPortfolios makes an API request using Call to get business portfolios

func (*Call) GetCustomerBalance added in v0.0.6

func (c *Call) GetCustomerBalance(ctx context.Context, request model.GetCustomerBalanceRequest) (model.CustomerBalanceResponse, error)

GetCustomerBalance to get customer balances

func (*Call) GetCustomerBalances added in v0.0.6

func (c *Call) GetCustomerBalances(ctx context.Context, customerID uuid.UUID) (model.CustomerBalancesResponse, error)

GetCustomerBalances to get customer balances from different yield offering

func (*Call) GetCustomerByID

func (c *Call) GetCustomerByID(ctx context.Context, request model.GetCustomerByIDRequest) (model.CustomerInfo, error)

GetCustomerByID makes an API request using Call to get a customer by ID

func (*Call) GetDepositID added in v0.0.8

func (c *Call) GetDepositID(ctx context.Context, id uuid.UUID) (model.Deposit, error)

GetDepositID makes an API request using Call to get deposit by id

func (*Call) GetExchangeRates added in v0.1.2

func (c *Call) GetExchangeRates(ctx context.Context, request model.GetExchangeRateRequest) (model.ExchangeRateDetails, error)

GetExchangeRates makes an API request using Call to get exchange rates

func (*Call) GetPayoutByID added in v0.2.8

func (c *Call) GetPayoutByID(ctx context.Context, payoutID string) (model.PayoutResponse, error)

GetPayoutByID makes a request to Torus to get the payout by its ID.

func (*Call) GetSupportedAssets added in v0.0.5

func (c *Call) GetSupportedAssets(ctx context.Context) ([]*model.SupportedAsset, error)

GetSupportedAssets makes an API request using Call to get all supported assets

func (*Call) GetTransactions added in v0.0.7

func (c *Call) GetTransactions(ctx context.Context, request *model.TransactionRequest) (model.TransactionResponse, error)

GetTransactions makes an API request using Call to get transactions

func (*Call) GetWallet added in v0.0.4

func (c *Call) GetWallet(ctx context.Context, request model.WalletRequest) (model.Wallet, error)

GetWallet makes an API request using Call to get customer wallet

func (*Call) GetWallets added in v0.0.4

func (c *Call) GetWallets(ctx context.Context, customerID string) ([]*model.Wallet, error)

GetWallets makes an API request using Call to get all customers wallets

func (*Call) GetYieldProfileByID

func (c *Call) GetYieldProfileByID(ctx context.Context, request model.GetYieldProfileByIDRequest) (model.YieldOfferingProfile, error)

GetYieldProfileByID makes an API request using Call to get a yield offering profile by ID

func (*Call) InitiateDeposit added in v0.0.2

func (c *Call) InitiateDeposit(ctx context.Context, request model.InitiateDepositRequest) (model.Deposit, error)

InitiateDeposit makes an API request using Call to initiate a deposit

func (*Call) InitiateDirectBulkPayout added in v0.2.8

func (c *Call) InitiateDirectBulkPayout(ctx context.Context, request model.InitiatePayoutRequest) (model.PayoutDetails, error)

InitiateDirectBulkPayout makes a request to Torus to initiate a bulk payout

func (*Call) InitiateTransfer

func (c *Call) InitiateTransfer(ctx context.Context, request model.InitiateTransferRequest) (model.Transfer, error)

InitiateTransfer makes an API request using Call to initiate a transfer

func (*Call) InitiateWithdrawal added in v0.0.3

func (c *Call) InitiateWithdrawal(ctx context.Context, request model.InitiateWithdrawalRequest) (model.Withdrawal, error)

InitiateWithdrawal makes an API request using Call to initiate a withdrawal

func (*Call) InternalFundsTransfer added in v0.0.7

func (c *Call) InternalFundsTransfer(ctx context.Context, request model.FundTransferRequest) (model.Deposit, error)

InternalFundsTransfer makes an api

func (*Call) IntraTransfer added in v0.1.5

func (c *Call) IntraTransfer(ctx context.Context, request model.IntraTransferRequest) (model.IntraTransferResponse, error)

IntraTransfer makes an API request to transfer funds between two customers

func (*Call) ReloadIdempotentID

func (c *Call) ReloadIdempotentID()

ReloadIdempotentID this reissues a new idempotent ID

func (*Call) ResolveBankAccount added in v0.1.4

func (c *Call) ResolveBankAccount(ctx context.Context, request model.AccountResolveRequest) (model.AccountDetailResponse, error)

ResolveBankAccount makes an API request using Call to resolve bank account

func (*Call) RunInSandboxMode

func (c *Call) RunInSandboxMode()

RunInSandboxMode this forces Call functionalities to run in sandbox mode for relevant logic/API consumption

func (*Call) UpdateCustomer

func (c *Call) UpdateCustomer(ctx context.Context, request model.UpdateCustomerRequest) (model.Customer, error)

UpdateCustomer makes an API request using Call to update a customer

func (*Call) UpdateYieldOfferingProfile

func (c *Call) UpdateYieldOfferingProfile(ctx context.Context, request model.UpdateYieldOfferingProfilesRequest) (model.UpdatedYieldOfferingProfile, error)

UpdateYieldOfferingProfile makes an API request using Call to update a yield offering profile

type RemoteCalls

type RemoteCalls interface {
	// Customer APIs
	CreateCustomer(ctx context.Context, request model.CreateCustomerRequest) (model.Customer, error)
	UpdateCustomer(ctx context.Context, request model.UpdateCustomerRequest) (model.Customer, error)
	GetAllCustomers(ctx context.Context) ([]model.Customer, error)
	GetCustomerByID(ctx context.Context, request model.GetCustomerByIDRequest) (model.CustomerInfo, error)
	GetCustomerBalance(ctx context.Context, request model.GetCustomerBalanceRequest) (model.CustomerBalanceResponse, error)
	GetCustomerBalances(ctx context.Context, customerID uuid.UUID) (model.CustomerBalancesResponse, error)
	DeleteCustomer(ctx context.Context, customerID uuid.UUID) error

	// Yield APIs
	GetBusinessPortfolios(ctx context.Context) ([]model.Portfolio, error)
	CreateYieldOfferingProfile(ctx context.Context, request model.CreateYieldOfferingProfilesRequest) (model.YieldOfferingProfile, error)
	UpdateYieldOfferingProfile(ctx context.Context, request model.UpdateYieldOfferingProfilesRequest) (model.UpdatedYieldOfferingProfile, error)
	GetAllYieldProfiles(ctx context.Context) ([]model.YieldOfferingProfile, error)
	GetYieldProfileByID(ctx context.Context, request model.GetYieldProfileByIDRequest) (model.YieldOfferingProfile, error)

	// Deposit APIs
	InitiateDeposit(ctx context.Context, request model.InitiateDepositRequest) (model.Deposit, error)
	GetAllDeposits(ctx context.Context) (model.DepositBatchResponse, error)
	GetDepositID(ctx context.Context, id uuid.UUID) (model.Deposit, error)
	InternalFundsTransfer(ctx context.Context, request model.FundTransferRequest) (model.Deposit, error)
	IntraTransfer(ctx context.Context, request model.IntraTransferRequest) (model.IntraTransferResponse, error)

	// Transfer API
	InitiateTransfer(ctx context.Context, request model.InitiateTransferRequest) (model.Transfer, error)
	GetExchangeRates(ctx context.Context, request model.GetExchangeRateRequest) (model.ExchangeRateDetails, error)

	// Withdrawal APIs
	InitiateWithdrawal(ctx context.Context, request model.InitiateWithdrawalRequest) (model.Withdrawal, error)
	FiatWithdrawal(ctx context.Context, request model.WithdrawalRequest) (model.Withdrawal, error)
	CryptoWithdrawal(ctx context.Context, request model.WithdrawalRequest) (model.Withdrawal, error)
	FeeWithdrawal(ctx context.Context, request model.FeeWithdrawalRequest) (model.FeeWithdrawal, error)

	// Wallet APIs
	GetWallet(ctx context.Context, request model.WalletRequest) (model.Wallet, error)
	GetWallets(ctx context.Context, customerID string) ([]*model.Wallet, error)
	GetSupportedAssets(ctx context.Context) ([]*model.SupportedAsset, error)

	// Transaction APIs
	GetTransactions(ctx context.Context, request *model.TransactionRequest) (model.TransactionResponse, error)

	// Payment APIs
	GetBanks(ctx context.Context) ([]model.BankCodeResponse, error)
	ResolveBankAccount(ctx context.Context, request model.AccountResolveRequest) (model.AccountDetailResponse, error)
	GenerateBankAccount(ctx context.Context, request model.BankAccountRequest) (model.BankAccountResponse, error)
	GetBankAccount(ctx context.Context, customerID uuid.UUID) (model.BankAccountResponse, error)

	// RunInSandboxMode this forces Call functionalities to run in sandbox mode for relevant logic/API consumption
	RunInSandboxMode()
}

RemoteCalls abstracted definition of supported functions

func New

func New(z *zerolog.Logger, c *resty.Client, publicKey, bearerToken, bURL string) RemoteCalls

New initialises the object Call

Jump to

Keyboard shortcuts

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