Files
appks/models/repos/branch_protection_rule.rs
T
2026-06-07 11:30:56 +08:00

28 lines
896 B
Rust

use chrono::{DateTime, Utc};
use serde::{Deserialize, Serialize};
use uuid::Uuid;
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, sqlx::FromRow)]
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<String>,
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<Uuid>,
pub restrict_review_dismissal: bool,
pub dismissal_allowances: Vec<Uuid>,
pub require_conversation_resolution: bool,
pub created_by: Option<Uuid>,
pub created_at: DateTime<Utc>,
pub updated_at: DateTime<Utc>,
}