Skip to main content

nil_client/client/
military.rs

1// Copyright (C) Call of Nil contributors
2// SPDX-License-Identifier: AGPL-3.0-only
3
4use super::Client;
5use crate::error::Result;
6use crate::http;
7use nil_payload::request::military::*;
8use nil_payload::response::military::*;
9
10impl Client {
11  /// Endpoint: `POST /cancel-maneuver`
12  pub async fn cancel_maneuver(&self, req: CancelManeuverRequest) -> Result<()> {
13    http::post("cancel-maneuver")
14      .body(req)
15      .server(self.server)
16      .maybe_authorization(self.authorization.as_ref())
17      .circuit_breaker(self.circuit_breaker())
18      .user_agent(&self.user_agent)
19      .send()
20      .await
21  }
22
23  /// Endpoint: `PUT /get-armies`
24  pub async fn get_armies(&self, req: GetArmiesRequest) -> Result<GetArmiesResponse> {
25    http::json_put("get-armies")
26      .body(req)
27      .server(self.server)
28      .maybe_authorization(self.authorization.as_ref())
29      .circuit_breaker(self.circuit_breaker())
30      .retry(&self.retry)
31      .user_agent(&self.user_agent)
32      .send()
33      .await
34  }
35
36  /// Endpoint: `PUT /get-army`
37  pub async fn get_army(&self, req: GetArmyRequest) -> Result<GetArmyResponse> {
38    http::json_put("get-army")
39      .body(req)
40      .server(self.server)
41      .maybe_authorization(self.authorization.as_ref())
42      .circuit_breaker(self.circuit_breaker())
43      .retry(&self.retry)
44      .user_agent(&self.user_agent)
45      .send()
46      .await
47  }
48
49  /// Endpoint: `PUT /get-army-owner`
50  pub async fn get_army_owner(&self, req: GetArmyOwnerRequest) -> Result<GetArmyOwnerResponse> {
51    http::json_put("get-army-owner")
52      .body(req)
53      .server(self.server)
54      .maybe_authorization(self.authorization.as_ref())
55      .circuit_breaker(self.circuit_breaker())
56      .retry(&self.retry)
57      .user_agent(&self.user_agent)
58      .send()
59      .await
60  }
61
62  /// Endpoint: `PUT /get-idle-armies-at`
63  pub async fn get_idle_armies_at(
64    &self,
65    req: GetIdleArmiesAtRequest,
66  ) -> Result<GetIdleArmiesAtResponse> {
67    http::json_put("get-idle-armies-at")
68      .body(req)
69      .server(self.server)
70      .maybe_authorization(self.authorization.as_ref())
71      .circuit_breaker(self.circuit_breaker())
72      .retry(&self.retry)
73      .user_agent(&self.user_agent)
74      .send()
75      .await
76  }
77
78  /// Endpoint: `PUT /get-idle-armies-coords`
79  pub async fn get_idle_armies_coords(
80    &self,
81    req: GetIdleArmiesCoordsRequest,
82  ) -> Result<GetIdleArmiesCoordsResponse> {
83    http::json_put("get-idle-armies-coords")
84      .body(req)
85      .server(self.server)
86      .maybe_authorization(self.authorization.as_ref())
87      .circuit_breaker(self.circuit_breaker())
88      .retry(&self.retry)
89      .user_agent(&self.user_agent)
90      .send()
91      .await
92  }
93
94  /// Endpoint: `PUT /get-maneuver`
95  pub async fn get_maneuver(&self, req: GetManeuverRequest) -> Result<GetManeuverResponse> {
96    http::json_put("get-maneuver")
97      .body(req)
98      .server(self.server)
99      .maybe_authorization(self.authorization.as_ref())
100      .circuit_breaker(self.circuit_breaker())
101      .retry(&self.retry)
102      .user_agent(&self.user_agent)
103      .send()
104      .await
105  }
106
107  /// Endpoint: `POST /request-maneuver`
108  pub async fn request_maneuver(
109    &self,
110    req: RequestManeuverRequest,
111  ) -> Result<RequestManeuverResponse> {
112    http::json_post("request-maneuver")
113      .body(req)
114      .server(self.server)
115      .maybe_authorization(self.authorization.as_ref())
116      .circuit_breaker(self.circuit_breaker())
117      .user_agent(&self.user_agent)
118      .send()
119      .await
120  }
121}