mirror of
https://github.com/LemmyNet/lemmy.git
synced 2024-12-26 04:41:31 +00:00
Making mark post read fields optional. (#4055)
* Making mark post read fields optional.
* Remove unecessary &
* Fix clippy.
* Addressing PR comments.
* serde(default)
* Revert "serde(default)"
This reverts commit d56afd3075
.
---------
Co-authored-by: Felix Ableitner <me@nutomic.com>
This commit is contained in:
parent
cae25486e4
commit
236c7e24fd
2 changed files with 13 additions and 5 deletions
|
@ -11,14 +11,21 @@ pub async fn mark_post_as_read(
|
|||
context: Data<LemmyContext>,
|
||||
local_user_view: LocalUserView,
|
||||
) -> Result<Json<SuccessResponse>, LemmyError> {
|
||||
let mut post_ids = data.post_ids.iter().cloned().collect::<HashSet<_>>();
|
||||
post_ids.insert(data.post_id);
|
||||
let person_id = local_user_view.person.id;
|
||||
let mut post_ids = HashSet::new();
|
||||
if let Some(post_ids_) = &data.post_ids {
|
||||
post_ids.extend(post_ids_.iter().cloned());
|
||||
}
|
||||
|
||||
if let Some(post_id) = data.post_id {
|
||||
post_ids.insert(post_id);
|
||||
}
|
||||
|
||||
if post_ids.len() > MAX_API_PARAM_ELEMENTS {
|
||||
Err(LemmyErrorType::TooManyItems)?;
|
||||
}
|
||||
|
||||
let person_id = local_user_view.person.id;
|
||||
|
||||
// Mark the post as read / unread
|
||||
if data.read {
|
||||
PostRead::mark_as_read(&mut context.pool(), post_ids, person_id)
|
||||
|
|
|
@ -135,14 +135,15 @@ pub struct RemovePost {
|
|||
pub reason: Option<String>,
|
||||
}
|
||||
|
||||
#[skip_serializing_none]
|
||||
#[derive(Debug, Serialize, Deserialize, Clone, Default)]
|
||||
#[cfg_attr(feature = "full", derive(TS))]
|
||||
#[cfg_attr(feature = "full", ts(export))]
|
||||
/// Mark a post as read.
|
||||
pub struct MarkPostAsRead {
|
||||
/// TODO: deprecated, send `post_ids` instead
|
||||
pub post_id: PostId,
|
||||
pub post_ids: Vec<PostId>,
|
||||
pub post_id: Option<PostId>,
|
||||
pub post_ids: Option<Vec<PostId>>,
|
||||
pub read: bool,
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue