7368ba676c
- 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
28 lines
914 B
Rust
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>,
|
|
}
|