use space::Space; use crate::errors::IssueError; use crate::services::service::IssueService; pub async fn require_board_manage( _service: &IssueService, space: &Space, caller: i64, ) -> Result<(), IssueError> { if is_board_manager(_service, space, caller).await? { Ok(()) } else { Err(IssueError::Forbidden) } } pub async fn is_board_manager( _service: &IssueService, space: &Space, caller: i64, ) -> Result { Ok(space.can(caller, space::Capability::ManageChannels).await?) }