Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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:

RoleId

Permission

d3wdk3az7tnbtjcrgwriw8fjmc

manage_channel_roles

d3wdk3az7tnbtjcrgwriw8fjmc

import_team

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.

...