|
|
@@ -1,4 +1,5 @@
|
|
|
-use actix_web::{HttpServer, App, middleware};
|
|
|
+use actix_web::{HttpServer, App, middleware, web};
|
|
|
+use std::sync::Mutex;
|
|
|
|
|
|
mod routes;
|
|
|
mod controllers;
|
|
|
@@ -9,14 +10,13 @@ mod users;
|
|
|
async fn main() -> Result<(), std::io::Error> {
|
|
|
//Environment Variables
|
|
|
dotenvy::from_filename(".env").expect("Failed to load .env file");
|
|
|
-
|
|
|
let port: u16 = env_var("PORT");
|
|
|
let ha_ip: String = env_var("HA_IP");
|
|
|
let ha_token: String = env_var("HA_TOKEN");
|
|
|
|
|
|
//Read User Data
|
|
|
- let users = users::User::read();
|
|
|
- println!("{:#?}", users);
|
|
|
+ let users = Mutex::new(users::User::read());
|
|
|
+ let data = web::Data::new(users);
|
|
|
|
|
|
//Connect to HA
|
|
|
websocket::connect_to_ha(ha_ip, ha_token)
|
|
|
@@ -26,6 +26,7 @@ async fn main() -> Result<(), std::io::Error> {
|
|
|
//Create HTTP server
|
|
|
HttpServer::new(move || {
|
|
|
App::new()
|
|
|
+ .app_data(data.clone())
|
|
|
.wrap(middleware::Compress::default())
|
|
|
.configure(routes::config)
|
|
|
})
|