Compare commits

..

5 commits

Author SHA1 Message Date
Savely Krendelhoff 511b7a940c
Add README.md 2025-09-06 17:13:53 +07:00
Savely Krendelhoff 79795215ac
Add taskfile 2025-09-06 17:13:52 +07:00
Savely Krendelhoff d71b5ff2b4
Add executable 2025-09-06 17:13:51 +07:00
Savely Krendelhoff 12b774312f
Add app layer tests 2025-09-06 17:13:50 +07:00
Savely Krendelhoff cb69b72ce3
Implement application layer 2025-09-06 17:13:49 +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