Exposed-kotlin-datetime

i see this module in the exposed source, yet i cannot find it in any maven repository. How can i use use this. The library basically lets us use the kotlin localdatetime instead of the java version.

It “just works”.

Note: this is code generated from a schema, so it uses the framework it is generated for. Nevertheless, it should answer your question.

package a

import org.jetbrains.exposed.sql.ResultRow
import org.jetbrains.exposed.sql.statements.UpdateBuilder
import zakadabar.core.persistence.exposed.entityId
import zakadabar.core.persistence.exposed.ExposedPaBase
import zakadabar.core.persistence.exposed.ExposedPaTable
import a.b
import org.jetbrains.exposed.sql.`java-time`.date
import kotlinx.datetime.toJavaLocalDate
import kotlinx.datetime.toKotlinLocalDate
import org.jetbrains.exposed.sql.`java-time`.datetime
import kotlinx.datetime.toJavaLocalDateTime
import kotlinx.datetime.toKotlinLocalDateTime
import org.jetbrains.exposed.sql.`java-time`.timestamp
import kotlinx.datetime.toJavaInstant
import kotlinx.datetime.toKotlinInstant

open class bPa(
    table : bTable = bTable()
) : ExposedPaBase<b,bTable>(
    table = table
) {
    override fun ResultRow.toBo() = b(
        id = this[table.id].entityId(),
        localdate = this[table.localdate].toKotlinLocalDate(),
        datetime = this[table.datetime].toKotlinLocalDateTime(),
        instant = this[table.instant].toKotlinInstant()
    )  

    override fun UpdateBuilder<*>.fromBo(bo: b) {
        this[table.localdate] = bo.localdate.toJavaLocalDate()
        this[table.datetime] = bo.datetime.toJavaLocalDateTime()
        this[table.instant] = bo.instant.toJavaInstant()
    }
}

open class bTable(
    tableName : String = "b"
) : ExposedPaTable<b>(
    tableName = tableName
) {

    val localdate = date("localdate")
    val datetime = date("datetime")
    val instant = timestamp("instant")

}