From c41860509ad28ee8ca12a3f9b6550b66708d581a Mon Sep 17 00:00:00 2001 From: Alex Emmet <111742636+Alex-Emmet@users.noreply.github.com> Date: Fri, 10 Apr 2026 21:50:50 +0200 Subject: [PATCH 1/2] [Add] Omega Index route --- src/server/index.rs | 17 +++++++++++++++++ src/server/mod.rs | 1 + src/server/server.rs | 3 ++- 3 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 src/server/index.rs diff --git a/src/server/index.rs b/src/server/index.rs new file mode 100644 index 0000000..1d302b1 --- /dev/null +++ b/src/server/index.rs @@ -0,0 +1,17 @@ +use actix_web::{HttpResponse, Responder}; + +pub async fn index_handler() -> impl Responder { + let documentation = r#" +Omega API Server + +Available Routes: +- /api/* : API endpoints for the Omega server. +- /direct/* : Resolution for shortened links. + +All other routes will return this documentation. +"#; + + HttpResponse::Ok() + .content_type("text/plain; charset=utf-8") + .body(documentation) +} diff --git a/src/server/mod.rs b/src/server/mod.rs index 8645e6e..59e9769 100644 --- a/src/server/mod.rs +++ b/src/server/mod.rs @@ -1,3 +1,4 @@ pub mod api; +pub mod index; pub mod server; pub mod short_link; diff --git a/src/server/server.rs b/src/server/server.rs index 3618eb7..1fcfe04 100644 --- a/src/server/server.rs +++ b/src/server/server.rs @@ -1,6 +1,6 @@ use crate::{ log, - server::{api, short_link::get_short_link}, + server::{api, index::index_handler, short_link::get_short_link}, util::file_util::load_file_buf, }; @@ -37,6 +37,7 @@ pub async fn start(port: u16) -> anyhow::Result<()> { App::new() .route("/api/{path:.*}", web::to(api_handler)) .route("/direct/{path:.*}", web::to(direct_handler)) + .default_service(web::to(index_handler)) }) .bind_rustls_0_23(addr, config)? .run() From cc8c14ca93e3f614837e6b4e85aa9ba66606e7af Mon Sep 17 00:00:00 2001 From: Alex Emmet <111742636+Alex-Emmet@users.noreply.github.com> Date: Fri, 10 Apr 2026 21:51:03 +0200 Subject: [PATCH 2/2] [Fix] reverted some iota_id --- src/transport/omikron_connection.rs | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/src/transport/omikron_connection.rs b/src/transport/omikron_connection.rs index 327c52c..47b42ef 100644 --- a/src/transport/omikron_connection.rs +++ b/src/transport/omikron_connection.rs @@ -433,8 +433,10 @@ impl OmikronConnection { async fn handle_iota_connected(self: Arc, cv: CommunicationValue, omikron_id: i64) { log_in!(PrintType::Omega, "IOTA connected"); - let iota_id = cv.get_sender(); - let iota_id = iota_id as i64; + let iota_id = match cv.get_data(DataTypes::iota_id).as_number() { + Some(id) => id as i64, + None => return, + }; user_online_tracker::track_iota_connection(iota_id, omikron_id, true); let mut user_ids = Vec::new(); @@ -460,8 +462,10 @@ impl OmikronConnection { async fn handle_iota_disconnected(self: Arc, cv: CommunicationValue, omikron_id: i64) { log_in!(PrintType::Omega, "IOTA disconnected"); - let iota_id = cv.get_sender(); - let iota_id = iota_id as i64; + let iota_id = match cv.get_data(DataTypes::iota_id).as_number() { + Some(id) => id as i64, + None => return, + }; let iota_offline = user_online_tracker::untrack_iota_connection(iota_id, omikron_id); if iota_offline { if let Ok(users) = sql::get_users_by_iota_id(iota_id).await { @@ -612,13 +616,14 @@ impl OmikronConnection { async fn handle_get_iota_data(self: Arc, cv: CommunicationValue) -> OmikronResult<()> { // Try by iota_id - let iota_id = cv.get_sender(); - if let Ok((iota_id, public_key)) = get_iota_by_id(iota_id as i64).await { - let response = self - .clone() - .build_iota_data_response(cv.get_id(), iota_id, public_key, None, None) - .await; - return self.send(&response).await; + if let Some(iota_id) = cv.get_data(DataTypes::iota_id).as_number() { + if let Ok((iota_id, public_key)) = get_iota_by_id(iota_id as i64).await { + let response = self + .clone() + .build_iota_data_response(cv.get_id(), iota_id, public_key, None, None) + .await; + return self.send(&response).await; + } } // Try by user_id