1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
use crate::{
    rust::{Checksum, CrateName},
    tree::Node,
};
use semver::Version;
use serde::{Deserialize, Serialize};
use std::collections::BTreeMap;

#[derive(Serialize, Deserialize, Debug, Clone)]
pub struct CrateResponse {
    pub name: CrateName,
    pub versions: BTreeMap<Version, VersionResponse>,
}

#[derive(Serialize, Deserialize, Debug, Clone)]
pub struct VersionResponse {
    pub krate: CrateName,
    pub version: Version,
    pub yanked: bool,
    pub checksum: Checksum,
    pub files: Option<Node>,
    pub downloads: BTreeMap<String, u64>,
}