funpay_client/client/
urls.rs1pub const DEFAULT_BASE_URL: &str = "https://funpay.com";
2
3pub struct UrlBuilder {
4 base_url: String,
5}
6
7impl Default for UrlBuilder {
8 fn default() -> Self {
9 Self {
10 base_url: DEFAULT_BASE_URL.to_string(),
11 }
12 }
13}
14
15impl UrlBuilder {
16 pub fn new(base_url: impl Into<String>) -> Self {
17 Self {
18 base_url: base_url.into(),
19 }
20 }
21
22 pub fn base_url(&self) -> &str {
23 &self.base_url
24 }
25
26 pub fn home(&self) -> String {
27 format!("{}/", self.base_url)
28 }
29
30 pub fn runner(&self) -> String {
31 format!("{}/runner/", self.base_url)
32 }
33
34 pub fn orders_trade(&self) -> String {
35 format!("{}/orders/trade", self.base_url)
36 }
37
38 pub fn order_page(&self, order_id: &str) -> String {
39 format!("{}/orders/{order_id}/", self.base_url)
40 }
41
42 pub fn chat_page(&self, chat_id: &str) -> String {
43 format!("{}/chat/?node={chat_id}", self.base_url)
44 }
45
46 pub fn offer_edit(&self, node_id: i64, offer_id: i64) -> String {
47 format!(
48 "{}/lots/offerEdit?node={node_id}&offer={offer_id}",
49 self.base_url
50 )
51 }
52
53 pub fn offer_save(&self) -> String {
54 format!("{}/lots/offerSave", self.base_url)
55 }
56
57 pub fn lots_trade(&self, node_id: i64) -> String {
58 format!("{}/lots/{node_id}/trade", self.base_url)
59 }
60
61 pub fn lots_page(&self, node_id: i64) -> String {
62 format!("{}/lots/{node_id}/", self.base_url)
63 }
64}