snippets/multiplatform-tutorial/Entity.kt (37 lines of code) (raw):
package com.jetbrains.spacetutorial.entity
import kotlinx.datetime.TimeZone
import kotlinx.datetime.toInstant
import kotlinx.datetime.toLocalDateTime
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
@Serializable
data class RocketLaunch(
@SerialName("flight_number")
val flightNumber: Int,
@SerialName("name")
val missionName: String,
@SerialName("date_utc")
val launchDateUTC: String,
@SerialName("details")
val details: String?,
@SerialName("success")
val launchSuccess: Boolean?,
@SerialName("links")
val links: Links
) {
var launchYear = Instant.parse(launchDateUTC).toLocalDateTime(TimeZone.UTC).year
}
@Serializable
data class Links(
@SerialName("patch")
val patch: Patch?,
@SerialName("article")
val article: String?
)
@Serializable
data class Patch(
@SerialName("small")
val small: String?,
@SerialName("large")
val large: String?
)