fixes in common
This commit is contained in:
parent
bf8c04bc1f
commit
dd9a5da3ae
@ -5,7 +5,7 @@ import com.insanusmokrassar.postssystem.ktor.client.uniget
|
|||||||
import com.insanusmokrassar.postssystem.utils.common.pagination.Pagination
|
import com.insanusmokrassar.postssystem.utils.common.pagination.Pagination
|
||||||
import com.insanusmokrassar.postssystem.utils.common.pagination.PaginationResult
|
import com.insanusmokrassar.postssystem.utils.common.pagination.PaginationResult
|
||||||
import com.insanusmokrassar.postssystem.utils.repos.ReadStandardCRUDRepo
|
import com.insanusmokrassar.postssystem.utils.repos.ReadStandardCRUDRepo
|
||||||
import com.insanusmokrassar.postssystem.utils.repos.ktor.common.*
|
import com.insanusmokrassar.postssystem.utils.repos.ktor.common.crud.*
|
||||||
import io.ktor.client.HttpClient
|
import io.ktor.client.HttpClient
|
||||||
import kotlinx.serialization.KSerializer
|
import kotlinx.serialization.KSerializer
|
||||||
import kotlinx.serialization.builtins.serializer
|
import kotlinx.serialization.builtins.serializer
|
||||||
|
@ -4,7 +4,7 @@ import com.insanusmokrassar.postssystem.ktor.buildStandardUrl
|
|||||||
import com.insanusmokrassar.postssystem.ktor.client.*
|
import com.insanusmokrassar.postssystem.ktor.client.*
|
||||||
import com.insanusmokrassar.postssystem.utils.repos.UpdatedValuePair
|
import com.insanusmokrassar.postssystem.utils.repos.UpdatedValuePair
|
||||||
import com.insanusmokrassar.postssystem.utils.repos.WriteStandardCRUDRepo
|
import com.insanusmokrassar.postssystem.utils.repos.WriteStandardCRUDRepo
|
||||||
import com.insanusmokrassar.postssystem.utils.repos.ktor.common.*
|
import com.insanusmokrassar.postssystem.utils.repos.ktor.common.crud.*
|
||||||
import io.ktor.client.HttpClient
|
import io.ktor.client.HttpClient
|
||||||
import kotlinx.coroutines.flow.Flow
|
import kotlinx.coroutines.flow.Flow
|
||||||
import kotlinx.serialization.KSerializer
|
import kotlinx.serialization.KSerializer
|
||||||
|
@ -5,7 +5,7 @@ import com.insanusmokrassar.postssystem.ktor.client.uniget
|
|||||||
import com.insanusmokrassar.postssystem.utils.common.pagination.Pagination
|
import com.insanusmokrassar.postssystem.utils.common.pagination.Pagination
|
||||||
import com.insanusmokrassar.postssystem.utils.common.pagination.PaginationResult
|
import com.insanusmokrassar.postssystem.utils.common.pagination.PaginationResult
|
||||||
import com.insanusmokrassar.postssystem.utils.repos.OneToManyReadKeyValueRepo
|
import com.insanusmokrassar.postssystem.utils.repos.OneToManyReadKeyValueRepo
|
||||||
import com.insanusmokrassar.postssystem.utils.repos.ktor.common.*
|
import com.insanusmokrassar.postssystem.utils.repos.ktor.common.one_to_many.*
|
||||||
import io.ktor.client.HttpClient
|
import io.ktor.client.HttpClient
|
||||||
import kotlinx.serialization.KSerializer
|
import kotlinx.serialization.KSerializer
|
||||||
import kotlinx.serialization.builtins.serializer
|
import kotlinx.serialization.builtins.serializer
|
||||||
|
@ -4,9 +4,10 @@ import com.insanusmokrassar.postssystem.ktor.buildStandardUrl
|
|||||||
import com.insanusmokrassar.postssystem.ktor.client.BodyPair
|
import com.insanusmokrassar.postssystem.ktor.client.BodyPair
|
||||||
import com.insanusmokrassar.postssystem.ktor.client.unipost
|
import com.insanusmokrassar.postssystem.ktor.client.unipost
|
||||||
import com.insanusmokrassar.postssystem.utils.repos.OneToManyWriteKeyValueRepo
|
import com.insanusmokrassar.postssystem.utils.repos.OneToManyWriteKeyValueRepo
|
||||||
import com.insanusmokrassar.postssystem.utils.repos.ktor.common.*
|
import com.insanusmokrassar.postssystem.utils.repos.ktor.common.one_to_many.*
|
||||||
import io.ktor.client.HttpClient
|
import io.ktor.client.HttpClient
|
||||||
import kotlinx.serialization.KSerializer
|
import kotlinx.serialization.KSerializer
|
||||||
|
import kotlinx.serialization.builtins.PairSerializer
|
||||||
import kotlinx.serialization.builtins.serializer
|
import kotlinx.serialization.builtins.serializer
|
||||||
|
|
||||||
class KtorOneToManyWriteKeyValueRepo<Key, Value> (
|
class KtorOneToManyWriteKeyValueRepo<Key, Value> (
|
||||||
@ -15,12 +16,14 @@ class KtorOneToManyWriteKeyValueRepo<Key, Value> (
|
|||||||
private val keySerializer: KSerializer<Key>,
|
private val keySerializer: KSerializer<Key>,
|
||||||
private val valueSerializer: KSerializer<Value>,
|
private val valueSerializer: KSerializer<Value>,
|
||||||
) : OneToManyWriteKeyValueRepo<Key, Value> {
|
) : OneToManyWriteKeyValueRepo<Key, Value> {
|
||||||
|
private val keyValueSerializer = PairSerializer(keySerializer, valueSerializer)
|
||||||
|
|
||||||
override suspend fun add(k: Key, v: Value) = client.unipost(
|
override suspend fun add(k: Key, v: Value) = client.unipost(
|
||||||
buildStandardUrl(
|
buildStandardUrl(
|
||||||
baseUrl,
|
baseUrl,
|
||||||
addRoute,
|
addRoute,
|
||||||
),
|
),
|
||||||
BodyPair(KeyValuePostObject.serializer(keySerializer, valueSerializer), KeyValuePostObject(k, v)),
|
BodyPair(keyValueSerializer, k to v),
|
||||||
Unit.serializer(),
|
Unit.serializer(),
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -29,7 +32,7 @@ class KtorOneToManyWriteKeyValueRepo<Key, Value> (
|
|||||||
baseUrl,
|
baseUrl,
|
||||||
removeRoute,
|
removeRoute,
|
||||||
),
|
),
|
||||||
BodyPair(KeyValuePostObject.serializer(keySerializer, valueSerializer), KeyValuePostObject(k, v)),
|
BodyPair(keyValueSerializer, k to v),
|
||||||
Unit.serializer(),
|
Unit.serializer(),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -1,9 +0,0 @@
|
|||||||
package com.insanusmokrassar.postssystem.utils.repos.ktor.common
|
|
||||||
|
|
||||||
import kotlinx.serialization.Serializable
|
|
||||||
|
|
||||||
@Serializable
|
|
||||||
data class KeyValuePostObject<Key, Value>(
|
|
||||||
val key: Key,
|
|
||||||
val value: Value
|
|
||||||
)
|
|
@ -1,4 +1,4 @@
|
|||||||
package com.insanusmokrassar.postssystem.utils.repos.ktor.common
|
package com.insanusmokrassar.postssystem.utils.repos.ktor.common.crud
|
||||||
|
|
||||||
const val getByPaginationRouting = "getByPagination"
|
const val getByPaginationRouting = "getByPagination"
|
||||||
const val getByIdRouting = "getById"
|
const val getByIdRouting = "getById"
|
@ -1,4 +1,4 @@
|
|||||||
package com.insanusmokrassar.postssystem.utils.repos.ktor.common
|
package com.insanusmokrassar.postssystem.utils.repos.ktor.common.crud
|
||||||
|
|
||||||
const val newObjectsFlowRouting = "newObjectsFlow"
|
const val newObjectsFlowRouting = "newObjectsFlow"
|
||||||
const val updatedObjectsFlowRouting = "updatedObjectsFlow"
|
const val updatedObjectsFlowRouting = "updatedObjectsFlow"
|
@ -1,4 +1,4 @@
|
|||||||
package com.insanusmokrassar.postssystem.utils.repos.ktor.common
|
package com.insanusmokrassar.postssystem.utils.repos.ktor.common.one_to_many
|
||||||
|
|
||||||
const val keyParameterName = "key"
|
const val keyParameterName = "key"
|
||||||
const val valueParameterName = "value"
|
const val valueParameterName = "value"
|
@ -1,4 +1,4 @@
|
|||||||
package com.insanusmokrassar.postssystem.utils.repos.ktor.common
|
package com.insanusmokrassar.postssystem.utils.repos.ktor.common.one_to_many
|
||||||
|
|
||||||
const val getRoute = "get"
|
const val getRoute = "get"
|
||||||
const val keysRoute = "keys"
|
const val keysRoute = "keys"
|
@ -3,7 +3,7 @@ package com.insanusmokrassar.postssystem.utils.repos.ktor.server.crud
|
|||||||
import com.insanusmokrassar.postssystem.ktor.server.*
|
import com.insanusmokrassar.postssystem.ktor.server.*
|
||||||
import com.insanusmokrassar.postssystem.utils.common.pagination.PaginationResult
|
import com.insanusmokrassar.postssystem.utils.common.pagination.PaginationResult
|
||||||
import com.insanusmokrassar.postssystem.utils.repos.ReadStandardCRUDRepo
|
import com.insanusmokrassar.postssystem.utils.repos.ReadStandardCRUDRepo
|
||||||
import com.insanusmokrassar.postssystem.utils.repos.ktor.common.*
|
import com.insanusmokrassar.postssystem.utils.repos.ktor.common.crud.*
|
||||||
import io.ktor.application.call
|
import io.ktor.application.call
|
||||||
import io.ktor.routing.Route
|
import io.ktor.routing.Route
|
||||||
import io.ktor.routing.get
|
import io.ktor.routing.get
|
||||||
|
@ -2,7 +2,7 @@ package com.insanusmokrassar.postssystem.utils.repos.ktor.server.crud
|
|||||||
|
|
||||||
import com.insanusmokrassar.postssystem.ktor.server.*
|
import com.insanusmokrassar.postssystem.ktor.server.*
|
||||||
import com.insanusmokrassar.postssystem.utils.repos.WriteStandardCRUDRepo
|
import com.insanusmokrassar.postssystem.utils.repos.WriteStandardCRUDRepo
|
||||||
import com.insanusmokrassar.postssystem.utils.repos.ktor.common.*
|
import com.insanusmokrassar.postssystem.utils.repos.ktor.common.crud.*
|
||||||
import io.ktor.application.call
|
import io.ktor.application.call
|
||||||
import io.ktor.routing.Route
|
import io.ktor.routing.Route
|
||||||
import io.ktor.routing.post
|
import io.ktor.routing.post
|
||||||
|
@ -4,7 +4,7 @@ import com.insanusmokrassar.postssystem.ktor.server.*
|
|||||||
import com.insanusmokrassar.postssystem.ktor.standardKtorSerialFormat
|
import com.insanusmokrassar.postssystem.ktor.standardKtorSerialFormat
|
||||||
import com.insanusmokrassar.postssystem.utils.common.pagination.PaginationResult
|
import com.insanusmokrassar.postssystem.utils.common.pagination.PaginationResult
|
||||||
import com.insanusmokrassar.postssystem.utils.repos.OneToManyReadKeyValueRepo
|
import com.insanusmokrassar.postssystem.utils.repos.OneToManyReadKeyValueRepo
|
||||||
import com.insanusmokrassar.postssystem.utils.repos.ktor.common.*
|
import com.insanusmokrassar.postssystem.utils.repos.ktor.common.one_to_many.*
|
||||||
import io.ktor.application.call
|
import io.ktor.application.call
|
||||||
import io.ktor.routing.Route
|
import io.ktor.routing.Route
|
||||||
import io.ktor.routing.get
|
import io.ktor.routing.get
|
||||||
|
@ -3,11 +3,12 @@ package com.insanusmokrassar.postssystem.utils.repos.ktor.server.one_to_many
|
|||||||
import com.insanusmokrassar.postssystem.ktor.server.unianswer
|
import com.insanusmokrassar.postssystem.ktor.server.unianswer
|
||||||
import com.insanusmokrassar.postssystem.ktor.server.uniload
|
import com.insanusmokrassar.postssystem.ktor.server.uniload
|
||||||
import com.insanusmokrassar.postssystem.utils.repos.OneToManyWriteKeyValueRepo
|
import com.insanusmokrassar.postssystem.utils.repos.OneToManyWriteKeyValueRepo
|
||||||
import com.insanusmokrassar.postssystem.utils.repos.ktor.common.*
|
import com.insanusmokrassar.postssystem.utils.repos.ktor.common.one_to_many.*
|
||||||
import io.ktor.application.call
|
import io.ktor.application.call
|
||||||
import io.ktor.routing.Route
|
import io.ktor.routing.Route
|
||||||
import io.ktor.routing.post
|
import io.ktor.routing.post
|
||||||
import kotlinx.serialization.KSerializer
|
import kotlinx.serialization.KSerializer
|
||||||
|
import kotlinx.serialization.builtins.PairSerializer
|
||||||
import kotlinx.serialization.builtins.serializer
|
import kotlinx.serialization.builtins.serializer
|
||||||
|
|
||||||
fun <Key, Value> Route.configureOneToManyWriteKeyValueRepoRoutes(
|
fun <Key, Value> Route.configureOneToManyWriteKeyValueRepoRoutes(
|
||||||
@ -15,25 +16,27 @@ fun <Key, Value> Route.configureOneToManyWriteKeyValueRepoRoutes(
|
|||||||
keySerializer: KSerializer<Key>,
|
keySerializer: KSerializer<Key>,
|
||||||
valueSealizer: KSerializer<Value>,
|
valueSealizer: KSerializer<Value>,
|
||||||
) {
|
) {
|
||||||
|
val keyValueSerializer = PairSerializer(keySerializer, valueSealizer)
|
||||||
|
|
||||||
post(addRoute) {
|
post(addRoute) {
|
||||||
val obj = call.uniload(
|
val obj = call.uniload(
|
||||||
KeyValuePostObject.serializer(keySerializer, valueSealizer)
|
keyValueSerializer
|
||||||
)
|
)
|
||||||
|
|
||||||
call.unianswer(
|
call.unianswer(
|
||||||
Unit.serializer(),
|
Unit.serializer(),
|
||||||
originalRepo.add(obj.key, obj.value)
|
originalRepo.add(obj.first, obj.second)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
post(removeRoute) {
|
post(removeRoute) {
|
||||||
val obj = call.uniload(
|
val obj = call.uniload(
|
||||||
KeyValuePostObject.serializer(keySerializer, valueSealizer)
|
keyValueSerializer
|
||||||
)
|
)
|
||||||
|
|
||||||
call.unianswer(
|
call.unianswer(
|
||||||
Unit.serializer(),
|
Unit.serializer(),
|
||||||
originalRepo.remove(obj.key, obj.value),
|
originalRepo.remove(obj.first, obj.second),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user