removed some breaking changes

This commit is contained in:
KoenDR06 2026-02-17 15:55:01 +01:00
parent 0bfb3a28f2
commit 484a8985b6
5 changed files with 39 additions and 46 deletions

Binary file not shown.

View file

@ -30,7 +30,7 @@ fun main(args: Array<String>) {
return
}
val offers = getOffers(rooms.map { it.wocasId }).offers.filter { offer ->
val offers = getOffers(rooms.map { it.wocasId }).filter { offer ->
offer.adres[0].plaats in config.general.cities
}

View file

@ -29,6 +29,7 @@ data class Floor(
@SerialName("SubsidiabeleHuur") val subsidiabeleHuur: Double,
@SerialName("BruttoHuur") val brutoHuur: Double,
@SerialName("NettoHuur") val nettoHuur: Double,
@SerialName("IsPublished") val isPublished: Boolean,
@SerialName("PublishedOn") val publishedOn: String?,
@SerialName("ContractStartDate") val contractStartDate: String,

View file

@ -5,84 +5,75 @@ import kotlinx.serialization.Serializable
import kotlinx.serialization.json.Json
import me.koendev.utils.println
@Serializable
data class Offers(
@SerialName("value") val offers: List<Offer>,
@SerialName("@odata.count") val count: Int,
@SerialName("isComplete") val isComplete: Boolean
)
@Serializable
data class Offer(
@SerialName("adrheeftenh") val adrHeeftEnh: Double,
@SerialName("eenheidnummer") val eenheidNummer: Double,
@SerialName("object") val `object`: Double,
@SerialName("soort_product") val soortProduct: String,
@SerialName("Object") val `object`: Double,
@SerialName("EenheidNummer") val eenheidNummer: Double,
@SerialName("AdrHeeftEnh") val adrHeeftEnh: Double,
@SerialName("Soort_Product") val soortProduct: String,
@SerialName("ADRES_H") val adres: List<Adres>,
@SerialName("ASSSUBJECTPERSK_H") val assSubjectPersk: List<AssSubjectPersk>,
@SerialName("ASP_TOTAAL_C") val aspTotaal: List<AspTotaal>,
@SerialName("HUUROVEREENKOMST_H") val huurOvereenkomst: List<HuurOvereenkomst>,
@SerialName("EENHEID_HUUR") val eenheidHuur: List<EenheidHuur>,
@SerialName("ADRES_H") val adres: List<Adres>
)
@Serializable
data class AssSubjectPersk(
@SerialName("object") val `object`: Double,
@SerialName("pkheeftasp") val pkHeeftAsp: Double,
@SerialName("enhheeftkenm") val enhHeeftKenm: Double,
@SerialName("kenwaarde") val kenwaarde: String?,
@SerialName("waarde") val waarde: String?,
@SerialName("PkHeeftAsp") val pkHeeftAsp: Double,
@SerialName("EnhHeeftKenm") val enhHeeftKenm: Double,
@SerialName("KenWaarde") val kenwaarde: String?,
@SerialName("Waarde") val waarde: String?,
@SerialName("KENMERK_H") val kenmerk: List<Kenmerk>
)
@Serializable
data class Kenmerk(
@SerialName("object") val `object`: Double,
@SerialName("code") val code: String
@SerialName("Code") val code: String
)
@Serializable
data class AspTotaal(
@SerialName("eenheidnummer") val eenheidNummer: Double,
@SerialName("totopp") val totopp: Double,
@SerialName("totoppgem") val totoppgem: Double
@SerialName("EenheidNummer") val eenheidNummer: Double,
@SerialName("TotOpp") val totopp: Double,
@SerialName("TotOppGem") val totoppgem: Double
)
@Serializable
data class HuurOvereenkomst(
@SerialName("object") val `object`: Double,
@SerialName("dcnnummer") val dcnnummer: Double,
@SerialName("einddatum") val einddatum: String,
@SerialName("enhheefthuu") val enhheefthuu: Double
@SerialName("DcnNummer") val dcnnummer: Double,
@SerialName("EindDatum") val einddatum: String,
@SerialName("EnhHeeftHuu") val enhheefthuu: Double
)
@Serializable
data class EenheidHuur(
@SerialName("enh_object") val enhObject: Double,
@SerialName("eenheidnummer") val eenheidnummer: Double,
@SerialName("enh_nettohuur") val nettoHuur: Double,
@SerialName("bruto_huur") val brutoHuur: Double,
@SerialName("contract_type") val contractType: String
@SerialName("Enh_Object") val enhObject: Double,
@SerialName("EenheidNummer") val eenheidnummer: Double,
@SerialName("Enh_Nettohuur") val nettoHuur: Double,
@SerialName("Bruto_Huur") val brutoHuur: Double,
@SerialName("Contract_Type") val contractType: String
)
@Serializable
data class Adres(
@SerialName("oid") val oid: Double,
@SerialName("straatnaam") val straatnaam: String,
@SerialName("plaats") val plaats: String,
@SerialName("nummer") val nummer: String,
@SerialName("letter") val letter: String?,
@SerialName("toevoeging") val toevoeging: String?,
@SerialName("postcode") val postcode: String,
@SerialName("aanduiding") val aanduiding: String?,
@SerialName("locatie") val locatie: String?
@SerialName("Oid") val oid: Double,
@SerialName("Straatnaam") val straatnaam: String,
@SerialName("Nummer") val nummer: String,
@SerialName("Letter") val letter: String?,
@SerialName("Toevoeging") val toevoeging: String?,
@SerialName("Plaats") val plaats: String,
@SerialName("Postcode") val postcode: String,
@SerialName("Aanduiding") val aanduiding: String?,
@SerialName("Locatie") val locatie: String?
)
fun getOffers(ids: List<String>): Offers {
val offerFilter = ids.joinToString("%20or%20") { "eenheidnummer%20eq%20$it" }
fun getOffers(ids: List<String>): List<Offer> {
val offerFilter = ids.joinToString(",") { it.toString() }
val response = getEndpoint("OData-mv?EENHEID_H?\$filter=${offerFilter}&\$expand=ADRES_H!(\$select=plaats,postcode,straatnaam,nummer,toevoeging,aanduiding,locatie,letter,oid),EENHEID_HUUR!(\$select=eenheidnummer,bruto_huur,enh_nettohuur,enh_object,contract_type),HUUROVEREENKOMST_H!(\$select=dcnnummer,einddatum,enhheefthuu),ASP_TOTAAL_C!(\$select=eenheidnummer,totopp,totoppgem),ASSSUBJECTPERSK_H!(\$select=enhheeftkenm,pkheeftasp,waarde,kenwaarde;\$expand=KENMERK_H!(\$select=code))&\$select=eenheidnummer,adrheeftenh,object,soort_product")
val response = getEndpoint("offer/getOffersDetails/$offerFilter")
return Json.decodeFromString<Offers>(response)
return Json.decodeFromString<List<Offer>>(response)
}

View file

@ -22,6 +22,7 @@ data class Room(
@SerialName("FloorInformation") val floorInformation: String?,
@SerialName("SubsidiabeleHuur") val subsidiabeleHuur: Double,
@SerialName("BruttoHuur") val brutoHuur: Double,
@SerialName("NettoHuur") val nettoHuur: Double,
@SerialName("IsPublished") val isPublished: Boolean,
@SerialName("PublishedOn") val publishedOn: String,
@SerialName("ContractStartDate") val contractStartDate: String,