isbnlib/jsonb/
translated_titles.rs1use 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}