add: channels/messages scopes and api endpoints
This commit is contained in:
parent
8f16068a34
commit
b29760d7ec
10 changed files with 195 additions and 63 deletions
|
@ -159,6 +159,11 @@ pub async fn stream_request(
|
|||
|
||||
let ignore_users = crate::ignore_users_gen!(user!, data);
|
||||
|
||||
let channel = match data.0.get_channel_by_id(channel).await {
|
||||
Ok(c) => c,
|
||||
Err(e) => return Err(Html(render_error(e, &jar, &data, &Some(user)).await)),
|
||||
};
|
||||
|
||||
let membership = match data
|
||||
.0
|
||||
.get_membership_by_owner_community(user.id, community)
|
||||
|
@ -168,13 +173,19 @@ pub async fn stream_request(
|
|||
Err(e) => return Err(Html(render_error(e, &jar, &data, &Some(user)).await)),
|
||||
};
|
||||
|
||||
if !channel.check_read(user.id, Some(membership.role)) {
|
||||
return Err(Html(
|
||||
render_error(Error::NotAllowed, &jar, &data, &Some(user)).await,
|
||||
));
|
||||
}
|
||||
|
||||
let can_manage_messages = membership.role.check(CommunityPermission::MANAGE_MESSAGES)
|
||||
| user.permissions.check(FinePermission::MANAGE_MESSAGES);
|
||||
|
||||
let messages = if props.message == 0 {
|
||||
match data
|
||||
.0
|
||||
.get_messages_by_channel(channel, 24, props.page)
|
||||
.get_messages_by_channel(channel.id, 24, props.page)
|
||||
.await
|
||||
{
|
||||
Ok(p) => match data.0.fill_messages(p, &ignore_users).await {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue