artifacts/models/
resource_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 ResourceSchema {
7    /// The name of the resource
8    #[serde(rename = "name")]
9    pub name: String,
10    /// The code of the resource. This is the resource's unique identifier (ID).
11    #[serde(rename = "code")]
12    pub code: String,
13    /// The skill required to gather this resource.
14    #[serde(rename = "skill")]
15    pub skill: models::GatheringSkill,
16    /// The skill level required to gather this resource.
17    #[serde(rename = "level")]
18    pub level: i32,
19    /// The drops of this resource.
20    #[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}