mango_api/requests/
tag.rs1use serde::{Deserialize, Serialize};
8
9use super::query_utils::{LocalizedString, Relationship};
10use super::{Entity, EntityType};
11
12#[derive(Serialize, Deserialize, Debug, Clone)]
14#[serde(rename_all = "snake_case")]
15pub enum TagGroup {
16 Content,
17 Format,
18 Genre,
19 Theme,
20}
21
22#[derive(Serialize, Deserialize, Debug, Clone)]
24pub struct TagAttributes {
25 pub name: LocalizedString,
26 pub description: LocalizedString,
27 pub group: TagGroup,
28 pub version: usize,
29}
30
31#[derive(Serialize, Deserialize, Debug, Clone)]
33pub struct Tag {
34 pub id: String,
35 #[serde(rename(deserialize = "type"))]
36 pub entity_type: EntityType,
37 pub attributes: TagAttributes,
38 pub relationships: Vec<Relationship>,
39}
40
41impl Entity for Tag {}
42
43#[derive(Serialize, Deserialize, Debug, Clone)]
45#[serde(rename_all = "UPPERCASE")]
46pub enum TagsMode {
47 And,
48 Or,
49}