artifacts/models/
task_full_schema.rs

1use crate::models;
2use serde::{Deserialize, Serialize};
3
4#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
5#[cfg_attr(feature = "specta", derive(specta::Type))]
6pub struct TaskFullSchema {
7    /// Task objective.
8    #[serde(rename = "code")]
9    pub code: String,
10    /// Task level.
11    #[serde(rename = "level")]
12    pub level: i32,
13    /// The type of task.
14    #[serde(rename = "type")]
15    pub r#type: models::TaskType,
16    /// Minimum amount of task.
17    #[serde(rename = "min_quantity")]
18    pub min_quantity: i32,
19    /// Maximum amount of task.
20    #[serde(rename = "max_quantity")]
21    pub max_quantity: i32,
22    /// Skill required to complete the task.
23    #[serde(rename = "skill", skip_serializing_if = "Option::is_none")]
24    pub skill: Option<String>,
25    /// Rewards.
26    #[serde(rename = "rewards")]
27    pub rewards: Box<models::RewardsSchema>,
28}
29
30impl TaskFullSchema {
31    pub fn new(
32        code: String,
33        level: i32,
34        r#type: models::TaskType,
35        min_quantity: i32,
36        max_quantity: i32,
37        rewards: models::RewardsSchema,
38    ) -> TaskFullSchema {
39        TaskFullSchema {
40            code,
41            level,
42            r#type,
43            min_quantity,
44            max_quantity,
45            skill: None,
46            rewards: Box::new(rewards),
47        }
48    }
49}