Compare commits

..

No commits in common. "30a3e9022d52e087ed814015ca588393826e9f8b" and "fcf4f437e0e9c56291f1d8cf28c2a98360325c50" have entirely different histories.

7 changed files with 56 additions and 33 deletions

3
.idea/misc.xml generated
View file

@ -8,6 +8,9 @@
<pattern value="net.thauvin.erik.bitly.BitlyShortenBuild" method="detekt" />
<pattern value="net.thauvin.erik.bitly.BitlyShortenBuild" method="detektBaseline" />
</component>
<component name="PDMPlugin">
<option name="skipTestSources" value="false" />
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" project-jdk-name="17" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build" />
</component>

View file

@ -1,3 +1,5 @@
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
id("application")
id("com.github.ben-manes.versions") version "0.51.0"

View file

@ -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"

View file

@ -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<String> = 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.

View file

@ -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<String> = 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.

View file

@ -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

View file

@ -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,