use super::User;
use chrono::NaiveDateTime;
#[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Serialize, Deserialize)]
pub struct NewPackage {
pub slug: String,
pub name: String,
pub description: String,
pub readme: String,
pub source: Option<String>,
pub issues: Option<String>,
pub wiki: Option<String>,
}
#[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Serialize, Deserialize)]
pub struct PackageUpdate {
pub name: Option<String>,
pub description: Option<String>,
pub readme: Option<String>,
pub source: Option<String>,
pub issues: Option<String>,
pub wiki: Option<String>,
}
#[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Serialize, Deserialize)]
pub struct PackageWithData {
pub id: i32,
pub slug: String,
pub name: String,
pub description: String,
pub authors: Vec<User>,
pub readme: String,
pub source: Option<String>,
pub issues: Option<String>,
pub wiki: Option<String>,
pub views: i32,
pub downloads: i32,
pub created_at: NaiveDateTime,
pub updated_at: NaiveDateTime,
}