vndb_api/format/
tag.rs

1use serde::{Deserialize, Serialize};
2use serde_repr::*;
3
4#[derive(Deserialize, Serialize, Debug)]
5pub struct Tag {
6    /// Vndbid
7    pub id: Option<String>,
8    pub name: Option<String>,
9    pub aliases: Option<Vec<String>>,
10    /// May contain formatting codes
11    pub description: Option<String>,
12    pub category: Option<TagFlag>,
13    pub searchable: Option<bool>,
14    /// Number of VNs this tag has been applied to including any child tag
15    pub vn_count: Option<u32>,
16}
17
18#[derive(Deserialize, Serialize, Debug)]
19pub enum TagFlag {
20    #[serde(rename = "cont")]
21    Content,
22    #[serde(rename = "ero")]
23    SexualContent,
24    #[serde(rename = "tech")]
25    Technical,
26}
27
28#[derive(Deserialize_repr, Serialize_repr, PartialEq, Debug)]
29#[repr(u8)]
30pub enum TagSpoilerLvl {
31    None = 0,
32    Medium = 1,
33    Big = 2,
34}