From 40fb4ebbb9c88754bafc9b115841712ad023d099 Mon Sep 17 00:00:00 2001 From: Vincent Ambo Date: Tue, 1 May 2018 23:00:15 +0200 Subject: refactor(handlers/render): Use users from database for all functions Converse now sets the user ID as the session identity parameter in actix_web's identity middleware after a successful login and uses the ID to determine identity when creating threads & posts and when validating edit permissions. --- src/render.rs | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'src/render.rs') diff --git a/src/render.rs b/src/render.rs index bc1197bc15..63a89d99ee 100644 --- a/src/render.rs +++ b/src/render.rs @@ -87,7 +87,7 @@ impl Handler for Renderer { /// Message used to render a thread. pub struct ThreadPage { - pub current_user: Option, + pub current_user: i32, pub thread: Thread, pub posts: Vec, } @@ -122,9 +122,7 @@ fn prepare_thread(comrak: &ComrakOptions, page: ThreadPage) -> RenderableThreadP let user = page.current_user; let posts = page.posts.into_iter().map(|post| { - let editable = user.clone() - .map(|c| post.author_email.eq(&c)) - .unwrap_or_else(|| false); + let editable = user != 1 && post.user_id == user; RenderablePost { id: post.id, -- cgit 1.4.1