Start to implement energy consumption backend
This commit is contained in:
central_backend
15
central_backend/src/server/energy_controller.rs
Normal file
15
central_backend/src/server/energy_controller.rs
Normal file
@ -0,0 +1,15 @@
|
||||
use crate::energy::consumption;
|
||||
use crate::server::custom_error::HttpResult;
|
||||
use actix_web::HttpResponse;
|
||||
|
||||
#[derive(serde::Serialize)]
|
||||
struct CurrConsumption {
|
||||
consumption: i32,
|
||||
}
|
||||
|
||||
/// Get current energy consumption
|
||||
pub async fn curr_consumption() -> HttpResult {
|
||||
let consumption = consumption::get_curr_consumption().await?;
|
||||
|
||||
Ok(HttpResponse::Ok().json(CurrConsumption { consumption }))
|
||||
}
|
@ -6,6 +6,7 @@ use crate::app_config::AppConfig;
|
||||
use crate::crypto::pki;
|
||||
|
||||
pub mod custom_error;
|
||||
pub mod energy_controller;
|
||||
pub mod pki_controller;
|
||||
pub mod server_controller;
|
||||
|
||||
@ -48,6 +49,10 @@ pub async fn secure_server() -> anyhow::Result<()> {
|
||||
App::new()
|
||||
.wrap(Logger::default())
|
||||
.route("/", web::get().to(server_controller::secure_home))
|
||||
.route(
|
||||
"/api/energy/curr_consumption",
|
||||
web::get().to(energy_controller::curr_consumption),
|
||||
)
|
||||
})
|
||||
.bind_openssl(&AppConfig::get().listen_address, builder)?
|
||||
.run()
|
||||
|
Reference in New Issue
Block a user