Add (inofficial) routes to get system information

This commit is contained in:
Eike Kettner
2021-01-05 20:54:53 +01:00
parent 30df887934
commit b08e88cd69
7 changed files with 210 additions and 16 deletions

View File

@ -104,7 +104,8 @@ object RestServer {
def adminRoutes[F[_]: Effect](cfg: Config, restApp: RestApp[F]): HttpRoutes[F] =
Router(
"fts" -> FullTextIndexRoutes.admin(cfg, restApp.backend),
"user" -> UserRoutes.admin(restApp.backend)
"user" -> UserRoutes.admin(restApp.backend),
"info" -> InfoRoutes.admin(cfg)
)
def redirectTo[F[_]: Effect](path: String): HttpRoutes[F] = {

View File

@ -1,9 +1,11 @@
package docspell.restserver.routes
import cats.effect.Sync
import cats.implicits._
import docspell.common._
import docspell.restapi.model.VersionInfo
import docspell.restserver.BuildInfo
import docspell.restserver.{BuildInfo, Config}
import org.http4s.HttpRoutes
import org.http4s.circe.CirceEntityEncoder._
@ -26,4 +28,13 @@ object InfoRoutes {
)
}
}
def admin[F[_]: Sync](cfg: Config): HttpRoutes[F] = {
val dsl = new Http4sDsl[F] {}
import dsl._
HttpRoutes.of[F] { case GET -> Root / "system" =>
JvmInfo.create[F](cfg.appId).flatMap(Ok(_))
}
}
}