Skip to main content

nil_payload/response/cheat/
infrastructure.rs

1// Copyright (C) Call of Nil contributors
2// SPDX-License-Identifier: AGPL-3.0-only
3
4use derive_more::{Deref, DerefMut, From, Into};
5use nil_core::continent::coord::Coord;
6use nil_core::infrastructure::Infrastructure;
7use nil_core::infrastructure::building::r#impl::academy::recruit_queue::AcademyRecruitQueue;
8use nil_core::infrastructure::building::r#impl::prefecture::build_queue::PrefectureBuildQueue;
9use nil_core::infrastructure::building::r#impl::stable::recruit_queue::StableRecruitQueue;
10use nil_core::infrastructure::storage::OverallStorageCapacity;
11use serde::{Deserialize, Serialize};
12
13#[cfg(feature = "axum")]
14use nil_payload_macros::IntoJsonResponse;
15
16#[derive(Clone, Debug, Deref, DerefMut, From, Into, Deserialize, Serialize)]
17#[cfg_attr(feature = "axum", derive(IntoJsonResponse))]
18#[cfg_attr(feature = "typescript", derive(ts_rs::TS))]
19#[cfg_attr(feature = "typescript", ts(export))]
20pub struct CheatGetAcademyRecruitQueueResponse(pub AcademyRecruitQueue);
21
22#[derive(Clone, Debug, Deref, DerefMut, From, Into, Deserialize, Serialize)]
23#[cfg_attr(feature = "axum", derive(IntoJsonResponse))]
24#[cfg_attr(feature = "typescript", derive(ts_rs::TS))]
25#[cfg_attr(feature = "typescript", ts(export))]
26pub struct CheatGetAcademyRecruitQueuesResponse(pub Vec<(Coord, AcademyRecruitQueue)>);
27
28#[derive(Clone, Debug, Deref, DerefMut, From, Into, Deserialize, Serialize)]
29#[cfg_attr(feature = "axum", derive(IntoJsonResponse))]
30#[cfg_attr(feature = "typescript", derive(ts_rs::TS))]
31#[cfg_attr(feature = "typescript", ts(export))]
32pub struct CheatGetAllAcademyRecruitQueuesResponse(pub Vec<(Coord, AcademyRecruitQueue)>);
33
34#[derive(Clone, Debug, Deref, DerefMut, From, Into, Deserialize, Serialize)]
35#[cfg_attr(feature = "axum", derive(IntoJsonResponse))]
36#[cfg_attr(feature = "typescript", derive(ts_rs::TS))]
37#[cfg_attr(feature = "typescript", ts(export))]
38pub struct CheatGetAllPrefectureBuildQueuesResponse(pub Vec<(Coord, PrefectureBuildQueue)>);
39
40#[derive(Clone, Debug, Deref, DerefMut, From, Into, Deserialize, Serialize)]
41#[cfg_attr(feature = "axum", derive(IntoJsonResponse))]
42#[cfg_attr(feature = "typescript", derive(ts_rs::TS))]
43#[cfg_attr(feature = "typescript", ts(export))]
44pub struct CheatGetAllStableRecruitQueuesResponse(pub Vec<(Coord, StableRecruitQueue)>);
45
46#[derive(Clone, Debug, Deref, DerefMut, From, Into, Deserialize, Serialize)]
47#[cfg_attr(feature = "axum", derive(IntoJsonResponse))]
48#[cfg_attr(feature = "typescript", derive(ts_rs::TS))]
49#[cfg_attr(feature = "typescript", ts(export))]
50pub struct CheatGetInfrastructureResponse(pub Infrastructure);
51
52#[derive(Clone, Debug, Deref, DerefMut, From, Into, Deserialize, Serialize)]
53#[cfg_attr(feature = "axum", derive(IntoJsonResponse))]
54#[cfg_attr(feature = "typescript", derive(ts_rs::TS))]
55#[cfg_attr(feature = "typescript", ts(export))]
56pub struct CheatGetPrefectureBuildQueueResponse(pub PrefectureBuildQueue);
57
58#[derive(Clone, Debug, Deref, DerefMut, From, Into, Deserialize, Serialize)]
59#[cfg_attr(feature = "axum", derive(IntoJsonResponse))]
60#[cfg_attr(feature = "typescript", derive(ts_rs::TS))]
61#[cfg_attr(feature = "typescript", ts(export))]
62pub struct CheatGetPrefectureBuildQueuesResponse(pub Vec<(Coord, PrefectureBuildQueue)>);
63
64#[derive(Clone, Debug, Deref, DerefMut, From, Into, Deserialize, Serialize)]
65#[cfg_attr(feature = "axum", derive(IntoJsonResponse))]
66#[cfg_attr(feature = "typescript", derive(ts_rs::TS))]
67#[cfg_attr(feature = "typescript", ts(export))]
68pub struct CheatGetStableRecruitQueueResponse(pub StableRecruitQueue);
69
70#[derive(Clone, Debug, Deref, DerefMut, From, Into, Deserialize, Serialize)]
71#[cfg_attr(feature = "axum", derive(IntoJsonResponse))]
72#[cfg_attr(feature = "typescript", derive(ts_rs::TS))]
73#[cfg_attr(feature = "typescript", ts(export))]
74pub struct CheatGetStableRecruitQueuesResponse(pub Vec<(Coord, StableRecruitQueue)>);
75
76#[derive(Clone, Debug, Deref, DerefMut, From, Into, Deserialize, Serialize)]
77#[cfg_attr(feature = "axum", derive(IntoJsonResponse))]
78#[cfg_attr(feature = "typescript", derive(ts_rs::TS))]
79#[cfg_attr(feature = "typescript", ts(export))]
80pub struct CheatGetStorageCapacityResponse(pub OverallStorageCapacity);