From 6809a1cc4b2f3f0ec20e0752d0140abf8ecf66ea Mon Sep 17 00:00:00 2001
From: 000Sanya <000sanya.000sanya@gmail.com>
Date: Thu, 13 Aug 2020 16:47:40 +1000
Subject: [PATCH] impl common

---
 publishing/ktor/common/build.gradle           | 78 +++++++++++++++++++
 publishing/ktor/common/publish.gradle         |  0
 .../publishing/ktor/PublishingKeysRoutes.kt   |  7 ++
 .../ktor/PublishingRegistrarRoutes.kt         |  4 +
 .../ktor/PublishingTriggerRoutes.kt           |  3 +
 .../publishing/ktor/Serializers.kt            |  6 ++
 settings.gradle                               |  1 +
 7 files changed, 99 insertions(+)
 create mode 100644 publishing/ktor/common/build.gradle
 create mode 100644 publishing/ktor/common/publish.gradle
 create mode 100644 publishing/ktor/common/src/commonMain/kotlin/com/insanusmokrassar/postssystem/publishing/ktor/PublishingKeysRoutes.kt
 create mode 100644 publishing/ktor/common/src/commonMain/kotlin/com/insanusmokrassar/postssystem/publishing/ktor/PublishingRegistrarRoutes.kt
 create mode 100644 publishing/ktor/common/src/commonMain/kotlin/com/insanusmokrassar/postssystem/publishing/ktor/PublishingTriggerRoutes.kt
 create mode 100644 publishing/ktor/common/src/commonMain/kotlin/com/insanusmokrassar/postssystem/publishing/ktor/Serializers.kt

diff --git a/publishing/ktor/common/build.gradle b/publishing/ktor/common/build.gradle
new file mode 100644
index 00000000..5a8f7c1b
--- /dev/null
+++ b/publishing/ktor/common/build.gradle
@@ -0,0 +1,78 @@
+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"
+
+apply from: "publish.gradle"
+
+repositories {
+    mavenLocal()
+    jcenter()
+    mavenCentral()
+    maven { url "https://kotlin.bintray.com/kotlinx" }
+}
+
+kotlin {
+    jvm()
+    js()
+
+    sourceSets {
+        commonMain {
+            dependencies {
+                implementation kotlin('stdlib')
+
+                if ((project.hasProperty('RELEASE_MODE') && project.property('RELEASE_MODE') == "true") || System.getenv('RELEASE_MODE') == "true") {
+                    api "com.insanusmokrassar:postssystem.ktor.common:$core_version"
+                    api "com.insanusmokrassar:postssystem.core.api:$core_version"
+                } else {
+                    api projectByName("postssystem.ktor.common")
+                    api projectByName("postssystem.core.api")
+                }
+            }
+        }
+        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')
+            }
+        }
+    }
+}
diff --git a/publishing/ktor/common/publish.gradle b/publishing/ktor/common/publish.gradle
new file mode 100644
index 00000000..e69de29b
diff --git a/publishing/ktor/common/src/commonMain/kotlin/com/insanusmokrassar/postssystem/publishing/ktor/PublishingKeysRoutes.kt b/publishing/ktor/common/src/commonMain/kotlin/com/insanusmokrassar/postssystem/publishing/ktor/PublishingKeysRoutes.kt
new file mode 100644
index 00000000..0cb5cf0a
--- /dev/null
+++ b/publishing/ktor/common/src/commonMain/kotlin/com/insanusmokrassar/postssystem/publishing/ktor/PublishingKeysRoutes.kt
@@ -0,0 +1,7 @@
+package com.insanusmokrassar.postssystem.publishing.ktor
+
+const val getPostIdByTriggerControlKeyRoute = "getPostIdByTriggerControlKey"
+const val getTriggerControlKeyByPostIdRoute = "getTriggerControlKeyByPostId"
+
+const val setPostTriggerControlKeyRoute = "setPostTriggerControlKey"
+const val unsetPostTriggerControlKeyRoute = "unsetPostTriggerControlKey"
\ No newline at end of file
diff --git a/publishing/ktor/common/src/commonMain/kotlin/com/insanusmokrassar/postssystem/publishing/ktor/PublishingRegistrarRoutes.kt b/publishing/ktor/common/src/commonMain/kotlin/com/insanusmokrassar/postssystem/publishing/ktor/PublishingRegistrarRoutes.kt
new file mode 100644
index 00000000..08e0a560
--- /dev/null
+++ b/publishing/ktor/common/src/commonMain/kotlin/com/insanusmokrassar/postssystem/publishing/ktor/PublishingRegistrarRoutes.kt
@@ -0,0 +1,4 @@
+package com.insanusmokrassar.postssystem.publishing.ktor
+
+//const val getPostIdByTriggerControlKeyRoute = "getPostIdByTriggerControlKey"
+const val registerTriggerForPostRoute = "registerTriggerForPost"
diff --git a/publishing/ktor/common/src/commonMain/kotlin/com/insanusmokrassar/postssystem/publishing/ktor/PublishingTriggerRoutes.kt b/publishing/ktor/common/src/commonMain/kotlin/com/insanusmokrassar/postssystem/publishing/ktor/PublishingTriggerRoutes.kt
new file mode 100644
index 00000000..1b010fae
--- /dev/null
+++ b/publishing/ktor/common/src/commonMain/kotlin/com/insanusmokrassar/postssystem/publishing/ktor/PublishingTriggerRoutes.kt
@@ -0,0 +1,3 @@
+package com.insanusmokrassar.postssystem.publishing.ktor
+
+const val triggerPostingRoute = "triggerPosting"
\ No newline at end of file
diff --git a/publishing/ktor/common/src/commonMain/kotlin/com/insanusmokrassar/postssystem/publishing/ktor/Serializers.kt b/publishing/ktor/common/src/commonMain/kotlin/com/insanusmokrassar/postssystem/publishing/ktor/Serializers.kt
new file mode 100644
index 00000000..1c6b1f13
--- /dev/null
+++ b/publishing/ktor/common/src/commonMain/kotlin/com/insanusmokrassar/postssystem/publishing/ktor/Serializers.kt
@@ -0,0 +1,6 @@
+package com.insanusmokrassar.postssystem.publishing.ktor
+
+import com.insanusmokrassar.postssystem.ktor.setIdsSerializer
+
+val postsIdSerializer = setIdsSerializer
+val triggerControlKeysSerializer = setIdsSerializer
diff --git a/settings.gradle b/settings.gradle
index 388cb805..1535259d 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -22,6 +22,7 @@ String[] includes = [
 
     ':publishing:api',
     ':publishing:exposed',
+	':publishing:ktor:common',
 
     ':markups:commons',
     ':markups:html'