service

package
v1.9.0 Latest Latest
Warning

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

Go to latest
Published: Jul 2, 2023 License: MIT Imports: 11 Imported by: 0

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

type ConvertResponse struct {
	Date      time.Time
	Amount    models.Money
	Converted models.Money
}

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.

func New

func New() Service

New is a Service constructor.

type TaxCalculator added in v1.9.0

type TaxCalculator interface {
	Calculate(ctx context.Context, p CalculateRequest) (*CalculateResponse, error)
}

TaxCalculator calculates taxes.

Jump to

Keyboard shortcuts

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