...
create_post_public
create_post_ephemeral
delete_post
/delete_others_posts
(exposed in schemes UI)edit_post
/edit_others_posts
(exposed in schemes UI)manage_channel_roles
manage_public_channel_properties
/manage_private_channel_properties
(exposed in schemes UI)delete_public_channel
/delete_private_channel
(exposed in schemes UI)read_channel
remove_others_reactions
upload_file
Question for PM: Do we need to expose create_post
and use_channel_mentions
in the system and team schemes UI?
Schema
No schema changes unless the performance of updating non-moderated channel-scoped permissions on the higher-scoped schemes is problematic, in which case the schema of storing permissions can be changed from a space-separated list of strings in the Permissions
column of the Roles
table to a join table, something like:
|
|
---|---|
|
|
|
|
After that change, adding and removing permissions form roles becomes easier because although may get faster because—although it would still need to be done once per role (ie 3x) per affected channel per affected permission, at permission—at least the string parsing could be eliminated per role and indexes could be leveraged.
...