Skip to content

Instantly share code, notes, and snippets.

@MavoCz
MavoCz / Update.kt
Created November 18, 2022 08:43
Item update
@PutMapping("/{id}")
fun update(@PathVariable("id") id: Long, @RequestBody itemDto: CreateItemDto) {
itemRepository.update(id, itemDto) {
it.updatedOn = LocalDateTime.now()
}
}
fun update(id: Long, dto: Any, change: Consumer<R>) {
val record : R = dsl.newRecord(table, dto)
change.accept (record)
fun update(id: Long, updatedRecord: R) {
val count = dsl.update(table)
.set(updatedRecord)
.where(idField.eq(id))
.execute()
if (count != 1) throw NotFoundException("No record was updated")
}
@MavoCz
MavoCz / CrudRepository.kt
Created November 17, 2022 21:11
Open gotcha
abstract class CrudRepository<R : Record>(open val dsl: DSLContext,
open val table: Table<R>,
open val idField: TableField<R, Long?>) {
@MavoCz
MavoCz / gradle.kts
Created November 17, 2022 21:07
Jooq code generation gradle task
jooq {
version.set("3.16.7")
edition.set(JooqEdition.OSS)
configurations {
create("main") {
jooqConfiguration.apply {
logging = Logging.WARN
jdbc.apply {
driver = "org.postgresql.Driver"
@MavoCz
MavoCz / example.log
Created November 17, 2022 21:06
Jooq logging
: Fetched result : +----+-------+-----------+------------------+------------+------------------+--------------------------+--------------------------+--------------+--------------------+------+----------+
: : | id|home_id|category_id|created_by_user_id|name |description |created_on |updated_on |purchased_date|warranty_expire_date|state |properties|
: : +----+-------+-----------+------------------+------------+------------------+--------------------------+--------------------------+--------------+--------------------+------+----------+
: : | 3| 1| 1| 1|My third car|My third super car|2022-11-17T15:29:40.593690|2022-11-17T15:29:40.593690|2012-05-19 |{null} |STORED|{null} |
: : +----+-------+-----------+------------------+------------+------------------+--------------------------+--------------------------+----
@MavoCz
MavoCz / application.yaml
Created November 17, 2022 21:03
Jooq logging
logging:
level:
org:
jooq:
tools:
LoggerListener: debug
@MavoCz
MavoCz / postman_jwt_token_generator.js
Last active October 23, 2022 19:45
Postman JWT token generator
var removeIllegalCharacters = function (input) {
console.info(input);
return input
.replace(/=/g, '')
.replace(/\+/g, '-')
.replace(/\//g, '_');
};
var base64object = function (input) {
var inputWords = CryptoJS.enc.Utf8.parse(JSON.stringify(input));