Hacky way to hardcode routes for spa

This commit is contained in:
Guntis Smaukstelis
2025-02-14 12:58:19 +02:00
parent dc82b95a8a
commit 3b8bb7d826
+11 -4
View File
@@ -1,13 +1,13 @@
package server package server
import cats.effect._ import cats.effect._
import cats.implicits.toTraverseOps import cats.implicits.{catsSyntaxApplicativeError, toTraverseOps}
import com.comcast.ip4s.IpLiteralSyntax import com.comcast.ip4s.IpLiteralSyntax
import data.DataService import data.DataService
import db.PostgresService import db.PostgresService
import fetch.FetchService import fetch.FetchService
import parse.Aggregate import parse.Aggregate
import server.ValidateRoutes.{AggFieldList, AggKey, CityList, DateTimeRange, Granularity, ValidateDate, ValidateDateTime, ValidateMonths, ValidateInt, ValidateZonedDateTime} import server.ValidateRoutes.{AggFieldList, AggKey, CityList, DateTimeRange, Granularity, ValidateDate, ValidateDateTime, ValidateInt, ValidateMonths, ValidateZonedDateTime}
import io.circe.{Json, Printer} import io.circe.{Json, Printer}
import org.http4s._ import org.http4s._
import org.http4s.dsl.io._ import org.http4s.dsl.io._
@@ -19,15 +19,16 @@ import org.http4s.server.staticcontent.FileService
import org.http4s.ember.server.EmberServerBuilder import org.http4s.ember.server.EmberServerBuilder
import io.circe.generic.auto._ import io.circe.generic.auto._
import io.circe.syntax._ import io.circe.syntax._
import org.http4s.circe.CirceEntityCodec.circeEntityEncoder
import parse.Aggregate.AggregateValueImplicits.aggregateValueEncoder import parse.Aggregate.AggregateValueImplicits.aggregateValueEncoder
import parse.Aggregate.userQueryEncoder import parse.Aggregate.userQueryEncoder
import parse.Aggregate.{AggregateKey, UserQuery} import parse.Aggregate.{AggregateKey, UserQuery}
import org.http4s.circe.jsonEncoder import org.http4s.circe.jsonEncoder
import org.typelevel.log4cats.Logger import org.typelevel.log4cats.Logger
import org.typelevel.log4cats.slf4j.Slf4jLogger import org.typelevel.log4cats.slf4j.Slf4jLogger
import fs2.io.file.Path
import scala.concurrent.duration.DurationInt import scala.concurrent.duration.DurationInt
import scala.reflect.io.File
object Server { object Server {
@@ -136,8 +137,14 @@ class Server(postgresService: PostgresService, dataService: DataService, fetch:
private val apiRoutesCors = CORS(apiRoutes, corsConfig) private val apiRoutesCors = CORS(apiRoutes, corsConfig)
private val httpApp = Router( private val httpApp = Router(
"/api" -> apiRoutesCors,
"/" -> staticcontent.fileService[IO](FileService.Config("./web/dist")), "/" -> staticcontent.fileService[IO](FileService.Config("./web/dist")),
"/api" -> apiRoutesCors // TODO rewrite in more generic way
"/station" -> staticcontent.fileService[IO](FileService.Config("./web/dist")),
"/cities" -> staticcontent.fileService[IO](FileService.Config("./web/dist")),
"/latvia" -> staticcontent.fileService[IO](FileService.Config("./web/dist")),
"/database" -> staticcontent.fileService[IO](FileService.Config("./web/dist")),
"/harmonie" -> staticcontent.fileService[IO](FileService.Config("./web/dist")),
).orNotFound ).orNotFound
def run: IO[ExitCode] = def run: IO[ExitCode] =