Преглед изворни кода

Pass user data to handlers

Lee Morgan пре 1 месец
родитељ
комит
4c76c60a1c
1 измењених фајлова са 5 додато и 4 уклоњено
  1. 5 4
      src/main.rs

+ 5 - 4
src/main.rs

@@ -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)
     })