package com.github.apognu.otter.models.api import kotlinx.serialization.* @Serializable data class OtterResponse( val count: Int, val next: String? = null, val results: List ) @Serializer(forClass = OtterResponse::class) class OtterResponseSerializer(private val dataSerializer: KSerializer) : KSerializer> { override val descriptor = PrimitiveDescriptor("OtterResponse", kind = PrimitiveKind.STRING) override fun serialize(encoder: Encoder, value: OtterResponse) {} override fun deserialize(decoder: Decoder): OtterResponse { return OtterResponse.serializer(dataSerializer).deserialize(decoder) } } @Serializable data class Credentials(val token: String, val non_field_errors: List? = null) @Serializable data class User(val full_username: String)