package org.helicalmoment.zola.takehome.v1.models import com.fasterxml.jackson.annotation.JsonIgnoreProperties import com.fasterxml.jackson.annotation.JsonProperty import java.io.Serializable import kotlin.Int import kotlin.Long import kotlin.String import org.threeten.bp.Instant import org.threeten.bp.LocalDate /** * This code was generated by [models.generator.kotlin.KotlinGenerator] * An invoice */ @JsonIgnoreProperties(ignoreUnknown=true) data class Invoice( @JsonProperty("id") @get:JsonProperty("id") val id: Int?, @JsonProperty("invoice_number") @get:JsonProperty("invoice_number") val invoiceNumber: String, @JsonProperty("po_number") @get:JsonProperty("po_number") val poNumber: String, @JsonProperty("due_date") @get:JsonProperty("due_date") val dueDate: LocalDate, @JsonProperty("amount_cents") @get:JsonProperty("amount_cents") val amountCents: Long, @JsonProperty("created_at") @get:JsonProperty("created_at") val createdAt: Instant? ) : Serializable { fun toJsonString(): String = org.helicalmoment.zola.takehome.v1.models.JacksonObjectMapperFactory.create().writeValueAsString(this) companion object { fun parseJson(json: String): Invoice = org.helicalmoment.zola.takehome.v1.models.JacksonObjectMapperFactory.create().readValue( json, Invoice::class.java) } }