Skip to content

Commit d90f822

Browse files
Jenny LeahyJenny Leahy
authored andcommitted
update samle
1 parent 8d2727a commit d90f822

10 files changed

Lines changed: 69 additions & 62 deletions

File tree

samples/client/petstore/scala-http4s/src/main/scala/org/openapitools/client/apis/BaseClient.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ abstract class BaseClient[F[*]: Concurrent](
4242
queryParameters: Seq[(String, Any)] = Nil,
4343
requestHeaders: Seq[(String, String)] = Nil,
4444
auth: Option[_Authorization] = None
45-
)(handler: Response[F] => F[U])(implicit encoder: Encoder[T]): F[U] = {
45+
)(handler: Response[F] => F[U])(using Encoder[T]): F[U] = {
4646

4747
val m = Method.fromString(method) match {
4848
case Right(m) => m

samples/client/petstore/scala-http4s/src/main/scala/org/openapitools/client/apis/JsonSupports.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ import org.openapitools.client.models.*
1919

2020
object JsonSupports {
2121

22-
implicit def circeJsonEncoder[F[*]: Concurrent, A](implicit encoder: Encoder[A]): EntityEncoder[F, A] =
22+
implicit def circeJsonEncoder[F[*]: Concurrent, A](using Encoder[A]): EntityEncoder[F, A] =
2323
http4sCirce.jsonEncoderOf[F, A]
24-
implicit def circeJsonDecoder[F[*]: Concurrent, A](implicit decoder: Decoder[A]): EntityDecoder[F, A] =
24+
implicit def circeJsonDecoder[F[*]: Concurrent, A](using Decoder[A]): EntityDecoder[F, A] =
2525
http4sCirce.jsonOf[F, A]
2626

2727
def parseJson[F[*]: Concurrent, T](

samples/client/petstore/scala-http4s/src/main/scala/org/openapitools/client/apis/PetApi.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ trait PetApiEndpoints[F[*]] {
2727
def deletePet(petId: Long, apiKey: Option[String] = None): F[Unit]
2828
def findPetsByStatus(status: Seq[FindPetsByStatusStatusParameterInner]): F[Seq[Pet]]
2929
def findPetsByTags(tags: Seq[String]): F[Seq[Pet]]
30-
def getPetById(petId: Long)(implicit auth: _Authorization.ApiKey): F[Pet]
30+
def getPetById(petId: Long, auth: _Authorization.ApiKey): F[Pet]
3131
def updatePet(pet: Pet): F[Pet]
3232
def updatePetWithForm(petId: Long, name: Option[String] = None, status: Option[String] = None): F[Unit]
3333
def uploadFile(petId: Long, additionalMetadata: Option[String] = None, file: Option[File] = None): F[ApiResponse]
@@ -126,7 +126,7 @@ class PetApiEndpointsImpl[F[*]: Concurrent](
126126
}
127127
}
128128

129-
override def getPetById(petId: Long)(implicit auth: _Authorization.ApiKey): F[Pet] = {
129+
override def getPetById(petId: Long, auth: _Authorization.ApiKey): F[Pet] = {
130130
val requestHeaders = Seq(
131131
Some("Content-Type" -> "application/json")
132132
).flatten

samples/client/petstore/scala-http4s/src/main/scala/org/openapitools/client/apis/StoreApi.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import org.openapitools.client.models.*
2020
trait StoreApiEndpoints[F[*]] {
2121

2222
def deleteOrder(orderId: String): F[Unit]
23-
def getInventory()(implicit auth: _Authorization.ApiKey): F[Map[String, Int]]
23+
def getInventory(auth: _Authorization.ApiKey): F[Map[String, Int]]
2424
def getOrderById(orderId: Long): F[Order]
2525
def placeOrder(order: Order): F[Order]
2626

@@ -55,7 +55,7 @@ class StoreApiEndpointsImpl[F[*]: Concurrent](
5555
}
5656
}
5757

58-
override def getInventory()(implicit auth: _Authorization.ApiKey): F[Map[String, Int]] = {
58+
override def getInventory(auth: _Authorization.ApiKey): F[Map[String, Int]] = {
5959
val requestHeaders = Seq(
6060
Some("Content-Type" -> "application/json")
6161
).flatten

samples/client/petstore/scala-http4s/src/main/scala/org/openapitools/client/apis/UserApi.scala

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,14 @@ import org.openapitools.client.models.*
2121

2222
trait UserApiEndpoints[F[*]] {
2323

24-
def createUser(user: User)(implicit auth: _Authorization.ApiKey): F[Unit]
25-
def createUsersWithArrayInput(user: Seq[User])(implicit auth: _Authorization.ApiKey): F[Unit]
26-
def createUsersWithListInput(user: Seq[User])(implicit auth: _Authorization.ApiKey): F[Unit]
27-
def deleteUser(username: String)(implicit auth: _Authorization.ApiKey): F[Unit]
24+
def createUser(user: User, auth: _Authorization.ApiKey): F[Unit]
25+
def createUsersWithArrayInput(user: Seq[User], auth: _Authorization.ApiKey): F[Unit]
26+
def createUsersWithListInput(user: Seq[User], auth: _Authorization.ApiKey): F[Unit]
27+
def deleteUser(username: String, auth: _Authorization.ApiKey): F[Unit]
2828
def getUserByName(username: String): F[User]
2929
def loginUser(username: String, password: String): F[String]
30-
def logoutUser()(implicit auth: _Authorization.ApiKey): F[Unit]
31-
def updateUser(username: String, user: User)(implicit auth: _Authorization.ApiKey): F[Unit]
30+
def logoutUser(auth: _Authorization.ApiKey): F[Unit]
31+
def updateUser(username: String, user: User, auth: _Authorization.ApiKey): F[Unit]
3232

3333
}
3434

@@ -42,7 +42,7 @@ class UserApiEndpointsImpl[F[*]: Concurrent](
4242
import io.circe.syntax.EncoderOps
4343
import cats.implicits.toFlatMapOps
4444

45-
override def createUser(user: User)(implicit auth: _Authorization.ApiKey): F[Unit] = {
45+
override def createUser(user: User, auth: _Authorization.ApiKey): F[Unit] = {
4646
val requestHeaders = Seq(
4747
Some("Content-Type" -> "application/json")
4848
).flatten
@@ -59,7 +59,7 @@ class UserApiEndpointsImpl[F[*]: Concurrent](
5959
}
6060
}
6161

62-
override def createUsersWithArrayInput(user: Seq[User])(implicit auth: _Authorization.ApiKey): F[Unit] = {
62+
override def createUsersWithArrayInput(user: Seq[User], auth: _Authorization.ApiKey): F[Unit] = {
6363
val requestHeaders = Seq(
6464
Some("Content-Type" -> "application/json")
6565
).flatten
@@ -76,7 +76,7 @@ class UserApiEndpointsImpl[F[*]: Concurrent](
7676
}
7777
}
7878

79-
override def createUsersWithListInput(user: Seq[User])(implicit auth: _Authorization.ApiKey): F[Unit] = {
79+
override def createUsersWithListInput(user: Seq[User], auth: _Authorization.ApiKey): F[Unit] = {
8080
val requestHeaders = Seq(
8181
Some("Content-Type" -> "application/json")
8282
).flatten
@@ -93,7 +93,7 @@ class UserApiEndpointsImpl[F[*]: Concurrent](
9393
}
9494
}
9595

96-
override def deleteUser(username: String)(implicit auth: _Authorization.ApiKey): F[Unit] = {
96+
override def deleteUser(username: String, auth: _Authorization.ApiKey): F[Unit] = {
9797
val requestHeaders = Seq(
9898
Some("Content-Type" -> "application/json")
9999
).flatten
@@ -155,7 +155,7 @@ class UserApiEndpointsImpl[F[*]: Concurrent](
155155
}
156156
}
157157

158-
override def logoutUser()(implicit auth: _Authorization.ApiKey): F[Unit] = {
158+
override def logoutUser(auth: _Authorization.ApiKey): F[Unit] = {
159159
val requestHeaders = Seq(
160160
Some("Content-Type" -> "application/json")
161161
).flatten
@@ -172,7 +172,7 @@ class UserApiEndpointsImpl[F[*]: Concurrent](
172172
}
173173
}
174174

175-
override def updateUser(username: String, user: User)(implicit auth: _Authorization.ApiKey): F[Unit] = {
175+
override def updateUser(username: String, user: User, auth: _Authorization.ApiKey): F[Unit] = {
176176
val requestHeaders = Seq(
177177
Some("Content-Type" -> "application/json")
178178
).flatten

samples/client/petstore/scala-http4s/src/main/scala/org/openapitools/client/models/FindPetsByStatusStatusParameterInner.scala

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,13 @@ enum FindPetsByStatusStatusParameterInner(val value: String) {
2424
}
2525

2626
object FindPetsByStatusStatusParameterInner {
27-
given decoderFindPetsByStatusStatusParameterInner: Decoder[FindPetsByStatusStatusParameterInner] =
28-
Decoder.decodeString.map(str => FindPetsByStatusStatusParameterInner.values.find(_.value == str)
29-
.getOrElse(throw java.lang.IllegalArgumentException(s"FindPetsByStatusStatusParameterInner enum case not found: $str"))
30-
)
3127

32-
given encoderFindPetsByStatusStatusParameterInner: Encoder[FindPetsByStatusStatusParameterInner] =
33-
Encoder.encodeString.contramap[FindPetsByStatusStatusParameterInner](_.value)
28+
def withValueOpt(value: String): Option[FindPetsByStatusStatusParameterInner] = FindPetsByStatusStatusParameterInner.values.find(_.value == value)
29+
def withValue(value: String): FindPetsByStatusStatusParameterInner =
30+
withValueOpt(value).getOrElse(throw java.lang.IllegalArgumentException(s"FindPetsByStatusStatusParameterInner enum case not found: $value"))
31+
32+
given decoderFindPetsByStatusStatusParameterInner: Decoder[FindPetsByStatusStatusParameterInner] = Decoder.decodeString.map(withValue)
33+
given encoderFindPetsByStatusStatusParameterInner: Encoder[FindPetsByStatusStatusParameterInner] = Encoder.encodeString.contramap[FindPetsByStatusStatusParameterInner](_.value)
34+
3435
}
3536

samples/client/petstore/scala-http4s/src/main/scala/org/openapitools/client/models/OrderStatus.scala

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,13 @@ enum OrderStatus(val value: String) {
2424
}
2525

2626
object OrderStatus {
27-
given decoderOrderStatus: Decoder[OrderStatus] =
28-
Decoder.decodeString.map(str => OrderStatus.values.find(_.value == str)
29-
.getOrElse(throw java.lang.IllegalArgumentException(s"OrderStatus enum case not found: $str"))
30-
)
3127

32-
given encoderOrderStatus: Encoder[OrderStatus] =
33-
Encoder.encodeString.contramap[OrderStatus](_.value)
28+
def withValueOpt(value: String): Option[OrderStatus] = OrderStatus.values.find(_.value == value)
29+
def withValue(value: String): OrderStatus =
30+
withValueOpt(value).getOrElse(throw java.lang.IllegalArgumentException(s"OrderStatus enum case not found: $value"))
31+
32+
given decoderOrderStatus: Decoder[OrderStatus] = Decoder.decodeString.map(withValue)
33+
given encoderOrderStatus: Encoder[OrderStatus] = Encoder.encodeString.contramap[OrderStatus](_.value)
34+
3435
}
3536

samples/client/petstore/scala-http4s/src/main/scala/org/openapitools/client/models/PetStatus.scala

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,13 @@ enum PetStatus(val value: String) {
2424
}
2525

2626
object PetStatus {
27-
given decoderPetStatus: Decoder[PetStatus] =
28-
Decoder.decodeString.map(str => PetStatus.values.find(_.value == str)
29-
.getOrElse(throw java.lang.IllegalArgumentException(s"PetStatus enum case not found: $str"))
30-
)
3127

32-
given encoderPetStatus: Encoder[PetStatus] =
33-
Encoder.encodeString.contramap[PetStatus](_.value)
28+
def withValueOpt(value: String): Option[PetStatus] = PetStatus.values.find(_.value == value)
29+
def withValue(value: String): PetStatus =
30+
withValueOpt(value).getOrElse(throw java.lang.IllegalArgumentException(s"PetStatus enum case not found: $value"))
31+
32+
given decoderPetStatus: Decoder[PetStatus] = Decoder.decodeString.map(withValue)
33+
given encoderPetStatus: Encoder[PetStatus] = Encoder.encodeString.contramap[PetStatus](_.value)
34+
3435
}
3536

samples/client/petstore/scala-http4s/src/main/scala/org/openapitools/client/models/_FailedRequest.scala

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,31 +10,33 @@
1010
*/
1111
package org.openapitools.client.models
1212

13-
import io.circe.*
14-
import io.circe.Decoder.*
15-
import io.circe.Encoder.*
13+
import io.circe.{Decoder, Encoder, Json}
1614
import io.circe.syntax.*
1715

18-
case class _FailedRequest(code: Int, message: String) extends Exception(s"Server return status code: $code; message: $message")
16+
case class _FailedRequest(code: Int, message: String, body: Option[Json] = None)
17+
extends Exception(s"Server returned status $code; message: $message; body: ${body.map(_.noSpaces).getOrElse("")}")
1918

2019
object _FailedRequest {
2120

2221
given encoderFailedRequest: Encoder[_FailedRequest] = Encoder.instance { t =>
2322
Json.fromFields{
2423
Seq(
25-
"code" -> t.code.asJson,
26-
"message" -> t.message.asJson
27-
)
24+
Some("code" -> t.code.asJson),
25+
Some("message" -> t.message.asJson),
26+
t.body.map(x => "body" -> x)
27+
).flatten
2828
}
2929
}
3030

3131
given decodeFailedRequest: Decoder[_FailedRequest] = Decoder.instance { c =>
3232
for {
3333
code <- c.downField("code").as[Int]
3434
message <- c.downField("message").as[String]
35+
body <- c.downField("body").as[Option[Json]]
3536
} yield _FailedRequest(
3637
code = code,
37-
message = message
38+
message = message,
39+
body = body
3840
)
3941
}
4042

samples/client/petstore/scala-http4s/src/main/scala/org/openapitools/client/models/package.scala

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -10,32 +10,34 @@
1010
*/
1111
package org.openapitools.client
1212

13-
import io.circe.{Decoder, Encoder}
13+
import io.circe.{Decoder, Encoder, Json}
14+
import java.time.{Instant, LocalDate, OffsetDateTime}
15+
import java.util.UUID
1416

1517
package object models {
1618

17-
given decodeUUID: Decoder[_root_.java.util.UUID] =
18-
Decoder.decodeString.map(str => _root_.java.util.UUID.fromString(str))
19+
given decodeUUID: Decoder[UUID] =
20+
Decoder.decodeString.map(str => UUID.fromString(str))
1921

20-
given encodeUUID: Encoder[_root_.java.util.UUID] =
21-
Encoder.encodeString.contramap[_root_.java.util.UUID](uuid => uuid.toString)
22+
given encodeUUID: Encoder[UUID] =
23+
Encoder.encodeString.contramap[UUID](uuid => uuid.toString)
2224

23-
given decodeInstant: Decoder[_root_.java.time.Instant] =
24-
Decoder.decodeString.map(str => _root_.java.time.OffsetDateTime.parse(str).toInstant)
25+
given decodeInstant: Decoder[Instant] =
26+
Decoder.decodeString.map(str => OffsetDateTime.parse(str).toInstant)
2527

26-
given encodeInstant: Encoder[_root_.java.time.Instant] =
27-
Encoder.encodeString.contramap[_root_.java.time.Instant](_.toString)
28+
given encodeInstant: Encoder[Instant] =
29+
Encoder.encodeString.contramap[Instant](_.toString)
2830

29-
given decodeLocalDate: Decoder[_root_.java.time.LocalDate] =
30-
Decoder.decodeString.map(str => _root_.java.time.LocalDate.parse(str))
31+
given decodeLocalDate: Decoder[LocalDate] =
32+
Decoder.decodeString.map(str => LocalDate.parse(str))
3133

32-
given encodeLocalDate: Encoder[_root_.java.time.LocalDate] =
33-
Encoder.encodeString.contramap[_root_.java.time.LocalDate](_.toString)
34+
given encodeLocalDate: Encoder[LocalDate] =
35+
Encoder.encodeString.contramap[LocalDate](_.toString)
3436

35-
given decodeJson: Decoder[io.circe.Json] =
36-
Decoder.decodeString.map(str => io.circe.Json.fromString(str))
37+
given decodeJson: Decoder[Json] =
38+
Decoder.decodeString.map(str => Json.fromString(str))
3739

38-
given encodeJson: Encoder[io.circe.Json] =
39-
Encoder.encodeString.contramap[io.circe.Json](_.toString)
40+
given encodeJson: Encoder[Json] =
41+
Encoder.encodeString.contramap[Json](_.toString)
4042

4143
}

0 commit comments

Comments
 (0)