Documentation
¶
Overview ¶
Package service holds business logic.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CalculateRequest ¶ added in v1.3.0
type CalculateRequest struct { Income []Income TaxType string `survey:"tax_type"` YearIncome string `survey:"year_income"` }
CalculateRequest model.
type CalculateResponse ¶ added in v1.3.0
type CalculateResponse struct { TaxRate taxes.TaxRate YearIncome models.Money IncomeConverted models.Money Tax models.Money }
CalculateResponse model.
func (CalculateResponse) String ¶ added in v1.3.0
func (c CalculateResponse) String() string
type ConvertRequest ¶ added in v1.3.0
type ConvertRequest struct { DateRequest CurrencyFrom string `survey:"currency_from"` CurrencyTo string `survey:"currency_to"` Amount string `survey:"amount"` }
ConvertRequest model.
type ConvertResponse ¶ added in v1.3.0
ConvertResponse model.
func (ConvertResponse) String ¶ added in v1.3.0
func (c ConvertResponse) String() string
type Converter ¶ added in v1.9.0
type Converter interface {
Convert(ctx context.Context, p ConvertRequest) (*ConvertResponse, error)
}
Converter converts currencies.
type DateRequest ¶ added in v1.3.0
type DateRequest struct { Year string `survey:"year"` Month string `survey:"month"` Day string `survey:"day"` }
DateRequest model.
func (DateRequest) String ¶ added in v1.9.0
func (d DateRequest) String() string
type Income ¶ added in v1.9.0
type Income struct { DateRequest Currency string `survey:"currency"` Amount string `survey:"amount"` }
Income model.
type Service ¶
type Service interface { Converter TaxCalculator }
Service for calculations of taxes and currency conversions.
type TaxCalculator ¶ added in v1.9.0
type TaxCalculator interface {
Calculate(ctx context.Context, p CalculateRequest) (*CalculateResponse, error)
}
TaxCalculator calculates taxes.
Click to show internal directories.
Click to hide internal directories.