mirror of
https://github.com/valmojr/armatak.git
synced 2026-06-13 15:43:29 +00:00
moved rust util functions to use folder structure
This commit is contained in:
@@ -2,10 +2,10 @@ use arma_rs::{arma, Extension, Group};
|
||||
mod structs;
|
||||
mod tests;
|
||||
mod websocket;
|
||||
mod util;
|
||||
mod cot_router;
|
||||
mod cot_generator;
|
||||
mod video_stream;
|
||||
mod utils;
|
||||
|
||||
#[arma]
|
||||
pub fn init() -> Extension {
|
||||
@@ -37,9 +37,9 @@ pub fn init() -> Extension {
|
||||
.command("message", websocket::message)
|
||||
.command("location", websocket::location)
|
||||
)
|
||||
.command("local_ip", util::get_local_address)
|
||||
.command("uuid", util::get_uuid)
|
||||
.command("log", util::log_info)
|
||||
.command("local_ip", utils::address::get_local_address)
|
||||
.command("uuid", utils::uuid::get_uuid)
|
||||
.command("log", utils::log::log_info)
|
||||
.group(
|
||||
"cot_router",
|
||||
Group::new()
|
||||
|
||||
43
src/util.rs
43
src/util.rs
@@ -1,43 +0,0 @@
|
||||
use crate::structs::LogPayload;
|
||||
use log::{error, info, warn};
|
||||
use std::net::{IpAddr, UdpSocket};
|
||||
|
||||
pub fn log_info(data: LogPayload) -> String {
|
||||
match data.status.as_str() {
|
||||
"info" => info!("{}", data.message),
|
||||
"warn" => warn!("{}", data.message),
|
||||
"error" => error!("{}", data.message),
|
||||
_ => error!("{}", "Wrong log call"),
|
||||
}
|
||||
"logged".to_string()
|
||||
}
|
||||
|
||||
pub fn get_uuid() -> String {
|
||||
use uuid::Uuid;
|
||||
|
||||
let id = Uuid::new_v4().to_string();
|
||||
|
||||
return id;
|
||||
}
|
||||
|
||||
pub fn get_local_address() -> String {
|
||||
fn get_local_ip() -> Result<IpAddr, String> {
|
||||
let socket = UdpSocket::bind("0.0.0.0:0").map_err(|e| e.to_string())?;
|
||||
socket.connect("8.8.8.8:80").map_err(|e| e.to_string())?;
|
||||
socket
|
||||
.local_addr()
|
||||
.map(|addr| addr.ip())
|
||||
.map_err(|e| e.to_string())
|
||||
}
|
||||
|
||||
let parsed_data = get_local_ip();
|
||||
|
||||
match parsed_data {
|
||||
Ok(ip) => {
|
||||
return format!("ws://{}:4152", ip.to_string());
|
||||
}
|
||||
Err(_) => {
|
||||
return "not provided".to_string();
|
||||
}
|
||||
}
|
||||
}
|
||||
23
src/utils/address.rs
Normal file
23
src/utils/address.rs
Normal file
@@ -0,0 +1,23 @@
|
||||
use std::net::{IpAddr, UdpSocket};
|
||||
|
||||
pub fn get_local_address() -> String {
|
||||
fn get_local_ip() -> Result<IpAddr, String> {
|
||||
let socket = UdpSocket::bind("0.0.0.0:0").map_err(|e| e.to_string())?;
|
||||
socket.connect("8.8.8.8:80").map_err(|e| e.to_string())?;
|
||||
socket
|
||||
.local_addr()
|
||||
.map(|addr| addr.ip())
|
||||
.map_err(|e| e.to_string())
|
||||
}
|
||||
|
||||
let parsed_data = get_local_ip();
|
||||
|
||||
match parsed_data {
|
||||
Ok(ip) => {
|
||||
return format!("ws://{}:4152", ip.to_string());
|
||||
}
|
||||
Err(_) => {
|
||||
return "not provided".to_string();
|
||||
}
|
||||
}
|
||||
}
|
||||
12
src/utils/log.rs
Normal file
12
src/utils/log.rs
Normal file
@@ -0,0 +1,12 @@
|
||||
use crate::structs::LogPayload;
|
||||
use log::{error, info, warn};
|
||||
|
||||
pub fn log_info(data: LogPayload) -> String {
|
||||
match data.status.as_str() {
|
||||
"info" => info!("{}", data.message),
|
||||
"warn" => warn!("{}", data.message),
|
||||
"error" => error!("{}", data.message),
|
||||
_ => error!("{}", "Wrong log call"),
|
||||
}
|
||||
"logged".to_string()
|
||||
}
|
||||
3
src/utils/mod.rs
Normal file
3
src/utils/mod.rs
Normal file
@@ -0,0 +1,3 @@
|
||||
pub mod uuid;
|
||||
pub mod address;
|
||||
pub mod log;
|
||||
7
src/utils/uuid.rs
Normal file
7
src/utils/uuid.rs
Normal file
@@ -0,0 +1,7 @@
|
||||
pub fn get_uuid() -> String {
|
||||
use uuid::Uuid;
|
||||
|
||||
let id = Uuid::new_v4().to_string();
|
||||
|
||||
return id;
|
||||
}
|
||||
Reference in New Issue
Block a user