// Copyright (C) 2023 Aravinth Manivannan // SPDX-FileCopyrightText: 2023 Aravinth Manivannan // // SPDX-License-Identifier: MIT //! A software project that resides on a forge (Gitea, GitLab, etc.). use serde::{Deserialize, Serialize}; use crate::Repository; /// A software project that resides on a forge (Gitea, GitLab, etc.). #[derive(Clone, Debug, Serialize, Deserialize, Default, Eq, PartialEq)] pub struct Project { /// Unique identifier of the project pub index: usize, /// Name of the project, relative to the owner pub name: String, /// Owner of the project, either a forge user or an organization. pub owner: String, /// True if the visibility of the project is not public. pub is_private: bool, /// True if it is a mirror of a project residing on another forge pub is_mirror: bool, /// Long, multiline, description of the project. pub description: String, /// URL to clone the git repository of the project. pub clone_url: String, /// URL of the homepage of the project pub original_url: String, /// Name of the default branch in the git repository pub default_branch: String, pub repositories: Vec, }