Compare commits

...

14 Commits

Author SHA1 Message Date
039aed2747 improvements in ExposedReadKeyValuesRepo 2023-09-08 02:59:53 +06:00
173991e3cb start 0.20.6 2023-09-08 02:55:25 +06:00
8b3f8cab01 Merge pull request #310 from InsanusMokrassar/0.20.5
0.20.5
2023-09-07 20:09:58 +06:00
2a20d24589 fixes in SmartRWLocker 2023-09-07 16:57:59 +06:00
53c2d552ec start 0.20.5 2023-09-07 16:57:08 +06:00
af11c1a83d Merge pull request #307 from InsanusMokrassar/0.20.4
0.20.4
2023-09-06 19:17:17 +06:00
a65cf1481c fixes in build 2023-09-06 19:15:09 +06:00
0318716236 update kslog version 2023-09-06 19:08:32 +06:00
88eb4b3342 update dependencies 2023-09-06 18:58:10 +06:00
4810d1ef6a start 0.20.4 2023-09-06 18:55:48 +06:00
f2a9514d89 Merge pull request #306 from InsanusMokrassar/renovate/jb.dokka
Update dependency org.jetbrains.dokka:dokka-gradle-plugin to v1.9.0
2023-09-02 04:15:10 +06:00
925ba6ac24 Update build.gradle 2023-09-02 04:04:04 +06:00
renovate[bot]
ef407268a2 Update dependency org.jetbrains.dokka:dokka-gradle-plugin to v1.9.0 2023-09-01 21:04:25 +00:00
cd6c4bbe38 Merge pull request #304 from InsanusMokrassar/0.20.3
0.20.3
2023-09-02 03:03:57 +06:00
44 changed files with 88 additions and 48 deletions

View File

@@ -1,5 +1,24 @@
# Changelog
## 0.20.6
* `Repos`:
* `Exposed`
* Fixes in exposed key-values repos
## 0.20.5
* `Coroutines`:
* Fixes in `SmartRWLocker`
## 0.20.4
* `Versions`:
* `Kotlin`: `1.9.0` -> `1.9.10`
* `KSLog`: `1.2.0` -> `1.2.1`
* `Compose`: `1.5.0` -> `1.5.1`
* `UUID`: `0.8.0` -> `0.8.1`
## 0.20.3
* `Versions`:

View File

@@ -1 +1 @@
<manifest package="dev.inmo.micro_utils.android.alerts.common"/>
<manifest/>

View File

@@ -1 +1 @@
<manifest package="dev.inmo.micro_utils.android.alerts.recyclerview"/>
<manifest/>

View File

@@ -1 +1 @@
<manifest package="dev.inmo.micro_utils.android.pickers"/>
<manifest/>

View File

@@ -1 +1 @@
<manifest package="dev.inmo.micro_utils.android.recyclerview"/>
<manifest/>

View File

@@ -1 +1 @@
<manifest package="dev.inmo.micro_utils.android.smalltextfield"/>
<manifest/>

View File

@@ -1 +1 @@
<manifest package="dev.inmo.micro_utils.common.compose"/>
<manifest/>

View File

@@ -1 +1 @@
<manifest package="dev.inmo.micro_utils.common"/>
<manifest/>

View File

@@ -1 +1 @@
<manifest package="dev.inmo.micro_utils.coroutines.compose"/>
<manifest/>

View File

@@ -1 +1 @@
<manifest package="dev.inmo.micro_utils.coroutines"/>
<manifest/>

View File

@@ -37,8 +37,8 @@ class SmartRWLocker(private val readPermits: Int = Int.MAX_VALUE, writeIsLocked:
* Locking [writeMutex] and wait while all [readSemaphore] permits will be freed
*/
suspend fun lockWrite() {
_readSemaphore.acquire(readPermits)
_writeMutex.lock()
_readSemaphore.acquire(readPermits)
}
/**

View File

@@ -1 +1 @@
<manifest package="dev.inmo.micro_utils.crypto"/>
<manifest/>

View File

@@ -9,6 +9,7 @@ android {
targetSdkVersion libs.versions.android.props.compileSdk.get().toInteger()
versionCode "${android_code_version}".toInteger()
versionName "$version"
namespace "${project.group}.${project.name}"
}
buildTypes {
release {

View File

@@ -106,7 +106,7 @@ tasks.dokkaHtml {
skipDeprecated.set(true)
sourceLink {
localDirectory.set(file("./"))
localDirectory.set(file("../"))
remoteUrl.set(new URL("https://github.com/InsanusMokrassar/MicroUtils/blob/master/"))
remoteLineSuffix.set("#L")
}

View File

@@ -1 +1 @@
<manifest package="dev.inmo.dokka"/>
<manifest/>

View File

@@ -1 +1 @@
<manifest package="dev.inmo.micro_utils.fsm.common"/>
<manifest/>

View File

@@ -1 +1 @@
<manifest package="dev.inmo.micro_utils.fsm.repos.common"/>
<manifest/>

View File

@@ -15,5 +15,5 @@ crypto_js_version=4.1.1
# Project data
group=dev.inmo
version=0.20.3
android_code_version=209
version=0.20.6
android_code_version=212

View File

@@ -1,17 +1,17 @@
[versions]
kt = "1.9.0"
kt = "1.9.10"
kt-serialization = "1.6.0"
kt-coroutines = "1.7.3"
kslog = "1.2.0"
kslog = "1.2.1"
jb-compose = "1.5.0"
jb-compose = "1.5.1"
jb-exposed = "0.43.0"
jb-dokka = "1.8.20"
jb-dokka = "1.9.0"
korlibs = "4.0.10"
uuid = "0.8.0"
uuid = "0.8.1"
ktor = "2.3.4"
@@ -21,7 +21,7 @@ koin = "3.4.3"
okio = "3.5.0"
ksp = "1.9.0-1.0.13"
ksp = "1.9.10-1.0.13"
kotlin-poet = "1.14.2"
versions = "0.47.0"

View File

@@ -1 +1 @@
<manifest package="dev.inmo.micro_utils.koin.generator.test"/>
<manifest/>

View File

@@ -1 +1 @@
<manifest package="dev.inmo.micro_utils.koin"/>
<manifest/>

View File

@@ -1 +1 @@
<manifest package="dev.inmo.micro_utils.ktor.client"/>
<manifest/>

View File

@@ -1 +1 @@
<manifest package="dev.inmo.micro_utils.ktor.common"/>
<manifest/>

View File

@@ -1 +1 @@
<manifest package="dev.inmo.micro_utils.language_codes"/>
<manifest/>

View File

@@ -1 +1 @@
<manifest package="dev.inmo.micro_utils.matrix"/>
<manifest/>

View File

@@ -1 +1 @@
<manifest package="dev.inmo.micro_utils.mime_types"/>
<manifest/>

View File

@@ -1 +1 @@
<manifest package="dev.inmo.micro_utils.pagination.common"/>
<manifest/>

View File

@@ -1 +1 @@
<manifest package="dev.inmo.micro_utils.pagination.ktor.common"/>
<manifest/>

View File

@@ -1 +1 @@
<manifest package="dev.inmo.micro_utils.repos.cache"/>
<manifest/>

View File

@@ -1 +1 @@
<manifest package="dev.inmo.micro_utils.repos.common"/>
<manifest/>

View File

@@ -1,12 +1,10 @@
package dev.inmo.micro_utils.repos.exposed.onetomany
import dev.inmo.micro_utils.pagination.*
import dev.inmo.micro_utils.repos.ReadKeyValueRepo
import dev.inmo.micro_utils.repos.ReadKeyValuesRepo
import dev.inmo.micro_utils.repos.exposed.*
import dev.inmo.micro_utils.repos.exposed.utils.selectPaginated
import org.jetbrains.exposed.sql.*
import org.jetbrains.exposed.sql.SqlExpressionBuilder.eq
import org.jetbrains.exposed.sql.transactions.transaction
abstract class AbstractExposedReadKeyValuesRepo<Key, Value>(
@@ -73,4 +71,26 @@ abstract class AbstractExposedReadKeyValuesRepo<Key, Value>(
override suspend fun contains(k: Key, v: Value): Boolean = transaction(database) {
select { selectById(k).and(selectByValue(v)) }.limit(1).any()
}
override suspend fun getAll(reverseLists: Boolean): Map<Key, List<Value>> = transaction(database) {
val query = if (reverseLists) {
selectAll().orderBy(keyColumn, SortOrder.DESC)
} else {
selectAll()
}
query.asSequence().map { it.asKey to it.asObject }.groupBy { it.first }.mapValues {
it.value.map { it.second }
}
}
override suspend fun getAll(k: Key, reverseLists: Boolean): List<Value> = transaction(database) {
val query = if (reverseLists) {
select { selectById(k) }.orderBy(keyColumn, SortOrder.DESC)
} else {
select { selectById(k) }
}
query.map {
it.asObject
}
}
}

View File

@@ -1 +1 @@
<manifest package="dev.inmo.micro_utils.repos.generator.test"/>
<manifest/>

View File

@@ -1 +1 @@
<manifest package="dev.inmo.micro_utils.repos.inmemory"/>
<manifest/>

View File

@@ -1 +1 @@
<manifest package="dev.inmo.micro_utils.repos.ktor.client"/>
<manifest/>

View File

@@ -1 +1 @@
<manifest package="dev.inmo.micro_utils.repos.ktor.common"/>
<manifest/>

View File

@@ -1 +1 @@
<manifest package="dev.inmo.micro_utils.safe_wrapper"/>
<manifest/>

View File

@@ -1 +1 @@
<manifest package="dev.inmo.micro_utils.selector"/>
<manifest/>

View File

@@ -1 +1 @@
<manifest package="dev.inmo.micro_utils.serialization.base64"/>
<manifest/>

View File

@@ -1 +1 @@
<manifest package="dev.inmo.micro_utils.serialization.encapsulator"/>
<manifest/>

View File

@@ -1 +1 @@
<manifest package="dev.inmo.micro_utils.serialization.mapper"/>
<manifest/>

View File

@@ -1 +1 @@
<manifest package="dev.inmo.micro_utils.serialization.typed_serializer"/>
<manifest/>

View File

@@ -1 +1 @@
<manifest package="group_name.module_name.client"/>
<manifest/>

View File

@@ -1 +1 @@
<manifest package="group_name.module_name.common"/>
<manifest/>