artifacts/models/
resource_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 ResourceSchema {
7 #[serde(rename = "name")]
9 pub name: String,
10 #[serde(rename = "code")]
12 pub code: String,
13 #[serde(rename = "skill")]
15 pub skill: models::GatheringSkill,
16 #[serde(rename = "level")]
18 pub level: i32,
19 #[serde(rename = "drops")]
21 pub drops: Vec<models::DropRateSchema>,
22}
23
24impl ResourceSchema {
25 pub fn new(
26 name: String,
27 code: String,
28 skill: models::GatheringSkill,
29 level: i32,
30 drops: Vec<models::DropRateSchema>,
31 ) -> ResourceSchema {
32 ResourceSchema {
33 name,
34 code,
35 skill,
36 level,
37 drops,
38 }
39 }
40}