Skip to content

Instantly share code, notes, and snippets.

View paulschuetz's full-sized avatar
🏠
Working from home

pschuetz paulschuetz

🏠
Working from home
View GitHub Profile
@paulschuetz
paulschuetz / CrudRepositoryProposal.kt
Last active March 17, 2024 17:56
Exposed 0.30.2 CrudRepository Proposal
abstract class CrudRepository <ID, DOMAIN, TABLE : Table> {
abstract val table: TABLE
abstract fun toDomain(row: ResultRow): DOMAIN
abstract fun toRow(domain: DOMAIN): TABLE.(InsertStatement<Number>) -> Unit
abstract fun match(id: ID): SqlExpressionBuilder.() -> Op<Boolean>
abstract fun extractId(domain: DOMAIN): ID
abstract fun updateRow(domain: DOMAIN): TABLE.(UpdateStatement) -> Unit
/**
* Get a particular record by its ID.