transaction

package
v2.6.1 Latest Latest
Warning

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

Go to latest
Published: Dec 29, 2025 License: Apache-2.0 Imports: 8 Imported by: 3

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AliasKey deprecated added in v2.3.0

func AliasKey(alias, balanceKey string) string

Deprecated: use AliasKey method from Midaz pkg instead. AliasKey function to concatenate alias with balance key

func AppendIfNotExist deprecated

func AppendIfNotExist(slice []string, s []string) []string

Deprecated: use AppendIfNotExist method from Midaz pkg instead. AppendIfNotExist Append if not exist

func CalculateTotal deprecated

func CalculateTotal(fromTos []FromTo, transaction Transaction, transactionType string, t chan decimal.Decimal, ft chan map[string]Amount, sd chan []string, or chan map[string]string)

Deprecated: use CalculateTotal method from Midaz pkg instead. CalculateTotal Calculate total for sources/destinations based on shares, amounts and remains

func ConcatAlias deprecated

func ConcatAlias(i int, alias string) string

Deprecated: use ConcatAlias method from Midaz pkg instead. ConcatAlias function to concat alias with index

func DetermineOperation deprecated

func DetermineOperation(isPending bool, isFrom bool, transactionType string) string

Deprecated: use DetermineOperation method from Midaz pkg instead. DetermineOperation Function to determine the operation

func SplitAlias deprecated

func SplitAlias(alias string) string

Deprecated: use SplitAlias method from Midaz pkg instead. SplitAlias function to split alias with index

func SplitAliasWithKey deprecated added in v2.3.0

func SplitAliasWithKey(alias string) string

Deprecated: use SplitAliasWithKey method from Midaz pkg instead. SplitAliasWithKey extracts the substring after the '#' character from the provided alias or returns the alias if '#' is not present.

func ValidateBalancesRules deprecated

func ValidateBalancesRules(ctx context.Context, transaction Transaction, validate Responses, balances []*Balance) error

Deprecated: use ValidateBalancesRules method from Midaz pkg instead. ValidateBalancesRules function with some validates in accounts and DSL operations

func ValidateFromToOperation deprecated

func ValidateFromToOperation(ft FromTo, validate Responses, balance *Balance) (Amount, Balance, error)

Deprecated: use ValidateFromToOperation method from Midaz pkg instead. ValidateFromToOperation func that validate operate balance

Types

type Amount deprecated

type Amount struct {
	Asset           string          `json:"asset,omitempty" validate:"required" example:"BRL"`
	Value           decimal.Decimal `json:"value,omitempty" validate:"required" example:"1000"`
	Operation       string          `json:"operation,omitempty"`
	TransactionType string          `json:"transactionType,omitempty"`

} // @name Amount

Deprecated: use model from Midaz pkg instead. Amount structure for marshaling/unmarshalling JSON.

swagger:model Amount @Description Amount is the struct designed to represent the amount of an operation.

type Balance deprecated

type Balance struct {
	ID             string          `json:"id" example:"00000000-0000-0000-0000-000000000000"`
	OrganizationID string          `json:"organizationId" example:"00000000-0000-0000-0000-000000000000"`
	LedgerID       string          `json:"ledgerId" example:"00000000-0000-0000-0000-000000000000"`
	AccountID      string          `json:"accountId" example:"00000000-0000-0000-0000-000000000000"`
	Alias          string          `json:"alias" example:"@person1"`
	Key            string          `json:"key" example:"asset-freeze"`
	AssetCode      string          `json:"assetCode" example:"BRL"`
	Available      decimal.Decimal `json:"available" example:"1500"`
	OnHold         decimal.Decimal `json:"onHold" example:"500"`
	Version        int64           `json:"version" example:"1"`
	AccountType    string          `json:"accountType" example:"creditCard"`
	AllowSending   bool            `json:"allowSending" example:"true"`
	AllowReceiving bool            `json:"allowReceiving" example:"true"`
	CreatedAt      time.Time       `json:"createdAt" example:"2021-01-01T00:00:00Z"`
	UpdatedAt      time.Time       `json:"updatedAt" example:"2021-01-01T00:00:00Z"`
	DeletedAt      *time.Time      `json:"deletedAt" example:"2021-01-01T00:00:00Z"`
	Metadata       map[string]any  `json:"metadata,omitempty"`

} // @name Balance

Deprecated: use model from Midaz pkg instead. Balance structure for marshaling/unmarshalling JSON.

swagger:model Balance @Description Balance is the struct designed to represent the account balance.

func OperateBalances deprecated

func OperateBalances(amount Amount, balance Balance) (Balance, error)

Deprecated: use OperateBalances method from Midaz pkg instead. OperateBalances Function to sum or sub two balances and Normalize the scale

type Distribute deprecated

type Distribute struct {
	Remaining string   `json:"remaining,omitempty"`
	To        []FromTo `json:"to,omitempty" validate:"singletransactiontype,required,dive"`

} // @name Distribute

Deprecated: use model from Midaz pkg instead. Distribute structure for marshaling/unmarshalling JSON.

swagger:model Distribute @Description Distribute is the struct designed to represent the distribution fields of an operation.

type FromTo deprecated

type FromTo struct {
	AccountAlias    string         `json:"accountAlias,omitempty" example:"@person1"`
	BalanceKey      string         `json:"balanceKey,omitempty" example:"asset-freeze"`
	Amount          *Amount        `json:"amount,omitempty"`
	Share           *Share         `json:"share,omitempty"`
	Remaining       string         `json:"remaining,omitempty" example:"remaining"`
	Rate            *Rate          `json:"rate,omitempty"`
	Description     string         `json:"description,omitempty" example:"description"`
	ChartOfAccounts string         `json:"chartOfAccounts" example:"1000"`
	Metadata        map[string]any `json:"metadata" validate:"dive,keys,keymax=100,endkeys,nonested,valuemax=2000"`
	IsFrom          bool           `json:"isFrom,omitempty" example:"true"`
	Route           string         `json:"route,omitempty" validate:"omitempty,max=250" example:"00000000-0000-0000-0000-000000000000"`

} // @name FromTo

Deprecated: use model from Midaz pkg instead. FromTo structure for marshaling/unmarshalling JSON.

swagger:model FromTo @Description FromTo is the struct designed to represent the from/to fields of an operation.

func (FromTo) ConcatAlias deprecated

func (ft FromTo) ConcatAlias(i int) string

Deprecated: use ConcatAlias method from Midaz pkg instead. ConcatAlias function to concat alias with index.

func (FromTo) SplitAlias deprecated

func (ft FromTo) SplitAlias() string

Deprecated: use SplitAlias method from Midaz pkg instead. SplitAlias function to split alias with index.

type Metadata deprecated

type Metadata struct {
	Key   string `json:"key,omitempty"`
	Value any    `json:"value,omitempty"`

} // @name Metadata

Deprecated: use model from Midaz pkg instead. Metadata structure for marshaling/unmarshalling JSON.

swagger:model Metadata @Description Metadata is the struct designed to store metadata.

type Rate deprecated

type Rate struct {
	From       string          `json:"from" validate:"required" example:"BRL"`
	To         string          `json:"to" validate:"required" example:"USDe"`
	Value      decimal.Decimal `json:"value" validate:"required" example:"1000"`
	ExternalID string          `json:"externalId" validate:"uuid,required" example:"00000000-0000-0000-0000-000000000000"`

} // @name Rate

Deprecated: use model from Midaz pkg instead. Rate structure for marshaling/unmarshalling JSON.

swagger:model Rate @Description Rate is the struct designed to represent the rate fields of an operation.

func (Rate) IsEmpty deprecated

func (r Rate) IsEmpty() bool

Deprecated: use IsEmpty method from Midaz pkg instead. IsEmpty method that set empty or nil in fields

type Responses deprecated

type Responses struct {
	Total               decimal.Decimal
	Asset               string
	From                map[string]Amount
	To                  map[string]Amount
	Sources             []string
	Destinations        []string
	Aliases             []string
	Pending             bool
	TransactionRoute    string
	OperationRoutesFrom map[string]string
	OperationRoutesTo   map[string]string
}

Deprecated: use model from Midaz pkg instead.

func ValidateSendSourceAndDistribute deprecated

func ValidateSendSourceAndDistribute(ctx context.Context, transaction Transaction, transactionType string) (*Responses, error)

Deprecated: use ValidateSendSourceAndDistribute method from Midaz pkg instead. ValidateSendSourceAndDistribute Validate send and distribute totals

type Send deprecated

type Send struct {
	Asset      string          `json:"asset,omitempty" validate:"required" example:"BRL"`
	Value      decimal.Decimal `json:"value,omitempty" validate:"required" example:"1000"`
	Source     Source          `json:"source,omitempty" validate:"required"`
	Distribute Distribute      `json:"distribute,omitempty" validate:"required"`

} // @name Send

Deprecated: use model from Midaz pkg instead. Send structure for marshaling/unmarshalling JSON.

swagger:model Send @Description Send is the struct designed to represent the sending fields of an operation.

type Share deprecated

type Share struct {
	Percentage             int64 `json:"percentage,omitempty" validate:"required"`
	PercentageOfPercentage int64 `json:"percentageOfPercentage,omitempty"`

} // @name Share

Deprecated: use model from Midaz pkg instead. Share structure for marshaling/unmarshalling JSON.

swagger:model Share @Description Share is the struct designed to represent the sharing fields of an operation.

type Source deprecated

type Source struct {
	Remaining string   `json:"remaining,omitempty" example:"remaining"`
	From      []FromTo `json:"from,omitempty" validate:"singletransactiontype,required,dive"`

} // @name Source

Deprecated: use model from Midaz pkg instead. Source structure for marshaling/unmarshalling JSON.

swagger:model Source @Description Source is the struct designed to represent the source fields of an operation.

type Transaction deprecated

type Transaction struct {
	ChartOfAccountsGroupName string         `json:"chartOfAccountsGroupName,omitempty" example:"1000"`
	Description              string         `json:"description,omitempty" example:"Description"`
	Code                     string         `json:"code,omitempty" example:"00000000-0000-0000-0000-000000000000"`
	Pending                  bool           `json:"pending,omitempty" example:"false"`
	Metadata                 map[string]any `json:"metadata,omitempty" validate:"dive,keys,keymax=100,endkeys,nonested,valuemax=2000"`
	Route                    string         `json:"route,omitempty" validate:"omitempty,max=250" example:"00000000-0000-0000-0000-000000000000"`
	TransactionDate          time.Time      `json:"transactionDate,omitempty" example:"2021-01-01T00:00:00Z"`
	Send                     Send           `json:"send" validate:"required"`

} // @name Transaction

Deprecated: use model from Midaz pkg instead. Transaction structure for marshaling/unmarshalling JSON.

swagger:model Transaction @Description Transaction is a struct designed to store transaction data.

func (Transaction) IsEmpty deprecated

func (t Transaction) IsEmpty() bool

Deprecated: use IsEmpty method from Midaz pkg instead. IsEmpty is a func that validate if transaction is Empty.

Jump to

Keyboard shortcuts

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