nym_credential_proxy_requests/
lib.rs1pub mod api;
5pub mod client;
6mod helpers;
7
8macro_rules! absolute_route {
9 ( $name:ident, $parent:expr, $suffix:expr ) => {
10 pub fn $name() -> String {
11 format!("{}{}", $parent, $suffix)
12 }
13 };
14}
15
16pub mod routes {
17 pub const ROOT: &str = "/";
18 pub const API: &str = "/api";
19
20 pub mod api {
21 pub const V1: &str = "/v1";
22
23 absolute_route!(v1_absolute, super::API, V1);
24
25 pub mod v1 {
26 use super::*;
27
28 pub const SWAGGER: &str = "/swagger";
29 pub const TICKETBOOK: &str = "/ticketbook";
30
31 absolute_route!(swagger_absolute, v1_absolute(), SWAGGER);
33 absolute_route!(ticketbook_absolute, v1_absolute(), TICKETBOOK);
34
35 pub mod ticketbook {
36 use super::*;
37
38 pub const OBTAIN: &str = "/obtain";
39 pub const OBTAIN_ASYNC: &str = "/obtain-async";
40 pub const DEPOSIT_AMOUNT: &str = "/deposit-amount";
41 pub const MASTER_KEY: &str = "/master-verification-key";
42 pub const PARTIAL_KEYS: &str = "/partial-verification-keys";
43 pub const CURRENT_EPOCH: &str = "/current-epoch";
44 pub const SHARES: &str = "/shares";
45
46 absolute_route!(obtain_wallet_shares_absolute, ticketbook_absolute(), OBTAIN);
47 absolute_route!(
48 obtain_async_wallet_shares_absolute,
49 ticketbook_absolute(),
50 OBTAIN_ASYNC
51 );
52 absolute_route!(
53 current_deposit_amount_absolute,
54 ticketbook_absolute(),
55 DEPOSIT_AMOUNT
56 );
57 absolute_route!(master_key_absolute, ticketbook_absolute(), MASTER_KEY);
58 absolute_route!(partial_keys_absolute, ticketbook_absolute(), PARTIAL_KEYS);
59 absolute_route!(current_epoch_absolute, ticketbook_absolute(), CURRENT_EPOCH);
60 absolute_route!(shares_absolute, ticketbook_absolute(), SHARES);
61
62 pub mod shares {
63 use super::*;
64
65 pub const SHARE_BY_ID: &str = "/:share_id";
66 pub const SHARE_BY_DEVICE_AND_CREDENTIAL_ID: &str =
67 "/device/:device_id/credential/:credential_id";
68
69 absolute_route!(share_by_id_absolute, shares_absolute(), SHARE_BY_ID);
70 absolute_route!(
71 share_by_device_and_credential_id_absolute,
72 shares_absolute(),
73 SHARE_BY_DEVICE_AND_CREDENTIAL_ID
74 );
75 }
76 }
77 }
78 }
79}