commonize url query parameters encoding/decoding
This commit is contained in:
ktor
client
src
commonMain
kotlin
com
insanusmokrassar
postssystem
ktor
common
src
commonMain
kotlin
com
insanusmokrassar
postssystem
server
src
jvmMain
kotlin
com
insanusmokrassar
postssystem
ktor
utils/repos/ktor
client
src
commonMain
kotlin
com
insanusmokrassar
postssystem
utils
repos
ktor
client
server
src
jvmMain
kotlin
com
insanusmokrassar
postssystem
utils
repos
ktor
server
@ -1,6 +1,7 @@
|
||||
package com.insanusmokrassar.postssystem.utils.repos.ktor.client.crud
|
||||
|
||||
import com.insanusmokrassar.postssystem.ktor.*
|
||||
import com.insanusmokrassar.postssystem.ktor.client.encodeUrlQueryValue
|
||||
import com.insanusmokrassar.postssystem.ktor.client.uniget
|
||||
import com.insanusmokrassar.postssystem.utils.common.pagination.Pagination
|
||||
import com.insanusmokrassar.postssystem.utils.common.pagination.PaginationResult
|
||||
@ -29,7 +30,7 @@ class KtorReadStandardCrudRepo<ObjectType, IdType> (
|
||||
baseUrl,
|
||||
getByIdRouting,
|
||||
mapOf(
|
||||
"id" to id.toHex(idsSerializer)
|
||||
"id" to idsSerializer.encodeUrlQueryValue(id)
|
||||
)
|
||||
),
|
||||
objectsSerializerNullable
|
||||
@ -40,7 +41,7 @@ class KtorReadStandardCrudRepo<ObjectType, IdType> (
|
||||
baseUrl,
|
||||
containsRouting,
|
||||
mapOf(
|
||||
"id" to id.toHex(idsSerializer)
|
||||
"id" to idsSerializer.encodeUrlQueryValue(id)
|
||||
)
|
||||
),
|
||||
Boolean.serializer()
|
||||
|
@ -28,7 +28,7 @@ fun <ObjectType, IdType> Route.configureReadStandardCrudRepoRoutes(
|
||||
}
|
||||
|
||||
get(getByIdRouting) {
|
||||
val id = call.uniloadFromQueryOrSendError(
|
||||
val id = call.decodeUrlQueryValueOrSendError(
|
||||
"id",
|
||||
idsSerializer
|
||||
) ?: return@get
|
||||
@ -40,7 +40,7 @@ fun <ObjectType, IdType> Route.configureReadStandardCrudRepoRoutes(
|
||||
}
|
||||
|
||||
get(containsRouting) {
|
||||
val id = call.uniloadFromQueryOrSendError(
|
||||
val id = call.decodeUrlQueryValueOrSendError(
|
||||
"id",
|
||||
idsSerializer
|
||||
) ?: return@get
|
||||
|
@ -22,11 +22,11 @@ fun <Key, Value> Route.configureOneToManyReadKeyValueRepoRoutes(
|
||||
|
||||
get(getRoute) {
|
||||
val pagination = call.request.queryParameters.extractPagination
|
||||
val key = call.uniloadFromQueryOrSendError(
|
||||
val key = call.decodeUrlQueryValueOrSendError(
|
||||
keyParameterName,
|
||||
keySerializer
|
||||
) ?: return@get
|
||||
val reversed = call.uniloadFromQuery(
|
||||
val reversed = call.decodeUrlQueryValue(
|
||||
reversedParameterName,
|
||||
Boolean.serializer()
|
||||
) ?: false
|
||||
@ -39,7 +39,7 @@ fun <Key, Value> Route.configureOneToManyReadKeyValueRepoRoutes(
|
||||
|
||||
get(keysRoute) {
|
||||
val pagination = call.request.queryParameters.extractPagination
|
||||
val reversed = call.uniloadFromQuery(
|
||||
val reversed = call.decodeUrlQueryValue(
|
||||
reversedParameterName,
|
||||
Boolean.serializer()
|
||||
) ?: false
|
||||
@ -51,10 +51,10 @@ fun <Key, Value> Route.configureOneToManyReadKeyValueRepoRoutes(
|
||||
}
|
||||
|
||||
get(containsByKeyRoute) {
|
||||
val key = standardKtorSerialFormat.decodeFromHexString(
|
||||
keySerializer,
|
||||
call.getQueryParameterOrSendError(keyParameterName) ?: return@get
|
||||
)
|
||||
val key = call.decodeUrlQueryValueOrSendError(
|
||||
keyParameterName,
|
||||
keySerializer
|
||||
) ?: return@get
|
||||
|
||||
call.unianswer(
|
||||
Boolean.serializer(),
|
||||
@ -63,11 +63,11 @@ fun <Key, Value> Route.configureOneToManyReadKeyValueRepoRoutes(
|
||||
}
|
||||
|
||||
get(containsByKeyValueRoute) {
|
||||
val key = call.uniloadFromQueryOrSendError(
|
||||
val key = call.decodeUrlQueryValueOrSendError(
|
||||
keyParameterName,
|
||||
keySerializer
|
||||
) ?: return@get
|
||||
val value = call.uniloadFromQueryOrSendError(
|
||||
val value = call.decodeUrlQueryValueOrSendError(
|
||||
valueParameterName,
|
||||
valueSealizer
|
||||
) ?: return@get
|
||||
@ -79,7 +79,7 @@ fun <Key, Value> Route.configureOneToManyReadKeyValueRepoRoutes(
|
||||
}
|
||||
|
||||
get(countByKeyRoute) {
|
||||
val key = call.uniloadFromQueryOrSendError(
|
||||
val key = call.decodeUrlQueryValueOrSendError(
|
||||
keyParameterName,
|
||||
keySerializer
|
||||
) ?: return@get
|
||||
|
Reference in New Issue
Block a user