From 0eb698d9a4c76bd29d224821bf633dc3fa47b143 Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Tue, 8 Nov 2022 07:57:31 +0600 Subject: [PATCH 1/8] start 0.14.0 --- gradle.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gradle.properties b/gradle.properties index 5c90c89fa20..772c62a4713 100644 --- a/gradle.properties +++ b/gradle.properties @@ -14,5 +14,5 @@ crypto_js_version=4.1.1 # Project data group=dev.inmo -version=0.13.2 -android_code_version=160 +version=0.14.0 +android_code_version=161 From abb43786943a4255462f176021a49e4c944fa377 Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Tue, 8 Nov 2022 07:59:50 +0600 Subject: [PATCH 2/8] Update libs.versions.toml --- gradle/libs.versions.toml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 44a40e22d03..e0c1913ce32 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,12 +1,12 @@ [versions] -kt = "1.7.10" +kt = "1.7.20" kt-serialization = "1.4.1" kt-coroutines = "1.6.4" -jb-compose = "1.2.0" -jb-exposed = "0.39.2" -jb-dokka = "1.7.10" +jb-compose = "1.2.1" +jb-exposed = "0.40.1" +jb-dokka = "1.7.20" klock = "3.3.0" uuid = "0.5.0" From 9cbca864e30f8e396315e0640481d8857f17d9e9 Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Tue, 8 Nov 2022 08:00:18 +0600 Subject: [PATCH 3/8] Update CHANGELOG.md --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 17dead08c4f..1a13797f628 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,7 @@ # Changelog +## 0.14.0 + ## 0.13.2 * `Versions`: From d56eb6c867a34aff33769ec081e663ed67edaa70 Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Tue, 8 Nov 2022 12:47:59 +0600 Subject: [PATCH 4/8] fixes --- .../repos/exposed/AbstractExposedWriteCRUDRepo.kt | 4 +--- .../inmo/micro_utils/repos/exposed/CommonExposedRepo.kt | 4 ++-- .../repos/exposed/keyvalue/AbstractExposedKeyValueRepo.kt | 8 ++++---- .../exposed/keyvalue/AbstractExposedReadKeyValueRepo.kt | 2 +- .../repos/exposed/keyvalue/ExposedKeyValueRepo.kt | 8 +++++--- .../repos/exposed/keyvalue/ExposedReadKeyValueRepo.kt | 4 ++-- .../exposed/onetomany/AbstractExposedKeyValueRepo.kt | 4 ++-- .../exposed/onetomany/AbstractExposedReadKeyValueRepo.kt | 2 +- .../repos/exposed/onetomany/ExposedKeyValuesRepo.kt | 1 + .../repos/exposed/onetomany/ExposedReadKeyValuesRepo.kt | 4 ++-- 10 files changed, 21 insertions(+), 20 deletions(-) diff --git a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/AbstractExposedWriteCRUDRepo.kt b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/AbstractExposedWriteCRUDRepo.kt index 289adb04f8b..c6587d7d01c 100644 --- a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/AbstractExposedWriteCRUDRepo.kt +++ b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/AbstractExposedWriteCRUDRepo.kt @@ -137,9 +137,7 @@ abstract class AbstractExposedWriteCRUDRepo( override suspend fun deleteById(ids: List) { onBeforeDelete(ids) transaction(db = database) { - val deleted = deleteWhere(null, null) { - selectByIds(ids) - } + val deleted = deleteWhere(null, null) { selectByIds(it, ids) } if (deleted == ids.size) { ids } else { diff --git a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/CommonExposedRepo.kt b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/CommonExposedRepo.kt index 7501646499e..fe19c54493e 100644 --- a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/CommonExposedRepo.kt +++ b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/CommonExposedRepo.kt @@ -4,8 +4,8 @@ import org.jetbrains.exposed.sql.* interface CommonExposedRepo : ExposedRepo { val ResultRow.asObject: ObjectType - val selectById: SqlExpressionBuilder.(IdType) -> Op - val selectByIds: SqlExpressionBuilder.(List) -> Op + val selectById: ISqlExpressionBuilder.(IdType) -> Op + val selectByIds: ISqlExpressionBuilder.(List) -> Op get() = { list -> if (list.isEmpty()) { Op.FALSE diff --git a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/keyvalue/AbstractExposedKeyValueRepo.kt b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/keyvalue/AbstractExposedKeyValueRepo.kt index 42a640ef648..b1e346b451d 100644 --- a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/keyvalue/AbstractExposedKeyValueRepo.kt +++ b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/keyvalue/AbstractExposedKeyValueRepo.kt @@ -59,9 +59,9 @@ abstract class AbstractExposedKeyValueRepo( override suspend fun unset(toUnset: List) { transaction(database) { - toUnset.mapNotNull { - if (deleteWhere { selectById(it) } > 0) { - it + toUnset.mapNotNull { item -> + if (deleteWhere { selectById(it, item) } > 0) { + item } else { null } @@ -75,7 +75,7 @@ abstract class AbstractExposedKeyValueRepo( transaction(database) { toUnset.flatMap { val keys = select { selectByValue(it) }.mapNotNull { it.asKey } - deleteWhere { selectByIds(keys) } + deleteWhere { selectByIds(it, keys) } keys } }.distinct().forEach { diff --git a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/keyvalue/AbstractExposedReadKeyValueRepo.kt b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/keyvalue/AbstractExposedReadKeyValueRepo.kt index 60c142f7a8f..3498bf2685b 100644 --- a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/keyvalue/AbstractExposedReadKeyValueRepo.kt +++ b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/keyvalue/AbstractExposedReadKeyValueRepo.kt @@ -16,7 +16,7 @@ abstract class AbstractExposedReadKeyValueRepo( Table(tableName ?: "") { abstract val keyColumn: Column<*> abstract val ResultRow.asKey: Key - abstract val selectByValue: SqlExpressionBuilder.(Value) -> Op + abstract val selectByValue: ISqlExpressionBuilder.(Value) -> Op override suspend fun get(k: Key): Value? = transaction(database) { select { selectById(k) }.limit(1).firstOrNull() ?.asObject diff --git a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/keyvalue/ExposedKeyValueRepo.kt b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/keyvalue/ExposedKeyValueRepo.kt index 8d3588d842f..80c57f7cd4b 100644 --- a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/keyvalue/ExposedKeyValueRepo.kt +++ b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/keyvalue/ExposedKeyValueRepo.kt @@ -4,6 +4,8 @@ import dev.inmo.micro_utils.repos.KeyValueRepo import dev.inmo.micro_utils.repos.exposed.ColumnAllocator import kotlinx.coroutines.flow.* import org.jetbrains.exposed.sql.* +import org.jetbrains.exposed.sql.SqlExpressionBuilder.eq +import org.jetbrains.exposed.sql.SqlExpressionBuilder.inList import org.jetbrains.exposed.sql.transactions.transaction open class ExposedKeyValueRepo( @@ -47,9 +49,9 @@ open class ExposedKeyValueRepo( override suspend fun unset(toUnset: List) { transaction(database) { - toUnset.mapNotNull { - if (deleteWhere { keyColumn.eq(it) } > 0) { - it + toUnset.mapNotNull { item -> + if (deleteWhere { keyColumn.eq(item) } > 0) { + item } else { null } diff --git a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/keyvalue/ExposedReadKeyValueRepo.kt b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/keyvalue/ExposedReadKeyValueRepo.kt index 0e01f00b759..2c3b33a53ac 100644 --- a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/keyvalue/ExposedReadKeyValueRepo.kt +++ b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/keyvalue/ExposedReadKeyValueRepo.kt @@ -20,10 +20,10 @@ open class ExposedReadKeyValueRepo( val valueColumn: Column = valueColumnAllocator() override val ResultRow.asKey: Key get() = get(keyColumn) - override val selectByValue: SqlExpressionBuilder.(Value) -> Op = { valueColumn.eq(it) } + override val selectByValue: ISqlExpressionBuilder.(Value) -> Op = { valueColumn.eq(it) } override val ResultRow.asObject: Value get() = get(valueColumn) - override val selectById: SqlExpressionBuilder.(Key) -> Op = { keyColumn.eq(it) } + override val selectById: ISqlExpressionBuilder.(Key) -> Op = { keyColumn.eq(it) } override val primaryKey: Table.PrimaryKey get() = PrimaryKey(keyColumn, valueColumn) diff --git a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/onetomany/AbstractExposedKeyValueRepo.kt b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/onetomany/AbstractExposedKeyValueRepo.kt index c4ae2cd684a..d63f99bc704 100644 --- a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/onetomany/AbstractExposedKeyValueRepo.kt +++ b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/onetomany/AbstractExposedKeyValueRepo.kt @@ -49,7 +49,7 @@ abstract class AbstractExposedKeyValuesRepo( transaction(database) { toRemove.keys.flatMap { k -> toRemove[k] ?.mapNotNull { v -> - if (deleteWhere { selectById(k).and(selectByValue(v)) } > 0 ) { + if (deleteWhere { selectById(it, k).and(SqlExpressionBuilder.selectByValue(v)) } > 0 ) { k to v } else { null @@ -63,7 +63,7 @@ abstract class AbstractExposedKeyValuesRepo( override suspend fun clear(k: Key) { transaction(database) { - deleteWhere { selectById(k) } + deleteWhere { selectById(it, k) } }.also { _onDataCleared.emit(k) } } } diff --git a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/onetomany/AbstractExposedReadKeyValueRepo.kt b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/onetomany/AbstractExposedReadKeyValueRepo.kt index 1575c9b0d04..3b0e7313887 100644 --- a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/onetomany/AbstractExposedReadKeyValueRepo.kt +++ b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/onetomany/AbstractExposedReadKeyValueRepo.kt @@ -17,7 +17,7 @@ abstract class AbstractExposedReadKeyValuesRepo( Table(tableName ?: "") { abstract val keyColumn: Column<*> abstract val ResultRow.asKey: Key - abstract val selectByValue: SqlExpressionBuilder.(Value) -> Op + abstract val selectByValue: ISqlExpressionBuilder.(Value) -> Op override suspend fun count(k: Key): Long = transaction(database) { select { selectById(k) }.count() } diff --git a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/onetomany/ExposedKeyValuesRepo.kt b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/onetomany/ExposedKeyValuesRepo.kt index 6bb8bd67a63..9b79231c8bc 100644 --- a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/onetomany/ExposedKeyValuesRepo.kt +++ b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/onetomany/ExposedKeyValuesRepo.kt @@ -4,6 +4,7 @@ import dev.inmo.micro_utils.repos.KeyValuesRepo import dev.inmo.micro_utils.repos.exposed.ColumnAllocator import kotlinx.coroutines.flow.* import org.jetbrains.exposed.sql.* +import org.jetbrains.exposed.sql.SqlExpressionBuilder.eq import org.jetbrains.exposed.sql.transactions.transaction typealias ExposedOneToManyKeyValueRepo1 = ExposedKeyValuesRepo diff --git a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/onetomany/ExposedReadKeyValuesRepo.kt b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/onetomany/ExposedReadKeyValuesRepo.kt index cb7a6334285..2efcaf6880c 100644 --- a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/onetomany/ExposedReadKeyValuesRepo.kt +++ b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/onetomany/ExposedReadKeyValuesRepo.kt @@ -15,10 +15,10 @@ open class ExposedReadKeyValuesRepo( override val keyColumn: Column = keyColumnAllocator() override val ResultRow.asKey: Key get() = get(keyColumn) - override val selectByValue: SqlExpressionBuilder.(Value) -> Op = { valueColumn.eq(it) } + override val selectByValue: ISqlExpressionBuilder.(Value) -> Op = { valueColumn.eq(it) } override val ResultRow.asObject: Value get() = get(valueColumn) - override val selectById: SqlExpressionBuilder.(Key) -> Op = { keyColumn.eq(it) } + override val selectById: ISqlExpressionBuilder.(Key) -> Op = { keyColumn.eq(it) } val valueColumn: Column = valueColumnAllocator() init { initTable() } From 06e705a687725232ee932d09f20237cd1bd906ca Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Tue, 8 Nov 2022 13:12:39 +0600 Subject: [PATCH 5/8] update klock --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index e0c1913ce32..67a28a335bf 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -8,7 +8,7 @@ jb-compose = "1.2.1" jb-exposed = "0.40.1" jb-dokka = "1.7.20" -klock = "3.3.0" +klock = "3.3.1" uuid = "0.5.0" ktor = "2.1.3" From a3e975b2baaf65c05503ab2be2389a726a341cd6 Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Tue, 8 Nov 2022 14:13:36 +0600 Subject: [PATCH 6/8] Update CHANGELOG.md --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1a13797f628..98252828f6f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,12 @@ ## 0.14.0 +* `Versions`: + * `Kotlin`: `1.7.10` -> `1.7.20` + * `Klock`: `3.3.0` -> `3.3.1` + * `Compose`: `1.2.0` -> `1.2.1` + * `Exposed`: `0.39.2` -> `0.40.1` + ## 0.13.2 * `Versions`: From c1c33cceb11391bf4fffe3eda7b190c86afd4c6c Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Tue, 8 Nov 2022 14:17:41 +0600 Subject: [PATCH 7/8] remove deprecations --- .../repos/exposed/AbstractExposedWriteCRUDRepo.kt | 8 -------- .../exposed/keyvalue/AbstractExposedKeyValueRepo.kt | 9 --------- 2 files changed, 17 deletions(-) diff --git a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/AbstractExposedWriteCRUDRepo.kt b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/AbstractExposedWriteCRUDRepo.kt index c6587d7d01c..3639add9439 100644 --- a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/AbstractExposedWriteCRUDRepo.kt +++ b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/AbstractExposedWriteCRUDRepo.kt @@ -50,14 +50,6 @@ abstract class AbstractExposedWriteCRUDRepo( val id = createAndInsertId(value, it) update(id, value, it as UpdateBuilder) } - @Deprecated( - "Replace its \"it\" parameter type with \"UpdateBuilder\" to actualize method signature. Method with current signature will be removed soon and do not recommended to override anymore" - ) - protected open fun update(id: IdType, value: InputValueType, it: UpdateStatement) = update( - id, - value, - it as UpdateBuilder - ) protected open suspend fun onBeforeCreate(value: List) {} diff --git a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/keyvalue/AbstractExposedKeyValueRepo.kt b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/keyvalue/AbstractExposedKeyValueRepo.kt index b1e346b451d..cb24c23f14e 100644 --- a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/keyvalue/AbstractExposedKeyValueRepo.kt +++ b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/keyvalue/AbstractExposedKeyValueRepo.kt @@ -27,15 +27,6 @@ abstract class AbstractExposedKeyValueRepo( update(k, v, it as UpdateBuilder) } - @Deprecated( - "Replace its \"it\" parameter type with \"UpdateBuilder\" to actualize method signature. Method with current signature will be removed soon and do not recommended to override anymore" - ) - protected open fun update(k: Key, v: Value, it: UpdateStatement) = update( - k, - v, - it as UpdateBuilder - ) - override suspend fun set(toSet: Map) { transaction(database) { toSet.mapNotNull { (k, v) -> From f4ec1a4c60a5414ec1d8bd9002d5faeb97b3ec31 Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Tue, 8 Nov 2022 14:19:48 +0600 Subject: [PATCH 8/8] add deprecations removing note --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 98252828f6f..3d968d001c0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ ## 0.14.0 +**ALL DEPRECATIONS HAVE BEEN REMOVED** + * `Versions`: * `Kotlin`: `1.7.10` -> `1.7.20` * `Klock`: `3.3.0` -> `3.3.1`