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
27 lines
839 B
Rust
27 lines
839 B
Rust
use crate::models::common::{GitService, Status, Visibility};
|
|
use chrono::{DateTime, Utc};
|
|
use serde::{Deserialize, Serialize};
|
|
use uuid::Uuid;
|
|
|
|
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, sqlx::FromRow, utoipa::ToSchema)]
|
|
pub struct Repo {
|
|
pub id: Uuid,
|
|
pub workspace_id: Uuid,
|
|
pub owner_id: Uuid,
|
|
pub name: String,
|
|
pub description: Option<String>,
|
|
pub default_branch: String,
|
|
pub visibility: Visibility,
|
|
pub status: Status,
|
|
pub is_fork: bool,
|
|
pub forked_from_repo_id: Option<Uuid>,
|
|
pub storage_node_ids: Vec<Uuid>,
|
|
pub primary_storage_node_id: Uuid,
|
|
pub storage_path: String,
|
|
pub git_service: GitService,
|
|
pub archived_at: Option<DateTime<Utc>>,
|
|
pub created_at: DateTime<Utc>,
|
|
pub updated_at: DateTime<Utc>,
|
|
pub deleted_at: Option<DateTime<Utc>>,
|
|
}
|