CryptoInfo.kt
package com.distasilucas.cryptobalancetracker.model.response.insights
import com.fasterxml.jackson.annotation.JsonInclude
import com.fasterxml.jackson.annotation.JsonProperty
import java.io.Serializable
import java.math.BigDecimal
@JsonInclude(JsonInclude.Include.NON_NULL)
data class CryptoInfo(
val cryptoName: String? = null,
@JsonProperty("cryptoId")
val coingeckoCryptoId: String,
val symbol: String,
val image: String,
val price: Price? = null,
val priceChange: PriceChange? = null,
): Serializable
@JsonInclude(JsonInclude.Include.NON_NULL)
data class Price(
val usd: String,
val eur: String,
val btc: String? = null,
): Serializable {
constructor(usd: BigDecimal, eur: BigDecimal, btc: BigDecimal) : this(
usd.toPlainString(), eur.toPlainString(), btc.toPlainString()
)
constructor(usd: BigDecimal, eur: BigDecimal) : this(
usd.toPlainString(), eur.toPlainString()
)
}
@JsonInclude(JsonInclude.Include.NON_NULL)
data class PriceChange(
val changePercentageIn24h: Double? = null,
val changePercentageIn7d: Double? = null,
val changePercentageIn30d: Double? = null
): Serializable