diff --git a/crates/lib/actix_cors_configs/src/configs/artcraft_admin_dashboard.rs b/crates/lib/actix_cors_configs/src/configs/artcraft_admin_dashboard.rs new file mode 100644 index 0000000000..018c57ed83 --- /dev/null +++ b/crates/lib/actix_cors_configs/src/configs/artcraft_admin_dashboard.rs @@ -0,0 +1,10 @@ +use actix_cors::Cors; +use crate::util::netlify_branch_domain_matches::netlify_branch_domain_matches; + +pub fn add_artcraft_admin_dashboard(cors: Cors, _is_production: bool) -> Cors { + cors + .allowed_origin("https://artcraft-dashboard.netlify.app") + .allowed_origin_fn(|origin, _req_head| { + netlify_branch_domain_matches(origin, "artcraft-dashboard.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 907c27765e..61d339d7f4 100644 --- a/crates/lib/actix_cors_configs/src/configs/mod.rs +++ b/crates/lib/actix_cors_configs/src/configs/mod.rs @@ -1,3 +1,4 @@ +pub (crate) mod artcraft_admin_dashboard; pub (crate) mod artcraft_2d; pub (crate) mod artcraft_3d; pub (crate) mod artcraft_website; diff --git a/crates/lib/actix_cors_configs/src/cors.rs b/crates/lib/actix_cors_configs/src/cors.rs index f4cffa9f94..2c75e9eed7 100644 --- a/crates/lib/actix_cors_configs/src/cors.rs +++ b/crates/lib/actix_cors_configs/src/cors.rs @@ -1,6 +1,7 @@ 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_website::add_artcraft_website; @@ -48,6 +49,7 @@ fn do_build_cors_config(is_production: bool) -> Cors { cors = add_artcraft_2d(cors, is_production); cors = add_artcraft_3d(cors, is_production); cors = add_artcraft_website(cors, is_production); + cors = add_artcraft_admin_dashboard(cors, is_production); // Legacy cors = add_legacy_trumped(cors, is_production);