Can update device general information
This commit is contained in:
		@@ -147,6 +147,10 @@ pub async fn secure_server(energy_actor: EnergyActorAddr) -> anyhow::Result<()>
 | 
			
		||||
                "/web_api/device/{id}/validate",
 | 
			
		||||
                web::post().to(devices_controller::validate_device),
 | 
			
		||||
            )
 | 
			
		||||
            .route(
 | 
			
		||||
                "/web_api/device/{id}",
 | 
			
		||||
                web::patch().to(devices_controller::update_device),
 | 
			
		||||
            )
 | 
			
		||||
            .route(
 | 
			
		||||
                "/web_api/device/{id}",
 | 
			
		||||
                web::delete().to(devices_controller::delete_device),
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
use crate::devices::device::DeviceId;
 | 
			
		||||
use crate::devices::device::{DeviceGeneralInfo, DeviceId};
 | 
			
		||||
use crate::energy::energy_actor;
 | 
			
		||||
use crate::server::custom_error::HttpResult;
 | 
			
		||||
use crate::server::WebEnergyActor;
 | 
			
		||||
@@ -54,6 +54,26 @@ pub async fn validate_device(actor: WebEnergyActor, id: web::Path<DeviceInPath>)
 | 
			
		||||
    Ok(HttpResponse::Accepted().finish())
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/// Update a device information
 | 
			
		||||
pub async fn update_device(
 | 
			
		||||
    actor: WebEnergyActor,
 | 
			
		||||
    id: web::Path<DeviceInPath>,
 | 
			
		||||
    update: web::Json<DeviceGeneralInfo>,
 | 
			
		||||
) -> HttpResult {
 | 
			
		||||
    if let Some(e) = update.error() {
 | 
			
		||||
        return Ok(HttpResponse::BadRequest().json(e));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    actor
 | 
			
		||||
        .send(energy_actor::UpdateDeviceGeneralInfo(
 | 
			
		||||
            id.id.clone(),
 | 
			
		||||
            update.0.clone(),
 | 
			
		||||
        ))
 | 
			
		||||
        .await??;
 | 
			
		||||
 | 
			
		||||
    Ok(HttpResponse::Accepted().finish())
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/// Delete a device
 | 
			
		||||
pub async fn delete_device(actor: WebEnergyActor, id: web::Path<DeviceInPath>) -> HttpResult {
 | 
			
		||||
    actor
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,5 @@
 | 
			
		||||
use crate::app_config::AppConfig;
 | 
			
		||||
use crate::constants::StaticConstraints;
 | 
			
		||||
use actix_web::HttpResponse;
 | 
			
		||||
 | 
			
		||||
pub async fn secure_home() -> HttpResponse {
 | 
			
		||||
@@ -10,12 +11,14 @@ pub async fn secure_home() -> HttpResponse {
 | 
			
		||||
#[derive(serde::Serialize)]
 | 
			
		||||
struct ServerConfig {
 | 
			
		||||
    auth_disabled: bool,
 | 
			
		||||
    constraints: StaticConstraints,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
impl Default for ServerConfig {
 | 
			
		||||
    fn default() -> Self {
 | 
			
		||||
        Self {
 | 
			
		||||
            auth_disabled: AppConfig::get().unsecure_disable_login,
 | 
			
		||||
            constraints: Default::default(),
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user