From d2e1792f3cf8a7defddcfe55a471ca7fc55743a0 Mon Sep 17 00:00:00 2001 From: Philippe Loctaux
Date: Fri, 31 Mar 2023 23:56:23 +0200 Subject: [PATCH] ezidam: ability to clone page --- crates/ezidam/src/error.rs | 1 + crates/ezidam/src/page.rs | 1 + crates/ezidam/src/routes/oauth/authorize.rs | 9 ++++----- crates/ezidam/src/routes/root.rs | 1 + 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/crates/ezidam/src/error.rs b/crates/ezidam/src/error.rs index a7944e1..26659c8 100644 --- a/crates/ezidam/src/error.rs +++ b/crates/ezidam/src/error.rs @@ -11,6 +11,7 @@ pub mod content { #[derive(Serialize)] #[serde(crate = "rocket::serde")] + #[derive(Clone)] pub struct Error { pub message: String, pub http_code: u16, diff --git a/crates/ezidam/src/page.rs b/crates/ezidam/src/page.rs index 8a57a09..16045ea 100644 --- a/crates/ezidam/src/page.rs +++ b/crates/ezidam/src/page.rs @@ -8,6 +8,7 @@ use crate::menu::MenuWithActiveItem; use erased_serde::Serialize; pub use flash::FlashKind; +#[derive(Clone)] pub enum Page { Error(Error), Setup, diff --git a/crates/ezidam/src/routes/oauth/authorize.rs b/crates/ezidam/src/routes/oauth/authorize.rs index d030ecf..c2b1b80 100644 --- a/crates/ezidam/src/routes/oauth/authorize.rs +++ b/crates/ezidam/src/routes/oauth/authorize.rs @@ -29,16 +29,15 @@ pub async fn authorize_page( transaction.commit().await?; - // Define content - let content = super::content::Authorize { + let page = Page::Authorize(super::content::Authorize { app_name: app.label().into(), business_name: settings.business_name().into(), user: user.map(|user| user.0), - }; + }); Ok(flash - .map(|flash| Page::with_flash(Page::Authorize(content.clone()), flash)) - .unwrap_or_else(|| Page::Authorize(content).into())) + .map(|flash| Page::with_flash(page.clone(), flash)) + .unwrap_or_else(|| page.into())) } #[get("/oauth/authorize", rank = 2)] diff --git a/crates/ezidam/src/routes/root.rs b/crates/ezidam/src/routes/root.rs index 19b75ae..18199a0 100644 --- a/crates/ezidam/src/routes/root.rs +++ b/crates/ezidam/src/routes/root.rs @@ -87,6 +87,7 @@ pub mod content { #[derive(Serialize)] #[serde(crate = "rocket::serde")] + #[derive(Clone)] pub struct Homepage { pub user: JwtClaims, }