Add the route to delete a relay
This commit is contained in:
@ -169,6 +169,10 @@ pub async fn secure_server(energy_actor: EnergyActorAddr) -> anyhow::Result<()>
|
||||
"/web_api/relay/create",
|
||||
web::post().to(relays_controller::create),
|
||||
)
|
||||
.route(
|
||||
"/web_api/relay/{id}",
|
||||
web::delete().to(relays_controller::delete),
|
||||
)
|
||||
// Devices API
|
||||
.route(
|
||||
"/devices_api/utils/time",
|
||||
|
@ -1,4 +1,4 @@
|
||||
use crate::devices::device::{DeviceId, DeviceRelay};
|
||||
use crate::devices::device::{DeviceId, DeviceRelay, DeviceRelayID};
|
||||
use crate::energy::energy_actor;
|
||||
use crate::server::custom_error::HttpResult;
|
||||
use crate::server::WebEnergyActor;
|
||||
@ -48,7 +48,7 @@ pub async fn create(actor: WebEnergyActor, req: web::Json<CreateDeviceRelayReque
|
||||
return Ok(HttpResponse::BadRequest().json("A relay with the same ID already exists!"));
|
||||
}
|
||||
|
||||
// Create the device
|
||||
// Create the device relay
|
||||
actor
|
||||
.send(energy_actor::CreateDeviceRelay(
|
||||
req.device_id.clone(),
|
||||
@ -58,3 +58,17 @@ pub async fn create(actor: WebEnergyActor, req: web::Json<CreateDeviceRelayReque
|
||||
|
||||
Ok(HttpResponse::Accepted().finish())
|
||||
}
|
||||
|
||||
#[derive(serde::Deserialize)]
|
||||
pub struct RelayIDInPath {
|
||||
id: DeviceRelayID,
|
||||
}
|
||||
|
||||
/// Delete an existing relay
|
||||
pub async fn delete(actor: WebEnergyActor, path: web::Path<RelayIDInPath>) -> HttpResult {
|
||||
actor
|
||||
.send(energy_actor::DeleteDeviceRelay(path.id))
|
||||
.await??;
|
||||
|
||||
Ok(HttpResponse::Accepted().finish())
|
||||
}
|
||||
|
Reference in New Issue
Block a user