Add function to report devices activity
This commit is contained in:
@ -0,0 +1,22 @@
|
||||
use crate::logs::logs_manager;
|
||||
use crate::logs::severity::LogSeverity;
|
||||
use crate::server::custom_error::HttpResult;
|
||||
use crate::server::devices_api::jwt_parser::JWTRequest;
|
||||
use crate::server::WebEnergyActor;
|
||||
use actix_web::{web, HttpResponse};
|
||||
|
||||
#[derive(Debug, serde::Deserialize)]
|
||||
pub struct LogRequest {
|
||||
severity: LogSeverity,
|
||||
message: String,
|
||||
}
|
||||
|
||||
/// Report log message from device
|
||||
pub async fn report_log(body: web::Json<JWTRequest>, actor: WebEnergyActor) -> HttpResult {
|
||||
let (device, request) = body.parse_jwt::<LogRequest>(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())
|
||||
}
|
Reference in New Issue
Block a user