/* Options: Date: 2026-11-07 03:05:55 Version: 10.40 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.bettor.webhop.biz //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: FindResponseMetrics.* //ExcludeTypes: //DefaultImports: serde::{Deserialize, Serialize},serde_json::Value,std::collections::HashMap */ #![allow( dead_code, non_camel_case_types, non_snake_case, clippy::upper_case_acronyms )] use serde::{Deserialize, Serialize}; use serde_json::Value; use servicestack::*; use std::collections::HashMap; #[derive(Serialize, Deserialize, Debug, Clone, Copy, PartialEq, Eq, Hash, Default)] #[repr(i32)] pub enum TimeResolution { #[default] Second = 1, Minute = 2, Hour = 5, Day = 10, } #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct PaginatedQuery { #[serde(rename = "currentPage")] pub current_page: i32, #[serde(rename = "pageSize")] pub page_size: i32, } #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct PaginatedResult { pub data: Vec, #[serde(rename = "currentPage")] pub current_page: i64, #[serde(rename = "pageSize")] pub page_size: i64, #[serde(rename = "totalItems")] pub total_items: i64, #[serde(rename = "totalPages")] pub total_pages: i64, } // Route("/qry//metrics/e2e/slips/responses") #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct FindResponseMetrics { #[serde(flatten)] pub paginated_query: PaginatedQuery, pub resolution: TimeResolution, #[serde(rename = "timepointFrom")] pub timepoint_from: i64, #[serde(rename = "timepointTo")] pub timepoint_to: i64, } impl IRequest for FindResponseMetrics { const NAME: &'static str = "FindResponseMetrics"; const VERB: &'static str = "POST"; } impl IReturn for FindResponseMetrics { type Response = PaginatedResult; }