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  /// Endpoint: `PUT /get-cities`
12  pub async fn get_cities(&self, req: GetCitiesRequest) -> Result<GetCitiesResponse> {
13    http::json_put("get-cities")
14      .body(req)
15      .server(self.server)
16      .maybe_authorization(self.authorization.as_ref())
17      .circuit_breaker(self.circuit_breaker())
18      .retry(&self.retry)
19      .user_agent(&self.user_agent)
20      .send()
21      .await
22  }
23
24  /// Endpoint: `PUT /get-city`
25  pub async fn get_city(&self, req: GetCityRequest) -> Result<GetCityResponse> {
26    http::json_put("get-city")
27      .body(req)
28      .server(self.server)
29      .maybe_authorization(self.authorization.as_ref())
30      .circuit_breaker(self.circuit_breaker())
31      .retry(&self.retry)
32      .user_agent(&self.user_agent)
33      .send()
34      .await
35  }
36
37  /// Endpoint: `PUT /get-city-score`
38  pub async fn get_city_score(&self, req: GetCityScoreRequest) -> Result<GetCityScoreResponse> {
39    http::json_put("get-city-score")
40      .body(req)
41      .server(self.server)
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-public-cities`
50  pub async fn get_public_cities(
51    &self,
52    req: GetPublicCitiesRequest,
53  ) -> Result<GetPublicCitiesResponse> {
54    http::json_put("get-public-cities")
55      .body(req)
56      .server(self.server)
57      .circuit_breaker(self.circuit_breaker())
58      .retry(&self.retry)
59      .user_agent(&self.user_agent)
60      .send()
61      .await
62  }
63
64  /// Endpoint: `PUT /get-public-city`
65  pub async fn get_public_city(&self, req: GetPublicCityRequest) -> Result<GetPublicCityResponse> {
66    http::json_put("get-public-city")
67      .body(req)
68      .server(self.server)
69      .circuit_breaker(self.circuit_breaker())
70      .retry(&self.retry)
71      .user_agent(&self.user_agent)
72      .send()
73      .await
74  }
75
76  /// Endpoint: `POST /rename-city`
77  pub async fn rename_city(&self, req: RenameCityRequest) -> Result<()> {
78    http::post("rename-city")
79      .body(req)
80      .server(self.server)
81      .maybe_authorization(self.authorization.as_ref())
82      .circuit_breaker(self.circuit_breaker())
83      .user_agent(&self.user_agent)
84      .send()
85      .await
86  }
87
88  /// Endpoint: `PUT /search-city`
89  pub async fn search_city(&self, req: SearchCityRequest) -> Result<SearchCityResponse> {
90    http::json_put("search-city")
91      .body(req)
92      .server(self.server)
93      .maybe_authorization(self.authorization.as_ref())
94      .circuit_breaker(self.circuit_breaker())
95      .retry(&self.retry)
96      .user_agent(&self.user_agent)
97      .send()
98      .await
99  }
100
101  /// Endpoint: `PUT /search-public-city`
102  pub async fn search_public_city(
103    &self,
104    req: SearchPublicCityRequest,
105  ) -> Result<SearchPublicCityResponse> {
106    http::json_put("search-public-city")
107      .body(req)
108      .server(self.server)
109      .circuit_breaker(self.circuit_breaker())
110      .retry(&self.retry)
111      .user_agent(&self.user_agent)
112      .send()
113      .await
114  }
115}