add ktor standard realisation of crud repo

This commit is contained in:
2020-08-25 14:46:44 +06:00
parent fbae8cac93
commit 14d6915282
12 changed files with 343 additions and 10 deletions
core/ktor/client/src/commonMain/kotlin/com/insanusmokrassar/postssystem/core/ktor/client/post
ktor
client
src
commonMain
kotlin
com
insanusmokrassar
postssystem
common
src
commonMain
kotlin
com
insanusmokrassar
postssystem
settings.gradle
utils/repos/ktor
client
build.gradle
src
commonMain
kotlin
common
build.gradle
src
commonMain
kotlin
com
insanusmokrassar

@ -0,0 +1,74 @@
buildscript {
repositories {
mavenLocal()
jcenter()
mavenCentral()
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath "org.jetbrains.kotlin:kotlin-serialization:$kotlin_version"
classpath "com.jfrog.bintray.gradle:gradle-bintray-plugin:$gradle_bintray_plugin_version"
}
}
plugins {
id "org.jetbrains.kotlin.multiplatform" version "$kotlin_version"
id "org.jetbrains.kotlin.plugin.serialization" version "$kotlin_version"
}
project.version = "$core_version"
project.group = "com.insanusmokrassar"
repositories {
mavenLocal()
jcenter()
mavenCentral()
maven { url "https://kotlin.bintray.com/kotlinx" }
}
kotlin {
jvm()
js (BOTH) {
browser()
nodejs()
}
sourceSets {
commonMain {
dependencies {
implementation kotlin('stdlib')
api projectByName("postssystem.utils.repos.common")
api projectByName("postssystem.ktor.common")
}
}
commonTest {
dependencies {
implementation kotlin('test-common')
implementation kotlin('test-annotations-common')
}
}
jvmMain {
dependencies {
implementation kotlin('stdlib-jdk8')
}
}
jvmTest {
dependencies {
implementation kotlin('test-junit')
}
}
jsMain {
dependencies {
implementation kotlin('stdlib-js')
}
}
jsTest {
dependencies {
implementation kotlin('test-js')
implementation kotlin('test-junit')
}
}
}
}

@ -0,0 +1,6 @@
package com.insanusmokrassar.postssystem.utils.repos.ktor.common
const val getByPaginationRouting = "getByPagination"
const val getByIdRouting = "getById"
const val containsRouting = "contains"
const val getAllRouting = "getAll"

@ -0,0 +1,10 @@
package com.insanusmokrassar.postssystem.utils.repos.ktor.common
const val newObjectsFlowRouting = "newObjectsFlow"
const val updatedObjectsFlowRouting = "updatedObjectsFlow"
const val deletedObjectsIdsFlowRouting = "deletedObjectsIdsFlow"
const val createRouting = "create"
const val updateRouting = "update"
const val updateManyRouting = "updateMany"
const val deleteByIdRouting = "deleteById"

@ -0,0 +1,9 @@
package com.insanusmokrassar.postssystem.utils.repos.ktor.common
import kotlinx.serialization.Serializable
@Serializable
data class TemporalInputObjectForUpdate<IdType, InputValue>(
val id: IdType,
val input: InputValue
)