package nl.astraeus.vst.base.db import java.sql.ResultSet val SAMPLE_CREATE_QUERY = """ CREATE TABLE SAMPLES ( SHA1HASH TEXT, FILENAME TEXT, LENGTH NUMBER, CREATED TIMESTAMP ) """.trimIndent() object SampleEntityQueryProvider : QueryProvider() { 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 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 get() = TODO("Not yet implemented") }