Skip to main content

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}