All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.provenance.p8e.shared.sql.Time.kt Maven / Gradle / Ivy

package io.provenance.p8e.shared.sql

import org.jetbrains.exposed.sql.Column
import org.jetbrains.exposed.sql.ColumnType
import org.jetbrains.exposed.sql.Table
import java.time.OffsetDateTime
import java.time.ZoneId

fun  T.offsetDatetime(name: String): Column = registerColumn(name, OffsetDateTimeColumnType())

class OffsetDateTimeColumnType : ColumnType() {
    override fun sqlType(): String = "TIMESTAMPTZ"

    override fun valueFromDB(value: Any): Any = when (value) {
        is java.sql.Date -> OffsetDateTime.ofInstant(value.toInstant(), ZoneId.systemDefault())
        is java.sql.Timestamp -> OffsetDateTime.ofInstant(value.toInstant(), ZoneId.systemDefault())
        else -> value
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy