/* Options: Date: 2026-09-30 14:23:09 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: DashboardReportRequest.* //ExcludeTypes: //DefaultImports: */ package dtos import ( "time" ) type ReportFilterType string const ( ReportFilterTypelist ReportFilterType = "list" ReportFilterTypelist_like = "list_like" ReportFilterTypedate = "date" ReportFilterTyperange = "range" ) type ReportFilter struct { Type ReportFilterType `json:"type,omitempty"` Values []string `json:"values"` Start *time.Time `json:"start,omitempty"` End *time.Time `json:"end,omitempty"` HigherThan *int `json:"higherThan,omitempty"` LowerThan *int `json:"lowerThan,omitempty"` } type ReportsPaging struct { Page int `json:"page,omitempty"` PageSize int `json:"pageSize,omitempty"` } type ReportSortType string const ( ReportSortTypeasc ReportSortType = "asc" ReportSortTypedesc = "desc" ) type DashboardReportResult struct { TotalCount int `json:"totalCount,omitempty"` ReportResult []interface{} `json:"reportResult"` } // @Route("/v1/reports", "POST") type DashboardReportRequest struct { /** @description Report Name */ // @ApiMember(Description="Report Name", IsRequired=true, ParameterType="body") ReportName string `json:"reportName"` /** @description Filters */ // @ApiMember(Description="Filters", IsRequired=true, ParameterType="body") Filters map[string]ReportFilter `json:"filters"` /** @description Paging */ // @ApiMember(Description="Paging", ParameterType="body") Paging ReportsPaging `json:"paging"` /** @description Sorting */ // @ApiMember(Description="Sorting", ParameterType="body") Sorting map[string]ReportSortType `json:"sorting"` } func (DashboardReportRequest) CreateResponse() (r DashboardReportResult) { return } func (DashboardReportRequest) HttpMethod() string { return "POST" }