Update to version 2.2.0-alpha-2 and add database query provider
Bumped project version to `2.2.0-alpha-2` in `build.gradle.kts`. Introduced `SampleEntity`, `SamplePartEntity`, and `SampleEntityQueryProvider` for database handling. Added `SampleDao` with a sample query function. Updated SVG utilities with a `viewbox` extension and enhanced `RequestHandler` to set content type for HTML responses.
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
package nl.astraeus.vst.chip.db
|
||||
|
||||
import nl.astraeus.vst.base.db.QueryProvider
|
||||
import nl.astraeus.vst.base.db.SqlStatement
|
||||
import nl.astraeus.vst.base.db.toDateTimeInstant
|
||||
import nl.astraeus.vst.base.db.toSqlTimestamp
|
||||
import java.sql.ResultSet
|
||||
|
||||
val SAMPLE_CREATE_QUERY = """
|
||||
CREATE TABLE SAMPLES (
|
||||
SHA1HASH TEXT,
|
||||
FILENAME TEXT,
|
||||
LENGTH NUMBER,
|
||||
CREATED TIMESTAMP
|
||||
)
|
||||
""".trimIndent()
|
||||
|
||||
object SampleEntityQueryProvider : QueryProvider<SampleEntity>() {
|
||||
override val tableName: String
|
||||
get() = "SAMPLES"
|
||||
override val resultSetMapper: (ResultSet) -> SampleEntity
|
||||
get() = { rs ->
|
||||
SampleEntity(
|
||||
rs.getString(1),
|
||||
rs.getString(2),
|
||||
rs.getInt(3),
|
||||
rs.getTimestamp(4).toDateTimeInstant()
|
||||
)
|
||||
}
|
||||
override val insert: SqlStatement<SampleEntity>
|
||||
get() = SqlStatement(
|
||||
"""
|
||||
INSERT INTO $tableName (
|
||||
SHA1HASH,
|
||||
LENGTH,
|
||||
CREATED
|
||||
) VALUES (
|
||||
?,?,?,?
|
||||
)
|
||||
""".trimIndent()
|
||||
) { ps ->
|
||||
ps.setString(1, sha1Hash)
|
||||
ps.setString(2, filename)
|
||||
ps.setInt(3, length)
|
||||
ps.setTimestamp(4, updated.toSqlTimestamp())
|
||||
}
|
||||
override val update: SqlStatement<SampleEntity>
|
||||
get() = TODO("Not yet implemented")
|
||||
}
|
||||
Reference in New Issue
Block a user