diff --git a/crates/adapters/template-askama/templates/diary.html b/crates/adapters/template-askama/templates/diary.html
index ac0492e..61fc515 100644
--- a/crates/adapters/template-askama/templates/diary.html
+++ b/crates/adapters/template-askama/templates/diary.html
@@ -21,6 +21,13 @@
{% endif %}
{{ entry.review().watched_at().format("%Y-%m-%d") }}
+ {% if let Some(uid) = ctx.user_id %}
+ {% if *uid == entry.review().user_id().value() %}
+
+ {% endif %}
+ {% endif %}
{% else %}
diff --git a/crates/application/src/ports.rs b/crates/application/src/ports.rs
index f11ff46..1b03f17 100644
--- a/crates/application/src/ports.rs
+++ b/crates/application/src/ports.rs
@@ -1,7 +1,10 @@
+use uuid::Uuid;
+
use domain::models::{DiaryEntry, collections::Paginated};
pub struct HtmlPageContext {
pub user_email: Option,
+ pub user_id: Option,
pub register_enabled: bool,
}
diff --git a/crates/presentation/src/handlers.rs b/crates/presentation/src/handlers.rs
index 872649d..72d2ae5 100644
--- a/crates/presentation/src/handlers.rs
+++ b/crates/presentation/src/handlers.rs
@@ -24,11 +24,12 @@ pub mod html {
};
async fn build_page_context(state: &AppState, user_id: Option) -> HtmlPageContext {
- let user_email = if let Some(id) = user_id {
+ let uuid = user_id.as_ref().map(|u| u.value());
+ let user_email = if let Some(ref id) = user_id {
state
.app_ctx
.user_repository
- .find_by_id(&id)
+ .find_by_id(id)
.await
.ok()
.flatten()
@@ -38,6 +39,7 @@ pub mod html {
};
HtmlPageContext {
user_email,
+ user_id: uuid,
register_enabled: state.app_ctx.config.allow_registration,
}
}
@@ -89,6 +91,7 @@ pub mod html {
) -> impl IntoResponse {
let ctx = HtmlPageContext {
user_email: None,
+ user_id: None,
register_enabled: state.app_ctx.config.allow_registration,
};
let html = state
@@ -140,6 +143,7 @@ pub mod html {
}
let ctx = HtmlPageContext {
user_email: None,
+ user_id: None,
register_enabled: true,
};
let html = state