rust-package-manager/client/src/package.rs
Ahmet Kaan GÜMÜŞ a968a2db4a feat: client read all, read, download, delete
fix: 🚑 creating table instead of record in database
2024-11-21 04:30:10 +03:00

67 lines
1.4 KiB
Rust

use chrono::{DateTime, Utc};
use serde::{Deserialize, Serialize};
#[derive(Debug, Serialize, Deserialize)]
pub struct Package {
name: String,
publisher: Publisher,
version: Version,
size: u64,
hash: Vec<u8>,
dependencies: Vec<String>,
publish_date_time: DateTime<Utc>,
last_update_date_time: DateTime<Utc>,
location: String,
}
impl Package {
pub fn get_name(&self) -> String {
self.name.clone()
}
}
impl Default for Package {
fn default() -> Self {
Self {
name: Default::default(),
publisher: Default::default(),
version: Default::default(),
size: Default::default(),
hash: Default::default(),
dependencies: Default::default(),
publish_date_time: Default::default(),
last_update_date_time: Default::default(),
location: Default::default(),
}
}
}
#[derive(Debug, Serialize, Deserialize)]
pub struct Version {
first: u8,
second: u8,
third: u8,
}
impl Default for Version {
fn default() -> Self {
Self {
first: Default::default(),
second: Default::default(),
third: Default::default(),
}
}
}
#[derive(Debug, Serialize, Deserialize)]
pub struct Publisher {
name: String,
}
impl Default for Publisher {
fn default() -> Self {
Self {
name: Default::default(),
}
}
}