Skip to main content

nil_client/client/cheat/
military.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::military::army::Army;
8use nil_core::military::army::personnel::ArmyPersonnel;
9use nil_payload::cheat::military::*;
10
11impl Client {
12  pub async fn cheat_get_idle_armies_at(
13    &self,
14    req: CheatGetIdleArmiesAtRequest,
15  ) -> Result<Vec<Army>> {
16    http::json_put("cheat-get-idle-armies-at")
17      .body(req)
18      .server(self.server)
19      .maybe_authorization(self.authorization.as_ref())
20      .circuit_breaker(self.circuit_breaker())
21      .retry(&self.retry)
22      .user_agent(&self.user_agent)
23      .send()
24      .await
25  }
26
27  pub async fn cheat_get_idle_personnel_at(
28    &self,
29    req: CheatGetIdlePersonnelAtRequest,
30  ) -> Result<ArmyPersonnel> {
31    http::json_put("cheat-get-idle-personnel-at")
32      .body(req)
33      .server(self.server)
34      .maybe_authorization(self.authorization.as_ref())
35      .circuit_breaker(self.circuit_breaker())
36      .retry(&self.retry)
37      .user_agent(&self.user_agent)
38      .send()
39      .await
40  }
41
42  pub async fn cheat_spawn_personnel(&self, req: CheatSpawnPersonnelRequest) -> Result<()> {
43    http::post("cheat-spawn-personnel")
44      .body(req)
45      .server(self.server)
46      .maybe_authorization(self.authorization.as_ref())
47      .circuit_breaker(self.circuit_breaker())
48      .user_agent(&self.user_agent)
49      .send()
50      .await
51  }
52}