Skip to content

Commit c40b4b9

Browse files
committed
Documentation + examples for channel get all spenders route
1 parent f56122f commit c40b4b9

File tree

4 files changed

+43
-3
lines changed

4 files changed

+43
-3
lines changed

primitives/Cargo.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@ test-util = []
2323
[[example]]
2424
name = "accounting_response"
2525

26+
[[example]]
27+
name = "all_spenders_response"
28+
2629
[[example]]
2730
name = "analytics_query"
2831

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
use primitives::sentry::AllSpendersResponse;
2+
use serde_json::{from_value, json};
3+
4+
fn main() {
5+
let json = json!({
6+
"spenders": {
7+
"0x0000000000000000000000000000000000000000": {
8+
"totalDeposited": "10000000000",
9+
"totalSpent": "100000000",
10+
},
11+
"0x1111111111111111111111111111111111111111": {
12+
"totalDeposited": "90000000000",
13+
"totalSpent": "20000000000",
14+
},
15+
"0x2222222222222222222222222222222222222222": {
16+
"totalDeposited": "1000000000",
17+
"totalSpent": "1000000000",
18+
},
19+
},
20+
"totalPages": 1,
21+
"page": 0
22+
});
23+
assert!(from_value::<AllSpendersResponse>(json).is_ok());
24+
}

primitives/src/sentry.rs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -598,7 +598,7 @@ pub struct SuccessResponse {
598598
pub success: bool,
599599
}
600600

601-
/// Spender limits for a spender on a channel.
601+
/// Spender limits for a spender on a `Channel`
602602
///
603603
/// # Examples
604604
///
@@ -611,6 +611,13 @@ pub struct SpenderResponse {
611611
pub spender: Spender,
612612
}
613613

614+
/// Spender limits for all spenders on a `Channel`
615+
///
616+
/// # Examples
617+
///
618+
/// ```
619+
#[doc = include_str!("../examples/all_spenders_response.rs")]
620+
/// ```
614621
#[derive(Serialize, Deserialize, Debug)]
615622
#[serde(rename_all = "camelCase")]
616623
pub struct AllSpendersResponse {

sentry/src/routes.rs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@
7171
//!
7272
//! #### GET `/v5/channel/:id/spender/:addr` (auth required)
7373
//!
74-
//! Gets the spender limits for a spender on a channel. It does so by fetching the
74+
//! Gets the spender limits for a spender on a [`Channel`]. It does so by fetching the
7575
//! latest Spendable entry from the database (or creating one if it doesn't exist yet) from which
7676
//! the total deposited amount is retrieved, and the latest NewState from which the total spent
7777
//! amount is retrieved.
@@ -96,9 +96,15 @@
9696
//!
9797
//! #### GET `/v5/channel/:id/spender/all` (auth required)
9898
//!
99+
//! This routes gets total_deposited and total_spent for every spender on a [`Channel`]
100+
//!
99101
//! The route is handled by [`channel::get_all_spender_limits()`].
100102
//!
101-
//! Response: [`AllSpendersResponse`](primitives::sentry::AllSpendersResponse)
103+
//! Response:
104+
//!
105+
//! ```
106+
#![doc = include_str!("../../primitives/examples/all_spenders_response.rs")]
107+
//! ```
102108
//!
103109
//! #### GET `/v5/channel/:id/validator-messages`
104110
//!

0 commit comments

Comments
 (0)