From 3bbde61f39a505dadb07cb91c65756549f03dd7f Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Sat, 4 Jun 2022 15:15:17 +0600 Subject: [PATCH] renames in crud repos and some little refactoring --- .../micro_utils/repos/StandartCRUDRepo.kt | 32 +++++++-------- .../pagination/CRUDPaginationExtensions.kt | 5 +-- .../repos/crud/AbstractAndroidCRUDRepo.kt | 4 +- .../crud/AbstractMutableAndroidCRUDRepo.kt | 4 +- .../repos/exposed/AbstractExposedCRUDRepo.kt | 4 +- .../exposed/AbstractExposedReadCRUDRepo.kt | 4 +- .../exposed/AbstractExposedWriteCRUDRepo.kt | 4 +- .../dev/inmo/micro_utils/repos/MapCRUDRepo.kt | 8 ++-- ...rudRepoClient.kt => KtorCRUDRepoClient.kt} | 41 +++++++++---------- ...epoClient.kt => KtorReadCRUDRepoClient.kt} | 18 ++++---- .../client/crud/KtorReadStandardCrudRepo.kt | 6 +-- .../ktor/client/crud/KtorStandardCrudRepo.kt | 8 ++-- ...poClient.kt => KtorWriteCrudRepoClient.kt} | 8 ++-- .../client/crud/KtorWriteStandardCrudRepo.kt | 6 +-- .../common/src/jvmTest/kotlin/CRUDTests.kt | 8 ++-- .../ktor/server/crud/KtorCRUDRepoRoutes.kt | 30 ++++++++++++++ ...dCrudRepo.kt => KtorReadCRUDRepoRoutes.kt} | 19 ++++----- .../server/crud/KtorReadStandardCrudRepo.kt | 12 +++--- .../ktor/server/crud/KtorStandardCrudRepo.kt | 16 ++++---- ...CrudRepo.kt => KtorWriteCRUDRepoRoutes.kt} | 6 +-- .../server/crud/KtorWriteStandardCrudRepo.kt | 12 +++--- .../server/crud/NewKtorStandardCrudRepo.kt | 34 --------------- ...ValueRepo.kt => KtorKeyValueRepoRoutes.kt} | 2 +- ...eRepo.kt => KtorReadKeyValueRepoRoutes.kt} | 0 .../key_value/KtorStandartKeyValueRepo.kt | 2 +- .../KtorStandartWriteKeyValueRepo.kt | 4 +- ...Repo.kt => KtorWriteKeyValueRepoRoutes.kt} | 2 +- 27 files changed, 146 insertions(+), 153 deletions(-) rename repos/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/repos/ktor/client/crud/{KtorStandardCrudRepoClient.kt => KtorCRUDRepoClient.kt} (68%) rename repos/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/repos/ktor/client/crud/{KtorReadStandardCrudRepoClient.kt => KtorReadCRUDRepoClient.kt} (80%) rename repos/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/repos/ktor/client/crud/{KtorWriteStandardCrudRepoClient.kt => KtorWriteCrudRepoClient.kt} (91%) create mode 100644 repos/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/ktor/server/crud/KtorCRUDRepoRoutes.kt rename repos/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/ktor/server/crud/{NewKtorReadStandardCrudRepo.kt => KtorReadCRUDRepoRoutes.kt} (80%) rename repos/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/ktor/server/crud/{NewKtorWriteStandardCrudRepo.kt => KtorWriteCRUDRepoRoutes.kt} (84%) delete mode 100644 repos/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/ktor/server/crud/NewKtorStandardCrudRepo.kt rename repos/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/ktor/server/key_value/{NewKtorStandartKeyValueRepo.kt => KtorKeyValueRepoRoutes.kt} (96%) rename repos/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/ktor/server/key_value/{NewKtorStandartReadKeyValueRepo.kt => KtorReadKeyValueRepoRoutes.kt} (100%) rename repos/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/ktor/server/key_value/{NewKtorStandartWriteKeyValueRepo.kt => KtorWriteKeyValueRepoRoutes.kt} (97%) diff --git a/repos/common/src/commonMain/kotlin/dev/inmo/micro_utils/repos/StandartCRUDRepo.kt b/repos/common/src/commonMain/kotlin/dev/inmo/micro_utils/repos/StandartCRUDRepo.kt index 33911b8d8ed..265de6dab16 100644 --- a/repos/common/src/commonMain/kotlin/dev/inmo/micro_utils/repos/StandartCRUDRepo.kt +++ b/repos/common/src/commonMain/kotlin/dev/inmo/micro_utils/repos/StandartCRUDRepo.kt @@ -4,13 +4,13 @@ import dev.inmo.micro_utils.pagination.Pagination import dev.inmo.micro_utils.pagination.PaginationResult import kotlinx.coroutines.flow.Flow -interface ReadStandardCRUDRepo : Repo { +interface ReadCRUDRepo : Repo { suspend fun getByPagination(pagination: Pagination): PaginationResult suspend fun getById(id: IdType): ObjectType? suspend fun contains(id: IdType): Boolean suspend fun count(): Long } -typealias ReadCRUDRepo = ReadStandardCRUDRepo +typealias ReadStandardCRUDRepo = ReadCRUDRepo typealias UpdatedValuePair = Pair val UpdatedValuePair.id @@ -18,7 +18,7 @@ val UpdatedValuePair.id val UpdatedValuePair<*, ValueType>.value get() = second -interface WriteStandardCRUDRepo : Repo { +interface WriteCRUDRepo : Repo { val newObjectsFlow: Flow val updatedObjectsFlow: Flow val deletedObjectsIdsFlow: Flow @@ -28,25 +28,25 @@ interface WriteStandardCRUDRepo : Repo { suspend fun update(values: List>): List suspend fun deleteById(ids: List) } -typealias WriteCRUDRepo = WriteStandardCRUDRepo +typealias WriteStandardCRUDRepo = WriteCRUDRepo -suspend fun WriteStandardCRUDRepo.create( +suspend fun WriteCRUDRepo.create( vararg values: InputValueType ): List = create(values.toList()) -suspend fun WriteStandardCRUDRepo.update( +suspend fun WriteCRUDRepo.update( vararg values: UpdatedValuePair ): List = update(values.toList()) -suspend fun WriteStandardCRUDRepo.deleteById( +suspend fun WriteCRUDRepo.deleteById( vararg ids: IdType ) = deleteById(ids.toList()) -interface StandardCRUDRepo : ReadStandardCRUDRepo, - WriteStandardCRUDRepo -typealias CRUDRepo = StandardCRUDRepo +interface CRUDRepo : ReadCRUDRepo, + WriteCRUDRepo +typealias StandardCRUDRepo = CRUDRepo -class DelegateBasedStandardCRUDRepo( - readDelegate: ReadStandardCRUDRepo, - writeDelegate: WriteStandardCRUDRepo -) : StandardCRUDRepo, - ReadStandardCRUDRepo by readDelegate, - WriteStandardCRUDRepo by writeDelegate +class DelegateBasedCRUDRepo( + readDelegate: ReadCRUDRepo, + writeDelegate: WriteCRUDRepo +) : CRUDRepo, + ReadCRUDRepo by readDelegate, + WriteCRUDRepo by writeDelegate diff --git a/repos/common/src/commonMain/kotlin/dev/inmo/micro_utils/repos/pagination/CRUDPaginationExtensions.kt b/repos/common/src/commonMain/kotlin/dev/inmo/micro_utils/repos/pagination/CRUDPaginationExtensions.kt index eeda0b9a748..52bb8231a54 100644 --- a/repos/common/src/commonMain/kotlin/dev/inmo/micro_utils/repos/pagination/CRUDPaginationExtensions.kt +++ b/repos/common/src/commonMain/kotlin/dev/inmo/micro_utils/repos/pagination/CRUDPaginationExtensions.kt @@ -1,11 +1,10 @@ package dev.inmo.micro_utils.repos.pagination import dev.inmo.micro_utils.pagination.* -import dev.inmo.micro_utils.pagination.utils.doForAllWithNextPaging import dev.inmo.micro_utils.pagination.utils.getAllWithNextPaging -import dev.inmo.micro_utils.repos.ReadStandardCRUDRepo +import dev.inmo.micro_utils.repos.ReadCRUDRepo -suspend inline fun > REPO.getAll( +suspend inline fun > REPO.getAll( @Suppress("REDUNDANT_INLINE_SUSPEND_FUNCTION_TYPE") crossinline methodCaller: suspend REPO.(Pagination) -> PaginationResult ): List = getAllWithNextPaging { diff --git a/repos/common/src/main/kotlin/dev/inmo/micro_utils/repos/crud/AbstractAndroidCRUDRepo.kt b/repos/common/src/main/kotlin/dev/inmo/micro_utils/repos/crud/AbstractAndroidCRUDRepo.kt index 64440100acf..817e3aeb3fe 100644 --- a/repos/common/src/main/kotlin/dev/inmo/micro_utils/repos/crud/AbstractAndroidCRUDRepo.kt +++ b/repos/common/src/main/kotlin/dev/inmo/micro_utils/repos/crud/AbstractAndroidCRUDRepo.kt @@ -12,7 +12,7 @@ val T.asId: String abstract class AbstractAndroidCRUDRepo( protected val helper: StandardSQLHelper -) : ReadStandardCRUDRepo { +) : ReadCRUDRepo { protected abstract val tableName: String protected abstract val idColumnName: String protected abstract suspend fun Cursor.toObject(): ObjectType @@ -64,4 +64,4 @@ abstract class AbstractAndroidCRUDRepo( } } } -} \ No newline at end of file +} diff --git a/repos/common/src/main/kotlin/dev/inmo/micro_utils/repos/crud/AbstractMutableAndroidCRUDRepo.kt b/repos/common/src/main/kotlin/dev/inmo/micro_utils/repos/crud/AbstractMutableAndroidCRUDRepo.kt index 29103d3f2ab..8facd8a6e12 100644 --- a/repos/common/src/main/kotlin/dev/inmo/micro_utils/repos/crud/AbstractMutableAndroidCRUDRepo.kt +++ b/repos/common/src/main/kotlin/dev/inmo/micro_utils/repos/crud/AbstractMutableAndroidCRUDRepo.kt @@ -9,9 +9,9 @@ abstract class AbstractMutableAndroidCRUDRepo, +) : WriteCRUDRepo, AbstractAndroidCRUDRepo(helper), - StandardCRUDRepo { + CRUDRepo { protected val newObjectsChannel = MutableSharedFlow(replyInFlows, extraBufferCapacityInFlows) protected val updateObjectsChannel = MutableSharedFlow(replyInFlows, extraBufferCapacityInFlows) protected val deleteObjectsIdsChannel = MutableSharedFlow(replyInFlows, extraBufferCapacityInFlows) diff --git a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/AbstractExposedCRUDRepo.kt b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/AbstractExposedCRUDRepo.kt index 636a645fd0c..11cb0154a2b 100644 --- a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/AbstractExposedCRUDRepo.kt +++ b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/AbstractExposedCRUDRepo.kt @@ -1,6 +1,6 @@ package dev.inmo.micro_utils.repos.exposed -import dev.inmo.micro_utils.repos.StandardCRUDRepo +import dev.inmo.micro_utils.repos.CRUDRepo abstract class AbstractExposedCRUDRepo( flowsChannelsSize: Int = 0, @@ -11,4 +11,4 @@ abstract class AbstractExposedCRUDRepo( tableName ), ExposedCRUDRepo, - StandardCRUDRepo + CRUDRepo diff --git a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/AbstractExposedReadCRUDRepo.kt b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/AbstractExposedReadCRUDRepo.kt index 916e0a80512..bcac643e6dc 100644 --- a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/AbstractExposedReadCRUDRepo.kt +++ b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/AbstractExposedReadCRUDRepo.kt @@ -1,14 +1,14 @@ package dev.inmo.micro_utils.repos.exposed import dev.inmo.micro_utils.pagination.* -import dev.inmo.micro_utils.repos.ReadStandardCRUDRepo +import dev.inmo.micro_utils.repos.ReadCRUDRepo import org.jetbrains.exposed.sql.* import org.jetbrains.exposed.sql.transactions.transaction abstract class AbstractExposedReadCRUDRepo( tableName: String ) : - ReadStandardCRUDRepo, + ReadCRUDRepo, ExposedCRUDRepo, Table(tableName) { 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 c64d9c47f91..1e2816e4a02 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 @@ -1,7 +1,7 @@ package dev.inmo.micro_utils.repos.exposed import dev.inmo.micro_utils.repos.UpdatedValuePair -import dev.inmo.micro_utils.repos.WriteStandardCRUDRepo +import dev.inmo.micro_utils.repos.WriteCRUDRepo import kotlinx.coroutines.flow.* import org.jetbrains.exposed.sql.* import org.jetbrains.exposed.sql.statements.InsertStatement @@ -15,7 +15,7 @@ abstract class AbstractExposedWriteCRUDRepo( ) : AbstractExposedReadCRUDRepo(tableName), ExposedCRUDRepo, - WriteStandardCRUDRepo + WriteCRUDRepo { protected val _newObjectsFlow = MutableSharedFlow(replyCacheInFlows, flowsChannelsSize) protected val _updatedObjectsFlow = MutableSharedFlow(replyCacheInFlows, flowsChannelsSize) diff --git a/repos/inmemory/src/commonMain/kotlin/dev/inmo/micro_utils/repos/MapCRUDRepo.kt b/repos/inmemory/src/commonMain/kotlin/dev/inmo/micro_utils/repos/MapCRUDRepo.kt index e040c478112..875510b5ee2 100644 --- a/repos/inmemory/src/commonMain/kotlin/dev/inmo/micro_utils/repos/MapCRUDRepo.kt +++ b/repos/inmemory/src/commonMain/kotlin/dev/inmo/micro_utils/repos/MapCRUDRepo.kt @@ -5,7 +5,7 @@ import kotlinx.coroutines.flow.* class ReadMapCRUDRepo( private val map: Map = emptyMap() -) : ReadStandardCRUDRepo { +) : ReadCRUDRepo { override suspend fun getByPagination(pagination: Pagination): PaginationResult { return map.keys.drop(pagination.firstIndex).take(pagination.size).mapNotNull { map[it] @@ -24,7 +24,7 @@ class ReadMapCRUDRepo( abstract class WriteMapCRUDRepo( protected val map: MutableMap = mutableMapOf() -) : WriteStandardCRUDRepo { +) : WriteCRUDRepo { protected val _newObjectsFlow: MutableSharedFlow = MutableSharedFlow() override val newObjectsFlow: Flow = _newObjectsFlow.asSharedFlow() protected val _updatedObjectsFlow: MutableSharedFlow = MutableSharedFlow() @@ -68,8 +68,8 @@ abstract class WriteMapCRUDRepo( abstract class MapCRUDRepo( map: MutableMap -) : StandardCRUDRepo, - ReadStandardCRUDRepo by ReadMapCRUDRepo(map), +) : CRUDRepo, + ReadCRUDRepo by ReadMapCRUDRepo(map), WriteMapCRUDRepo(map) fun MapCRUDRepo( diff --git a/repos/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/repos/ktor/client/crud/KtorStandardCrudRepoClient.kt b/repos/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/repos/ktor/client/crud/KtorCRUDRepoClient.kt similarity index 68% rename from repos/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/repos/ktor/client/crud/KtorStandardCrudRepoClient.kt rename to repos/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/repos/ktor/client/crud/KtorCRUDRepoClient.kt index 87d79182c6d..7bb55318f6d 100644 --- a/repos/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/repos/ktor/client/crud/KtorStandardCrudRepoClient.kt +++ b/repos/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/repos/ktor/client/crud/KtorCRUDRepoClient.kt @@ -3,16 +3,15 @@ package dev.inmo.micro_utils.repos.ktor.client.crud import dev.inmo.micro_utils.ktor.common.* import dev.inmo.micro_utils.repos.* import io.ktor.client.HttpClient -import io.ktor.client.utils.EmptyContent.contentType import io.ktor.http.ContentType import io.ktor.util.reflect.TypeInfo import io.ktor.util.reflect.typeInfo import kotlinx.serialization.* -class KtorStandardCrudRepoClient ( - readDelegate: ReadStandardCRUDRepo, - writeDelegate: WriteStandardCRUDRepo -) : StandardCRUDRepo by DelegateBasedStandardCRUDRepo( +class KtorCRUDRepoClient ( + readDelegate: ReadCRUDRepo, + writeDelegate: WriteCRUDRepo +) : CRUDRepo by DelegateBasedCRUDRepo( readDelegate, writeDelegate ) { @@ -23,15 +22,15 @@ class KtorStandardCrudRepoClient ( objectTypeInfo: TypeInfo, contentType: ContentType, noinline idSerializer: suspend (IdType) -> String - ) = KtorStandardCrudRepoClient( - KtorReadStandardCrudRepoClient( + ) = KtorCRUDRepoClient( + KtorReadCRUDRepoClient( baseUrl, httpClient, objectTypeInfo, contentType, idSerializer ), - KtorWriteStandardCrudRepoClient( + KtorWriteCrudRepoClient( baseUrl, httpClient, contentType @@ -45,7 +44,7 @@ class KtorStandardCrudRepoClient ( objectTypeInfo: TypeInfo, contentType: ContentType, noinline idSerializer: suspend (IdType) -> String - ) = KtorStandardCrudRepoClient( + ) = KtorCRUDRepoClient( buildStandardUrl(baseUrl, subpart), httpClient, objectTypeInfo, @@ -56,12 +55,12 @@ class KtorStandardCrudRepoClient ( } -inline fun KtorStandardCrudRepoClient( +inline fun KtorCRUDRepoClient( baseUrl: String, httpClient: HttpClient, contentType: ContentType, noinline idSerializer: suspend (IdType) -> String -) = KtorStandardCrudRepoClient( +) = KtorCRUDRepoClient( baseUrl, httpClient, typeInfo(), @@ -69,54 +68,54 @@ inline fun KtorStandard idSerializer ) -inline fun KtorStandardCrudRepoClient( +inline fun KtorCRUDRepoClient( baseUrl: String, httpClient: HttpClient, idsSerializer: KSerializer, serialFormat: StringFormat, contentType: ContentType, -) = KtorStandardCrudRepoClient(baseUrl, httpClient, contentType) { +) = KtorCRUDRepoClient(baseUrl, httpClient, contentType) { serialFormat.encodeToString(idsSerializer, it) } -inline fun KtorStandardCrudRepoClient( +inline fun KtorCRUDRepoClient( baseUrl: String, httpClient: HttpClient, idsSerializer: KSerializer, serialFormat: BinaryFormat, contentType: ContentType, -) = KtorStandardCrudRepoClient(baseUrl, httpClient, contentType) { +) = KtorCRUDRepoClient(baseUrl, httpClient, contentType) { serialFormat.encodeHex(idsSerializer, it) } -inline fun KtorStandardCrudRepoClient( +inline fun KtorCRUDRepoClient( baseUrl: String, subpart: String, httpClient: HttpClient, contentType: ContentType, noinline idSerializer: suspend (IdType) -> String -) = KtorStandardCrudRepoClient( +) = KtorCRUDRepoClient( buildStandardUrl(baseUrl, subpart), httpClient, contentType, idSerializer ) -inline fun KtorStandardCrudRepoClient( +inline fun KtorCRUDRepoClient( baseUrl: String, subpart: String, httpClient: HttpClient, idsSerializer: KSerializer, serialFormat: StringFormat, contentType: ContentType, -) = KtorStandardCrudRepoClient(buildStandardUrl(baseUrl, subpart), httpClient, idsSerializer, serialFormat, contentType) +) = KtorCRUDRepoClient(buildStandardUrl(baseUrl, subpart), httpClient, idsSerializer, serialFormat, contentType) -inline fun KtorStandardCrudRepoClient( +inline fun KtorCRUDRepoClient( baseUrl: String, subpart: String, httpClient: HttpClient, idsSerializer: KSerializer, serialFormat: BinaryFormat, contentType: ContentType, -) = KtorStandardCrudRepoClient(buildStandardUrl(baseUrl, subpart), httpClient, idsSerializer, serialFormat, contentType) +) = KtorCRUDRepoClient(buildStandardUrl(baseUrl, subpart), httpClient, idsSerializer, serialFormat, contentType) diff --git a/repos/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/repos/ktor/client/crud/KtorReadStandardCrudRepoClient.kt b/repos/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/repos/ktor/client/crud/KtorReadCRUDRepoClient.kt similarity index 80% rename from repos/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/repos/ktor/client/crud/KtorReadStandardCrudRepoClient.kt rename to repos/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/repos/ktor/client/crud/KtorReadCRUDRepoClient.kt index 088cea5e31c..5c49eafa7b0 100644 --- a/repos/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/repos/ktor/client/crud/KtorReadStandardCrudRepoClient.kt +++ b/repos/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/repos/ktor/client/crud/KtorReadCRUDRepoClient.kt @@ -2,7 +2,7 @@ package dev.inmo.micro_utils.repos.ktor.client.crud import dev.inmo.micro_utils.ktor.common.* import dev.inmo.micro_utils.pagination.* -import dev.inmo.micro_utils.repos.ReadStandardCRUDRepo +import dev.inmo.micro_utils.repos.ReadCRUDRepo import dev.inmo.micro_utils.repos.ktor.common.countRouting import dev.inmo.micro_utils.repos.ktor.common.crud.* import dev.inmo.micro_utils.repos.ktor.common.idParameterName @@ -14,13 +14,13 @@ import io.ktor.util.reflect.TypeInfo import io.ktor.util.reflect.typeInfo import kotlinx.serialization.* -class KtorReadStandardCrudRepoClient ( +class KtorReadCRUDRepoClient ( private val baseUrl: String, private val httpClient: HttpClient, private val objectType: TypeInfo, private val contentType: ContentType, private val idSerializer: suspend (IdType) -> String -) : ReadStandardCRUDRepo { +) : ReadCRUDRepo { override suspend fun getByPagination(pagination: Pagination): PaginationResult = httpClient.get( buildStandardUrl(baseUrl, getByPaginationRouting, pagination.asUrlQueryParts) ) { @@ -61,12 +61,12 @@ class KtorReadStandardCrudRepoClient ( }.body() } -inline fun KtorReadStandardCrudRepoClient( +inline fun KtorReadCRUDRepoClient( baseUrl: String, httpClient: HttpClient, contentType: ContentType, noinline idSerializer: suspend (IdType) -> String -) = KtorReadStandardCrudRepoClient( +) = KtorReadCRUDRepoClient( baseUrl, httpClient, typeInfo(), @@ -74,22 +74,22 @@ inline fun KtorReadStandardCrudRepoClient( idSerializer ) -inline fun KtorReadStandardCrudRepoClient( +inline fun KtorReadCRUDRepoClient( baseUrl: String, httpClient: HttpClient, idsSerializer: KSerializer, serialFormat: StringFormat, contentType: ContentType, -) = KtorReadStandardCrudRepoClient(baseUrl, httpClient, contentType) { +) = KtorReadCRUDRepoClient(baseUrl, httpClient, contentType) { serialFormat.encodeToString(idsSerializer, it) } -inline fun KtorReadStandardCrudRepoClient( +inline fun KtorReadCRUDRepoClient( baseUrl: String, httpClient: HttpClient, idsSerializer: KSerializer, serialFormat: BinaryFormat, contentType: ContentType, -) = KtorReadStandardCrudRepoClient(baseUrl, httpClient, contentType) { +) = KtorReadCRUDRepoClient(baseUrl, httpClient, contentType) { serialFormat.encodeHex(idsSerializer, it) } diff --git a/repos/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/repos/ktor/client/crud/KtorReadStandardCrudRepo.kt b/repos/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/repos/ktor/client/crud/KtorReadStandardCrudRepo.kt index dfb7ff57df9..877e16c1547 100644 --- a/repos/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/repos/ktor/client/crud/KtorReadStandardCrudRepo.kt +++ b/repos/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/repos/ktor/client/crud/KtorReadStandardCrudRepo.kt @@ -3,7 +3,7 @@ package dev.inmo.micro_utils.repos.ktor.client.crud import dev.inmo.micro_utils.ktor.client.* import dev.inmo.micro_utils.ktor.common.* import dev.inmo.micro_utils.pagination.* -import dev.inmo.micro_utils.repos.ReadStandardCRUDRepo +import dev.inmo.micro_utils.repos.ReadCRUDRepo import dev.inmo.micro_utils.repos.ktor.common.countRouting import dev.inmo.micro_utils.repos.ktor.common.crud.* import dev.inmo.micro_utils.repos.ktor.common.idParameterName @@ -11,14 +11,14 @@ import io.ktor.client.HttpClient import kotlinx.serialization.KSerializer import kotlinx.serialization.builtins.serializer -@Deprecated("Use KtorReadStandardCrudRepoClient instead") +@Deprecated("Use KtorReadCRUDRepoClient instead") class KtorReadStandardCrudRepo ( private val baseUrl: String, private val unifiedRequester: UnifiedRequester, private val objectsSerializer: KSerializer, private val objectsSerializerNullable: KSerializer, private val idsSerializer: KSerializer -) : ReadStandardCRUDRepo { +) : ReadCRUDRepo { private val paginationResultSerializer = PaginationResult.serializer(objectsSerializer) constructor( diff --git a/repos/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/repos/ktor/client/crud/KtorStandardCrudRepo.kt b/repos/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/repos/ktor/client/crud/KtorStandardCrudRepo.kt index 1f0b31fafd4..2b3f7528df9 100644 --- a/repos/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/repos/ktor/client/crud/KtorStandardCrudRepo.kt +++ b/repos/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/repos/ktor/client/crud/KtorStandardCrudRepo.kt @@ -7,7 +7,7 @@ import dev.inmo.micro_utils.repos.* import io.ktor.client.HttpClient import kotlinx.serialization.KSerializer -@Deprecated("Use KtorStandardCrudRepoClient instead") +@Deprecated("Use KtorCRUDRepoClient instead") class KtorStandardCrudRepo ( baseUrl: String, baseSubpart: String, @@ -16,15 +16,15 @@ class KtorStandardCrudRepo ( objectsNullableSerializer: KSerializer, inputsSerializer: KSerializer, idsSerializer: KSerializer -) : StandardCRUDRepo, - ReadStandardCRUDRepo by KtorReadStandardCrudRepo( +) : CRUDRepo, + ReadCRUDRepo by KtorReadStandardCrudRepo( "$baseUrl/$baseSubpart", unifiedRequester, objectsSerializer, objectsNullableSerializer, idsSerializer ), - WriteStandardCRUDRepo by KtorWriteStandardCrudRepo( + WriteCRUDRepo by KtorWriteStandardCrudRepo( "$baseUrl/$baseSubpart", unifiedRequester, objectsSerializer, diff --git a/repos/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/repos/ktor/client/crud/KtorWriteStandardCrudRepoClient.kt b/repos/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/repos/ktor/client/crud/KtorWriteCrudRepoClient.kt similarity index 91% rename from repos/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/repos/ktor/client/crud/KtorWriteStandardCrudRepoClient.kt rename to repos/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/repos/ktor/client/crud/KtorWriteCrudRepoClient.kt index 6caf6969b83..c28e553f629 100644 --- a/repos/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/repos/ktor/client/crud/KtorWriteStandardCrudRepoClient.kt +++ b/repos/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/repos/ktor/client/crud/KtorWriteCrudRepoClient.kt @@ -3,7 +3,7 @@ package dev.inmo.micro_utils.repos.ktor.client.crud import dev.inmo.micro_utils.ktor.client.* import dev.inmo.micro_utils.ktor.common.* import dev.inmo.micro_utils.repos.UpdatedValuePair -import dev.inmo.micro_utils.repos.WriteStandardCRUDRepo +import dev.inmo.micro_utils.repos.WriteCRUDRepo import dev.inmo.micro_utils.repos.ktor.common.crud.* import io.ktor.client.HttpClient import io.ktor.client.call.body @@ -13,7 +13,7 @@ import io.ktor.http.ContentType import io.ktor.http.contentType import kotlinx.coroutines.flow.Flow -class KtorWriteStandardCrudRepoClient ( +class KtorWriteCrudRepoClient ( private val baseUrl: String, private val httpClient: HttpClient, override val newObjectsFlow: Flow, @@ -24,7 +24,7 @@ class KtorWriteStandardCrudRepoClient ( private val deleteByIdSetup: suspend HttpRequestBuilder.(List) -> Unit, private val createBodyGetter: suspend HttpResponse.() -> List, private val updateBodyGetter: suspend HttpResponse.() -> List -) : WriteStandardCRUDRepo { +) : WriteCRUDRepo { override suspend fun create(values: List): List = httpClient.post( buildStandardUrl(baseUrl, createRouting) ) { @@ -54,7 +54,7 @@ class KtorWriteStandardCrudRepoClient ( baseUrl: String, httpClient: HttpClient, contentType: ContentType - ) = KtorWriteStandardCrudRepoClient( + ) = KtorWriteCrudRepoClient( baseUrl, httpClient, httpClient.createStandardWebsocketFlow( diff --git a/repos/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/repos/ktor/client/crud/KtorWriteStandardCrudRepo.kt b/repos/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/repos/ktor/client/crud/KtorWriteStandardCrudRepo.kt index 2013041d432..1b417090bb5 100644 --- a/repos/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/repos/ktor/client/crud/KtorWriteStandardCrudRepo.kt +++ b/repos/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/repos/ktor/client/crud/KtorWriteStandardCrudRepo.kt @@ -3,14 +3,14 @@ package dev.inmo.micro_utils.repos.ktor.client.crud import dev.inmo.micro_utils.ktor.client.* import dev.inmo.micro_utils.ktor.common.* import dev.inmo.micro_utils.repos.UpdatedValuePair -import dev.inmo.micro_utils.repos.WriteStandardCRUDRepo +import dev.inmo.micro_utils.repos.WriteCRUDRepo import dev.inmo.micro_utils.repos.ktor.common.crud.* import io.ktor.client.HttpClient import kotlinx.coroutines.flow.Flow import kotlinx.serialization.KSerializer import kotlinx.serialization.builtins.* -@Deprecated("Use KtorWriteStandardCrudRepoClient instead") +@Deprecated("Use KtorWriteCRUDRepoClient instead") class KtorWriteStandardCrudRepo ( private val baseUrl: String, private val unifiedRequester: UnifiedRequester, @@ -18,7 +18,7 @@ class KtorWriteStandardCrudRepo ( private val objectsNullableSerializer: KSerializer, private val inputsSerializer: KSerializer, private val idsSerializer: KSerializer -) : WriteStandardCRUDRepo { +) : WriteCRUDRepo { private val listObjectsSerializer = ListSerializer(objectsSerializer) private val listInputSerializer = ListSerializer(inputsSerializer) private val listIdsSerializer = ListSerializer(idsSerializer) diff --git a/repos/ktor/common/src/jvmTest/kotlin/CRUDTests.kt b/repos/ktor/common/src/jvmTest/kotlin/CRUDTests.kt index 4ac4993dffc..fdf2995b165 100644 --- a/repos/ktor/common/src/jvmTest/kotlin/CRUDTests.kt +++ b/repos/ktor/common/src/jvmTest/kotlin/CRUDTests.kt @@ -1,6 +1,6 @@ import dev.inmo.micro_utils.repos.* -import dev.inmo.micro_utils.repos.ktor.client.crud.KtorStandardCrudRepoClient -import dev.inmo.micro_utils.repos.ktor.server.crud.configureStandardCrudRepoRoutes +import dev.inmo.micro_utils.repos.ktor.client.crud.KtorCRUDRepoClient +import dev.inmo.micro_utils.repos.ktor.server.crud.configureCRUDRepoRoutes import io.ktor.client.HttpClient import io.ktor.client.plugins.logging.Logging import io.ktor.http.ContentType @@ -43,7 +43,7 @@ class CRUDTests { contentConverter = KotlinxWebsocketSerializationConverter(Json) } routing { - configureStandardCrudRepoRoutes( + configureCRUDRepoRoutes( repo ) { it.toInt() @@ -59,7 +59,7 @@ class CRUDTests { contentConverter = KotlinxWebsocketSerializationConverter(Json) } } - val crudClient = KtorStandardCrudRepoClient( + val crudClient = KtorCRUDRepoClient( "http://127.0.0.1:23456", client, ContentType.Application.Json diff --git a/repos/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/ktor/server/crud/KtorCRUDRepoRoutes.kt b/repos/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/ktor/server/crud/KtorCRUDRepoRoutes.kt new file mode 100644 index 00000000000..f7d950229bd --- /dev/null +++ b/repos/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/ktor/server/crud/KtorCRUDRepoRoutes.kt @@ -0,0 +1,30 @@ +package dev.inmo.micro_utils.repos.ktor.server.crud + +import dev.inmo.micro_utils.ktor.common.* +import dev.inmo.micro_utils.repos.CRUDRepo +import io.ktor.server.routing.Route +import kotlinx.serialization.* + +inline fun Route.configureCRUDRepoRoutes( + originalRepo: CRUDRepo, + noinline idDeserializer: suspend (String) -> IdType +) { + configureReadCRUDRepoRoutes(originalRepo, idDeserializer) + configureWriteCRUDRepoRoutes(originalRepo) +} + +inline fun Route.configureCRUDRepoRoutes( + originalRepo: CRUDRepo, + idsSerializer: KSerializer, + serialFormat: StringFormat +) = configureCRUDRepoRoutes(originalRepo) { + serialFormat.decodeFromString(idsSerializer, it) +} + +inline fun Route.configureCRUDRepoRoutes( + originalRepo: CRUDRepo, + idsSerializer: KSerializer, + serialFormat: BinaryFormat +) = configureCRUDRepoRoutes(originalRepo) { + serialFormat.decodeHex(idsSerializer, it) +} diff --git a/repos/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/ktor/server/crud/NewKtorReadStandardCrudRepo.kt b/repos/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/ktor/server/crud/KtorReadCRUDRepoRoutes.kt similarity index 80% rename from repos/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/ktor/server/crud/NewKtorReadStandardCrudRepo.kt rename to repos/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/ktor/server/crud/KtorReadCRUDRepoRoutes.kt index 53354208e16..fd5acf5cf4b 100644 --- a/repos/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/ktor/server/crud/NewKtorReadStandardCrudRepo.kt +++ b/repos/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/ktor/server/crud/KtorReadCRUDRepoRoutes.kt @@ -3,11 +3,10 @@ package dev.inmo.micro_utils.repos.ktor.server.crud import dev.inmo.micro_utils.ktor.common.decodeHex import dev.inmo.micro_utils.ktor.server.* import dev.inmo.micro_utils.pagination.extractPagination -import dev.inmo.micro_utils.repos.ReadStandardCRUDRepo +import dev.inmo.micro_utils.repos.ReadCRUDRepo import dev.inmo.micro_utils.repos.ktor.common.countRouting import dev.inmo.micro_utils.repos.ktor.common.crud.* import dev.inmo.micro_utils.repos.ktor.common.idParameterName -import io.ktor.http.ContentType import io.ktor.http.HttpStatusCode import io.ktor.server.application.call import io.ktor.server.response.respond @@ -15,8 +14,8 @@ import io.ktor.server.routing.Route import io.ktor.server.routing.get import kotlinx.serialization.* -inline fun Route.configureReadStandardCrudRepoRoutes( - originalRepo: ReadStandardCRUDRepo, +inline fun Route.configureReadCRUDRepoRoutes( + originalRepo: ReadCRUDRepo, noinline idDeserializer: suspend (String) -> IdType ) { get(getByPaginationRouting) { @@ -56,18 +55,18 @@ inline fun Route.configureReadStandardCrudR } } -inline fun Route.configureReadStandardCrudRepoRoutes( - originalRepo: ReadStandardCRUDRepo, +inline fun Route.configureReadCRUDRepoRoutes( + originalRepo: ReadCRUDRepo, idsSerializer: KSerializer, serialFormat: StringFormat -) = configureReadStandardCrudRepoRoutes(originalRepo) { +) = configureReadCRUDRepoRoutes(originalRepo) { serialFormat.decodeFromString(idsSerializer, it) } -inline fun Route.configureReadStandardCrudRepoRoutes( - originalRepo: ReadStandardCRUDRepo, +inline fun Route.configureReadCRUDRepoRoutes( + originalRepo: ReadCRUDRepo, idsSerializer: KSerializer, serialFormat: BinaryFormat -) = configureReadStandardCrudRepoRoutes(originalRepo) { +) = configureReadCRUDRepoRoutes(originalRepo) { serialFormat.decodeHex(idsSerializer, it) } diff --git a/repos/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/ktor/server/crud/KtorReadStandardCrudRepo.kt b/repos/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/ktor/server/crud/KtorReadStandardCrudRepo.kt index e5bdbaa5b84..cc0483a8ca1 100644 --- a/repos/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/ktor/server/crud/KtorReadStandardCrudRepo.kt +++ b/repos/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/ktor/server/crud/KtorReadStandardCrudRepo.kt @@ -5,7 +5,7 @@ import dev.inmo.micro_utils.ktor.common.standardKtorSerialFormat import dev.inmo.micro_utils.ktor.server.* import dev.inmo.micro_utils.pagination.PaginationResult import dev.inmo.micro_utils.pagination.extractPagination -import dev.inmo.micro_utils.repos.ReadStandardCRUDRepo +import dev.inmo.micro_utils.repos.ReadCRUDRepo import dev.inmo.micro_utils.repos.ktor.common.countRouting import dev.inmo.micro_utils.repos.ktor.common.crud.* import io.ktor.http.ContentType @@ -15,8 +15,8 @@ import io.ktor.server.routing.get import kotlinx.serialization.KSerializer import kotlinx.serialization.builtins.serializer -fun Route.configureReadStandardCrudRepoRoutes( - originalRepo: ReadStandardCRUDRepo, +fun Route.configureReadCRUDRepoRoutes( + originalRepo: ReadCRUDRepo, objectsSerializer: KSerializer, objectsNullableSerializer: KSerializer, idsSerializer: KSerializer, @@ -73,11 +73,11 @@ fun Route.configureReadStandardCrudRepoRoutes( } } -inline fun Route.configureReadStandardCrudRepoRoutes( - originalRepo: ReadStandardCRUDRepo, +inline fun Route.configureReadCRUDRepoRoutes( + originalRepo: ReadCRUDRepo, objectsSerializer: KSerializer, objectsNullableSerializer: KSerializer, idsSerializer: KSerializer, serialFormat: StandardKtorSerialFormat = standardKtorSerialFormat, serialFormatContentType: ContentType = standardKtorSerialFormatContentType -) = configureReadStandardCrudRepoRoutes(originalRepo, objectsSerializer, objectsNullableSerializer, idsSerializer, UnifiedRouter(serialFormat, serialFormatContentType)) +) = configureReadCRUDRepoRoutes(originalRepo, objectsSerializer, objectsNullableSerializer, idsSerializer, UnifiedRouter(serialFormat, serialFormatContentType)) diff --git a/repos/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/ktor/server/crud/KtorStandardCrudRepo.kt b/repos/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/ktor/server/crud/KtorStandardCrudRepo.kt index d3fd8832d05..112659afa68 100644 --- a/repos/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/ktor/server/crud/KtorStandardCrudRepo.kt +++ b/repos/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/ktor/server/crud/KtorStandardCrudRepo.kt @@ -4,15 +4,15 @@ import dev.inmo.micro_utils.ktor.common.StandardKtorSerialFormat import dev.inmo.micro_utils.ktor.common.standardKtorSerialFormat import dev.inmo.micro_utils.ktor.server.UnifiedRouter import dev.inmo.micro_utils.ktor.server.standardKtorSerialFormatContentType -import dev.inmo.micro_utils.repos.StandardCRUDRepo +import dev.inmo.micro_utils.repos.CRUDRepo import io.ktor.http.ContentType import io.ktor.server.routing.Route import io.ktor.server.routing.route import kotlinx.serialization.KSerializer -fun Route.configureStandardCrudRepoRoutes( +fun Route.configureCRUDRepoRoutes( baseSubpart: String, - originalRepo: StandardCRUDRepo, + originalRepo: CRUDRepo, objectsSerializer: KSerializer, objectsNullableSerializer: KSerializer, inputsSerializer: KSerializer, @@ -20,20 +20,20 @@ fun Route.configureStandardCrudRepoRoutes( unifiedRouter: UnifiedRouter ) { route(baseSubpart) { - configureReadStandardCrudRepoRoutes(originalRepo, objectsSerializer, objectsNullableSerializer, idsSerializer, unifiedRouter) - configureWriteStandardCrudRepoRoutes(originalRepo, objectsSerializer, objectsNullableSerializer, inputsSerializer, idsSerializer, unifiedRouter) + configureReadCRUDRepoRoutes(originalRepo, objectsSerializer, objectsNullableSerializer, idsSerializer, unifiedRouter) + configureWriteCRUDRepoRoutes(originalRepo, objectsSerializer, objectsNullableSerializer, inputsSerializer, idsSerializer, unifiedRouter) } } -fun Route.configureStandardCrudRepoRoutes( +fun Route.configureCRUDRepoRoutes( baseSubpart: String, - originalRepo: StandardCRUDRepo, + originalRepo: CRUDRepo, objectsSerializer: KSerializer, objectsNullableSerializer: KSerializer, inputsSerializer: KSerializer, idsSerializer: KSerializer, serialFormat: StandardKtorSerialFormat = standardKtorSerialFormat, serialFormatContentType: ContentType = standardKtorSerialFormatContentType -) = configureStandardCrudRepoRoutes( +) = configureCRUDRepoRoutes( baseSubpart, originalRepo, objectsSerializer, objectsNullableSerializer, inputsSerializer, idsSerializer, UnifiedRouter(serialFormat, serialFormatContentType) ) diff --git a/repos/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/ktor/server/crud/NewKtorWriteStandardCrudRepo.kt b/repos/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/ktor/server/crud/KtorWriteCRUDRepoRoutes.kt similarity index 84% rename from repos/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/ktor/server/crud/NewKtorWriteStandardCrudRepo.kt rename to repos/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/ktor/server/crud/KtorWriteCRUDRepoRoutes.kt index 3dbe3c78188..7a05ea287ca 100644 --- a/repos/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/ktor/server/crud/NewKtorWriteStandardCrudRepo.kt +++ b/repos/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/ktor/server/crud/KtorWriteCRUDRepoRoutes.kt @@ -1,7 +1,7 @@ package dev.inmo.micro_utils.repos.ktor.server.crud import dev.inmo.micro_utils.ktor.server.* -import dev.inmo.micro_utils.repos.WriteStandardCRUDRepo +import dev.inmo.micro_utils.repos.WriteCRUDRepo import dev.inmo.micro_utils.repos.ktor.common.crud.* import io.ktor.server.application.call import io.ktor.server.request.receive @@ -9,8 +9,8 @@ import io.ktor.server.response.respond import io.ktor.server.routing.Route import io.ktor.server.routing.post -inline fun Route.configureWriteStandardCrudRepoRoutes( - originalRepo: WriteStandardCRUDRepo +inline fun Route.configureWriteCRUDRepoRoutes( + originalRepo: WriteCRUDRepo ) { includeWebsocketHandling( newObjectsFlowRouting, diff --git a/repos/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/ktor/server/crud/KtorWriteStandardCrudRepo.kt b/repos/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/ktor/server/crud/KtorWriteStandardCrudRepo.kt index f993ab22292..5fa586a6a4a 100644 --- a/repos/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/ktor/server/crud/KtorWriteStandardCrudRepo.kt +++ b/repos/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/ktor/server/crud/KtorWriteStandardCrudRepo.kt @@ -3,7 +3,7 @@ package dev.inmo.micro_utils.repos.ktor.server.crud import dev.inmo.micro_utils.ktor.common.StandardKtorSerialFormat import dev.inmo.micro_utils.ktor.common.standardKtorSerialFormat import dev.inmo.micro_utils.ktor.server.* -import dev.inmo.micro_utils.repos.WriteStandardCRUDRepo +import dev.inmo.micro_utils.repos.WriteCRUDRepo import dev.inmo.micro_utils.repos.ktor.common.crud.* import io.ktor.http.ContentType import io.ktor.server.routing.Route @@ -11,8 +11,8 @@ import io.ktor.server.routing.post import kotlinx.serialization.KSerializer import kotlinx.serialization.builtins.* -fun Route.configureWriteStandardCrudRepoRoutes( - originalRepo: WriteStandardCRUDRepo, +fun Route.configureWriteCRUDRepoRoutes( + originalRepo: WriteCRUDRepo, objectsSerializer: KSerializer, objectsNullableSerializer: KSerializer, inputsSerializer: KSerializer, @@ -94,14 +94,14 @@ fun Route.configureWriteStandardCrudRepoRoutes( } } -fun Route.configureWriteStandardCrudRepoRoutes( - originalRepo: WriteStandardCRUDRepo, +fun Route.configureWriteCRUDRepoRoutes( + originalRepo: WriteCRUDRepo, objectsSerializer: KSerializer, objectsNullableSerializer: KSerializer, inputsSerializer: KSerializer, idsSerializer: KSerializer, serialFormat: StandardKtorSerialFormat = standardKtorSerialFormat, serialFormatContentType: ContentType = standardKtorSerialFormatContentType -) = configureWriteStandardCrudRepoRoutes( +) = configureWriteCRUDRepoRoutes( originalRepo, objectsSerializer, objectsNullableSerializer, inputsSerializer, idsSerializer, UnifiedRouter(serialFormat, serialFormatContentType) ) diff --git a/repos/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/ktor/server/crud/NewKtorStandardCrudRepo.kt b/repos/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/ktor/server/crud/NewKtorStandardCrudRepo.kt deleted file mode 100644 index 30aa02b89da..00000000000 --- a/repos/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/ktor/server/crud/NewKtorStandardCrudRepo.kt +++ /dev/null @@ -1,34 +0,0 @@ -package dev.inmo.micro_utils.repos.ktor.server.crud - -import dev.inmo.micro_utils.ktor.common.* -import dev.inmo.micro_utils.ktor.server.UnifiedRouter -import dev.inmo.micro_utils.ktor.server.standardKtorSerialFormatContentType -import dev.inmo.micro_utils.repos.StandardCRUDRepo -import io.ktor.http.ContentType -import io.ktor.server.routing.Route -import io.ktor.server.routing.route -import kotlinx.serialization.* - -inline fun Route.configureStandardCrudRepoRoutes( - originalRepo: StandardCRUDRepo, - noinline idDeserializer: suspend (String) -> IdType -) { - configureReadStandardCrudRepoRoutes(originalRepo, idDeserializer) - configureWriteStandardCrudRepoRoutes(originalRepo) -} - -inline fun Route.configureStandardCrudRepoRoutes( - originalRepo: StandardCRUDRepo, - idsSerializer: KSerializer, - serialFormat: StringFormat -) = configureStandardCrudRepoRoutes(originalRepo) { - serialFormat.decodeFromString(idsSerializer, it) -} - -inline fun Route.configureStandardCrudRepoRoutes( - originalRepo: StandardCRUDRepo, - idsSerializer: KSerializer, - serialFormat: BinaryFormat -) = configureStandardCrudRepoRoutes(originalRepo) { - serialFormat.decodeHex(idsSerializer, it) -} diff --git a/repos/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/ktor/server/key_value/NewKtorStandartKeyValueRepo.kt b/repos/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/ktor/server/key_value/KtorKeyValueRepoRoutes.kt similarity index 96% rename from repos/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/ktor/server/key_value/NewKtorStandartKeyValueRepo.kt rename to repos/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/ktor/server/key_value/KtorKeyValueRepoRoutes.kt index b62db0700ff..099a4a9b963 100644 --- a/repos/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/ktor/server/key_value/NewKtorStandartKeyValueRepo.kt +++ b/repos/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/ktor/server/key_value/KtorKeyValueRepoRoutes.kt @@ -12,7 +12,7 @@ inline fun Route.configureKeyValueRepoR noinline valueDeserializer: suspend (String) -> Value ) { configureReadKeyValueRepoRoutes(originalRepo, idDeserializer, valueDeserializer) - configureWriteValueRepoRoutes(originalRepo) + configureWriteKeyValueRepoRoutes(originalRepo) } inline fun Route.configureKeyValueRepoRoutes( diff --git a/repos/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/ktor/server/key_value/NewKtorStandartReadKeyValueRepo.kt b/repos/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/ktor/server/key_value/KtorReadKeyValueRepoRoutes.kt similarity index 100% rename from repos/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/ktor/server/key_value/NewKtorStandartReadKeyValueRepo.kt rename to repos/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/ktor/server/key_value/KtorReadKeyValueRepoRoutes.kt diff --git a/repos/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/ktor/server/key_value/KtorStandartKeyValueRepo.kt b/repos/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/ktor/server/key_value/KtorStandartKeyValueRepo.kt index daec736b46c..bf332f72e29 100644 --- a/repos/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/ktor/server/key_value/KtorStandartKeyValueRepo.kt +++ b/repos/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/ktor/server/key_value/KtorStandartKeyValueRepo.kt @@ -26,7 +26,7 @@ fun Route.configureKeyValueRepoRoutes( valueNullableSerializer, unifiedRouter ) - configureWriteValueRepoRoutes( + configureWriteKeyValueRepoRoutes( originalRepo, keySerializer, valueSerializer, diff --git a/repos/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/ktor/server/key_value/KtorStandartWriteKeyValueRepo.kt b/repos/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/ktor/server/key_value/KtorStandartWriteKeyValueRepo.kt index accc61d9f6c..0313368b2e3 100644 --- a/repos/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/ktor/server/key_value/KtorStandartWriteKeyValueRepo.kt +++ b/repos/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/ktor/server/key_value/KtorStandartWriteKeyValueRepo.kt @@ -11,7 +11,7 @@ import io.ktor.server.routing.post import kotlinx.serialization.KSerializer import kotlinx.serialization.builtins.* -fun Route.configureWriteValueRepoRoutes ( +fun Route.configureWriteKeyValueRepoRoutes ( originalRepo: WriteKeyValueRepo, keySerializer: KSerializer, valueSerializer: KSerializer, @@ -67,4 +67,4 @@ fun Route.configureWriteStandartKeyValueRepoRoutes ( valueSerializer: KSerializer, serialFormat: StandardKtorSerialFormat = standardKtorSerialFormat, serialFormatContentType: ContentType = standardKtorSerialFormatContentType -) = configureWriteValueRepoRoutes(originalRepo, keySerializer, valueSerializer, UnifiedRouter(serialFormat, serialFormatContentType)) +) = configureWriteKeyValueRepoRoutes(originalRepo, keySerializer, valueSerializer, UnifiedRouter(serialFormat, serialFormatContentType)) diff --git a/repos/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/ktor/server/key_value/NewKtorStandartWriteKeyValueRepo.kt b/repos/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/ktor/server/key_value/KtorWriteKeyValueRepoRoutes.kt similarity index 97% rename from repos/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/ktor/server/key_value/NewKtorStandartWriteKeyValueRepo.kt rename to repos/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/ktor/server/key_value/KtorWriteKeyValueRepoRoutes.kt index 8ad82d6695d..2ed9a2dcc4f 100644 --- a/repos/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/ktor/server/key_value/NewKtorStandartWriteKeyValueRepo.kt +++ b/repos/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/ktor/server/key_value/KtorWriteKeyValueRepoRoutes.kt @@ -11,7 +11,7 @@ import io.ktor.server.routing.Route import io.ktor.server.routing.post import io.ktor.util.reflect.typeInfo -inline fun Route.configureWriteValueRepoRoutes ( +inline fun Route.configureWriteKeyValueRepoRoutes ( originalRepo: WriteKeyValueRepo ) { includeWebsocketHandling(