use crate::logs::logs_manager; use crate::logs::severity::LogSeverity; use crate::server::WebEnergyActor; use crate::server::custom_error::HttpResult; use crate::server::devices_api::jwt_parser::JWTRequest; use actix_web::{HttpResponse, web}; #[derive(Debug, serde::Deserialize)] pub struct LogRequest { severity: LogSeverity, message: String, } /// Report log message from device pub async fn report_log(body: web::Json, actor: WebEnergyActor) -> HttpResult { let (device, request) = body.parse_jwt::(actor).await?; log::info!("Save log message from device: {request:#?}"); logs_manager::save_log(Some(&device.id), request.severity, request.message)?; Ok(HttpResponse::Accepted().finish()) }