add MapKeyValueRepo.kt

This commit is contained in:
2020-10-14 18:13:40 +06:00
parent af207d78a4
commit e78961b597
9 changed files with 115 additions and 4 deletions

View File

@@ -47,4 +47,12 @@ class KtorReadStandardCrudRepo<ObjectType, IdType> (
),
Boolean.serializer()
)
override suspend fun count(): Long = client.uniget(
buildStandardUrl(
baseUrl,
countRouting
),
Long.serializer()
)
}

View File

@@ -3,3 +3,4 @@ package dev.inmo.micro_utils.repos.ktor.common.crud
const val getByPaginationRouting = "getByPagination"
const val getByIdRouting = "getById"
const val containsRouting = "contains"
const val countRouting = "count"

View File

@@ -2,12 +2,10 @@ package dev.inmo.micro_utils.repos.ktor.server.crud
import dev.inmo.micro_utils.ktor.server.decodeUrlQueryValueOrSendError
import dev.inmo.micro_utils.ktor.server.unianswer
import dev.inmo.micro_utils.repos.ktor.common.crud.containsRouting
import dev.inmo.micro_utils.repos.ktor.common.crud.getByIdRouting
import dev.inmo.micro_utils.repos.ktor.common.crud.getByPaginationRouting
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.ktor.common.crud.*
import io.ktor.application.call
import io.ktor.routing.Route
import io.ktor.routing.get
@@ -54,4 +52,11 @@ fun <ObjectType, IdType> Route.configureReadStandardCrudRepoRoutes(
originalRepo.contains(id)
)
}
get(countRouting) {
call.unianswer(
Long.serializer(),
originalRepo.count()
)
}
}