Redirect old dashboard routes to new routes

This commit is contained in:
jude 2024-06-04 16:40:39 +01:00
parent 9d452ed8cb
commit 65b8ba3b47
4 changed files with 330 additions and 297 deletions

596
Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -1,16 +1,27 @@
server { server {
server_name www.reminder-bot.com; server_name www.reminder-bot.com;
return 301 $scheme://reminder-bot.com$request_uri; return 301 https://reminder-bot.com$request_uri;
} }
server { server {
listen 80; listen 80;
server_name reminder-bot.com; server_name beta.reminder-bot.com;
return 301 https://reminder-bot.com$request_uri; return 301 https://reminder-bot.com$request_uri;
} }
server {
listen 443 ssl;
server_name beta.reminder-bot.com;
ssl_certificate /etc/letsencrypt/live/beta.reminder-bot.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/beta.reminder-bot.com/privkey.pem;
return 301 https://reminder-bot.com$request_uri;
}
server { server {
listen 443 ssl; listen 443 ssl;
server_name reminder-bot.com; server_name reminder-bot.com;
@ -25,6 +36,8 @@ server {
proxy_buffers 4 256k; proxy_buffers 4 256k;
proxy_busy_buffers_size 256k; proxy_busy_buffers_size 256k;
client_max_body_size 10M;
location / { location / {
proxy_pass http://localhost:18920; proxy_pass http://localhost:18920;
proxy_redirect off; proxy_redirect off;

View File

@ -177,6 +177,8 @@ pub async fn initialize(
.mount( .mount(
"/dashboard", "/dashboard",
routes![ routes![
routes::dashboard::reminders_redirect,
routes::dashboard::todos_redirect,
routes::dashboard::dashboard, routes::dashboard::dashboard,
routes::dashboard::dashboard_home, routes::dashboard::dashboard_home,
routes::dashboard::api::delete_reminder, routes::dashboard::api::delete_reminder,

View File

@ -697,6 +697,18 @@ pub enum DashboardPage {
NotConfigured(Template), NotConfigured(Template),
} }
// Legacy route to maintain compatibility with old dashboard routing
#[get("/?<id>")]
pub async fn reminders_redirect(id: &str) -> Redirect {
Redirect::to(format!("/dashboard/{}/reminders", id))
}
// Legacy route to maintain compatibility with old dashboard routing
#[get("/todo?<id>")]
pub async fn todos_redirect(id: &str) -> Redirect {
Redirect::to(format!("/dashboard/{}/todos", id))
}
#[get("/")] #[get("/")]
pub async fn dashboard_home(cookies: &CookieJar<'_>) -> DashboardPage { pub async fn dashboard_home(cookies: &CookieJar<'_>) -> DashboardPage {
if cookies.get_private("userid").is_some() { if cookies.get_private("userid").is_some() {