mirror of
https://github.com/TheAnachronism/docspell.git
synced 2025-06-22 02:18:26 +00:00
Add (inofficial) routes to get system information
This commit is contained in:
@ -35,7 +35,7 @@ object JoexServer {
|
||||
.create[F](cfg, signal, pools.connectEC, pools.httpClientEC, pools.blocker)
|
||||
|
||||
httpApp = Router(
|
||||
"/api/info" -> InfoRoutes(),
|
||||
"/api/info" -> InfoRoutes(cfg),
|
||||
"/api/v1" -> JoexRoutes(joexApp)
|
||||
).orNotFound
|
||||
|
||||
|
@ -1,8 +1,10 @@
|
||||
package docspell.joex.routes
|
||||
|
||||
import cats.effect.Sync
|
||||
import cats.implicits._
|
||||
|
||||
import docspell.joex.BuildInfo
|
||||
import docspell.common.JvmInfo
|
||||
import docspell.joex.{BuildInfo, Config}
|
||||
import docspell.joexapi.model.VersionInfo
|
||||
|
||||
import org.http4s.HttpRoutes
|
||||
@ -11,19 +13,23 @@ import org.http4s.dsl.Http4sDsl
|
||||
|
||||
object InfoRoutes {
|
||||
|
||||
def apply[F[_]: Sync](): HttpRoutes[F] = {
|
||||
def apply[F[_]: Sync](cfg: Config): HttpRoutes[F] = {
|
||||
val dsl = new Http4sDsl[F] {}
|
||||
import dsl._
|
||||
HttpRoutes.of[F] { case GET -> (Root / "version") =>
|
||||
Ok(
|
||||
VersionInfo(
|
||||
BuildInfo.version,
|
||||
BuildInfo.builtAtMillis,
|
||||
BuildInfo.builtAtString,
|
||||
BuildInfo.gitHeadCommit.getOrElse(""),
|
||||
BuildInfo.gitDescribedVersion.getOrElse("")
|
||||
HttpRoutes.of[F] {
|
||||
case GET -> Root / "version" =>
|
||||
Ok(
|
||||
VersionInfo(
|
||||
BuildInfo.version,
|
||||
BuildInfo.builtAtMillis,
|
||||
BuildInfo.builtAtString,
|
||||
BuildInfo.gitHeadCommit.getOrElse(""),
|
||||
BuildInfo.gitDescribedVersion.getOrElse("")
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
case GET -> Root / "system" =>
|
||||
JvmInfo.create[F](cfg.appId).flatMap(Ok(_))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user