uls_api/response.rs
1//! API response types.
2
3use serde::Serialize;
4
5/// Paginated list response envelope.
6#[derive(Debug, Serialize)]
7pub struct ListResponse<T: Serialize> {
8 pub data: Vec<T>,
9 pub count: usize,
10 pub limit: usize,
11 pub offset: usize,
12}
13
14impl<T: Serialize> ListResponse<T> {
15 pub fn new(data: Vec<T>, limit: usize, offset: usize) -> Self {
16 let count = data.len();
17 Self {
18 data,
19 count,
20 limit,
21 offset,
22 }
23 }
24}