Skip to main content

nil_client/client/
city.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::city::*;
8use nil_payload::response::city::*;
9
10impl Client {
11  pub async fn get_city(&self, req: GetCityRequest) -> Result<GetCityResponse> {
12    http::json_put("get-city")
13      .body(req)
14      .server(self.server)
15      .maybe_authorization(self.authorization.as_ref())
16      .circuit_breaker(self.circuit_breaker())
17      .retry(&self.retry)
18      .user_agent(&self.user_agent)
19      .send()
20      .await
21  }
22
23  pub async fn get_city_score(&self, req: GetCityScoreRequest) -> Result<GetCityScoreResponse> {
24    http::json_put("get-city-score")
25      .body(req)
26      .server(self.server)
27      .circuit_breaker(self.circuit_breaker())
28      .retry(&self.retry)
29      .user_agent(&self.user_agent)
30      .send()
31      .await
32  }
33
34  pub async fn get_public_cities(
35    &self,
36    req: GetPublicCitiesRequest,
37  ) -> Result<GetPublicCitiesResponse> {
38    http::json_put("get-public-cities")
39      .body(req)
40      .server(self.server)
41      .circuit_breaker(self.circuit_breaker())
42      .retry(&self.retry)
43      .user_agent(&self.user_agent)
44      .send()
45      .await
46  }
47
48  pub async fn get_public_city(&self, req: GetPublicCityRequest) -> Result<GetPublicCityResponse> {
49    http::json_put("get-public-city")
50      .body(req)
51      .server(self.server)
52      .circuit_breaker(self.circuit_breaker())
53      .retry(&self.retry)
54      .user_agent(&self.user_agent)
55      .send()
56      .await
57  }
58
59  pub async fn rename_city(&self, req: RenameCityRequest) -> Result<()> {
60    http::post("rename-city")
61      .body(req)
62      .server(self.server)
63      .maybe_authorization(self.authorization.as_ref())
64      .circuit_breaker(self.circuit_breaker())
65      .user_agent(&self.user_agent)
66      .send()
67      .await
68  }
69
70  pub async fn search_city(&self, req: SearchCityRequest) -> Result<SearchCityResponse> {
71    http::json_put("search-city")
72      .body(req)
73      .server(self.server)
74      .maybe_authorization(self.authorization.as_ref())
75      .circuit_breaker(self.circuit_breaker())
76      .retry(&self.retry)
77      .user_agent(&self.user_agent)
78      .send()
79      .await
80  }
81
82  pub async fn search_public_city(
83    &self,
84    req: SearchPublicCityRequest,
85  ) -> Result<SearchPublicCityResponse> {
86    http::json_put("search-public-city")
87      .body(req)
88      .server(self.server)
89      .circuit_breaker(self.circuit_breaker())
90      .retry(&self.retry)
91      .user_agent(&self.user_agent)
92      .send()
93      .await
94  }
95}