this repo has no description
at main 39 lines 916 B view raw
1use sqlx::SqlitePool; 2 3#[derive(Clone)] 4pub struct AppState { 5 pub db: SqlitePool, 6 pub jwt_secret: String, 7 pub vapid_private_key_pem: String, 8 pub vapid_public_key: String, 9} 10 11impl AppState { 12 pub fn new(db: SqlitePool, jwt_secret: String, vapid_pem: String, vapid_pub: String) -> Self { 13 Self { 14 db, 15 jwt_secret, 16 vapid_private_key_pem: vapid_pem, 17 vapid_public_key: vapid_pub, 18 } 19 } 20} 21 22pub fn jwt_secret() -> String { 23 std::env::var("JWT_SECRET").unwrap_or_else(|_| "dev-secret-change-me".to_string()) 24} 25 26pub fn database_url() -> String { 27 std::env::var("DATABASE_URL").unwrap_or_else(|_| "sqlite:ayos.db".to_string()) 28} 29 30pub fn static_dir() -> Option<String> { 31 std::env::var("STATIC_DIR").ok() 32} 33 34pub fn port() -> u16 { 35 std::env::var("PORT") 36 .ok() 37 .and_then(|p| p.parse().ok()) 38 .unwrap_or(3001) 39}