You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Establish a Permissions interface within the /r/boards to manage role-based access control and support callback-driven permission checks. This system should be adaptable for different levels of user roles (Owners, Admins, Moderators, Members) and should facilitate future integration with an AdminDAO for governance. The core purpose is to create a composable permission structure that allows for the encapsulation of logic related to user actions, checks, and role management.
Moderation and Ownership Recap:
Owners: Can perform all board-level operations, including adding or removing other owners, except for removing themselves without a successor.
Admins: Can manage board settings, content, and user roles up to moderator level but cannot remove owners.
Moderators: Can flag or delete content within configured thresholds.
Members: Have basic posting rights based on board-specific settings.
Note
The full version will include AdminDAO interaction, but this initializes the core Permission work as a proof of concept and should provide an interim solution for AdminDAO and other moderation tasks as needed.
Related to #3139
Permissioner interface is defined based on Jae's idea to handle permissioned tasks.
---------
Co-authored-by: Jae Kwon <[email protected]>
Context:
Establish a
Permissions
interface within the/r/boards
to manage role-based access control and support callback-driven permission checks. This system should be adaptable for different levels of user roles (Owners
,Admins
,Moderators
,Members
) and should facilitate future integration with anAdminDAO
for governance. The core purpose is to create a composable permission structure that allows for the encapsulation of logic related to user actions, checks, and role management.Moderation and Ownership Recap:
Note
The full version will include
AdminDAO
interaction, but this initializes the corePermission
work as a proof of concept and should provide an interim solution forAdminDAO
and other moderation tasks as needed.Acceptance Criteria:
Permissions` interface includes methods to account for board level operations based on roles.
Example
Implements
DefaultPermissions
as an initial realization of thePermissions
interface:AdminDAO
instance (which can be an address) for handling administrative decisions.Example
Provides
WithPermission()
to validate user roles and execute callback actions based on permission checks.Example
Methods similar to
GetRoles()
andGetUsers(role)
provide efficient role and user management.A method similar to
HasPermission()
is used for pre-checking if a user has the required access to perform an action.The text was updated successfully, but these errors were encountered: