From a67bac63b6e880825ddb5aff7c95e89153ff204d Mon Sep 17 00:00:00 2001 From: Andras Schmelczer Date: Tue, 10 Dec 2024 21:36:32 +0000 Subject: [PATCH] Add ping endpoint --- backend/sync_server/src/database/models.rs | 6 ++++++ backend/sync_server/src/server.rs | 2 ++ backend/sync_server/src/server/ping.rs | 10 ++++++++++ 3 files changed, 18 insertions(+) create mode 100644 backend/sync_server/src/server/ping.rs diff --git a/backend/sync_server/src/database/models.rs b/backend/sync_server/src/database/models.rs index 88c4062..6a0ea56 100644 --- a/backend/sync_server/src/database/models.rs +++ b/backend/sync_server/src/database/models.rs @@ -52,6 +52,12 @@ impl From for DocumentVersionWithoutContent { } } +#[derive(Debug, Clone, Serialize, JsonSchema)] +#[serde(rename_all = "camelCase")] +pub struct PingResponse { + pub server_version: String, +} + #[derive(Debug, Clone, Serialize, JsonSchema)] #[serde(rename_all = "camelCase")] pub struct DocumentVersion { diff --git a/backend/sync_server/src/server.rs b/backend/sync_server/src/server.rs index b4206b7..94b18de 100644 --- a/backend/sync_server/src/server.rs +++ b/backend/sync_server/src/server.rs @@ -22,6 +22,7 @@ mod create_document; mod delete_document; mod fetch_latest_document_version; mod fetch_latest_documents; +mod ping; mod requests; mod update_document; @@ -40,6 +41,7 @@ pub async fn create_server(app_state: AppState) -> Result<()> { }; let app = ApiRouter::new() + .api_route("/ping", get(ping::ping)) .api_route( "/vaults/:vault_id/documents", get(fetch_latest_documents::fetch_latest_documents), diff --git a/backend/sync_server/src/server/ping.rs b/backend/sync_server/src/server/ping.rs new file mode 100644 index 0000000..44c24a5 --- /dev/null +++ b/backend/sync_server/src/server/ping.rs @@ -0,0 +1,10 @@ +use axum::Json; + +use crate::{database::models::PingResponse, errors::SyncServerError}; + +#[axum::debug_handler] +pub async fn ping() -> Result, SyncServerError> { + Ok(Json(PingResponse { + server_version: env!("CARGO_PKG_VERSION").to_string(), + })) +}