torrust_index/config/v2/
api.rs

1use serde::{Deserialize, Serialize};
2
3/// Core configuration for the API
4#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
5pub struct Api {
6    /// The default page size for torrent lists.
7    #[serde(default = "Api::default_default_torrent_page_size")]
8    pub default_torrent_page_size: u8,
9
10    /// The maximum page size for torrent lists.
11    #[serde(default = "Api::default_max_torrent_page_size")]
12    pub max_torrent_page_size: u8,
13}
14
15impl Default for Api {
16    fn default() -> Self {
17        Self {
18            default_torrent_page_size: Api::default_default_torrent_page_size(),
19            max_torrent_page_size: Api::default_max_torrent_page_size(),
20        }
21    }
22}
23
24impl Api {
25    fn default_default_torrent_page_size() -> u8 {
26        10
27    }
28
29    fn default_max_torrent_page_size() -> u8 {
30        30
31    }
32}