/* Options: Date: 2025-08-05 02:00:52 SwiftVersion: 5.0 Version: 8.0 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://www.asg.com.au/RestApi //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True IncludeTypes: GetDashboardDataMessage.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/Sitefinity/Analytics/GetDashboardData") // @Route("/GetDashboardData") public class GetDashboardDataMessage : IReturn, Codable { public typealias Return = GetDashboardData public var dashboardId:String public var jsStartDate:String public var jsEndDate:String public var queryStringFilters:[String:String] = [:] public var startDate:Date public var endDate:Date public var groupBy:String public var dimensions:[String:String] = [:] public var maxValue:String public var siteId:String required public init(){} } public class GetDashboardData : Codable { public var controls:[DashBoardControl] = [] public var layoutTemplateName:String public var groupBy:String public var metricNames:[MetricItemDTO] = [] public var errorMessage:String public var needsGrouping:Bool public var isDrillDown:Bool public var dateItems:[KendoItem] = [] public var nonDateItems:[KendoItem] = [] public var totalsItem:KendoItem public var mapDataTable:[[String]] = [] public var isMapRequest:Bool public var seriesSources:[String:[String]] = [:] public var statusCode:Int public var suppressMultipleSeries:Bool required public init(){} } public class MetricItemDTO : Codable { public var name:String public var displayName:String public var value:Double public var unit:String public var denominatorMetricName:String public var nominatorMetricName:String public var showInSelector:Bool required public init(){} } public class DashBoardControl : Codable { public var controlType:String public var attributes:[String:String] = [:] public var placeholderId:String public var displayName:String public var series:[SingleSerie] = [] public var dimensionName:String public var relatedDimension:[String] = [] public var sortbyField:String public var sortAsc:Bool required public init(){} } public class KendoItem : Codable { public var category:String public var values:[String:Double] = [:] public var group:String public var tooltip:String public var dimensions:[String:String] = [:] required public init(){} } // @DataContract public class DimensionItem : Codable { // @DataMember public var value:String // @DataMember public var name:String required public init(){} } public class SingleSerie : Codable { public var mainMetric:MetricItemDTO public var categoryFormat:String public var batch:Bool public var isCategory:Bool public var seriesName:String public var seriesDimensions:[DimensionItem] = [] public var relatedDimension:String required public init(){} }