Documentation
¶
Index ¶
- Constants
- Variables
- func ExtractInstrumentNameFromIcon(src string) (string, error)
- func ParseFloatWithComma(src string, isNegative bool) (float64, error)
- func ParseFloatWithPeriod(src string) (float64, error)
- type Builder
- func (b Builder) Build(transactionType string, response details.Response) (Model, error)
- func (b Builder) BuildDocuments(response details.Response) ([]Document, error)
- func (b Builder) FromResponse(response details.Response) (Model, error)
- func (b Builder) GetHeaderData(response details.Response) (string, string, time.Time, error)
- func (b Builder) GetOverviewData(response details.Response) (string, error)
- func (b Builder) GetPerformanceData(response details.Response) (float64, float64, error)
- func (b Builder) GetTransactionData(response details.Response) (float64, float64, float64, float64, error)
- type BuilderInterface
- type CSVEntryFactory
- type Document
- type Instrument
- type InstrumentRepositoryInterface
- type Model
- type Processor
- type RepositoryInterface
- type Type
- type TypeResolver
Constants ¶
View Source
const ( TypePurchase = "Purchase" TypeSale = "Sale" TypeDividendPayout = "Dividends" TypeRoundUp = "Round up" TypeSaveback = "Saveback" InstrumentTypeStocks = "Stocks" InstrumentTypeETF = "ETF" InstrumentTypeCryptocurrency = "Cryptocurrency" InstrumentTypeLending = "Lending" InstrumentTypeOther = "Other" )
Variables ¶
View Source
var ErrNoMatch = errors.New("value did not match the pattern")
View Source
var ErrUnsupportedResponse = errors.New("unsupported response")
Functions ¶
func ParseFloatWithPeriod ¶
Types ¶
type Builder ¶ added in v0.4.0
type Builder struct {
// contains filtered or unexported fields
}
func NewBuilder ¶ added in v0.4.0
func NewBuilder(resolver TypeResolver, logger *log.Logger) Builder
func (Builder) BuildDocuments ¶ added in v0.4.0
func (Builder) FromResponse ¶ added in v0.4.0
func (Builder) GetHeaderData ¶ added in v0.4.0
Returns Status, ISIN, Timestamp and error.
func (Builder) GetOverviewData ¶ added in v0.4.0
Returns Instrument name and error.
func (Builder) GetPerformanceData ¶ added in v0.4.0
Returns Yield, Profit and error.
type BuilderInterface ¶ added in v0.4.0
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 Instrument ¶ added in v0.4.0
func NewInstrument ¶ added in v0.4.0
func NewInstrument(isin, name string) Instrument
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 Model ¶ added in v0.4.0
type Model struct { UUID string `gorm:"primaryKey"` InstrumentISIN string Instrument Instrument Documents []Document `gorm:"-"` Type string `gorm:"index"` Timestamp time.Time `gorm:"index"` Status string Yield float64 Profit float64 Rate float64 Commission float64 Total float64 CreatedAt time.Time `gorm:"index"` UpdatedAt time.Time `gorm:"index"` }
func NewTransaction ¶ added in v0.4.0
type Processor ¶
type Processor struct {
// contains filtered or unexported fields
}
func NewProcessor ¶
func NewProcessor( builder BuilderInterface, transactionRepo RepositoryInterface, factory CSVEntryFactory, csvReader filesystem.CSVReader, csvWriter filesystem.CSVWriter, logger *log.Logger, ) Processor
type RepositoryInterface ¶ added in v0.4.0
type RepositoryInterface interface { database.RepositoryInterface[*Model] }
type TypeResolver ¶
type TypeResolver struct {
// contains filtered or unexported fields
}
func NewTypeResolver ¶
func NewTypeResolver(logger *log.Logger) TypeResolver
Click to show internal directories.
Click to hide internal directories.