Check for loops in relays
This commit is contained in:
		@@ -165,6 +165,10 @@ pub async fn secure_server(energy_actor: EnergyActorAddr) -> anyhow::Result<()>
 | 
			
		||||
                "/web_api/relays/list",
 | 
			
		||||
                web::get().to(relays_controller::get_list),
 | 
			
		||||
            )
 | 
			
		||||
            .route(
 | 
			
		||||
                "/web_api/relays/create",
 | 
			
		||||
                web::post().to(relays_controller::create),
 | 
			
		||||
            )
 | 
			
		||||
            // Devices API
 | 
			
		||||
            .route(
 | 
			
		||||
                "/devices_api/utils/time",
 | 
			
		||||
 
 | 
			
		||||
@@ -1,10 +1,23 @@
 | 
			
		||||
use crate::devices::device::{DeviceId, DeviceRelay};
 | 
			
		||||
use crate::energy::energy_actor;
 | 
			
		||||
use crate::server::custom_error::HttpResult;
 | 
			
		||||
use crate::server::WebEnergyActor;
 | 
			
		||||
use actix_web::HttpResponse;
 | 
			
		||||
use actix_web::{web, HttpResponse};
 | 
			
		||||
 | 
			
		||||
/// Get the full list of relays
 | 
			
		||||
pub async fn get_list(actor: WebEnergyActor) -> HttpResult {
 | 
			
		||||
    let list = actor.send(energy_actor::GetRelaysList).await?;
 | 
			
		||||
    Ok(HttpResponse::Ok().json(list))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#[derive(serde::Deserialize)]
 | 
			
		||||
pub struct CreateDeviceRelayRequest {
 | 
			
		||||
    device_id: DeviceId,
 | 
			
		||||
    #[serde(flatten)]
 | 
			
		||||
    relay: DeviceRelay,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/// Create a new relay
 | 
			
		||||
pub async fn create(actor: WebEnergyActor, req: web::Json<CreateDeviceRelayRequest>) -> HttpResult {
 | 
			
		||||
    todo!()
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user