Skip to main content

nil_client/client/infrastructure/
stable.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_payload::request::infrastructure::stable::*;
8use nil_payload::response::infrastructure::stable::*;
9
10impl Client {
11  /// Endpoint: `POST /add-stable-recruit-order`
12  pub async fn add_stable_recruit_order(&self, req: AddStableRecruitOrderRequest) -> Result<()> {
13    http::post("add-stable-recruit-order")
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: `POST /cancel-stable-recruit-order`
24  pub async fn cancel_stable_recruit_order(
25    &self,
26    req: CancelStableRecruitOrderRequest,
27  ) -> Result<()> {
28    http::post("cancel-stable-recruit-order")
29      .body(req)
30      .server(self.server)
31      .maybe_authorization(self.authorization.as_ref())
32      .circuit_breaker(self.circuit_breaker())
33      .user_agent(&self.user_agent)
34      .send()
35      .await
36  }
37
38  /// Endpoint: `PUT /get-stable-recruit-catalog`
39  pub async fn get_stable_recruit_catalog(
40    &self,
41    req: GetStableRecruitCatalogRequest,
42  ) -> Result<GetStableRecruitCatalogResponse> {
43    http::json_put("get-stable-recruit-catalog")
44      .body(req)
45      .server(self.server)
46      .maybe_authorization(self.authorization.as_ref())
47      .circuit_breaker(self.circuit_breaker())
48      .retry(&self.retry)
49      .user_agent(&self.user_agent)
50      .send()
51      .await
52  }
53}