mirror of
https://gitlab.com/comunic/comunicapiv3
synced 2025-06-21 00:45:18 +00:00
Start to implement posts creation
This commit is contained in:
@ -414,6 +414,17 @@ pub fn respond_request(group_id: &GroupID, user_id: &UserID, accept: bool) -> Re
|
||||
}
|
||||
}
|
||||
|
||||
/// check out whether a user can create posts on a group or not
|
||||
pub fn can_user_create_posts(group_id: &GroupID, user_id: &UserID) -> ResultBoxError<bool> {
|
||||
let membership_level = get_membership_level(group_id, user_id.as_option())?;
|
||||
|
||||
match membership_level {
|
||||
GroupMembershipLevel::ADMINISTRATOR | GroupMembershipLevel::MODERATOR => Ok(true),
|
||||
GroupMembershipLevel::MEMBER => Ok(get_info(group_id)?.posts_creation_level == GroupPostsCreationLevel::POSTS_LEVEL_ALL_MEMBERS),
|
||||
_ => Ok(false),
|
||||
}
|
||||
}
|
||||
|
||||
/// Turn a database entry into a group struct
|
||||
fn db_to_group(row: &database::RowResult) -> ResultBoxError<Group> {
|
||||
let group_id = row.get_group_id("id")?;
|
||||
|
Reference in New Issue
Block a user