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
22 lines
651 B
Rust
22 lines
651 B
Rust
use crate::models::common::KeyType;
|
|
use chrono::{DateTime, Utc};
|
|
use serde::{Deserialize, Serialize};
|
|
use uuid::Uuid;
|
|
|
|
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, sqlx::FromRow, utoipa::ToSchema)]
|
|
pub struct RepoDeployKey {
|
|
pub id: Uuid,
|
|
pub repo_id: Uuid,
|
|
pub title: String,
|
|
pub public_key: String,
|
|
pub fingerprint_sha256: String,
|
|
pub key_type: KeyType,
|
|
pub read_only: bool,
|
|
pub last_used_at: Option<DateTime<Utc>>,
|
|
pub expires_at: Option<DateTime<Utc>>,
|
|
pub revoked_at: Option<DateTime<Utc>>,
|
|
pub created_by: Uuid,
|
|
pub created_at: DateTime<Utc>,
|
|
pub updated_at: DateTime<Utc>,
|
|
}
|