package fr.postgresjson.repository import fr.postgresjson.Serializer import fr.postgresjson.connexion.Connection import fr.postgresjson.entity.EntityCollection import fr.postgresjson.entity.EntityI import kotlin.reflect.KClass interface RepositoryI> { val entityName: KClass } abstract class Repository>(override val entityName: KClass) : RepositoryI { abstract var connection: Connection abstract fun getClassName(): String fun findById(id: T): EntityI? { val sql = this.connection.getQuery(entityName.toString()) return when (val e = EntityCollection().get(id)) { null -> { // TODO create Request Serializer().deserialize>("""{"plop", "plip"}""") } else -> e } } }