diff --git a/crates/lib/actix_cors_configs/src/configs/artcraft_webapp.rs b/crates/lib/actix_cors_configs/src/configs/artcraft_webapp.rs new file mode 100644 index 0000000000..93c7a6a16c --- /dev/null +++ b/crates/lib/actix_cors_configs/src/configs/artcraft_webapp.rs @@ -0,0 +1,12 @@ +use actix_cors::Cors; +use crate::util::netlify_branch_domain_matches::netlify_branch_domain_matches; + +pub fn add_artcraft_webapp(cors: Cors, _is_production: bool) -> Cors { + cors + // Actual domains + .allowed_origin("https://app.getartcraft.com") + // Netlify project + .allowed_origin_fn(|origin, _req_head| { + netlify_branch_domain_matches(origin, "artcraft-webapp.netlify.app") + }) +} diff --git a/crates/lib/actix_cors_configs/src/configs/mod.rs b/crates/lib/actix_cors_configs/src/configs/mod.rs index 61d339d7f4..520a7c47e2 100644 --- a/crates/lib/actix_cors_configs/src/configs/mod.rs +++ b/crates/lib/actix_cors_configs/src/configs/mod.rs @@ -1,6 +1,7 @@ pub (crate) mod artcraft_admin_dashboard; pub (crate) mod artcraft_2d; pub (crate) mod artcraft_3d; +pub (crate) mod artcraft_webapp; pub (crate) mod artcraft_website; pub (crate) mod development_only; pub (crate) mod fakeyou; diff --git a/crates/lib/actix_cors_configs/src/cors.rs b/crates/lib/actix_cors_configs/src/cors.rs index 2c75e9eed7..c5f8c37420 100644 --- a/crates/lib/actix_cors_configs/src/cors.rs +++ b/crates/lib/actix_cors_configs/src/cors.rs @@ -1,9 +1,10 @@ use actix_cors::Cors; use log::info; -use crate::configs::artcraft_admin_dashboard::add_artcraft_admin_dashboard; use crate::configs::artcraft_2d::add_artcraft_2d; use crate::configs::artcraft_3d::add_artcraft_3d; +use crate::configs::artcraft_admin_dashboard::add_artcraft_admin_dashboard; +use crate::configs::artcraft_webapp::add_artcraft_webapp; use crate::configs::artcraft_website::add_artcraft_website; use crate::configs::development_only::add_development_only; use crate::configs::fakeyou::{add_fakeyou, add_fakeyou_dev_proxy}; @@ -48,6 +49,7 @@ fn do_build_cors_config(is_production: bool) -> Cors { cors = add_tauri(cors, is_production); cors = add_artcraft_2d(cors, is_production); cors = add_artcraft_3d(cors, is_production); + cors = add_artcraft_webapp(cors, is_production); cors = add_artcraft_website(cors, is_production); cors = add_artcraft_admin_dashboard(cors, is_production);