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
When creating a new board within the boards realm, an associated AdminDAO must be initialized to manage that specific board. This AdminDAO is responsible for the governance and administration of the individual board, separate from the realm-level AdminDAO. The board-level AdminDAO needs to be designed with appropriate permissions, roles, and functionalities to effectively manage its respective board while integrating with the broader permissions system and realm-level governance.
Acceptance Criteria:
Includes a function to initialize a board-level AdminDAO when creating a new board:
func (board *Board) FlagPost(user Address, postID int, reason string) error {
if !board.AdminDAO.IsModerator(user) {
return fmt.Errorf("unauthorized: only moderators can flag posts")
}
post := board.GetPost(postID)
if post == nil {
return fmt.Errorf("post not found: %d", postID)
}
post.AddFlag(Flag{User: user, Reason: reason})
if post.FlagCount() >= board.Config.ModeratorThreshold {
post.Hide()
}
return nil
}
Unit tests to verify the functionality of the board-level AdminDAO, including:
Admin management
Permission checks
Board-specific configurations
Interaction with the realm-level AdminDAO
Notes:
For the MVP, implement a simple system without proposals for most actions.
Ensure that the board-level AdminDAO has limited scope and cannot affect other boards or the realm-level settings.
The relationship between the realm-level AdminDAO and board-level AdminDAOs should be clearly defined, especially for cases where intervention might be necessary.
The board-level AdminDAO should implement necessary interfaces (e.g., Permissions, MemberDirectory).
Consider the upgrade process for individual boards and how it relates to the realm-level upgrade process in future iterations.
The text was updated successfully, but these errors were encountered:
Context:
When creating a new board within the boards realm, an associated AdminDAO must be initialized to manage that specific board. This AdminDAO is responsible for the governance and administration of the individual board, separate from the realm-level AdminDAO. The board-level AdminDAO needs to be designed with appropriate permissions, roles, and functionalities to effectively manage its respective board while integrating with the broader permissions system and realm-level governance.
Acceptance Criteria:
Includes a function to initialize a board-level AdminDAO when creating a new board:
Example
Defines the structure for the board-level AdminDAO:
Example
Implements the BoardAdminDAO to satisfy the Permissions interface:
Example
Includes functions for the board-level AdminDAO to manage board-specific settings:
Includes role management functions for the board-level AdminDAO:
Ensures the board-level AdminDAO can interact with the board's content:
Includes a function for the board-level AdminDAO to set board-wide notifications
Includes a mechanism for the realm-level AdminDAO to interact with board-level AdminDAOs when necessary (e.g., in cases of policy violations):
Example
Implements a way for the board creator to transfer ownership or dissolve the board if needed
Interacts with flagging system:
Example
Unit tests to verify the functionality of the board-level AdminDAO, including:
Notes:
The text was updated successfully, but these errors were encountered: