Files
gitks/models/repos/branch_protection_rule.rs
T
zhenyi 7368ba676c feat(api): add comprehensive repository management API endpoints
- Introduce new repo module with complete repository functionality
- Add endpoints for repository CRUD operations (create, get, update, archive, delete)
- Implement branch management with create, list, delete and protection features
- Add tag management with create, list and delete operations
- Include release management with create, update and delete capabilities
- Support repository forking with sync functionality
- Implement starring and watching mechanisms for repositories
- Add member management with roles and invitations
- Provide deploy key management for CI/CD integration
- Create webhook management for external integrations
- Implement branch protection rules with approval requirements
- Add commit status and comment functionality for code reviews
- Include merge checking logic for pull requests
- Register all new endpoints in OpenAPI documentation
- Configure routes to handle new repository-specific paths
2026-06-07 19:19:53 +08:00

28 lines
914 B
Rust

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<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>,
}