use chrono::{DateTime, Utc}; use serde::{Deserialize, Serialize}; use uuid::Uuid; #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, sqlx::FromRow, utoipa::ToSchema)] pub struct BranchProtectionRule { pub id: Uuid, pub repo_id: Uuid, pub pattern: String, pub require_approvals: i32, pub require_status_checks: bool, pub required_status_checks: Vec, pub require_linear_history: bool, pub allow_force_pushes: bool, pub allow_deletions: bool, pub require_signed_commits: bool, pub require_code_owner_review: bool, pub dismiss_stale_reviews: bool, pub restrict_pushes: bool, pub push_allowances: Vec, pub restrict_review_dismissal: bool, pub dismissal_allowances: Vec, pub require_conversation_resolution: bool, pub created_by: Option, pub created_at: DateTime, pub updated_at: DateTime, }