All checks were successful
		
		
	
	continuous-integration/drone/push Build is passing
				
			
		
			
				
	
	
		
			23 lines
		
	
	
		
			752 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			23 lines
		
	
	
		
			752 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
| 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, Clone)]
 | |
| 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())
 | |
| }
 |