Skip to main content

spacetraders_client/endpoints/agents/
factions.rs

1use std::num::NonZeroU64;
2
3use crate::client::StClient;
4use crate::client::{ClientError, RequestPriority};
5use crate::types;
6
7impl StClient {
8    pub async fn get_factions(
9        &self,
10        limit: Option<NonZeroU64>,
11        page: Option<NonZeroU64>,
12    ) -> Result<types::GetFactionsResponse, ClientError> {
13        self.get_factions_with_priority(limit, page, RequestPriority::Normal)
14            .await
15    }
16
17    pub async fn get_factions_with_priority(
18        &self,
19        limit: Option<NonZeroU64>,
20        page: Option<NonZeroU64>,
21        priority: RequestPriority,
22    ) -> Result<types::GetFactionsResponse, ClientError> {
23        self.send("get_factions", priority, || {
24            self.inner.get_factions(limit, page)
25        })
26        .await
27    }
28
29    pub async fn get_faction(
30        &self,
31        faction_symbol: &str,
32    ) -> Result<types::GetFactionResponse, ClientError> {
33        self.get_faction_with_priority(faction_symbol, RequestPriority::Normal)
34            .await
35    }
36
37    pub async fn get_faction_with_priority(
38        &self,
39        faction_symbol: &str,
40        priority: RequestPriority,
41    ) -> Result<types::GetFactionResponse, ClientError> {
42        self.send("get_faction", priority, || {
43            self.inner.get_faction(faction_symbol)
44        })
45        .await
46    }
47
48    pub async fn get_my_factions(
49        &self,
50        limit: Option<NonZeroU64>,
51        page: Option<NonZeroU64>,
52    ) -> Result<types::GetMyFactionsResponse, ClientError> {
53        self.get_my_factions_with_priority(limit, page, RequestPriority::Normal)
54            .await
55    }
56
57    pub async fn get_my_factions_with_priority(
58        &self,
59        limit: Option<NonZeroU64>,
60        page: Option<NonZeroU64>,
61        priority: RequestPriority,
62    ) -> Result<types::GetMyFactionsResponse, ClientError> {
63        self.send("get_my_factions", priority, || {
64            self.inner.get_my_factions(limit, page)
65        })
66        .await
67    }
68}