From 2e1e05d527f7426f8ae1b6b1d1a9689e9fdef6ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martynas=20Mickevi=C4=8Dius?= Date: Wed, 26 Aug 2020 22:17:04 +0300 Subject: [PATCH] Use latest tapir Use latest tapir and case class for request form data as it now does not give warnings anymore after https://github.com/softwaremill/tapir/pull/728 has been merged and released. --- build.sbt | 2 +- src/main/scala/AutoGate.scala | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/build.sbt b/build.sbt index 7492ef9..836623d 100644 --- a/build.sbt +++ b/build.sbt @@ -3,7 +3,7 @@ name := "auto-gate" description := "Uses Twilio to make a call to garage opening number" scalaVersion := "2.13.3" -val Tapir = "0.16.15" +val Tapir = "0.16.16" val Circe = "0.13.0" libraryDependencies ++= Seq( diff --git a/src/main/scala/AutoGate.scala b/src/main/scala/AutoGate.scala index 29014f0..b6e6660 100644 --- a/src/main/scala/AutoGate.scala +++ b/src/main/scala/AutoGate.scala @@ -25,18 +25,22 @@ import sttp.client.httpclient.HttpClientSyncBackend import sttp.model.Uri import sttp.tapir._ import sttp.tapir.client.sttp._ +import sttp.tapir.generic.Configuration import sttp.tapir.model._ import lt.dvim.autogate.CirisDecoders._ object AutoGate { + case class Request(to: String, from: String, url: String) + implicit val requestConfiguration: Configuration = Configuration(_.capitalize) + val makeCall = endpoint.post .in(auth.basic[UsernamePassword]) .in("2010-04-01" / "Accounts") .in(path[String]("accountId")) .in("Calls.json") - .in(formBody[Map[String, String]]) + .in(formBody[Request]) .out(stringBody) case class Config( @@ -64,7 +68,7 @@ object AutoGate { def openGate()(implicit config: Config) = { val auth = UsernamePassword(config.twilioSid, Some(config.twilioToken.value)) - val form = Map("To" -> config.to, "From" -> config.from, "Url" -> config.instructions) + val form = Request(config.to, config.from, config.instructions) val response = makeCall .toSttpRequest(config.twilioUri)