use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CollaborationConfig {
pub team_management: TeamManagementConfig,
pub contribution_tracking: ContributionTrackingConfig,
pub code_review: CodeReviewConfig,
pub community_config: CommunityConfig,
pub knowledge_sharing: KnowledgeSharingConfig,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TeamManagementConfig {
pub max_team_size: usize,
pub roles: Vec<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ContributionTrackingConfig {
pub track_contributions: bool,
pub metrics: Vec<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CodeReviewConfig {
pub require_review: bool,
pub min_reviewers: usize,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CommunityConfig {
pub enable_forums: bool,
pub moderation_enabled: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct KnowledgeSharingConfig {
pub enable_sharing: bool,
pub sharing_formats: Vec<String>,
}