Skip to main content

esi_openapi/groups/
industry.rs

1#![allow(unused)]
2
3use crate::prelude::*;
4
5/// Endpoints for Industry
6pub struct IndustryGroup<'a> {
7    pub(crate) esi: &'a Esi,
8}
9
10#[derive(Debug, Deserialize, Serialize, Clone)]
11#[allow(missing_docs)]
12pub struct CostIndex {
13    pub activity: String,
14    pub cost_index: f64,
15}
16
17#[derive(Debug, Deserialize, Serialize, Clone)]
18#[allow(missing_docs)]
19pub struct IndustrialSystem {
20    pub cost_indices: Vec<CostIndex>,
21    pub solar_system_id: i32,
22}
23
24#[derive(Debug, Deserialize, Serialize, Clone)]
25#[allow(missing_docs)]
26pub struct IndustryJob {
27    pub activity_id: i32,
28    pub blueprint_id: i64,
29    pub blueprint_location_id: i64,
30    pub blueprint_type_id: i32,
31    pub completed_character_id: Option<i32>,
32    pub completed_date: Option<String>,
33    pub cost: Option<f64>,
34    pub duration: i32,
35    pub end_date: String,
36    pub facility_id: i64,
37    pub installer_id: i32,
38    pub job_id: i32,
39    pub licensed_runs: Option<i32>,
40    pub output_location_id: i64,
41    pub pause_date: Option<String>,
42    pub probability: Option<f64>,
43    pub product_type_id: Option<i32>,
44    pub runs: i32,
45    pub start_date: String,
46    pub station_id: i64,
47    pub status: String,
48    pub successful_runs: Option<i32>,
49}
50
51impl IndustryGroup<'_> {
52    api_get!(
53        /// Returns a list of solar systems with the cost index for every
54        /// activity
55        get_industry_systems,
56        "GetIndustrySystems",
57        RequestType::Public,
58        Vec<IndustrialSystem>,
59    );
60
61    api_get!(
62        /// List industry jobs placed by a character
63        get_character_industry_jobs,
64        "GetCharactersCharacterIdIndustryJobs",
65        RequestType::Authenticated,
66        Vec<IndustryJob>,
67        (character_id: i32) => "{character_id}";
68        Optional(include_completed: bool) => "include_completed"
69    );
70}