Skip to content

Commit

Permalink
Merge pull request #2632 from acterglobal/ben-stories-permission
Browse files Browse the repository at this point in the history
Add Permission Check for CanPostStories
  • Loading branch information
gnunicorn authored Feb 18, 2025
2 parents f346e42 + bb71413 commit 40e52a6
Show file tree
Hide file tree
Showing 3 changed files with 43 additions and 18 deletions.
1 change: 1 addition & 0 deletions native/acter/api.rsh
Original file line number Diff line number Diff line change
Expand Up @@ -2503,6 +2503,7 @@ enum MemberPermission {
CanToggleReaction,
CanSendSticker,
CanPostNews,
CanPostStories,
CanPostPin,
CanPostEvent,
CanPostTaskList,
Expand Down
19 changes: 19 additions & 0 deletions native/acter/src/api/room.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ use acter_core::{
news::NewsEntryEventContent,
pins::PinEventContent,
settings::ActerAppSettingsContent,
stories::StoryEventContent,
tasks::{TaskEventContent, TaskListEventContent},
RefDetails as CoreRefDetails, RefPreview,
},
Expand Down Expand Up @@ -87,6 +88,7 @@ pub enum MemberPermission {
CanSendSticker,
// Acter Specific actions
CanPostNews,
CanPostStories,
CanPostPin,
CanPostEvent,
CanPostTaskList,
Expand Down Expand Up @@ -211,6 +213,23 @@ impl Member {
return false;
}
}

// Acter specific
MemberPermission::CanPostStories => {
if self
.acter_app_settings
.as_ref()
.map(|s| s.stories().active())
.unwrap_or_default()
{
PermissionTest::Message(MessageLikeEventType::from(
<StoryEventContent as StaticEventContent>::TYPE,
))
} else {
// Not an acter space or story Posts are not activated..
return false;
}
}
MemberPermission::CanPostPin => {
if self
.acter_app_settings
Expand Down
41 changes: 23 additions & 18 deletions packages/rust_sdk/lib/acter_flutter_sdk_ffi.dart
Original file line number Diff line number Diff line change
Expand Up @@ -64331,6 +64331,7 @@ enum MemberPermissionTag {
CanToggleReaction,
CanSendSticker,
CanPostNews,
CanPostStories,
CanPostPin,
CanPostEvent,
CanPostTaskList,
Expand Down Expand Up @@ -64379,78 +64380,82 @@ class MemberPermission {

break;
case 4:
this._tag = MemberPermissionTag.CanPostPin;
this._tag = MemberPermissionTag.CanPostStories;

break;
case 5:
this._tag = MemberPermissionTag.CanPostEvent;
this._tag = MemberPermissionTag.CanPostPin;

break;
case 6:
this._tag = MemberPermissionTag.CanPostTaskList;
this._tag = MemberPermissionTag.CanPostEvent;

break;
case 7:
this._tag = MemberPermissionTag.CanPostTask;
this._tag = MemberPermissionTag.CanPostTaskList;

break;
case 8:
this._tag = MemberPermissionTag.CanBan;
this._tag = MemberPermissionTag.CanPostTask;

break;
case 9:
this._tag = MemberPermissionTag.CanKick;
this._tag = MemberPermissionTag.CanBan;

break;
case 10:
this._tag = MemberPermissionTag.CanInvite;
this._tag = MemberPermissionTag.CanKick;

break;
case 11:
this._tag = MemberPermissionTag.CanRedactOwn;
this._tag = MemberPermissionTag.CanInvite;

break;
case 12:
this._tag = MemberPermissionTag.CanRedactOther;
this._tag = MemberPermissionTag.CanRedactOwn;

break;
case 13:
this._tag = MemberPermissionTag.CanTriggerRoomNotification;
this._tag = MemberPermissionTag.CanRedactOther;

break;
case 14:
this._tag = MemberPermissionTag.CanUpgradeToActerSpace;
this._tag = MemberPermissionTag.CanTriggerRoomNotification;

break;
case 15:
this._tag = MemberPermissionTag.CanSetName;
this._tag = MemberPermissionTag.CanUpgradeToActerSpace;

break;
case 16:
this._tag = MemberPermissionTag.CanUpdateAvatar;
this._tag = MemberPermissionTag.CanSetName;

break;
case 17:
this._tag = MemberPermissionTag.CanUpdateJoinRule;
this._tag = MemberPermissionTag.CanUpdateAvatar;

break;
case 18:
this._tag = MemberPermissionTag.CanSetTopic;
this._tag = MemberPermissionTag.CanUpdateJoinRule;

break;
case 19:
this._tag = MemberPermissionTag.CanLinkSpaces;
this._tag = MemberPermissionTag.CanSetTopic;

break;
case 20:
this._tag = MemberPermissionTag.CanUpdatePowerLevels;
this._tag = MemberPermissionTag.CanLinkSpaces;

break;
case 21:
this._tag = MemberPermissionTag.CanSetParentSpace;
this._tag = MemberPermissionTag.CanUpdatePowerLevels;

break;
case 22:
this._tag = MemberPermissionTag.CanSetParentSpace;

break;
case 23:
this._tag = MemberPermissionTag.CanChangeAppSettings;

break;
Expand Down

0 comments on commit 40e52a6

Please sign in to comment.