Documentation ¶
Index ¶
Constants ¶
View Source
const ( TransactionPending string = "pending" TransactionCompleted string = "completed" TransactionError string = "error" TransactionConfirmed string = "confirmed" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Account ¶
type Account struct { Base `valid:"required"` //Base de dados principais de todos os models; "herança" OwnerName string `gorm:"column:owner_name;type:varchar(255);not null" valid:"notnull"` Bank *Bank `valid:"-"` BankId string `gorm:"column:bank_id;type:uuid;not null" valid:"-"` Number string `json:"number" gorm:"type:varchar(20)" valid:"notnull"` PixKeys []*PixKey `gorm:"ForeignKey:AccountID" valid:"-"` }
type Bank ¶
type Bank struct { Base `valid:"required"` //Base de dados principais de todos os models; "herança" Code string `json:"code" gorm:"type:varchar(20)" valid:"notnull"` Name string `json:"name" gorm:"type:varchar(255)" valid:"notnull"` Accounts []*Account `gorm:"ForeignKey:BankId" valid:"-"` }
Estrutura de dados do banco
type Base ¶
type Base struct { ID string `json:"id" valid:"uuid"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` }
Base Estrutura básica de dados de todos os models
type PixKey ¶
type PixKeyRepositoryInterface ¶
type PixKeyRepositoryInterface interface { Register(pixKey *PixKey) (*PixKey, error) FindKeyByKind(key string, kind string) (*PixKey, error) AddBank(bank *Bank) error AddAccount(account *Account) error FindAccount(id string) (*Account, error) }
PixKeyRepository - Interface para que qualquer um possa comunicar com o banco de dados
type Transaction ¶
type Transaction struct { Base `valid:"required"` AccountFrom *Account `valid:"-"` AccountFromID string `gorm:"column:account_from_id;type:uuid;not null" valid:"notnull"` Amount float64 `json:"amount" gorm:"type:float" valid:"notnull"` PixKeyTo *PixKey `valid:"-"` PixKeyIdTo string `gorm:"column:pix_key_id_to;type:uuid;not null" valid:"notnull"` Status string `json:"status" gorm:"type:varchar(20)" valid:"notnull"` Description string `json:"description" gorm:"type:varchar(255)" valid:"notnull"` CancelDescription string `json:"cancel_description" gorm:"type:varchar(255)" valid:"notnull"` }
func NewTransaction ¶
func NewTransaction(accountFrom *Account, amount float64, pixKeyTo *PixKey, description string) (*Transaction, error)
NewTransaction - Função que cria nova conta, podendo retornar um erro ou a conta em si criada
func (*Transaction) Cancel ¶
func (transaction *Transaction) Cancel(description string) error
Cancel - Cancela a transação
func (*Transaction) Complete ¶
func (transaction *Transaction) Complete() error
Complete - Completa a transação
func (*Transaction) Confirm ¶
func (transaction *Transaction) Confirm() error
type TransactionRepositoryInterface ¶
type TransactionRepositoryInterface interface { Register(transaction *Transaction) error Save(transaction *Transaction) error Find(id string) (*Transaction, error) }
TransactionRepository - Interface para que qualquer um possa comunicar com o banco de dados
type Transactions ¶
type Transactions struct {
Transaction []Transaction
}
Click to show internal directories.
Click to hide internal directories.