Updated UI with accounts and fixed routing

This commit is contained in:
2025-04-13 21:35:08 -04:00
parent d5bc4cafb8
commit 592de030c8
24 changed files with 256 additions and 108 deletions

2
api/Cargo.lock generated
View File

@@ -366,7 +366,7 @@ dependencies = [
[[package]]
name = "api"
version = "0.1.2"
version = "0.1.3"
dependencies = [
"actix-cors",
"actix-multipart",

View File

@@ -1,9 +1,9 @@
[package]
name = "api"
version = "0.1.2"
version = "0.1.3"
edition = "2021"
authors = ["Ben Sherriff <hello@bensherriff.com>"]
repository = "https://github.com/bensherriff/aviation-weather"
authors = ["Ben Sherriff <ben@bensherriff.com>"]
repository = "https://gitea.bensherriff.com/bsherriff/aviation"
readme = "../README.md"
license = "GPL-3.0-or-later"

View File

@@ -140,7 +140,9 @@ async fn validate_session(req: HttpRequest) -> HttpResponse {
session_id,
ip_address
);
return ResponseError::error_response(&Error::new(500, err.to_string()));
return HttpResponse::Unauthorized()
.cookie(Session::empty_cookie())
.finish();
}
};
let email = &session.email;

View File

@@ -59,20 +59,26 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
}
}
let certificate_path = env::var("SSL_CA_PATH")?;
let certificate_data = std::fs::read(certificate_path)?;
let certificate = Certificate::from_pem(&certificate_data)?;
let client = reqwest::Client::builder()
let mut client_builder = reqwest::Client::builder()
.timeout(Duration::from_secs(10))
.add_root_certificate(certificate)
.tls_built_in_root_certs(true)
.tls_built_in_root_certs(true);
if let Ok(val) = env::var("NGINX_SSL_ENABLED") {
if val == "true" {
let certificate_path = env::var("SSL_CA_PATH")?;
let certificate_data = std::fs::read(certificate_path)?;
let certificate = Certificate::from_pem(&certificate_data)?;
client_builder = client_builder.add_root_certificate(certificate);
}
}
let client = client_builder
.build()
.expect("Failed to create reqwest client");
let state = AppState { client };
let host = "0.0.0.0";
let port = "5000";
let port = env::var("API_PORT").unwrap_or("5000".to_string());
let server = match HttpServer::new(move || {
let cors = Cors::default()

View File

@@ -11,7 +11,7 @@ pub struct SystemInfo {
#[get("/info")]
async fn info() -> HttpResponse {
let mut healthy = true;
let version = match env::var("API_VERSION") {
let version = match env::var("CARGO_PKG_VERSION") {
Ok(v) => v,
Err(_) => {
healthy = false;
@@ -19,8 +19,6 @@ async fn info() -> HttpResponse {
}
};
dbg!(&version);
let info = SystemInfo { version, healthy };
HttpResponse::Ok().json(info)