Hi Im getting the next trouble declaring my models on android
I have this api response
{
"isWeekTopic": false,
"_id": "62d739f65a4f2db1b81b5192",
"topicNumber": "1",
"title": "NĂºmeros naturales",
"thumbnail": "https://www.example.com",
"relatedSkillsId": [
"62c12752d9de3e63d7cd0a78"
],
"relatedSubSkillsId": [
"62d73a8c5a4f2db1b81b5194"
],
"createdAt": "2018-01-01T00:00:00.000Z",
"updatedAt": "2018-01-01T00:00:00.000Z",
"testing": {
"mainColor": "#f2f2f2",
"secondColor": "#f2f2f2",
"image": "https://www.example.com"
},
"assetsStreak": {
"VIDEO": 2,
"STORY": 0,
"VIDEOGAME": 2,
"INFOGRAPHIC": 2,
"EXPLANATION": 0,
"STEPBYSTEP": 2
},
"skillPercent": 60
}
and this is my remote response model
data class TopicsItemRemoteResponseModel(
@field:SerializedName("_id")
val topicsId: String = "",
@field:SerializedName("title")
val title: String = "",
@field:SerializedName("skillNumber")
val skillNumber: Int = 0,
@field:SerializedName("skillPercent")
val skillPercent: Int = 0,
@field:SerializedName("thumbnail")
val thumbnail: String = "",
@field:SerializedName("createdAt")
val createdAt: String = "",
@field:SerializedName("updatedAt")
val updatedAt: String = "",
@field:SerializedName("isWeekTopic")
val isWeekTopic: Boolean = false,
@field:SerializedName("relatedSkillsId")
val relatedSkillsId: List<String> = listOf(),
@field:SerializedName("relatedSubSkillsId")
val relatedSubSkillsId: List<String> = listOf(),
) : Parcelable {
companion object {
fun mapListFromRemoteToDomainModel(
remoteList: List<TopicsItemRemoteResponseModel>): List<TopicsItemResponseModel> {
val topics = mutableListOf<TopicsItemResponseModel>()
remoteList.forEach { topicsRemoteResponseItem ->
topics.add(
mapFromRemoteToDomainModel(topicsRemoteResponseItem)
)
}
return topics
}
private fun mapFromRemoteToDomainModel(
topicsRemoteResponseItem: TopicsItemRemoteResponseModel
): TopicsItemResponseModel = with(topicsRemoteResponseItem) {
return TopicsItemResponseModel(
topicsId = topicsId,
skillNumber = skillNumber,
title = title,
skillPercent = skillPercent,
thumbnail = thumbnail,
createdAt = createdAt,
updatedAt = updatedAt,
isWeekTopic = isWeekTopic,
relatedSkillsId = relatedSkillsId,
relatedSubSkillsId = relatedSubSkillsId,
)
}
}
}
my poblem is that I dont know how to acces to assetsStreak info or testing info, I dont know how to declare them o what to do. I tied doing something like putting declaring it this way
@field:SerializedName("assetsStreak") val assetsStreak: assetsStreak,
but android studio tellsme its an error: unresolved reference: assetsStreak
im trying to learn kotlin, but there is no info about this case that i could find, please im desesperate thanks for you time