isbnlib/jsonb/
translated_titles.rs

1use serde::{Deserialize, Serialize};
2
3use crate::jsonb::key_value_block::KeyValueBlock;
4
5#[derive(
6    Serialize,
7    Deserialize,
8    Debug,
9    Clone,
10    PartialEq,
11)]
12pub struct TranslatedTitles {
13    pub text: String,
14    #[serde(rename(deserialize = "type"))]
15    pub value_type: KeyValueBlock,
16    pub language: Option<KeyValueBlock>
17}
18
19impl TranslatedTitles {
20    pub fn to_json(self) -> serde_json::Value {
21        let lang = match self.language {
22            Some(block) => block.key,
23            None => String::new(),
24        };
25        serde_json::json!({
26            "title": self.text,
27            "language": lang
28        })
29    }
30
31}