Skip to main content

nil_client/client/cheat/
infrastructure.rs

1// Copyright (C) Call of Nil contributors
2// SPDX-License-Identifier: AGPL-3.0-only
3
4use crate::client::Client;
5use crate::error::Result;
6use crate::http;
7use nil_core::continent::Coord;
8use nil_core::infrastructure::Infrastructure;
9use nil_core::infrastructure::building::academy::recruit_queue::AcademyRecruitQueue;
10use nil_core::infrastructure::building::prefecture::build_queue::PrefectureBuildQueue;
11use nil_core::infrastructure::building::stable::recruit_queue::StableRecruitQueue;
12use nil_core::infrastructure::storage::OverallStorageCapacity;
13use nil_payload::cheat::infrastructure::*;
14
15impl Client {
16  pub async fn cheat_get_academy_recruit_queue(
17    &self,
18    req: CheatGetAcademyRecruitQueueRequest,
19  ) -> Result<AcademyRecruitQueue> {
20    http::json_post("cheat-get-academy-recruit-queue")
21      .body(req)
22      .server(self.server)
23      .maybe_authorization(self.authorization.as_ref())
24      .user_agent(&self.user_agent)
25      .send()
26      .await
27  }
28
29  pub async fn cheat_get_academy_recruit_queues(
30    &self,
31    req: CheatGetAcademyRecruitQueuesRequest,
32  ) -> Result<Vec<(Coord, AcademyRecruitQueue)>> {
33    http::json_post("cheat-get-academy-recruit-queues")
34      .body(req)
35      .server(self.server)
36      .maybe_authorization(self.authorization.as_ref())
37      .user_agent(&self.user_agent)
38      .send()
39      .await
40  }
41
42  pub async fn cheat_get_all_academy_recruit_queues(
43    &self,
44    req: CheatGetAllAcademyRecruitQueuesRequest,
45  ) -> Result<Vec<(Coord, AcademyRecruitQueue)>> {
46    http::json_post("cheat-get-all-academy-recruit-queues")
47      .body(req)
48      .server(self.server)
49      .maybe_authorization(self.authorization.as_ref())
50      .user_agent(&self.user_agent)
51      .send()
52      .await
53  }
54
55  pub async fn cheat_get_all_prefecture_build_queues(
56    &self,
57    req: CheatGetAllPrefectureBuildQueuesRequest,
58  ) -> Result<Vec<(Coord, PrefectureBuildQueue)>> {
59    http::json_post("cheat-get-all-prefecture-build-queues")
60      .body(req)
61      .server(self.server)
62      .maybe_authorization(self.authorization.as_ref())
63      .user_agent(&self.user_agent)
64      .send()
65      .await
66  }
67
68  pub async fn cheat_get_all_stable_recruit_queues(
69    &self,
70    req: CheatGetAllStableRecruitQueuesRequest,
71  ) -> Result<Vec<(Coord, StableRecruitQueue)>> {
72    http::json_post("cheat-get-all-stable-recruit-queues")
73      .body(req)
74      .server(self.server)
75      .maybe_authorization(self.authorization.as_ref())
76      .user_agent(&self.user_agent)
77      .send()
78      .await
79  }
80
81  pub async fn cheat_get_infrastructure(
82    &self,
83    req: CheatGetInfrastructureRequest,
84  ) -> Result<Infrastructure> {
85    http::json_post("cheat-get-infrastructure")
86      .body(req)
87      .server(self.server)
88      .maybe_authorization(self.authorization.as_ref())
89      .user_agent(&self.user_agent)
90      .send()
91      .await
92  }
93
94  pub async fn cheat_get_prefecture_build_queue(
95    &self,
96    req: CheatGetPrefectureBuildQueueRequest,
97  ) -> Result<PrefectureBuildQueue> {
98    http::json_post("cheat-get-prefecture-build-queue")
99      .body(req)
100      .server(self.server)
101      .maybe_authorization(self.authorization.as_ref())
102      .user_agent(&self.user_agent)
103      .send()
104      .await
105  }
106
107  pub async fn cheat_get_prefecture_build_queues(
108    &self,
109    req: CheatGetPrefectureBuildQueuesRequest,
110  ) -> Result<Vec<(Coord, PrefectureBuildQueue)>> {
111    http::json_post("cheat-get-prefecture-build-queues")
112      .body(req)
113      .server(self.server)
114      .maybe_authorization(self.authorization.as_ref())
115      .user_agent(&self.user_agent)
116      .send()
117      .await
118  }
119
120  pub async fn cheat_get_stable_recruit_queue(
121    &self,
122    req: CheatGetStableRecruitQueueRequest,
123  ) -> Result<StableRecruitQueue> {
124    http::json_post("cheat-get-stable-recruit-queue")
125      .body(req)
126      .server(self.server)
127      .maybe_authorization(self.authorization.as_ref())
128      .user_agent(&self.user_agent)
129      .send()
130      .await
131  }
132
133  pub async fn cheat_get_stable_recruit_queues(
134    &self,
135    req: CheatGetStableRecruitQueuesRequest,
136  ) -> Result<Vec<(Coord, StableRecruitQueue)>> {
137    http::json_post("cheat-get-stable-recruit-queues")
138      .body(req)
139      .server(self.server)
140      .maybe_authorization(self.authorization.as_ref())
141      .user_agent(&self.user_agent)
142      .send()
143      .await
144  }
145
146  pub async fn cheat_get_storage_capacity(
147    &self,
148    req: CheatGetStorageCapacityRequest,
149  ) -> Result<OverallStorageCapacity> {
150    http::json_post("cheat-get-storage-capacity")
151      .body(req)
152      .server(self.server)
153      .maybe_authorization(self.authorization.as_ref())
154      .user_agent(&self.user_agent)
155      .send()
156      .await
157  }
158
159  pub async fn cheat_set_building_level(&self, req: CheatSetBuildingLevelRequest) -> Result<()> {
160    http::post("cheat-set-building-level")
161      .body(req)
162      .server(self.server)
163      .maybe_authorization(self.authorization.as_ref())
164      .user_agent(&self.user_agent)
165      .send()
166      .await
167  }
168
169  pub async fn cheat_set_max_infrastructure(
170    &self,
171    req: CheatSetMaxInfrastructureRequest,
172  ) -> Result<()> {
173    http::post("cheat-set-max-infrastructure")
174      .body(req)
175      .server(self.server)
176      .maybe_authorization(self.authorization.as_ref())
177      .user_agent(&self.user_agent)
178      .send()
179      .await
180  }
181}