Skip to content

Commit de69753

Browse files
authored
#42 Add support for LocalTime (#51)
1 parent 203d9a2 commit de69753

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

library/src/main/scala/za/co/absa/springdocopenapiscala/OpenAPIModelRegistration.scala

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ package za.co.absa.springdocopenapiscala
1919
import io.swagger.v3.oas.models.Components
2020
import io.swagger.v3.oas.models.media.{Discriminator, Schema}
2121

22-
import java.time.{Instant, LocalDate, LocalDateTime, ZonedDateTime}
22+
import java.time.{Instant, LocalDate, LocalDateTime, LocalTime, ZonedDateTime}
2323
import java.util.UUID
2424
import scala.annotation.tailrec
2525
import scala.collection.JavaConverters._
@@ -242,6 +242,7 @@ class OpenAPIModelRegistration(
242242
case t if t =:= typeOf[Instant] => OpenAPISimpleType("string", Some("date-time"))
243243
case t if t =:= typeOf[LocalDateTime] => OpenAPISimpleType("string", Some("date-time"))
244244
case t if t =:= typeOf[LocalDate] => OpenAPISimpleType("string", Some("date"))
245+
case t if t =:= typeOf[LocalTime] => OpenAPISimpleType("string", Some("time"))
245246
}
246247

247248
private def registerAsReference(name: String, schema: Schema[_]): Schema[_] = {

library/src/test/scala/za/co/absa/springdocopenapiscala/OpenAPIModelRegistrationSpec.scala

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ import io.swagger.v3.oas.models.media.Schema
2222
import org.scalatest
2323
import org.scalatest.flatspec.AnyFlatSpec
2424

25-
import java.time.{Instant, LocalDate, LocalDateTime, ZonedDateTime}
25+
import java.time.{Instant, LocalDate, LocalDateTime, LocalTime, ZonedDateTime}
2626
import java.util.UUID
2727
import scala.collection.JavaConverters._
2828
import scala.reflect.runtime.universe._
@@ -46,7 +46,8 @@ class OpenAPIModelRegistrationSpec extends AnyFlatSpec {
4646
l: ZonedDateTime,
4747
o: Instant,
4848
p: LocalDateTime,
49-
r: LocalDate
49+
r: LocalDate,
50+
s: LocalTime
5051
)
5152

5253
private case class SimpleTypesMaybeInOption(
@@ -192,6 +193,7 @@ class OpenAPIModelRegistrationSpec extends AnyFlatSpec {
192193
assertTypeAndFormatAreAsExpected(actualSchemas, "OnlySimpleTypes.o", "string", Some("date-time"))
193194
assertTypeAndFormatAreAsExpected(actualSchemas, "OnlySimpleTypes.p", "string", Some("date-time"))
194195
assertTypeAndFormatAreAsExpected(actualSchemas, "OnlySimpleTypes.r", "string", Some("date"))
196+
assertTypeAndFormatAreAsExpected(actualSchemas, "OnlySimpleTypes.s", "string", Some("time"))
195197
}
196198

197199
it should "mark all non-Option fields of case class as required" in {

0 commit comments

Comments
 (0)