/* Options: Date: 2026-10-02 14:14:24 Version: 10.20 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://uat-api-vehicle-mgt-mb-dhc.rapp-customers.co.uk //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: DashboardCsvReportsRequest.* //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)] pub enum ReportFilterType { #[default] #[serde(rename = "list")] list, #[serde(rename = "list_like")] list_like, #[serde(rename = "date")] date, #[serde(rename = "range")] range, } #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct ReportFilter { pub r#type: ReportFilterType, pub values: Vec, #[serde(default, skip_serializing_if = "Option::is_none")] pub start: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub end: Option, #[serde(rename = "higherThan")] #[serde(default, skip_serializing_if = "Option::is_none")] pub higher_than: Option, #[serde(rename = "lowerThan")] #[serde(default, skip_serializing_if = "Option::is_none")] pub lower_than: Option, } #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct DashboardReportResult { #[serde(rename = "totalCount")] pub total_count: i32, #[serde(rename = "reportResult")] pub report_result: Vec, } // Route("/v1/reports/Csv", "POST") #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct DashboardCsvReportsRequest { /// Report Name // ApiMember(Description="Report Name", IsRequired=true, ParameterType="body") #[serde(rename = "reportName")] pub report_name: String, /// Filters // ApiMember(Description="Filters", IsRequired=true, ParameterType="body") pub filters: HashMap, } impl IRequest for DashboardCsvReportsRequest { const NAME: &'static str = "DashboardCsvReportsRequest"; const VERB: &'static str = "POST"; } impl IReturn for DashboardCsvReportsRequest { type Response = DashboardReportResult; }