Documentation
¶
Overview ¶
Package transaction is a generated GoMock package.
Package transaction is a generated GoMock package.
Index ¶
- Constants
- Variables
- func ExtractInstrumentNameFromIcon(src string) (string, error)
- func ParseFloatWithComma(src string, isNegative bool) (float64, error)
- func ParseFloatWithPeriod(src string) (float64, error)
- func ParseNumericValueFromString(src string) (string, error)
- type BaseModelBuilder
- func (b BaseModelBuilder) BuildDocuments(model Model) ([]document.Model, error)
- func (b BaseModelBuilder) ExtractCommissionAmount() (float64, error)
- func (b BaseModelBuilder) ExtractInstrumentISIN() (string, error)
- func (b BaseModelBuilder) ExtractInstrumentIcon() (string, error)
- func (b BaseModelBuilder) ExtractInstrumentName() (string, error)
- func (b BaseModelBuilder) ExtractProfitAndLoss() (float64, error)
- func (b BaseModelBuilder) ExtractRateValue() (float64, error)
- func (b BaseModelBuilder) ExtractSharesAmount() (float64, error)
- func (b BaseModelBuilder) ExtractStatus() (string, error)
- func (b BaseModelBuilder) ExtractTaxAmount() (float64, error)
- func (b BaseModelBuilder) ExtractTimestamp() (time.Time, error)
- func (b BaseModelBuilder) ExtractTotalAmount() (float64, error)
- func (b BaseModelBuilder) ExtractYield() (float64, error)
- func (b BaseModelBuilder) HandleErr(err error) error
- type CSVEntryFactory
- type DepositBuilder
- type DividendPayoutBuilder
- type Instrument
- type InstrumentRepositoryInterface
- type MockInstrumentRepositoryInterface
- type MockInstrumentRepositoryInterfaceMockRecorder
- type MockProcessorInterface
- type MockProcessorInterfaceMockRecorder
- type MockRepositoryInterface
- type MockRepositoryInterfaceMockRecorder
- type Model
- type ModelBuilderFactory
- type ModelBuilderFactoryInterface
- type ModelBuilderInterface
- type Processor
- type ProcessorInterface
- type PurchaseBuilder
- type RepositoryInterface
- type RoundUpBuilder
- type SaleBuilder
- type SavebackBuilder
- type WithdrawBuilder
Constants ¶
const ( TypePurchase = "Purchase" TypeSale = "Sale" TypeDividendPayout = "Dividends" TypeRoundUp = "Round up" TypeSaveback = "Saveback" TypeDeposit = "Deposit" TypeWithdrawal = "Withdrawal" InstrumentTypeStocks = "Stocks" InstrumentTypeETF = "ETF" InstrumentTypeCryptocurrency = "Cryptocurrency" InstrumentTypeLending = "Lending" InstrumentTypeCash = "Cash" InstrumentTypeOther = "Other" )
Variables ¶
var ( ErrModelBuilderUnsupportedType = errors.New("unsupported response") ErrModelBuilderInsufficientDataResolved = errors.New("insufficient data resolved") ErrModelBuilderUnknownType = errors.New("unknown response") )
var ErrNoMatch = errors.New("value did not match the pattern")
Functions ¶
func ParseFloatWithPeriod ¶
func ParseNumericValueFromString ¶ added in v0.6.0
Types ¶
type BaseModelBuilder ¶ added in v0.6.0
type BaseModelBuilder struct {
// contains filtered or unexported fields
}
func NewBaseModelBuilder ¶ added in v0.7.0
func NewBaseModelBuilder( response details.Response, documentsBuilder document.ModelBuilderInterface, logger *log.Logger, ) BaseModelBuilder
func (BaseModelBuilder) BuildDocuments ¶ added in v0.6.0
func (b BaseModelBuilder) BuildDocuments(model Model) ([]document.Model, error)
func (BaseModelBuilder) ExtractCommissionAmount ¶ added in v0.6.0
func (b BaseModelBuilder) ExtractCommissionAmount() (float64, error)
func (BaseModelBuilder) ExtractInstrumentISIN ¶ added in v0.6.0
func (b BaseModelBuilder) ExtractInstrumentISIN() (string, error)
func (BaseModelBuilder) ExtractInstrumentIcon ¶ added in v0.6.0
func (b BaseModelBuilder) ExtractInstrumentIcon() (string, error)
func (BaseModelBuilder) ExtractInstrumentName ¶ added in v0.6.0
func (b BaseModelBuilder) ExtractInstrumentName() (string, error)
func (BaseModelBuilder) ExtractProfitAndLoss ¶ added in v0.6.0
func (b BaseModelBuilder) ExtractProfitAndLoss() (float64, error)
func (BaseModelBuilder) ExtractRateValue ¶ added in v0.6.0
func (b BaseModelBuilder) ExtractRateValue() (float64, error)
func (BaseModelBuilder) ExtractSharesAmount ¶ added in v0.6.0
func (b BaseModelBuilder) ExtractSharesAmount() (float64, error)
func (BaseModelBuilder) ExtractStatus ¶ added in v0.6.0
func (b BaseModelBuilder) ExtractStatus() (string, error)
func (BaseModelBuilder) ExtractTaxAmount ¶ added in v0.6.0
func (b BaseModelBuilder) ExtractTaxAmount() (float64, error)
func (BaseModelBuilder) ExtractTimestamp ¶ added in v0.6.0
func (b BaseModelBuilder) ExtractTimestamp() (time.Time, error)
func (BaseModelBuilder) ExtractTotalAmount ¶ added in v0.6.0
func (b BaseModelBuilder) ExtractTotalAmount() (float64, error)
func (BaseModelBuilder) ExtractYield ¶ added in v0.6.0
func (b BaseModelBuilder) ExtractYield() (float64, error)
func (BaseModelBuilder) HandleErr ¶ added in v0.10.0
func (b BaseModelBuilder) HandleErr(err error) error
type CSVEntryFactory ¶
type CSVEntryFactory struct {
// contains filtered or unexported fields
}
func NewCSVEntryFactory ¶
func NewCSVEntryFactory(logger *log.Logger) CSVEntryFactory
func (CSVEntryFactory) Make ¶
func (f CSVEntryFactory) Make(transaction Model) (filesystem.CSVEntry, error)
type DepositBuilder ¶ added in v0.6.0
type DepositBuilder struct {
BaseModelBuilder
}
func NewDepositBuilder ¶ added in v0.7.0
func NewDepositBuilder(baseBuilder BaseModelBuilder) DepositBuilder
func (DepositBuilder) Build ¶ added in v0.6.0
func (b DepositBuilder) Build() (Model, error)
func (DepositBuilder) ExtractTotalAmount ¶ added in v0.10.0
func (b DepositBuilder) ExtractTotalAmount() (float64, error)
type DividendPayoutBuilder ¶ added in v0.6.0
type DividendPayoutBuilder struct {
PurchaseBuilder
}
func NewDividendPayoutBuilder ¶ added in v0.7.0
func NewDividendPayoutBuilder(purchaseBuilder PurchaseBuilder) DividendPayoutBuilder
func (DividendPayoutBuilder) Build ¶ added in v0.6.0
func (b DividendPayoutBuilder) Build() (Model, error)
type Instrument ¶ added in v0.4.0
func NewInstrument ¶ added in v0.4.0
func NewInstrument(isin, name, icon string) Instrument
func (Instrument) IconURL ¶ added in v0.5.0
func (i Instrument) IconURL() string
func (Instrument) Type ¶ added in v0.4.0
func (i Instrument) Type() string
type InstrumentRepositoryInterface ¶ added in v0.4.0
type InstrumentRepositoryInterface interface { database.RepositoryInterface[*Instrument] }
type MockInstrumentRepositoryInterface ¶ added in v0.10.0
type MockInstrumentRepositoryInterface struct {
// contains filtered or unexported fields
}
MockInstrumentRepositoryInterface is a mock of InstrumentRepositoryInterface interface.
func NewMockInstrumentRepositoryInterface ¶ added in v0.10.0
func NewMockInstrumentRepositoryInterface(ctrl *gomock.Controller) *MockInstrumentRepositoryInterface
NewMockInstrumentRepositoryInterface creates a new mock instance.
func (*MockInstrumentRepositoryInterface) Create ¶ added in v0.10.0
func (m *MockInstrumentRepositoryInterface) Create(model *Instrument) error
Create mocks base method.
func (*MockInstrumentRepositoryInterface) EXPECT ¶ added in v0.10.0
func (m *MockInstrumentRepositoryInterface) EXPECT() *MockInstrumentRepositoryInterfaceMockRecorder
EXPECT returns an object that allows the caller to indicate expected use.
type MockInstrumentRepositoryInterfaceMockRecorder ¶ added in v0.10.0
type MockInstrumentRepositoryInterfaceMockRecorder struct {
// contains filtered or unexported fields
}
MockInstrumentRepositoryInterfaceMockRecorder is the mock recorder for MockInstrumentRepositoryInterface.
type MockProcessorInterface ¶ added in v0.9.0
type MockProcessorInterface struct {
// contains filtered or unexported fields
}
MockProcessorInterface is a mock of ProcessorInterface interface.
func NewMockProcessorInterface ¶ added in v0.9.0
func NewMockProcessorInterface(ctrl *gomock.Controller) *MockProcessorInterface
NewMockProcessorInterface creates a new mock instance.
func (*MockProcessorInterface) EXPECT ¶ added in v0.9.0
func (m *MockProcessorInterface) EXPECT() *MockProcessorInterfaceMockRecorder
EXPECT returns an object that allows the caller to indicate expected use.
func (*MockProcessorInterface) Process ¶ added in v0.9.0
func (m *MockProcessorInterface) Process(eventType transactions.EventType, response details.Response) error
Process mocks base method.
type MockProcessorInterfaceMockRecorder ¶ added in v0.9.0
type MockProcessorInterfaceMockRecorder struct {
// contains filtered or unexported fields
}
MockProcessorInterfaceMockRecorder is the mock recorder for MockProcessorInterface.
type MockRepositoryInterface ¶ added in v0.10.0
type MockRepositoryInterface struct {
// contains filtered or unexported fields
}
MockRepositoryInterface is a mock of RepositoryInterface interface.
func NewMockRepositoryInterface ¶ added in v0.10.0
func NewMockRepositoryInterface(ctrl *gomock.Controller) *MockRepositoryInterface
NewMockRepositoryInterface creates a new mock instance.
func (*MockRepositoryInterface) Create ¶ added in v0.10.0
func (m *MockRepositoryInterface) Create(model *Model) error
Create mocks base method.
func (*MockRepositoryInterface) EXPECT ¶ added in v0.10.0
func (m *MockRepositoryInterface) EXPECT() *MockRepositoryInterfaceMockRecorder
EXPECT returns an object that allows the caller to indicate expected use.
type MockRepositoryInterfaceMockRecorder ¶ added in v0.10.0
type MockRepositoryInterfaceMockRecorder struct {
// contains filtered or unexported fields
}
MockRepositoryInterfaceMockRecorder is the mock recorder for MockRepositoryInterface.
type Model ¶ added in v0.4.0
type Model struct { UUID string `gorm:"primaryKey"` InstrumentISIN *string Instrument Instrument Documents []document.Model `gorm:"-"` Type string `gorm:"index"` Timestamp time.Time `gorm:"index"` Status string Yield float64 Profit float64 Rate float64 Commission float64 Total float64 TaxAmount float64 CreatedAt time.Time `gorm:"index"` UpdatedAt time.Time `gorm:"index"` }
func NewTransaction ¶ added in v0.4.0
type ModelBuilderFactory ¶ added in v0.6.0
type ModelBuilderFactory struct {
// contains filtered or unexported fields
}
func NewModelBuilderFactory ¶ added in v0.6.0
func NewModelBuilderFactory( resolver details.TypeResolverInterface, documentsBuilder document.ModelBuilderInterface, logger *log.Logger, ) ModelBuilderFactory
func (ModelBuilderFactory) Create ¶ added in v0.6.0
func (f ModelBuilderFactory) Create( eventType transactions.EventType, response details.Response, ) (ModelBuilderInterface, error)
type ModelBuilderFactoryInterface ¶ added in v0.6.0
type ModelBuilderFactoryInterface interface {
Create(eventType transactions.EventType, response details.Response) (ModelBuilderInterface, error)
}
type ModelBuilderInterface ¶ added in v0.6.0
type Processor ¶
type Processor struct {
// contains filtered or unexported fields
}
func NewProcessor ¶
func NewProcessor( builderFactory ModelBuilderFactoryInterface, transactionRepo RepositoryInterface, factory CSVEntryFactory, csvReader filesystem.CSVReaderInterface, csvWriter filesystem.CSVWriterInterface, documentDownloader document.DownloaderInterface, logger *log.Logger, ) Processor
type ProcessorInterface ¶ added in v0.9.0
type ProcessorInterface interface {
Process(eventType transactions.EventType, response details.Response) error
}
type PurchaseBuilder ¶ added in v0.6.0
type PurchaseBuilder struct {
BaseModelBuilder
}
func NewPurchaseBuilder ¶ added in v0.7.0
func NewPurchaseBuilder(baseBuilder BaseModelBuilder) PurchaseBuilder
func (PurchaseBuilder) Build ¶ added in v0.6.0
func (b PurchaseBuilder) Build() (Model, error)
type RepositoryInterface ¶ added in v0.4.0
type RepositoryInterface interface { database.RepositoryInterface[*Model] }
type RoundUpBuilder ¶ added in v0.6.0
type RoundUpBuilder struct {
PurchaseBuilder
}
func NewRoundUpBuilder ¶ added in v0.7.0
func NewRoundUpBuilder(purchaseBuilder PurchaseBuilder) RoundUpBuilder
func (RoundUpBuilder) Build ¶ added in v0.6.0
func (b RoundUpBuilder) Build() (Model, error)
type SaleBuilder ¶ added in v0.6.0
type SaleBuilder struct {
PurchaseBuilder
}
func NewSaleBuilder ¶ added in v0.7.0
func NewSaleBuilder(purchaseBuilder PurchaseBuilder) SaleBuilder
func (SaleBuilder) Build ¶ added in v0.6.0
func (b SaleBuilder) Build() (Model, error)
type SavebackBuilder ¶ added in v0.6.0
type SavebackBuilder struct {
PurchaseBuilder
}
func NewSavebackBuilder ¶ added in v0.7.0
func NewSavebackBuilder(purchaseBuilder PurchaseBuilder) SavebackBuilder
func (SavebackBuilder) Build ¶ added in v0.6.0
func (b SavebackBuilder) Build() (Model, error)
type WithdrawBuilder ¶ added in v0.7.0
type WithdrawBuilder struct {
DepositBuilder
}
func NewWithdrawBuilder ¶ added in v0.7.0
func NewWithdrawBuilder(depositBuilder DepositBuilder) WithdrawBuilder
func (WithdrawBuilder) Build ¶ added in v0.7.0
func (b WithdrawBuilder) Build() (Model, error)