Skip to content

Commit 1cb59a8

Browse files
committed
Updated samples
1 parent b06cf65 commit 1cb59a8

File tree

18 files changed

+87
-33
lines changed

18 files changed

+87
-33
lines changed

modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ScalaCaskServerCodegen.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -741,8 +741,8 @@ private static boolean importResponseImplicits(final CodegenOperation op) {
741741
boolean doImport = false;
742742
for (var response : op.responses) {
743743
if (response.isModel && !importBlacklist.contains(response.dataType)) {
744-
System.out.println("is model: " + response.dataType);
745744
doImport = true;
745+
break;
746746
}
747747
}
748748
return doImport;

samples/server/petstore/scala-cask/jvm/src/main/scala/sample/cask/api/PetRoutes.scala

+18-2
Original file line numberDiff line numberDiff line change
@@ -63,11 +63,14 @@ class PetRoutes(service : PetService[Try]) extends cask.Routes {
6363
val result = for {
6464
petJson <- Parsed.fromTry(request.bodyAsJson)
6565
petData <- Parsed.eval(PetData.fromJson(petJson)) /* not array or map */
66-
pet <- Parsed.fromTry(petData.validated(failFast))
66+
pet <- Parsed.fromTry(PetData.validated(petData, failFast))
6767
resultTry <- Parsed.eval(service.addPet(pet))
6868
result <- Parsed.fromTry(resultTry)
6969
} yield result
7070

71+
// this is required for union (oneOf) types
72+
import Pet.{given, *}
73+
7174
(result : @unchecked) match {
7275
case Left(error) => cask.Response(error, 500)
7376
case Right(value : Pet) => cask.Response(data = write(value), 200, headers = Seq("Content-Type" -> "application/json"))
@@ -90,6 +93,7 @@ class PetRoutes(service : PetService[Try]) extends cask.Routes {
9093
result <- Parsed.fromTry(resultTry)
9194
} yield result
9295

96+
9397
(result : @unchecked) match {
9498
case Left(error) => cask.Response(error, 500)
9599
case Right(other) => cask.Response(s"$other", 200)
@@ -109,6 +113,7 @@ class PetRoutes(service : PetService[Try]) extends cask.Routes {
109113
result <- Parsed.fromTry(resultTry)
110114
} yield result
111115

116+
112117
(result : @unchecked) match {
113118
case Left(error) => cask.Response(error, 500)
114119
case Right(value : List[Pet]) => cask.Response(data = write(value), 200, headers = Seq("Content-Type" -> "application/json"))
@@ -129,6 +134,7 @@ class PetRoutes(service : PetService[Try]) extends cask.Routes {
129134
result <- Parsed.fromTry(resultTry)
130135
} yield result
131136

137+
132138
(result : @unchecked) match {
133139
case Left(error) => cask.Response(error, 500)
134140
case Right(value : List[Pet]) => cask.Response(data = write(value), 200, headers = Seq("Content-Type" -> "application/json"))
@@ -150,6 +156,9 @@ class PetRoutes(service : PetService[Try]) extends cask.Routes {
150156
result <- Parsed.fromTry(resultTry)
151157
} yield result
152158

159+
// this is required for union (oneOf) types
160+
import Pet.{given, *}
161+
153162
(result : @unchecked) match {
154163
case Left(error) => cask.Response(error, 500)
155164
case Right(value : Pet) => cask.Response(data = write(value), 200, headers = Seq("Content-Type" -> "application/json"))
@@ -168,11 +177,14 @@ class PetRoutes(service : PetService[Try]) extends cask.Routes {
168177
val result = for {
169178
petJson <- Parsed.fromTry(request.bodyAsJson)
170179
petData <- Parsed.eval(PetData.fromJson(petJson)) /* not array or map */
171-
pet <- Parsed.fromTry(petData.validated(failFast))
180+
pet <- Parsed.fromTry(PetData.validated(petData, failFast))
172181
resultTry <- Parsed.eval(service.updatePet(pet))
173182
result <- Parsed.fromTry(resultTry)
174183
} yield result
175184

185+
// this is required for union (oneOf) types
186+
import Pet.{given, *}
187+
176188
(result : @unchecked) match {
177189
case Left(error) => cask.Response(error, 500)
178190
case Right(value : Pet) => cask.Response(data = write(value), 200, headers = Seq("Content-Type" -> "application/json"))
@@ -196,6 +208,7 @@ class PetRoutes(service : PetService[Try]) extends cask.Routes {
196208
result <- Parsed.fromTry(resultTry)
197209
} yield result
198210

211+
199212
(result : @unchecked) match {
200213
case Left(error) => cask.Response(error, 500)
201214
case Right(other) => cask.Response(s"$other", 200)
@@ -218,6 +231,9 @@ class PetRoutes(service : PetService[Try]) extends cask.Routes {
218231
result <- Parsed.fromTry(resultTry)
219232
} yield result
220233

234+
// this is required for union (oneOf) types
235+
import ApiResponse.{given, *}
236+
221237
(result : @unchecked) match {
222238
case Left(error) => cask.Response(error, 500)
223239
case Right(value : ApiResponse) => cask.Response(data = write(value), 200, headers = Seq("Content-Type" -> "application/json"))

samples/server/petstore/scala-cask/jvm/src/main/scala/sample/cask/api/StoreRoutes.scala

+11-1
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ class StoreRoutes(service : StoreService[Try]) extends cask.Routes {
4343
result <- Parsed.fromTry(resultTry)
4444
} yield result
4545

46+
4647
(result : @unchecked) match {
4748
case Left(error) => cask.Response(error, 500)
4849
case Right(other) => cask.Response(s"$other", 200)
@@ -62,6 +63,9 @@ class StoreRoutes(service : StoreService[Try]) extends cask.Routes {
6263
result <- Parsed.fromTry(resultTry)
6364
} yield result
6465

66+
// this is required for union (oneOf) types
67+
import Map[String, Int].{given, *}
68+
6569
(result : @unchecked) match {
6670
case Left(error) => cask.Response(error, 500)
6771
case Right(value : Map[String, Int]) => cask.Response(data = write(value), 200, headers = Seq("Content-Type" -> "application/json"))
@@ -82,6 +86,9 @@ class StoreRoutes(service : StoreService[Try]) extends cask.Routes {
8286
result <- Parsed.fromTry(resultTry)
8387
} yield result
8488

89+
// this is required for union (oneOf) types
90+
import Order.{given, *}
91+
8592
(result : @unchecked) match {
8693
case Left(error) => cask.Response(error, 500)
8794
case Right(value : Order) => cask.Response(data = write(value), 200, headers = Seq("Content-Type" -> "application/json"))
@@ -99,11 +106,14 @@ class StoreRoutes(service : StoreService[Try]) extends cask.Routes {
99106
val result = for {
100107
orderJson <- Parsed.fromTry(request.bodyAsJson)
101108
orderData <- Parsed.eval(OrderData.fromJson(orderJson)) /* not array or map */
102-
order <- Parsed.fromTry(orderData.validated(failFast))
109+
order <- Parsed.fromTry(OrderData.validated(orderData, failFast))
103110
resultTry <- Parsed.eval(service.placeOrder(order))
104111
result <- Parsed.fromTry(resultTry)
105112
} yield result
106113

114+
// this is required for union (oneOf) types
115+
import Order.{given, *}
116+
107117
(result : @unchecked) match {
108118
case Left(error) => cask.Response(error, 500)
109119
case Right(value : Order) => cask.Response(data = write(value), 200, headers = Seq("Content-Type" -> "application/json"))

samples/server/petstore/scala-cask/jvm/src/main/scala/sample/cask/api/UserRoutes.scala

+12-2
Original file line numberDiff line numberDiff line change
@@ -52,11 +52,12 @@ class UserRoutes(service : UserService[Try]) extends cask.Routes {
5252
val result = for {
5353
userJson <- Parsed.fromTry(request.bodyAsJson)
5454
userData <- Parsed.eval(UserData.fromJson(userJson)) /* not array or map */
55-
user <- Parsed.fromTry(userData.validated(failFast))
55+
user <- Parsed.fromTry(UserData.validated(userData, failFast))
5656
resultTry <- Parsed.eval(service.createUser(user))
5757
result <- Parsed.fromTry(resultTry)
5858
} yield result
5959

60+
6061
(result : @unchecked) match {
6162
case Left(error) => cask.Response(error, 500)
6263
case Right(other) => cask.Response(s"$other", 200)
@@ -77,6 +78,7 @@ class UserRoutes(service : UserService[Try]) extends cask.Routes {
7778
result <- Parsed.fromTry(resultTry)
7879
} yield result
7980

81+
8082
(result : @unchecked) match {
8183
case Left(error) => cask.Response(error, 500)
8284
case Right(other) => cask.Response(s"$other", 200)
@@ -97,6 +99,7 @@ class UserRoutes(service : UserService[Try]) extends cask.Routes {
9799
result <- Parsed.fromTry(resultTry)
98100
} yield result
99101

102+
100103
(result : @unchecked) match {
101104
case Left(error) => cask.Response(error, 500)
102105
case Right(other) => cask.Response(s"$other", 200)
@@ -117,6 +120,7 @@ class UserRoutes(service : UserService[Try]) extends cask.Routes {
117120
result <- Parsed.fromTry(resultTry)
118121
} yield result
119122

123+
120124
(result : @unchecked) match {
121125
case Left(error) => cask.Response(error, 500)
122126
case Right(other) => cask.Response(s"$other", 200)
@@ -136,6 +140,9 @@ class UserRoutes(service : UserService[Try]) extends cask.Routes {
136140
result <- Parsed.fromTry(resultTry)
137141
} yield result
138142

143+
// this is required for union (oneOf) types
144+
import User.{given, *}
145+
139146
(result : @unchecked) match {
140147
case Left(error) => cask.Response(error, 500)
141148
case Right(value : User) => cask.Response(data = write(value), 200, headers = Seq("Content-Type" -> "application/json"))
@@ -155,6 +162,7 @@ class UserRoutes(service : UserService[Try]) extends cask.Routes {
155162
result <- Parsed.fromTry(resultTry)
156163
} yield result
157164

165+
158166
(result : @unchecked) match {
159167
case Left(error) => cask.Response(error, 500)
160168
case Right(value : String) => cask.Response(data = write(value), 200, headers = Seq("Content-Type" -> "application/json"))
@@ -175,6 +183,7 @@ class UserRoutes(service : UserService[Try]) extends cask.Routes {
175183
result <- Parsed.fromTry(resultTry)
176184
} yield result
177185

186+
178187
(result : @unchecked) match {
179188
case Left(error) => cask.Response(error, 500)
180189
case Right(other) => cask.Response(s"$other", 200)
@@ -193,11 +202,12 @@ class UserRoutes(service : UserService[Try]) extends cask.Routes {
193202
username <- Parsed(username)
194203
userJson <- Parsed.fromTry(request.bodyAsJson)
195204
userData <- Parsed.eval(UserData.fromJson(userJson)) /* not array or map */
196-
user <- Parsed.fromTry(userData.validated(failFast))
205+
user <- Parsed.fromTry(UserData.validated(userData, failFast))
197206
resultTry <- Parsed.eval(service.updateUser(username, user))
198207
result <- Parsed.fromTry(resultTry)
199208
} yield result
200209

210+
201211
(result : @unchecked) match {
202212
case Left(error) => cask.Response(error, 500)
203213
case Right(other) => cask.Response(s"$other", 200)
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
sbt.version=1.9.9
1+
sbt.version=1.10.3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.4.6")
22
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "1.2.0")
3-
addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.16.0")
3+
addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.17.0")
44
addSbtPlugin("org.portable-scala" % "sbt-scalajs-crossproject" % "1.2.0")

samples/server/petstore/scala-cask/shared/src/main/scala/sample/cask/model/ApiResponse.scala

+2-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import upickle.default.{ReadWriter => RW, macroRW}
2121
import upickle.default.*
2222

2323

24-
24+
2525
case class ApiResponse(
2626
code: Option[Int] = None ,
2727
`type`: Option[String] = None ,
@@ -55,3 +55,4 @@ enum Fields(val fieldName : String) extends Field(fieldName) {
5555

5656
}
5757

58+

samples/server/petstore/scala-cask/shared/src/main/scala/sample/cask/model/ApiResponseData.scala

+4-2
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ case class ApiResponseData(
4040
}
4141

4242
def validationErrors(path : Seq[Field], failFast : Boolean) : Seq[ValidationError] = {
43-
val errors = scala.collection.mutable.ListBuffer[ValidationError]()
43+
val _allValidationErrors = scala.collection.mutable.ListBuffer[ValidationError]()
4444
// ================== code validation ==================
4545

4646

@@ -59,7 +59,7 @@ case class ApiResponseData(
5959

6060

6161

62-
errors.toSeq
62+
_allValidationErrors.toSeq
6363
}
6464

6565
/**
@@ -85,6 +85,8 @@ case class ApiResponseData(
8585

8686
object ApiResponseData {
8787

88+
def validated(d8a : ApiResponseData, failFast : Boolean) : scala.util.Try[ApiResponse] = d8a.validated(failFast)
89+
8890
def fromJson(jason : ujson.Value) : ApiResponseData = try {
8991
val data = read[ApiResponseData](jason)
9092
data

samples/server/petstore/scala-cask/shared/src/main/scala/sample/cask/model/Category.scala

+2-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import upickle.default.{ReadWriter => RW, macroRW}
2121
import upickle.default.*
2222

2323

24-
24+
2525
case class Category(
2626
id: Option[Long] = None ,
2727
name: Option[String] = None
@@ -52,3 +52,4 @@ enum Fields(val fieldName : String) extends Field(fieldName) {
5252

5353
}
5454

55+

samples/server/petstore/scala-cask/shared/src/main/scala/sample/cask/model/CategoryData.scala

+6-4
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ case class CategoryData(
3939
}
4040

4141
def validationErrors(path : Seq[Field], failFast : Boolean) : Seq[ValidationError] = {
42-
val errors = scala.collection.mutable.ListBuffer[ValidationError]()
42+
val _allValidationErrors = scala.collection.mutable.ListBuffer[ValidationError]()
4343
// ================== id validation ==================
4444

4545

@@ -48,17 +48,17 @@ case class CategoryData(
4848

4949
// ================== name validation ==================
5050
// validate against pattern '^[a-zA-Z0-9]+[a-zA-Z0-9\\.\\-_]*[a-zA-Z0-9]+$'
51-
if (errors.isEmpty || !failFast) {
51+
if (_allValidationErrors.isEmpty || !failFast) {
5252
val regex = """^[a-zA-Z0-9]+[a-zA-Z0-9\\.\\-_]*[a-zA-Z0-9]+$"""
5353
if name == null || !regex.r.matches(name) then
54-
errors += ValidationError(path :+ Category.Fields.name, s"value '$name' doesn't match pattern $regex")
54+
_allValidationErrors += ValidationError(path :+ Category.Fields.name, s"value '$name' doesn't match pattern $regex")
5555
}
5656

5757

5858

5959

6060

61-
errors.toSeq
61+
_allValidationErrors.toSeq
6262
}
6363

6464
/**
@@ -83,6 +83,8 @@ case class CategoryData(
8383

8484
object CategoryData {
8585

86+
def validated(d8a : CategoryData, failFast : Boolean) : scala.util.Try[Category] = d8a.validated(failFast)
87+
8688
def fromJson(jason : ujson.Value) : CategoryData = try {
8789
val data = read[CategoryData](jason)
8890
data

samples/server/petstore/scala-cask/shared/src/main/scala/sample/cask/model/Order.scala

+2-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ import upickle.default.{ReadWriter => RW, macroRW}
2222
import upickle.default.*
2323

2424

25-
25+
2626
case class Order(
2727
id: Option[Long] = None ,
2828
petId: Option[Long] = None ,
@@ -73,3 +73,4 @@ enum Fields(val fieldName : String) extends Field(fieldName) {
7373

7474
}
7575

76+

samples/server/petstore/scala-cask/shared/src/main/scala/sample/cask/model/OrderData.scala

+4-2
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ case class OrderData(
4545
}
4646

4747
def validationErrors(path : Seq[Field], failFast : Boolean) : Seq[ValidationError] = {
48-
val errors = scala.collection.mutable.ListBuffer[ValidationError]()
48+
val _allValidationErrors = scala.collection.mutable.ListBuffer[ValidationError]()
4949
// ================== id validation ==================
5050

5151

@@ -82,7 +82,7 @@ case class OrderData(
8282

8383

8484

85-
errors.toSeq
85+
_allValidationErrors.toSeq
8686
}
8787

8888
/**
@@ -111,6 +111,8 @@ case class OrderData(
111111

112112
object OrderData {
113113

114+
def validated(d8a : OrderData, failFast : Boolean) : scala.util.Try[Order] = d8a.validated(failFast)
115+
114116
def fromJson(jason : ujson.Value) : OrderData = try {
115117
val data = read[OrderData](jason)
116118
data

samples/server/petstore/scala-cask/shared/src/main/scala/sample/cask/model/Pet.scala

+2-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import upickle.default.{ReadWriter => RW, macroRW}
2121
import upickle.default.*
2222

2323

24-
24+
2525
case class Pet(
2626
id: Option[Long] = None ,
2727
category: Option[Category] = None ,
@@ -72,3 +72,4 @@ enum Fields(val fieldName : String) extends Field(fieldName) {
7272

7373
}
7474

75+

0 commit comments

Comments
 (0)