mirror of
https://github.com/LemmyNet/lemmy.git
synced 2024-11-30 08:11:20 +00:00
Private message query debugging.
This commit is contained in:
parent
1c113f915e
commit
ceae7eb47a
2 changed files with 37 additions and 16 deletions
|
@ -53,6 +53,17 @@ impl Perform for CreateComment {
|
||||||
|
|
||||||
let content_slurs_removed = remove_slurs(&data.content.to_owned());
|
let content_slurs_removed = remove_slurs(&data.content.to_owned());
|
||||||
|
|
||||||
|
// Check for a community ban
|
||||||
|
let post_id = data.post_id;
|
||||||
|
let post = get_post(post_id, context.pool()).await?;
|
||||||
|
|
||||||
|
check_community_ban(user.id, post.community_id, context.pool()).await?;
|
||||||
|
|
||||||
|
// Check if post is locked, no new comments
|
||||||
|
if post.locked {
|
||||||
|
return Err(APIError::err("locked").into());
|
||||||
|
}
|
||||||
|
|
||||||
let comment_form = CommentForm {
|
let comment_form = CommentForm {
|
||||||
content: content_slurs_removed,
|
content: content_slurs_removed,
|
||||||
parent_id: data.parent_id.to_owned(),
|
parent_id: data.parent_id.to_owned(),
|
||||||
|
@ -67,17 +78,6 @@ impl Perform for CreateComment {
|
||||||
local: true,
|
local: true,
|
||||||
};
|
};
|
||||||
|
|
||||||
// Check for a community ban
|
|
||||||
let post_id = data.post_id;
|
|
||||||
let post = get_post(post_id, context.pool()).await?;
|
|
||||||
|
|
||||||
check_community_ban(user.id, post.community_id, context.pool()).await?;
|
|
||||||
|
|
||||||
// Check if post is locked, no new comments
|
|
||||||
if post.locked {
|
|
||||||
return Err(APIError::err("locked").into());
|
|
||||||
}
|
|
||||||
|
|
||||||
// Create the comment
|
// Create the comment
|
||||||
let comment_form2 = comment_form.clone();
|
let comment_form2 = comment_form.clone();
|
||||||
let inserted_comment = match blocking(context.pool(), move |conn| {
|
let inserted_comment = match blocking(context.pool(), move |conn| {
|
||||||
|
@ -133,11 +133,25 @@ impl Perform for CreateComment {
|
||||||
updated_comment.send_like(&user, context).await?;
|
updated_comment.send_like(&user, context).await?;
|
||||||
|
|
||||||
let user_id = user.id;
|
let user_id = user.id;
|
||||||
let comment_view = blocking(context.pool(), move |conn| {
|
let mut comment_view = blocking(context.pool(), move |conn| {
|
||||||
CommentView::read(&conn, inserted_comment.id, Some(user_id))
|
CommentView::read(&conn, inserted_comment.id, Some(user_id))
|
||||||
})
|
})
|
||||||
.await??;
|
.await??;
|
||||||
|
|
||||||
|
// If its a comment to yourself, mark it as read
|
||||||
|
let comment_id = comment_view.comment.id;
|
||||||
|
if user.id == comment_view.get_recipient_id() {
|
||||||
|
match blocking(context.pool(), move |conn| {
|
||||||
|
Comment::update_read(conn, comment_id, true)
|
||||||
|
})
|
||||||
|
.await?
|
||||||
|
{
|
||||||
|
Ok(comment) => comment,
|
||||||
|
Err(_e) => return Err(APIError::err("couldnt_update_comment").into()),
|
||||||
|
};
|
||||||
|
comment_view.comment.read = true;
|
||||||
|
}
|
||||||
|
|
||||||
let mut res = CommentResponse {
|
let mut res = CommentResponse {
|
||||||
comment_view,
|
comment_view,
|
||||||
recipient_ids,
|
recipient_ids,
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
use diesel::{result::Error, *};
|
use diesel::{pg::Pg, result::Error, *};
|
||||||
use lemmy_db_queries::{limit_and_offset, MaybeOptional, ToSafe, ViewToVec};
|
use lemmy_db_queries::{limit_and_offset, MaybeOptional, ToSafe, ViewToVec};
|
||||||
use lemmy_db_schema::{
|
use lemmy_db_schema::{
|
||||||
schema::{private_message, user_, user_alias_1},
|
schema::{private_message, user_, user_alias_1},
|
||||||
|
@ -7,6 +7,7 @@ use lemmy_db_schema::{
|
||||||
user::{UserAlias1, UserSafe, UserSafeAlias1, User_},
|
user::{UserAlias1, UserSafe, UserSafeAlias1, User_},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
use log::debug;
|
||||||
use serde::Serialize;
|
use serde::Serialize;
|
||||||
|
|
||||||
#[derive(Debug, PartialEq, Serialize, Clone)]
|
#[derive(Debug, PartialEq, Serialize, Clone)]
|
||||||
|
@ -102,12 +103,18 @@ impl<'a> PrivateMessageQueryBuilder<'a> {
|
||||||
|
|
||||||
let (limit, offset) = limit_and_offset(self.page, self.limit);
|
let (limit, offset) = limit_and_offset(self.page, self.limit);
|
||||||
|
|
||||||
let res = query
|
query = query
|
||||||
.filter(private_message::deleted.eq(false))
|
.filter(private_message::deleted.eq(false))
|
||||||
.limit(limit)
|
.limit(limit)
|
||||||
.offset(offset)
|
.offset(offset)
|
||||||
.order_by(private_message::published.desc())
|
.order_by(private_message::published.desc());
|
||||||
.load::<PrivateMessageViewTuple>(self.conn)?;
|
|
||||||
|
debug!(
|
||||||
|
"Private Message View Query: {:?}",
|
||||||
|
debug_query::<Pg, _>(&query)
|
||||||
|
);
|
||||||
|
|
||||||
|
let res = query.load::<PrivateMessageViewTuple>(self.conn)?;
|
||||||
|
|
||||||
Ok(PrivateMessageView::from_tuple_to_vec(res))
|
Ok(PrivateMessageView::from_tuple_to_vec(res))
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue