use super::*;
use super::user::User;
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Repository {
pub id: u64,
pub owner: User,
pub name: String,
pub full_name: String,
pub description: String,
pub empty: bool,
pub private: bool,
pub fork: bool,
pub template: bool,
pub mirror: bool,
pub size: i64,
pub language: String,
pub languages_url: String,
pub html_url: String,
pub url: String,
pub link: String,
pub ssh_url: String,
pub clone_url: String,
pub original_url: String,
pub website: String,
pub stars_count: i64,
pub forks_count: i64,
pub watchers_count: i64,
pub open_issues_count: i64,
pub open_pr_counter: i64,
pub release_counter: i64,
pub default_branch: String,
pub archived: bool,
pub created_at: String,
pub updated_at: String,
pub archived_at: String,
pub permissions: Permissions,
pub has_issues: bool,
pub internal_tracker: InternalTracker,
pub has_wiki: bool,
pub has_pull_requests: bool,
pub has_projects: bool,
pub has_releases: bool,
pub has_packages: bool,
pub has_actions: bool,
pub ignore_whitespace_conflicts: bool,
pub allow_merge_commits: bool,
pub allow_rebase: bool,
pub allow_rebase_explicit: bool,
pub allow_squash_merge: bool,
pub allow_rebase_update: bool,
pub default_delete_branch_after_merge: bool,
pub default_merge_style: String,
pub default_allow_maintainer_edit: bool,
pub avatar_url: String,
pub internal: bool,
pub mirror_interval: String,
pub mirror_updated: String,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct Permissions {
pub admin: bool,
pub push: bool,
pub pull: bool,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct InternalTracker {
pub enable_time_tracker: bool,
pub allow_only_contributors_to_track_time: bool,
pub enable_issue_dependencies: bool,
}