From ac9456dcf837acd421851f579df84f4195360da5 Mon Sep 17 00:00:00 2001
From: Pijar <pierre.jarriges@tutanota.com>
Date: Thu, 2 Jun 2022 14:45:35 +0200
Subject: [PATCH] fix dyn_sitemap router service

---
 public/standard/robots.txt   | 4 ++--
 src/main.rs                  | 3 ++-
 src/standard_static_files.rs | 9 +++++++++
 3 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/public/standard/robots.txt b/public/standard/robots.txt
index bb4165f..ebedbc1 100644
--- a/public/standard/robots.txt
+++ b/public/standard/robots.txt
@@ -1,4 +1,4 @@
 User-agent: *
-Sitemap: https://kuadrado-software.fr/standard/sitemap.xml
-Sitemap: https://kuadrado-software.fr/standard/dyn_sitemap.xml
+Sitemap: https://kuadrado-software.fr/sitemap.xml
+Sitemap: https://kuadrado-software.fr/dyn_sitemap.xml
 
diff --git a/src/main.rs b/src/main.rs
index f9decf9..7506cd5 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -23,7 +23,7 @@ use env::get_log_level;
 use env_logger::Env;
 use middleware::AuthenticatedAdminMiddleware;
 use service::*;
-use standard_static_files::{favicon, robots, sitemap};
+use standard_static_files::{dyn_sitemap, favicon, robots, sitemap};
 use std::env::var as env_var;
 use tls::get_tls_config;
 use view::get_view;
@@ -92,6 +92,7 @@ async fn main() -> std::io::Result<()> {
             .service(resource("/favicon.ico").route(get().to(favicon)))
             .service(resource("/robots.txt").route(get().to(robots)))
             .service(resource("/sitemap.xml").route(get().to(sitemap)))
+            .service(resource("/dyn_sitemap.xml").route(get().to(dyn_sitemap)))
             /////////////////////////////////////////////////////////////////////////////////////////////////////////////
             // VIEWS ////////////////////////////////////////////////////////////////////////////////////////////////////
             .service(
diff --git a/src/standard_static_files.rs b/src/standard_static_files.rs
index 14b1279..57932c2 100644
--- a/src/standard_static_files.rs
+++ b/src/standard_static_files.rs
@@ -26,3 +26,12 @@ pub async fn sitemap() -> actix_web::Result<NamedFile> {
 
     Ok(NamedFile::open(standard_dir.join("sitemap.xml"))?)
 }
+
+pub async fn dyn_sitemap() -> actix_web::Result<NamedFile> {
+    let standard_dir = std::path::PathBuf::from(
+        std::env::var("RESOURCES_DIR").expect("RESOURCES_DIR is not defined"),
+    )
+    .join("public/standard");
+
+    Ok(NamedFile::open(standard_dir.join("dyn_sitemap.xml"))?)
+}
-- 
GitLab