mirror of
https://gitlab.com/comunic/comunicapiv3
synced 2024-11-26 23:39:22 +00:00
Can delete group membership notifications
This commit is contained in:
parent
bb06760437
commit
de9304a604
@ -39,7 +39,8 @@ pub fn create_friends_notification(from_user: &UserID, dest_user: &UserID, actio
|
|||||||
|
|
||||||
/// Create & push a group membership notification
|
/// Create & push a group membership notification
|
||||||
pub fn create_group_membership_notification(user_id: &UserID, moderator_id: Option<&UserID>, group_id: &GroupID, kind: NotifEventType) -> ResultBoxError {
|
pub fn create_group_membership_notification(user_id: &UserID, moderator_id: Option<&UserID>, group_id: &GroupID, kind: NotifEventType) -> ResultBoxError {
|
||||||
// TODO : Delete related group membership notifications
|
// Delete related group membership notifications
|
||||||
|
delete_all_related_to_group_membership_notifications(user_id, group_id)?;
|
||||||
|
|
||||||
let mut n = PartialNotification::new()
|
let mut n = PartialNotification::new()
|
||||||
.set_on_elem_id(group_id.id())
|
.set_on_elem_id(group_id.id())
|
||||||
@ -267,6 +268,23 @@ pub fn delete_all_related_with_group(group_id: &GroupID) -> ResultBoxError {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Delete all the notifications related to a group membership
|
||||||
|
pub fn delete_all_related_to_group_membership_notifications(user_id: &UserID, group_id: &GroupID) -> ResultBoxError {
|
||||||
|
let mut n = PartialNotification::new()
|
||||||
|
.set_on_elem_type(NotifElemType::GROUP_MEMBERSHIP)
|
||||||
|
.set_on_elem_id(group_id.id());
|
||||||
|
|
||||||
|
n.dest_user_id = Some(user_id.clone());
|
||||||
|
n.from_user_id = None;
|
||||||
|
delete(&n)?;
|
||||||
|
|
||||||
|
n.dest_user_id = None;
|
||||||
|
n.from_user_id = Some(user_id.clone());
|
||||||
|
delete(&n)?;
|
||||||
|
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
|
||||||
/// Check out whether a similar notification exists for given specifications
|
/// Check out whether a similar notification exists for given specifications
|
||||||
pub fn similar_exists(n: &PartialNotification) -> ResultBoxError<bool> {
|
pub fn similar_exists(n: &PartialNotification) -> ResultBoxError<bool> {
|
||||||
database::QueryInfo::new(NOTIFICATIONS_TABLE)
|
database::QueryInfo::new(NOTIFICATIONS_TABLE)
|
||||||
|
Loading…
Reference in New Issue
Block a user