/* Options: Date: 2025-04-29 15:53:29 SwiftVersion: 6.0 Version: 8.61 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://uat-api-vehicle-mgt-mb-dhc.rapp-customers.co.uk //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True //MakePropertiesOptional: True IncludeTypes: DashboardReportRequest.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/v1/reports", "POST") public class DashboardReportRequest : IReturn, IPost, Codable { public typealias Return = DashboardReportResult /** * Report Name */ // @ApiMember(Description="Report Name", IsRequired=true, ParameterType="body") public var reportName:String? /** * Filters */ // @ApiMember(Description="Filters", IsRequired=true, ParameterType="body") public var filters:[String:ReportFilter] = [:] /** * Paging */ // @ApiMember(Description="Paging", ParameterType="body") public var paging:ReportsPaging? /** * Sorting */ // @ApiMember(Description="Sorting", ParameterType="body") public var sorting:[String:ReportSortType] = [:] required public init(){} } public class DashboardReportResult : Codable { public var totalCount:Int? public var reportResult:[String]? required public init(){} } public class ReportFilter : Codable { public var type:ReportFilterType? public var values:[String]? public var start:Date? public var end:Date? public var higherThan:Int? public var lowerThan:Int? required public init(){} } public class ReportsPaging : Codable { public var page:Int? public var pageSize:Int? required public init(){} } public enum ReportSortType : String, Codable { case asc case desc } public enum ReportFilterType : String, Codable { case list case list_like case date case range }