feat: Add health check endpoint

Introduce a new health check endpoint at `/api/health`. This endpoint
returns a JSON response indicating the server's status and configuration
details, such as the port, data path, and configured URLs for external
services.

This change also refactors the application setup by:
- Creating a `lib.rs` file to house the `create_router` function, making
  it
  reusable for both the main application and integration tests.
- Moving configuration loading logic into `main.rs` and passing it as a
  shared state (`Arc<Config>`) to the router.
- Adding a unit test (`health_test.rs`) to verify the functionality of
  the
  health check endpoint.
- Updating `Cargo.toml` and `Cargo.lock` to include the `tower`
  dependency,
  which is used for testing.
This commit is contained in:
2026-04-13 12:41:40 +02:00
parent 44dac06961
commit 80a6537e16
7 changed files with 131 additions and 5 deletions
+3
View File
@@ -20,3 +20,6 @@ tower-http = { version = "0.5", features = ["limit", "trace"] }
rand = "0.8"
bcrypt = "0.15"
axum-extra = { version = "0.9", features = ["cookie"] }
[dev-dependencies]
tower = { version = "0.5", features = ["util"] }