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