diff --git a/src/main/scala/server/Server.scala b/src/main/scala/server/Server.scala index 28c08cd..505bd3d 100644 --- a/src/main/scala/server/Server.scala +++ b/src/main/scala/server/Server.scala @@ -10,7 +10,6 @@ import fetch.csv.FileNameService import fetch.lvgmc.FetchService import fs2.io.file.{Files, Path} import server.ValidateRoutes.{AggFieldList, AggKey, CityList, DateTimeRange, Granularity, ValidateDate, ValidateDateTime, ValidateInt, ValidateMonths, ValidateZonedDateTime} -import io.circe.{Encoder, Json, Printer} import org.http4s._ import org.http4s.dsl.io._ import org.http4s.implicits._ @@ -20,7 +19,6 @@ import org.http4s.server.middleware.CORSConfig import org.http4s.server.staticcontent.FileService import org.http4s.ember.server.EmberServerBuilder import io.circe.generic.auto._ -import io.circe.generic.semiauto.deriveEncoder import io.circe.syntax._ import parse.csv.Aggregate.AggregateValueImplicits.aggregateValueEncoder import parse.csv.Aggregate.userQueryEncoder @@ -44,10 +42,6 @@ object Server { } class Server(postgresService: PostgresService, dataService: DataService, fetch: FetchService, log: Logger[IO]) { - implicit class JsonPrettyPrinter(json: Json) { - def pretty: String = Printer.spaces2.copy(dropNullValues = true).print(json) - } - private case class ResponseWrapper(result: Map[String, Option[Aggregate.AggregateValue]], query: UserQuery) private case class LatestTemperature(city: String, observedAt: String, value: Option[Double]) @@ -82,7 +76,7 @@ class Server(postgresService: PostgresService, dataService: DataService, fetch: // http://0.0.0.0:8080/api/show/grib-name/harmonie_2025-02-01T1500Z_2025-02-01T180000Z.grib case GET -> Root / "show" / "grib" / fileName => - dataService.getGribStucture(fileName).flatMap(response => Ok(response.asJson.pretty)) + dataService.getGribStucture(fileName).flatMap(response => Ok(response.asJson)) case GET -> Root / "grib" / "binary-chunk" / ValidateInt(binaryOffset) / ValidateInt(binaryLength) / fileName => dataService.getBinaryChunk(binaryOffset, binaryLength, fileName).flatMap(buffer => Ok(buffer)) @@ -126,13 +120,13 @@ class Server(postgresService: PostgresService, dataService: DataService, fetch: postgresService.query(userQuery) .map(result => ResponseWrapper(result, userQuery)) - .flatMap(responseWrapper => Ok(responseWrapper.asJson.pretty)) + .flatMap(responseWrapper => Ok(responseWrapper.asJson)) // Latest observation-time temperatures for a fixed production station set. case GET -> Root / "query" / "latest-temperatures" / CityList(cities) => postgresService.queryLatestTemperatures(cities) .map(_.map { case (city, observedAt, value) => LatestTemperature(city, observedAt.toString, value) }) - .flatMap(result => Ok(result.asJson.pretty)) + .flatMap(result => Ok(result.asJson)) // http://0.0.0.0:8080/api/query/city/Kolka/20230414_2200-20230501_1230/allFields case GET -> Root / "query" / "city" / (city: String) / DateTimeRange(from, to) / "allFields" => @@ -141,7 +135,7 @@ class Server(postgresService: PostgresService, dataService: DataService, fetch: // http://0.0.0.0:8080/api/query/country/20230414_2200-20230501_1230/tempMax,tempMin,tempAvg,precipitation case GET -> Root / "query" / "country" / DateTimeRange(from, to) / AggFieldList(fieldList) => postgresService.queryCountry(from, to, fieldList) - .flatMap(result => Ok(result.asJson.pretty)) + .flatMap(result => Ok(result.asJson)) // // http://0.0.0.0:8080/api/fetch/date/20230514 // case GET -> Root / "fetch" / "date" / ValidateDate(date) => @@ -170,13 +164,13 @@ class Server(postgresService: PostgresService, dataService: DataService, fetch: // http://0.0.0.0:8080/api/show/months/202304,202305,202306 case GET -> Root / "show" / "months" / ValidateMonths(monthList) => postgresService.getDatesByMonths(monthList).flatMap(dates => - Ok(dates.asJson.pretty) + Ok(dates.asJson) ) // http://0.0.0.0:8080/api/show/date/20230423 case GET -> Root / "show" / "date" / ValidateDate(date) => postgresService.getDateFileNames(date).flatMap(fileNames => - Ok(fileNames.asJson.pretty) + Ok(fileNames.asJson) ) // http://0.0.0.0:8080/api/show/datetime/20230423_1300