Add a route to get the list of supported platforms for OTA
This commit is contained in:
		@@ -4,5 +4,6 @@ pub mod crypto;
 | 
				
			|||||||
pub mod devices;
 | 
					pub mod devices;
 | 
				
			||||||
pub mod energy;
 | 
					pub mod energy;
 | 
				
			||||||
pub mod logs;
 | 
					pub mod logs;
 | 
				
			||||||
 | 
					pub mod ota;
 | 
				
			||||||
pub mod server;
 | 
					pub mod server;
 | 
				
			||||||
pub mod utils;
 | 
					pub mod utils;
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										1
									
								
								central_backend/src/ota/mod.rs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								central_backend/src/ota/mod.rs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
				
			|||||||
 | 
					pub mod ota_update;
 | 
				
			||||||
							
								
								
									
										5
									
								
								central_backend/src/ota/ota_update.rs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								central_backend/src/ota/ota_update.rs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,5 @@
 | 
				
			|||||||
 | 
					#[derive(serde::Serialize, serde::Deserialize, Debug, Copy, Clone, Eq, PartialEq)]
 | 
				
			||||||
 | 
					pub enum OTAPlatform {
 | 
				
			||||||
 | 
					    #[serde(rename = "Wt32-Eth01")]
 | 
				
			||||||
 | 
					    Wt32Eth01,
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -181,7 +181,10 @@ pub async fn secure_server(energy_actor: EnergyActorAddr) -> anyhow::Result<()>
 | 
				
			|||||||
                web::delete().to(devices_controller::delete_device),
 | 
					                web::delete().to(devices_controller::delete_device),
 | 
				
			||||||
            )
 | 
					            )
 | 
				
			||||||
            // OTA API
 | 
					            // OTA API
 | 
				
			||||||
            // TODO : list supported platform references
 | 
					            .route(
 | 
				
			||||||
 | 
					                "/web_api/ota/supported_platforms",
 | 
				
			||||||
 | 
					                web::get().to(ota_controller::supported_platforms),
 | 
				
			||||||
 | 
					            )
 | 
				
			||||||
            // TODO : upload a new software update
 | 
					            // TODO : upload a new software update
 | 
				
			||||||
            // TODO : list ota software update per platform
 | 
					            // TODO : list ota software update per platform
 | 
				
			||||||
            // TODO : download a OTA file
 | 
					            // TODO : download a OTA file
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,5 +2,6 @@ pub mod auth_controller;
 | 
				
			|||||||
pub mod devices_controller;
 | 
					pub mod devices_controller;
 | 
				
			||||||
pub mod energy_controller;
 | 
					pub mod energy_controller;
 | 
				
			||||||
pub mod logging_controller;
 | 
					pub mod logging_controller;
 | 
				
			||||||
 | 
					pub mod ota_controller;
 | 
				
			||||||
pub mod relays_controller;
 | 
					pub mod relays_controller;
 | 
				
			||||||
pub mod server_controller;
 | 
					pub mod server_controller;
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										7
									
								
								central_backend/src/server/web_api/ota_controller.rs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								central_backend/src/server/web_api/ota_controller.rs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,7 @@
 | 
				
			|||||||
 | 
					use crate::ota::ota_update::OTAPlatform;
 | 
				
			||||||
 | 
					use crate::server::custom_error::HttpResult;
 | 
				
			||||||
 | 
					use actix_web::HttpResponse;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					pub async fn supported_platforms() -> HttpResult {
 | 
				
			||||||
 | 
					    Ok(HttpResponse::Ok().json(vec![OTAPlatform::Wt32Eth01]))
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Reference in New Issue
	
	Block a user