artifacts/models/
task_full_schema.rs1use 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 #[serde(rename = "code")]
9 pub code: String,
10 #[serde(rename = "level")]
12 pub level: i32,
13 #[serde(rename = "type")]
15 pub r#type: models::TaskType,
16 #[serde(rename = "min_quantity")]
18 pub min_quantity: i32,
19 #[serde(rename = "max_quantity")]
21 pub max_quantity: i32,
22 #[serde(rename = "skill", deserialize_with = "Option::deserialize")]
23 pub skill: Option<String>,
24 #[serde(rename = "rewards")]
26 pub rewards: Box<models::RewardsSchema>,
27}
28
29impl TaskFullSchema {
30 pub fn new(
31 code: String,
32 level: i32,
33 r#type: models::TaskType,
34 min_quantity: i32,
35 max_quantity: i32,
36 skill: Option<String>,
37 rewards: models::RewardsSchema,
38 ) -> TaskFullSchema {
39 TaskFullSchema {
40 code,
41 level,
42 r#type,
43 min_quantity,
44 max_quantity,
45 skill,
46 rewards: Box::new(rewards),
47 }
48 }
49}