Files
ezbookkeeping/pkg/models/exchange_rate.go
T
2021-03-10 23:33:18 +08:00

37 lines
1.1 KiB
Go

package models
import "strings"
// LatestExchangeRateResponse returns a view-object which contains latest exchange rate
type LatestExchangeRateResponse struct {
DataSource string `json:"dataSource"`
ReferenceUrl string `json:"referenceUrl"`
UpdateTime int64 `json:"updateTime"`
BaseCurrency string `json:"baseCurrency"`
ExchangeRates LatestExchangeRateSlice `json:"exchangeRates"`
}
// LatestExchangeRate represents a data pair of currency and exchange rate
type LatestExchangeRate struct {
Currency string `json:"currency"`
Rate string `json:"rate"`
}
// LatestExchangeRateSlice represents the slice data structure of LatestExchangeRate
type LatestExchangeRateSlice []*LatestExchangeRate
// Len returns the count of items
func (s LatestExchangeRateSlice) Len() int {
return len(s)
}
// Swap swaps two items
func (s LatestExchangeRateSlice) Swap(i, j int) {
s[i], s[j] = s[j], s[i]
}
// Less reports whether the first item is less than the second one
func (s LatestExchangeRateSlice) Less(i, j int) bool {
return strings.Compare(s[i].Currency, s[j].Currency) < 0
}