feat!: Added several fields to Quest struct

- Added field public
- Added optional field available_on
- Added optional field deadline
- Updated tests and CLI to use these fields
This commit is contained in:
Alexey 2025-12-01 13:26:38 +03:00
commit 78da6dde05
4 changed files with 60 additions and 6 deletions

View file

@ -6,6 +6,7 @@ use std::{fs, io::Write, path::PathBuf};
use serde::{ Serialize, Deserialize };
use error::QuestError;
use toml::value::Date;
/// Difficulty of the quest
#[derive(Serialize, Deserialize, Debug, PartialEq, Clone, Copy)]
@ -59,6 +60,15 @@ pub struct Quest {
/// Quest answer, available for admins
pub answer: String,
/// Is quest available for regular users
pub public: bool,
/// When quest becomes public
pub available_on: Option<Date>,
/// When quest expires
pub deadline: Option<Date>
}
impl Default for Quest {
@ -69,7 +79,10 @@ impl Default for Quest {
reward: u32::default(),
name: default_name(),
description: default_description(),
answer: default_answer()
answer: default_answer(),
public: false,
available_on: None,
deadline: None
}
}
}