summaryrefslogtreecommitdiff
path: root/src/works/stories.rs
diff options
context:
space:
mode:
authorWriterV2 <primary-v2@protonmail.com>2022-08-23 18:18:10 +0200
committerWriterV2 <primary-v2@protonmail.com>2022-08-23 18:18:10 +0200
commitf08b050c240f10b29d5c8af5e80f042c115cd49b (patch)
tree93439458ff887013bd34ce5ec85d9f3bf7361d8d /src/works/stories.rs
parent5d6943eca8f60e5a7b1422f9c9be2ca93b52104f (diff)
Add function to create tera context for stories
Diffstat (limited to 'src/works/stories.rs')
-rw-r--r--src/works/stories.rs19
1 files changed, 15 insertions, 4 deletions
diff --git a/src/works/stories.rs b/src/works/stories.rs
index b437fb4..5d96ed8 100644
--- a/src/works/stories.rs
+++ b/src/works/stories.rs
@@ -1,10 +1,11 @@
-use serde::Deserialize;
+use serde::{Deserialize, Serialize};
#[derive(Debug, Deserialize)]
pub struct Stories(pub Vec<Story>);
-#[derive(Debug, Deserialize)]
+#[derive(Debug, Deserialize, Serialize)]
pub struct Story {
+ pub id: u8,
pub title: String,
pub description: String,
pub path_to_document: String,
@@ -12,9 +13,19 @@ pub struct Story {
pub language: Language,
}
-impl super::Works for Stories {}
+impl super::Works for Stories {
+ fn create_tera_context(&self) -> Vec<tera::Context> {
+ let mut context = Vec::new();
+ for story in self.0.iter() {
+ context.push(
+ tera::Context::from_serialize(&story).expect("Trying to serialize to tera context"),
+ );
+ }
+ context
+ }
+}
-#[derive(Deserialize, Debug)]
+#[derive(Deserialize, Serialize, Debug)]
pub enum Language {
German,
English,