use chrono::{DateTime, Utc};

#[derive(Clone)]
pub struct Repo {
    pub name: String,
    pub desc: String,
    pub branches: Vec<Branch>,
    pub commit_graph: String,
    pub readme: String,
    pub files: Vec<File>,
    pub last_load: DateTime<Utc>,
}

#[derive(Clone)]
pub struct SimpleRepo {
    pub name: String,
    pub desc: String,
    pub lastcommit: DateTime<Utc>,
}

#[derive(Clone)]
pub struct Branch {
    pub name: String,
    pub lastcommit: DateTime<Utc>,
    pub author: String,
}

#[derive(Clone)]
pub struct File {
    pub path: String,
    pub size: usize,
    pub id: String,
}

#[derive(Clone)]
pub struct FileInfo {
    pub id: String,
    pub html_content: String,
    pub last_load: DateTime<Utc>,
}