1use crate::format::release::ExtLink;
2use crate::format::schema::Language;
3use serde::{Deserialize, Serialize};
4
5#[derive(Deserialize, Serialize, Debug)]
6pub struct Staff {
7 pub id: Option<String>,
9 pub aid: Option<u32>,
11 pub ismain: Option<bool>,
13 pub name: Option<String>,
15 pub original: Option<String>,
17 pub lang: Option<Language>,
19 pub gender: Option<StaffGender>,
21 pub description: Option<String>,
23 pub extlinks: Option<Vec<ExtLink>>,
25 pub aliases: Option<Vec<StaffAlias>>,
27}
28
29#[derive(Deserialize, Serialize, Debug)]
30#[serde(rename_all = "lowercase")]
31pub enum StaffGender {
32 #[serde(rename = "m")]
33 Male,
34 #[serde(rename = "f")]
35 Female,
36}
37
38#[derive(Deserialize, Serialize, Debug)]
39pub struct StaffAlias {
40 pub aid: Option<u32>,
42 pub name: Option<String>,
44 pub latin: Option<String>,
46 pub ismain: Option<bool>,
48}