34 lines
632 B
Rust
34 lines
632 B
Rust
|
|
//! Models for malie.io exports
|
||
|
|
|
||
|
|
use std::collections::HashMap;
|
||
|
|
|
||
|
|
use serde::Deserialize;
|
||
|
|
|
||
|
|
use crate::editions::EditionCode;
|
||
|
|
|
||
|
|
pub type Index = HashMap<Lang, HashMap<String, Edition>>;
|
||
|
|
|
||
|
|
#[derive(Debug, Deserialize, Eq, PartialEq, Hash)]
|
||
|
|
pub enum Lang {
|
||
|
|
#[serde(rename = "de-DE")]
|
||
|
|
De,
|
||
|
|
#[serde(rename = "en-US")]
|
||
|
|
En,
|
||
|
|
#[serde(rename = "es-ES")]
|
||
|
|
Es,
|
||
|
|
#[serde(rename = "es-419")]
|
||
|
|
EsLa,
|
||
|
|
#[serde(rename = "it-IT")]
|
||
|
|
It,
|
||
|
|
#[serde(rename = "fr-FR")]
|
||
|
|
Fr,
|
||
|
|
#[serde(rename = "pt-BR")]
|
||
|
|
Pt,
|
||
|
|
}
|
||
|
|
|
||
|
|
#[derive(Debug, Deserialize)]
|
||
|
|
pub struct Edition {
|
||
|
|
path: String,
|
||
|
|
abbr: Option<EditionCode>,
|
||
|
|
}
|