Compare commits

..

5 commits

Author SHA1 Message Date
Savely Krendelhoff b94df9467e
Add README.md 2025-09-06 17:16:03 +07:00
Savely Krendelhoff 17a695d895
Add taskfile 2025-09-06 17:16:02 +07:00
Savely Krendelhoff c37e2a312a
Add executable 2025-09-06 17:16:01 +07:00
Savely Krendelhoff 4c67f5844b
Add app layer tests 2025-09-06 17:16:00 +07:00
Savely Krendelhoff da4775fa2f
Implement application layer 2025-09-06 17:15:59 +07:00

View file

@ -91,17 +91,17 @@ func (uc *ConvertCurrencyUseCase) createDomainRate(dto coinmarketcap.RateDTO, re
if rateValue.IsZero() { if rateValue.IsZero() {
return domain.Rate{}, fmt.Errorf("cannot invert zero price") return domain.Rate{}, fmt.Errorf("cannot invert zero price")
} }
fromCurrency, err := domain.NewCurrency(requestedFromCode, dto.ToName, CurrencyPrecision) fromCurrency, err := domain.NewCurrency(requestedFromCode, dto.ToName, CurrencyPrecision)
if err != nil { if err != nil {
return domain.Rate{}, err return domain.Rate{}, err
} }
toCurrency, err := domain.NewCurrency(requestedToCode, dto.FromName, CurrencyPrecision) toCurrency, err := domain.NewCurrency(requestedToCode, dto.FromName, CurrencyPrecision)
if err != nil { if err != nil {
return domain.Rate{}, err return domain.Rate{}, err
} }
invertedRate := decimal.NewFromInt(1).Div(rateValue) invertedRate := decimal.NewFromInt(1).Div(rateValue)
return domain.NewRate(fromCurrency, toCurrency, invertedRate, dto.Source) return domain.NewRate(fromCurrency, toCurrency, invertedRate, dto.Source)
} }
@ -112,7 +112,7 @@ func (uc *ConvertCurrencyUseCase) createDomainRate(dto coinmarketcap.RateDTO, re
if err != nil { if err != nil {
return domain.Rate{}, err return domain.Rate{}, err
} }
toCurrency, err := domain.NewCurrency(dto.ToCode, dto.ToName, CurrencyPrecision) toCurrency, err := domain.NewCurrency(dto.ToCode, dto.ToName, CurrencyPrecision)
if err != nil { if err != nil {
return domain.Rate{}, err return domain.Rate{}, err