diff --git a/.idea/misc.xml b/.idea/misc.xml index f40d83c..8ae89ec 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -8,7 +8,10 @@ + + - + \ No newline at end of file diff --git a/examples/gradle/build.gradle.kts b/examples/gradle/build.gradle.kts index 4e2218a..6484d0a 100644 --- a/examples/gradle/build.gradle.kts +++ b/examples/gradle/build.gradle.kts @@ -1,3 +1,5 @@ +import org.jetbrains.kotlin.gradle.tasks.KotlinCompile + plugins { id("application") id("com.github.ben-manes.versions") version "0.51.0" diff --git a/examples/gradle/settings.gradle.kts b/examples/gradle/settings.gradle.kts index cd3b92f..72e9113 100644 --- a/examples/gradle/settings.gradle.kts +++ b/examples/gradle/settings.gradle.kts @@ -7,4 +7,4 @@ * in the user manual at https://docs.gradle.org/6.2/userguide/multi_project_builds.html */ -rootProject.name = "bitly-examples-gradle" +rootProject.name = "bitly-examples" diff --git a/src/main/kotlin/net/thauvin/erik/bitly/config/CreateConfig.kt b/src/main/kotlin/net/thauvin/erik/bitly/config/CreateConfig.kt index 017e04f..c90519d 100644 --- a/src/main/kotlin/net/thauvin/erik/bitly/config/CreateConfig.kt +++ b/src/main/kotlin/net/thauvin/erik/bitly/config/CreateConfig.kt @@ -40,14 +40,23 @@ import net.thauvin.erik.bitly.config.deeplinks.CreateDeeplinks * See the [Bit.ly API](https://dev.bitly.com/api-reference#createFullBitlink) for more information. */ @Suppress("LocalVariableName", "PropertyName") -class CreateConfig private constructor(builder: Builder) { - val long_url = builder.long_url - val domain = builder.domain - val group_guid = builder.group_guid - val title = builder.title - val tags = builder.tags - val deeplinks = builder.deeplinks - val toJson = builder.toJson +class CreateConfig @JvmOverloads constructor( + var long_url: String, + var domain: String = Constants.EMPTY, + var group_guid: String = Constants.EMPTY, + var title: String = Constants.EMPTY, + var tags: Array = emptyArray(), + var deeplinks: CreateDeeplinks = CreateDeeplinks(), + var toJson: Boolean = false +) { + constructor(builder: Builder) : this(builder.long_url) { + domain = builder.domain + group_guid = builder.group_guid + title = builder.title + tags = builder.tags + deeplinks = builder.deeplinks + toJson = builder.toJson + } /** * Configures the creation parameters of a Bitlink. diff --git a/src/main/kotlin/net/thauvin/erik/bitly/config/UpdateConfig.kt b/src/main/kotlin/net/thauvin/erik/bitly/config/UpdateConfig.kt index e837c49..3985d71 100644 --- a/src/main/kotlin/net/thauvin/erik/bitly/config/UpdateConfig.kt +++ b/src/main/kotlin/net/thauvin/erik/bitly/config/UpdateConfig.kt @@ -39,13 +39,21 @@ import net.thauvin.erik.bitly.config.deeplinks.UpdateDeeplinks * * See the [Bit.ly API](https://dev.bitly.com/api-reference#updateBitlink) for more information. */ -class UpdateConfig private constructor(builder: Builder) { - val bitlink = builder.bitlink - val title = builder.title - val archived = builder.archived - val tags = builder.tags - val deeplinks = builder.deeplinks - val toJson = builder.toJson +class UpdateConfig @JvmOverloads constructor( + var bitlink: String, + var title: String = Constants.EMPTY, + var archived: Boolean = false, + var tags: Array = emptyArray(), + var deeplinks: UpdateDeeplinks = UpdateDeeplinks(), + var toJson: Boolean = false +) { + constructor(builder: Builder) : this(builder.bitlink) { + title = builder.title + archived = builder.archived + tags = builder.tags + deeplinks = builder.deeplinks + toJson = builder.toJson + } /** * Configures the update parameters of a Bitlink. diff --git a/src/test/kotlin/net/thauvin/erik/bitly/BitlyTest.kt b/src/test/kotlin/net/thauvin/erik/bitly/BitlyTest.kt index 937bb69..2d8c4d2 100644 --- a/src/test/kotlin/net/thauvin/erik/bitly/BitlyTest.kt +++ b/src/test/kotlin/net/thauvin/erik/bitly/BitlyTest.kt @@ -41,9 +41,9 @@ import net.thauvin.erik.bitly.Utils.toEndPoint import net.thauvin.erik.bitly.config.CreateConfig import net.thauvin.erik.bitly.config.UpdateConfig import net.thauvin.erik.bitly.config.deeplinks.CreateDeeplinks -import net.thauvin.erik.bitly.config.deeplinks.UpdateDeeplinks import net.thauvin.erik.bitly.config.deeplinks.enums.InstallType import net.thauvin.erik.bitly.config.deeplinks.enums.Os +import net.thauvin.erik.bitly.config.deeplinks.UpdateDeeplinks import org.json.JSONObject import org.junit.jupiter.api.BeforeAll import java.io.File diff --git a/src/test/kotlin/net/thauvin/erik/bitly/config/ConfigTest.kt b/src/test/kotlin/net/thauvin/erik/bitly/config/ConfigTest.kt index 57a7ae3..dad8a8c 100644 --- a/src/test/kotlin/net/thauvin/erik/bitly/config/ConfigTest.kt +++ b/src/test/kotlin/net/thauvin/erik/bitly/config/ConfigTest.kt @@ -34,9 +34,9 @@ package net.thauvin.erik.bitly.config import assertk.assertThat import assertk.assertions.isEqualTo import net.thauvin.erik.bitly.config.deeplinks.CreateDeeplinks -import net.thauvin.erik.bitly.config.deeplinks.UpdateDeeplinks import net.thauvin.erik.bitly.config.deeplinks.enums.InstallType import net.thauvin.erik.bitly.config.deeplinks.enums.Os +import net.thauvin.erik.bitly.config.deeplinks.UpdateDeeplinks import org.json.JSONObject import kotlin.test.Test @@ -48,13 +48,14 @@ class ConfigTest { install_type(InstallType.AUTO_INSTALL) } - val config = CreateConfig.Builder("long_url") - .domain("domain") - .groupGuid("group_guid") - .title("title") - .tags(arrayOf("tag", "tag2")) - .deeplinks(deeplinks) - .build() + val config = CreateConfig( + "long_url", + "domain", + "group_guid", + "title", + arrayOf("tag", "tag2"), + deeplinks, + ) val map = mapOf( "long_url" to config.long_url, @@ -80,13 +81,13 @@ class ConfigTest { app_guid("app_guid") } - val config = UpdateConfig.Builder("blink") - .title("title") - .archived(true) - .tags(arrayOf("tag", "tag2")) - .deeplinks(deeplinks) - .build() - + val config = UpdateConfig( + "blink", + "title", + true, + arrayOf("tag", "tag2"), + deeplinks + ) val map = mapOf( "bitlink" to config.bitlink, "title" to config.title,